From b3d81e08c1771ca0d811c813572a5cc3451ea323 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sun, 22 Sep 2019 15:31:54 +0200 Subject: [PATCH] Core/Spells: allow fire mages to stack Ignite damage numbers when Ignite did not tick for the first time --- src/server/scripts/Spells/spell_mage.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp index 868d884dd3..757847e21d 100644 --- a/src/server/scripts/Spells/spell_mage.cpp +++ b/src/server/scripts/Spells/spell_mage.cpp @@ -877,10 +877,16 @@ class spell_mage_ignite : public AuraScript void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo) { PreventDefaultAction(); + Unit* target = GetTarget(); DamageInfo* damage = eventInfo.GetDamageInfo(); int32 bp = CalculatePct(damage->GetDamage(), aurEff->GetAmount()) * 0.5f; - GetTarget()->CastCustomSpell(SPELL_MAGE_IGNITE, SPELLVALUE_BASE_POINT0, bp, eventInfo.GetProcTarget(), true, nullptr, aurEff); + + if (AuraEffect const* ignite = eventInfo.GetProcTarget()->GetAuraEffect(SPELL_MAGE_IGNITE, EFFECT_0, target->GetGUID())) + if (!ignite->GetTickNumber()) + bp += ignite->GetAmount(); + + target->CastCustomSpell(SPELL_MAGE_IGNITE, SPELLVALUE_BASE_POINT0, bp, eventInfo.GetProcTarget(), true, nullptr, aurEff); } void Register() override