From b4cff8159e19b1f71cd1e0aa1f9b8af351aaa3f5 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Fri, 12 Apr 2019 23:56:29 +0200 Subject: Core/MMaps: Simplify d182e5f7e73e614185f4470429467befd6e03981 and handle PATHFIND_INCOMPLETE in ChaseMovementGenerator as "cannot reach the target" (cherry picked from commit 386b5a6fd948b4866cbd9a8a9892e8777922e9c9) --- .../game/Movement/MovementGenerators/ChaseMovementGenerator.cpp | 4 ++-- src/server/game/Movement/PathGenerator.cpp | 7 ------- 2 files changed, 2 insertions(+), 9 deletions(-) (limited to 'src') 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); } -- cgit v1.2.3