From 0efc2b3179f010853f5aa2f67600e7fd87cf7962 Mon Sep 17 00:00:00 2001 From: Gultask <100873791+Gultask@users.noreply.github.com> Date: Tue, 3 Feb 2026 20:30:11 -0300 Subject: [PATCH] fix(Core/Unit): Ignore Armor Calculation for spells with SPELL_ATTR4_IGNORE_DAMAGE_TAKEN_MODIFIERS (#24592) --- src/server/game/Entities/Unit/Unit.cpp | 2 +- src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index f87548d18..f37d493ec 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -1345,7 +1345,7 @@ void Unit::CalculateSpellDamageTaken(SpellNonMeleeDamage* damageInfo, int32 dama } int32 cleanDamage = 0; - if (Unit::IsDamageReducedByArmor(damageSchoolMask, spellInfo)) + if (!spellInfo->HasAttribute(SPELL_ATTR4_IGNORE_DAMAGE_TAKEN_MODIFIERS) && Unit::IsDamageReducedByArmor(damageSchoolMask, spellInfo)) { int32 oldDamage = damage; damage = Unit::CalcArmorReducedDamage(this, victim, damage, spellInfo, 0, attackType); diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp index 7076ab750..c57bc427e 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp @@ -256,7 +256,7 @@ class spell_gluth_decimate : public SpellScript return; } - GetCaster()->CastSpell(unitTarget, SPELL_DECIMATE_DAMAGE); + GetCaster()->CastSpell(unitTarget, SPELL_DECIMATE_DAMAGE, true); } } @@ -271,7 +271,7 @@ class spell_gluth_decimate_damage : public SpellScript { PrepareSpellScript(spell_gluth_decimate_damage) - void RecalculateDamage() + void HandleDamage(SpellEffIndex /*effIndex*/) { Unit* target = GetHitUnit(); if (!target) @@ -291,7 +291,7 @@ class spell_gluth_decimate_damage : public SpellScript void Register() override { - OnHit += SpellHitFn(spell_gluth_decimate_damage::RecalculateDamage); + OnEffectHitTarget += SpellEffectFn(spell_gluth_decimate_damage::HandleDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE); } };