diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp index fba9d7bf5..f83025820 100644 --- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp @@ -303,29 +303,15 @@ static Optional GetVelocity(Unit* owner, Unit* target, G3D::Vector3 const } UnitMoveType moveType = Movement::SelectSpeedType(moveFlags); - speed = std::max(target->GetSpeed(moveType), owner->GetSpeed(moveType)); - + speed = target->GetSpeed(moveType); if (playerPet) { - float distance = owner->GetDistance2d(dest.x, dest.y) - (*speed / 2.f); + float distance = owner->GetDistance2d(dest.x, dest.y) - target->GetObjectSize() - (*speed / 2.f); if (distance > 0.f) { float multiplier = 1.f + (distance / 10.f); *speed *= multiplier; } - else - { - switch (moveType) - { - case MOVE_RUN_BACK: - case MOVE_SWIM_BACK: - case MOVE_FLIGHT_BACK: - break; - default: - *speed *= 0.9f; - break; - } - } } }