aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement/MotionMaster.cpp
diff options
context:
space:
mode:
authorGolrag <Golrag@users.noreply.github.com>2017-12-14 16:56:30 +0100
committerTreeston <treeston.mmoc@gmail.com>2017-12-14 16:56:30 +0100
commit95456ab5d8bd623481d315ae55dfbb44b45ba9f5 (patch)
treebe170006070e1ec52c101f323692cf75a47f4bff /src/server/game/Movement/MotionMaster.cpp
parent16739c6260ac22ef4c56bd1589f244b459e485af (diff)
Core/Entities: Some changes to LoS z checking & MotionMaster::MoveJumpTo (PR #20970)
- Use Midsection height for LoS checking. - Changed MotionMaster::MoveJumpTo to use correct z. This change also makes sure the _owner will jump towards the given angle. Instead of jumping to a unintended angle if the first one is not in LoS.
Diffstat (limited to 'src/server/game/Movement/MotionMaster.cpp')
-rw-r--r--src/server/game/Movement/MotionMaster.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index ec55f90cbd2..d17b7fb8a48 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -457,7 +457,9 @@ void MotionMaster::MoveJumpTo(float angle, float speedXY, float speedZ)
float moveTimeHalf = speedZ / Movement::gravity;
float dist = 2 * moveTimeHalf * speedXY;
- _owner->GetClosePoint(x, y, z, _owner->GetCombatReach(), dist, angle);
+ _owner->GetNearPoint2D(x, y, dist, _owner->GetOrientation() + angle);
+ z = _owner->GetPositionZ() + _owner->GetMidsectionHeight();
+ _owner->UpdateAllowedPositionZ(x, y, z);
MoveJump(x, y, z, 0.0f, speedXY, speedZ);
}