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 95456ab5d8)
This commit is contained in:
Golrag
2017-12-14 16:56:30 +01:00
committed by funjoker
parent 2313343227
commit fe362cf2c9
9 changed files with 44 additions and 45 deletions

View File

@@ -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);
}