diff options
| author | Ovahlord <dreadkiller@gmx.de> | 2020-05-16 17:40:08 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-01-04 15:33:04 +0100 |
| commit | 0c15b2ac7cd8f57004b009a99ec357ef2eefecb3 (patch) | |
| tree | fb2324b88d891e5c5faf5c214ab3ff0a5ffed9c4 /src/server/game/Movement | |
| parent | 98272944eef1d710665223df4e16978876e8f9f3 (diff) | |
Core/Objects: fixed destination calculation for destination based spells casted by flying units
* Additionally he PathGenerator will now check for realtime movement flags instead of creature based template data only so scripted flying movement and players will now correctly get their path calculated
(cherry picked from commit fdcb7388a64bf61a691535933a9fbae0504b80cc)
Diffstat (limited to 'src/server/game/Movement')
| -rw-r--r-- | src/server/game/Movement/PathGenerator.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Movement/PathGenerator.cpp b/src/server/game/Movement/PathGenerator.cpp index 77d59afdbad..0effe2a5d87 100644 --- a/src/server/game/Movement/PathGenerator.cpp +++ b/src/server/game/Movement/PathGenerator.cpp @@ -179,7 +179,7 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con { TC_LOG_DEBUG("maps.mmaps", "++ BuildPolyPath :: (startPoly == 0 || endPoly == 0)"); BuildShortcut(); - bool path = _source->GetTypeId() == TYPEID_UNIT && _source->ToCreature()->CanFly(); + bool path = _source->GetTypeId() == TYPEID_UNIT && _source->ToCreature()->IsFlying(); bool waterPath = _source->GetTypeId() == TYPEID_UNIT && _source->ToCreature()->CanSwim(); if (waterPath) @@ -233,7 +233,7 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con TC_LOG_DEBUG("maps.mmaps", "++ BuildPolyPath :: flying case"); if (Unit const* _sourceUnit = _source->ToUnit()) { - if (_sourceUnit->CanFly()) + if (_sourceUnit->IsFlying()) buildShotrcut = true; // Allow to build a shortcut if the unit is falling and it's trying to move downwards towards a target (i.e. charging) else if (_sourceUnit->IsFalling() && endPos.z < startPos.z) |
