From 479437f8d6b5efb30fa33c1c5a437e060b9a773c Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Mon, 6 Apr 2020 01:25:23 +0200 Subject: [PATCH] Core/Movement: only set velocity values for follow movement if we have to rely on our follow target's speed --- .../MovementGenerators/FollowMovementGenerator.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/server/game/Movement/MovementGenerators/FollowMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FollowMovementGenerator.cpp index 553881355f..4db6f5228a 100644 --- a/src/server/game/Movement/MovementGenerators/FollowMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/FollowMovementGenerator.cpp @@ -116,12 +116,10 @@ bool FollowMovementGenerator::Update(Unit* owner, uint32 diff) velocity = target->GetSpeed(MOVE_RUN); } } - else - velocity = owner->IsWalking() ? owner->GetSpeed(MOVE_WALK) : owner->GetSpeed(MOVE_RUN); // Follow target based speed allignment float distance = owner->GetExactDist2d(dest); - if (_useTargetSpeed) + if (_useTargetSpeed && velocity > 0.f) { // Determine catchup speed rate @@ -144,7 +142,8 @@ bool FollowMovementGenerator::Update(Unit* owner, uint32 diff) Movement::MoveSplineInit init(owner); init.MoveTo(dest.GetPositionX(), dest.GetPositionY(), dest.GetPositionZ()); - init.SetVelocity(velocity); + if (velocity > 0.f) + init.SetVelocity(velocity); init.Launch(); _hasStopped = false;