From 91aaf95f5190dfc7ad28b48b62ac7301e840ccbd Mon Sep 17 00:00:00 2001 From: Aokromes Date: Sat, 18 Jun 2016 14:21:43 +0200 Subject: Core/Pet: Fix pet at rest distance (#17206) * Core/Pet: Fix pet at rest distance By MrSmite, closes #10865 * Update TargetedMovementGenerator.cpp (cherry picked from commit b2effe4460fac4f10168c035441997e4d9826328) --- .../MovementGenerators/TargetedMovementGenerator.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp index 04f4c9edb63..7f89b56988b 100755 --- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp @@ -73,8 +73,8 @@ void TargetedMovementGeneratorMedium::_setTargetLocation(T* owner, bool up // doing a "dance" while fighting if (owner->IsPet() && i_target->GetTypeId() == TYPEID_PLAYER) { - dist = i_target->GetCombatReach(); - size = i_target->GetCombatReach() - i_target->GetObjectSize(); + dist = 1.0f; //i_target->GetCombatReach(); + size = 1.0f; //i_target->GetCombatReach() - i_target->GetObjectSize(); } else { @@ -168,8 +168,15 @@ bool TargetedMovementGeneratorMedium::DoUpdate(T* owner, uint32 time_diff) if (i_recheckDistance.Passed()) { i_recheckDistance.Reset(100); + //More distance let have better performance, less distance let have more sensitive reaction at target move. - float allowed_dist = owner->GetCombatReach() + sWorld->getRate(RATE_TARGET_POS_RECALCULATION_RANGE); + float allowed_dist = 0.0f; + + if (owner->IsPet() && (owner->GetCharmerOrOwnerGUID() == i_target->GetGUID())) + allowed_dist = 1.0f; // pet following owner + else + allowed_dist = owner->GetCombatReach() + sWorld->getRate(RATE_TARGET_POS_RECALCULATION_RANGE); + G3D::Vector3 dest = owner->movespline->FinalDestination(); if (owner->movespline->onTransport) if (TransportBase* transport = owner->GetDirectTransport()) -- cgit v1.2.3