diff options
| author | Golrag <Golrag@users.noreply.github.com> | 2017-12-14 16:56:30 +0100 | 
|---|---|---|
| committer | funjoker <funjoker109@gmail.com> | 2021-03-15 20:17:31 +0100 | 
| commit | fe362cf2c9d5c71db4698480ce26cb35dbc58f28 (patch) | |
| tree | ee322a201886df019ba4f9b0cd31eca0814beb59 /src/server/game/Movement/MotionMaster.cpp | |
| parent | 2313343227b9415a08a0efc1e95cced9e308ef9d (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.
(cherry picked from commit 95456ab5d8bd623481d315ae55dfbb44b45ba9f5)
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 55719daad2c..939a60d575f 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -456,7 +456,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);  }  | 
