From 00d4f68e36cab6bd0608faecf7a26d9479028c91 Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Wed, 11 Mar 2026 07:51:23 -0500 Subject: [PATCH] refactor(Core/Spells): Pass nullptr as victim for PROC_SPELL_PHASE_CAST (#25007) Co-authored-by: blinkysc Co-authored-by: ariel- --- src/server/game/Spells/Spell.cpp | 2 +- src/server/scripts/Spells/spell_mage.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 73ee8e153..dec1d4721 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4026,7 +4026,7 @@ void Spell::_cast(bool skipCheck) break; } - Unit::ProcSkillsAndAuras(m_originalCaster, m_originalCaster, procAttacker, PROC_FLAG_NONE, hitMask, 1, BASE_ATTACK, m_spellInfo, m_triggeredByAuraSpell.spellInfo, + Unit::ProcSkillsAndAuras(m_originalCaster, nullptr, procAttacker, PROC_FLAG_NONE, hitMask, 1, BASE_ATTACK, m_spellInfo, m_triggeredByAuraSpell.spellInfo, m_triggeredByAuraSpell.effectIndex, this, nullptr, nullptr, PROC_SPELL_PHASE_CAST); } diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp index 6dfbb6693..390d83ebe 100644 --- a/src/server/scripts/Spells/spell_mage.cpp +++ b/src/server/scripts/Spells/spell_mage.cpp @@ -1556,6 +1556,10 @@ class spell_mage_missile_barrage_proc : public AuraScript { Unit* caster = eventInfo.GetActor(); + // Prevent double proc for Arcane Missiles + if (caster == eventInfo.GetActionTarget()) + return false; + // T8 4P bonus: chance to not consume the proc if (AuraEffect const* aurEff = caster->GetAuraEffect(SPELL_MAGE_T8_4P_BONUS, EFFECT_0)) if (roll_chance_i(aurEff->GetAmount()))