From a8d75f59c5d7e6c902aad6a2f617ee360d8bb0c8 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Thu, 23 Jul 2026 20:59:36 -0300 Subject: [PATCH] fix(Scripts/UtgardeKeep): don't restart Ingvar's feign death sequence on residual damage (#26728) --- .../UtgardeKeep/boss_ingvar_the_plunderer.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp index 7ae0c1fe8..460476335 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp @@ -120,9 +120,18 @@ struct boss_ingvar_the_plunderer : public ScriptedAI void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override { + // Residual damage (e.g. DoT ticks) during the feign death would restart + // the death sequence, repeating the yell and delaying Annhylde + if (me->HasUnitFlag2(UNIT_FLAG2_FEIGN_DEATH)) + { + if (damage >= me->GetHealth()) + damage = me->GetHealth() - 1; + return; + } + if (me->GetDisplayId() == DISPLAYID_DEFAULT && damage >= me->GetHealth()) { - damage = 0; + damage = me->GetHealth() - 1; me->InterruptNonMeleeSpells(true); me->RemoveAllAuras(); me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);