From 9a9d265334208c54e2f95afd9bdc1b4454a81cd7 Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Thu, 12 Mar 2026 08:12:22 -0500 Subject: [PATCH] fix(Core/Movement): Revert pet PATHFIND_NOT_USING_PATH teleport (#23494) (#25071) Co-authored-by: blinkysc --- src/server/game/AI/CoreAI/PetAI.cpp | 9 --------- .../MovementGenerators/TargetedMovementGenerator.cpp | 10 +--------- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/src/server/game/AI/CoreAI/PetAI.cpp b/src/server/game/AI/CoreAI/PetAI.cpp index 236331ac8..57f753421 100644 --- a/src/server/game/AI/CoreAI/PetAI.cpp +++ b/src/server/game/AI/CoreAI/PetAI.cpp @@ -158,15 +158,6 @@ void PetAI::UpdateAI(uint32 diff) else m_updateAlliesTimer -= diff; - if (owner && owner->IsPlayer() && !me->GetVictim() && me->CanNotReachTarget()) - { - if (me->GetDistance(owner) > 40.0f) - { - me->NearTeleportTo(owner->GetPositionX(), owner->GetPositionY(), owner->GetPositionZ(), me->GetOrientation()); - me->SetCannotReachTarget(); // Clear flag after teleport - } - } - if (me->GetVictim() && me->GetVictim()->IsAlive()) { // is only necessary to stop casting, the pet must not exit combat diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp index a5976ec2f..4ff366c13 100644 --- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp @@ -648,16 +648,8 @@ bool FollowMovementGenerator::DoUpdate(T* owner, uint32 time_diff) owner->UpdateAllowedPositionZ(x, y, z); bool success = i_path->CalculatePath(x, y, z, forceDest); - - bool cannotReachTarget = !success || (i_path->GetPathType() & PATHFIND_NOPATH && !followingMaster); - if (oPet && followingMaster && !owner->CanFly() && (i_path->GetPathType() & PATHFIND_NOT_USING_PATH)) - cannotReachTarget = true; - - if (cannotReachTarget) + if (!success || (i_path->GetPathType() & PATHFIND_NOPATH && !followingMaster)) { - if (oPet && followingMaster) - cOwner->SetCannotReachTarget(target->GetGUID()); - if (!owner->IsStopped()) owner->StopMoving();