aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2019-04-12 23:56:29 +0200
committerShauren <shauren.trinity@gmail.com>2021-11-27 01:38:24 +0100
commitb4cff8159e19b1f71cd1e0aa1f9b8af351aaa3f5 (patch)
tree621e7025132daca10221138166f4d204c57bebe9 /src
parentbf1bf510fb79e2caf6a643a71e98974d61e33064 (diff)
Core/MMaps: Simplify d182e5f7e73e614185f4470429467befd6e03981 and handle PATHFIND_INCOMPLETE in ChaseMovementGenerator as "cannot reach the target"
(cherry picked from commit 386b5a6fd948b4866cbd9a8a9892e8777922e9c9)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp4
-rw-r--r--src/server/game/Movement/PathGenerator.cpp7
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);
}