From a9751de67c0c26f00edcc0e7eb41ef5f243aa9c7 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Thu, 24 Aug 2023 20:45:18 +0200 Subject: [PATCH] Core/Movement: allow hovering units to return PATHFIND_INCOMPLETE as their destination is always set off --- .../Movement/MovementGenerators/ChaseMovementGenerator.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp index 73412e38d4..dcf96fbc8e 100644 --- a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp @@ -242,7 +242,9 @@ ChaseMovementPositionCheckResult ChaseMovementGenerator::checkPosition(ChasePosi void ChaseMovementGenerator::launchSpline(Unit* owner, Unit* target, Position& destination) { bool success = _pathGenerator->CalculatePath(destination.GetPositionX(), destination.GetPositionY(), destination.GetPositionZ(), owner->IsFlying()); - uint32 deniedPathResultTypes = PATHFIND_NOPATH | PATHFIND_INCOMPLETE; + uint32 deniedPathResultTypes = PATHFIND_NOPATH; + if (!owner->IsHovering()) + deniedPathResultTypes |= PATHFIND_INCOMPLETE; if (!owner->IsFlying() || (target->IsInWater() && !owner->CanEnterWater())) // only flying and swimming units may use shortcuts deniedPathResultTypes |= PATHFIND_SHORTCUT;