diff options
author | Golrag <Golrag@users.noreply.github.com> | 2017-12-14 16:56:30 +0100 |
---|---|---|
committer | Treeston <treeston.mmoc@gmail.com> | 2017-12-14 16:56:30 +0100 |
commit | 95456ab5d8bd623481d315ae55dfbb44b45ba9f5 (patch) | |
tree | be170006070e1ec52c101f323692cf75a47f4bff /src/server/game/Movement/MotionMaster.cpp | |
parent | 16739c6260ac22ef4c56bd1589f244b459e485af (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.cpp | 4 |
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); } |