From 81e7cb4c4242982a7feffd6b0e8b547b3f23a4e3 Mon Sep 17 00:00:00 2001 From: Chaouki Dhib Date: Wed, 28 Feb 2018 13:40:41 +0100 Subject: [PATCH] Core/Movement: Correct distance checking Distance checking should always be in 3D, independently on if the mover has the ability to fly or not. --- .../MovementGenerators/TargetedMovementGenerator.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp index f5e603e25d6..d2b413ca0c1 100755 --- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp @@ -72,10 +72,7 @@ bool TargetedMovementGenerator::DoUpdate(T* owner, uint32 diff) transport->CalculatePassengerPosition(destination.x, destination.y, destination.z); // First check distance - if (owner->GetTypeId() == TYPEID_UNIT && owner->ToCreature()->CanFly()) - targetMoved = !GetTarget()->IsInDist(destination.x, destination.y, destination.z, distance); - else - targetMoved = !GetTarget()->IsInDist2d(destination.x, destination.y, distance); + targetMoved = !GetTarget()->IsInDist(destination.x, destination.y, destination.z, distance); // then, if the target is in range, check also Line of Sight. if (!targetMoved)