diff options
author | jackpoz <giacomopoz@gmail.com> | 2019-04-12 23:56:29 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-11-27 01:38:24 +0100 |
commit | b4cff8159e19b1f71cd1e0aa1f9b8af351aaa3f5 (patch) | |
tree | 621e7025132daca10221138166f4d204c57bebe9 | |
parent | bf1bf510fb79e2caf6a643a71e98974d61e33064 (diff) |
Core/MMaps: Simplify d182e5f7e73e614185f4470429467befd6e03981 and handle PATHFIND_INCOMPLETE in ChaseMovementGenerator as "cannot reach the target"
(cherry picked from commit 386b5a6fd948b4866cbd9a8a9892e8777922e9c9)
-rw-r--r-- | src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Movement/PathGenerator.cpp | 7 |
2 files changed, 2 insertions, 9 deletions
diff --git a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp index 56a7ebc8448..4a21e6fbe8c 100644 --- a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp @@ -184,8 +184,8 @@ bool ChaseMovementGenerator::Update(Unit* owner, uint32 diff) if (owner->IsHovering()) owner->UpdateAllowedPositionZ(x, y, z); - bool success = _path->CalculatePath(x, y, z); - if (!success || (_path->GetPathType() & PATHFIND_NOPATH)) + bool success = _path->CalculatePath(x, y, z, cOwner->CanFly()); + if (!success || (_path->GetPathType() & (PATHFIND_NOPATH | PATHFIND_INCOMPLETE))) { if (cOwner) cOwner->SetCannotReachTarget(true); diff --git a/src/server/game/Movement/PathGenerator.cpp b/src/server/game/Movement/PathGenerator.cpp index 54906a1f51f..e8c64195910 100644 --- a/src/server/game/Movement/PathGenerator.cpp +++ b/src/server/game/Movement/PathGenerator.cpp @@ -469,13 +469,6 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con else _type = PATHFIND_INCOMPLETE; - if (_type & PATHFIND_INCOMPLETE && _sourceUnit->CanFly()) - { - BuildShortcut(); - _type = PathType(PATHFIND_NORMAL | PATHFIND_NOT_USING_PATH); - return; - } - // generate the point-path out of our up-to-date poly-path BuildPointPath(startPoint, endPoint); } |