Skip to content

Commit

Permalink
tweak jumping collision a bit
Browse files Browse the repository at this point in the history
  • Loading branch information
celguar committed Mar 2, 2025
1 parent df72ff3 commit 9c34b3f
Showing 1 changed file with 27 additions and 4 deletions.
31 changes: 27 additions & 4 deletions playerbot/strategy/actions/MovementActions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2779,10 +2779,32 @@ WorldPosition JumpAction::CalculateJumpParameters(const WorldPosition& src, Unit

if (!foundCollision)
{
fx -= jumper->GetCollisionWidth() * vcos;
fy -= jumper->GetCollisionWidth() * vsin;
fx += jumper->GetCollisionWidth() * vcos;
fy += jumper->GetCollisionWidth() * vsin;
}

if (!foundCollision)
{
// check distanct collision
if (ascending)
fz -= jumper->GetCollisionHeight();
fz += jumper->GetCollisionHeight();

fx += jumper->GetCollisionWidth() * vcos;
fy += jumper->GetCollisionWidth() * vsin;

#ifdef MANGOSBOT_TWO
foundCollision = jumper->GetMap()->GetHitPosition(ox, oy, oz, fx, fy, fz, jumper->GetPhaseMask(), -0.5f);
#else
foundCollision = jumper->GetMap()->GetHitPosition(ox, oy, oz, fx, fy, fz, -0.5f);
#endif

if (!foundCollision)
{
fx -= jumper->GetCollisionWidth() * vcos;
fy -= jumper->GetCollisionWidth() * vsin;
if (ascending)
fz -= jumper->GetCollisionHeight();
}
}

path.push_back(WorldPosition(src.getMapId(), fx, fy, fz));
Expand Down Expand Up @@ -2816,7 +2838,8 @@ WorldPosition JumpAction::CalculateJumpParameters(const WorldPosition& src, Unit
{
goodLanding = false;
// reduce landing height by collision height
fz = fz - CONTACT_DISTANCE - jumper->GetCollisionHeight();
float fz_mod = fz - CONTACT_DISTANCE - jumper->GetCollisionHeight();
jumper->GetMap()->GetHitPosition(fx, fy, fz, fx, fy, fz_mod, -0.5f);
}

WorldPosition destination = WorldPosition(src.getMapId(), fx, fy ,fz);
Expand Down

0 comments on commit 9c34b3f

Please sign in to comment.