From 29e64980d8ee0e5f34d667aa31c4c12981ef9c94 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Wed, 8 Jul 2020 00:03:26 +0200 Subject: [PATCH] Core/Movement: throttle follow movement speeds only when the follower is very close to its destination --- .../Movement/MovementGenerators/FollowMovementGenerator.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/server/game/Movement/MovementGenerators/FollowMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FollowMovementGenerator.cpp index 5068519b11..44aa67b85e 100644 --- a/src/server/game/Movement/MovementGenerators/FollowMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/FollowMovementGenerator.cpp @@ -93,10 +93,10 @@ static void ApplyCatchUpMod(Unit* owner, Position dest, float& velocity) { float distance = owner->GetExactDist2d(dest); - if (dest.HasInArc(float(M_PI), owner)) // owner is beyond default destination. throttle speed. - AddPct(velocity, -((distance / velocity) * 100.f)); - else // owner is behind destination, catch up. + if (!dest.HasInArc(float(M_PI), owner)) // owner is falling back. Catch up AddPct(velocity, ((distance / velocity) * 100.f)); + else if (distance < 3.f) + AddPct(velocity, -((distance / velocity) * 100.f)); } static void DoMovementInform(Unit* owner, Unit* target)