From debff42e6269f92ed1d05f91dcdb709b0c07b0d0 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sun, 24 Nov 2019 10:47:09 +0100 Subject: [PATCH] Core/Spells: Frostfire Bolt's slow effect will no longer stack --- src/server/scripts/Spells/spell_mage.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp index fd71e551190..12c46779e2b 100644 --- a/src/server/scripts/Spells/spell_mage.cpp +++ b/src/server/scripts/Spells/spell_mage.cpp @@ -2281,11 +2281,20 @@ class spell_mage_frostfire_bolt : public SpellScript void HandleGlyphSlow(SpellEffIndex effIndex) { - if (Unit* caster = GetCaster()) - if (caster->GetDummyAuraEffect(SPELLFAMILY_MAGE, ICON_MAGE_GLYPH_OF_FROSTFIRE, EFFECT_2)) - if (Aura* aura = GetHitAura()) - if (AuraEffect* effect = aura->GetEffect(effIndex)) - effect->SetAmount(0); + Unit* caster = GetCaster(); + if (!caster) + return; + + if (Aura* aura = GetHitAura()) + { + if (AuraEffect* effect = aura->GetEffect(effIndex)) + { + if (caster->GetDummyAuraEffect(SPELLFAMILY_MAGE, ICON_MAGE_GLYPH_OF_FROSTFIRE, EFFECT_2)) + effect->SetAmount(0); + else + effect->SetAmount(GetSpellInfo()->Effects[effIndex].CalcValue()); + } + } } void HandleGlyphDot(SpellEffIndex effIndex)