From 4305f741a41ab0b6b29b23ac24557f7d570464af Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Sun, 3 May 2026 04:25:56 -0500 Subject: [PATCH] fix(Core/Scripts): Fix DK Gargoyle not resuming attack after CC (#25318) Co-authored-by: blinkysc --- src/server/scripts/Pet/pet_dk.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/server/scripts/Pet/pet_dk.cpp b/src/server/scripts/Pet/pet_dk.cpp index f3d561f37..202464668 100644 --- a/src/server/scripts/Pet/pet_dk.cpp +++ b/src/server/scripts/Pet/pet_dk.cpp @@ -209,6 +209,16 @@ struct npc_pet_dk_ebon_gargoyle : ScriptedAI _decisionTimer -= diff; if (!UpdateVictimWithGaze()) { + // Re-engage if we still have a valid victim but lost engagement + // (e.g., PvP combat reference expired during CC like Cyclone) + if (Unit* victim = me->GetVictim()) + { + if (me->IsValidAttackTarget(victim)) + { + me->EngageWithTarget(victim); + return; + } + } MySelectNextTarget(); return; } @@ -356,6 +366,26 @@ struct npc_pet_dk_army_of_the_dead : public AggressorAI if (me->IsValidAttackTarget(attacker)) AttackStart(attacker); } + + void UpdateAI(uint32 diff) override + { + if (!UpdateVictim()) + { + // Re-engage if we still have a valid victim but lost engagement + // (e.g., combat reference expired during CC like knockback) + if (Unit* victim = me->GetVictim()) + { + if (me->IsValidAttackTarget(victim)) + { + me->EngageWithTarget(victim); + return; + } + } + return; + } + + DoMeleeAttackIfReady(); + } }; struct npc_pet_dk_dancing_rune_weapon : public NullCreatureAI