From ebe11235d2a5c41f0fa8d1daad4e38e26ef3d3b6 Mon Sep 17 00:00:00 2001 From: Gultask <100873791+Gultask@users.noreply.github.com> Date: Fri, 6 Feb 2026 18:06:13 -0300 Subject: [PATCH] fix(Core/Pet): Allow Pets to attack players from any angle (#24580) --- src/server/game/AI/CoreAI/PetAI.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/server/game/AI/CoreAI/PetAI.cpp b/src/server/game/AI/CoreAI/PetAI.cpp index c4a39d663..1c8222126 100644 --- a/src/server/game/AI/CoreAI/PetAI.cpp +++ b/src/server/game/AI/CoreAI/PetAI.cpp @@ -634,9 +634,11 @@ void PetAI::DoAttack(Unit* target, bool chase) if (_canMeleeAttack()) { - float angle = combatRange == 0.f && !target->IsPlayer() && !target->IsPet() ? float(M_PI) : 0.f; - float tolerance = combatRange == 0.f ? float(M_PI_4) : float(M_PI * 2); - me->GetMotionMaster()->MoveChase(target, ChaseRange(0.f, combatRange), ChaseAngle(angle, tolerance)); + std::optional chaseAngle; + if (combatRange == 0.f && !target->IsPlayer() && !target->IsPet()) + chaseAngle.emplace(float(M_PI), float(M_PI_4)); + + me->GetMotionMaster()->MoveChase(target, ChaseRange(0.f, combatRange), chaseAngle); } } else // (Stay && ((Aggressive || Defensive) && In Melee Range)))