fix(Core/Spells): Fix proc phase ordering CAST before HIT for instant spells (#24942)

Co-authored-by: blinkysc <blinkysc@users.noreply.github.com>
Co-authored-by: Shauren <297439+Shauren@users.noreply.github.com>
This commit is contained in:
blinkysc
2026-02-28 15:27:05 -06:00
committed by GitHub
parent 92f12f3bce
commit eae14a58b3
4 changed files with 351 additions and 22 deletions

View File

@@ -958,23 +958,11 @@ class spell_mage_fingers_of_frost : public AuraScript
void PrepareProc(ProcEventInfo& eventInfo)
{
// Block channeled spells (e.g. Blizzard channel start) from consuming charges.
// All other filtering is handled by SpellPhaseMask=1 (CAST only) in spell_proc.
if (Spell const* spell = eventInfo.GetProcSpell())
{
bool isTriggered = spell->IsTriggered();
bool isCastPhase = (eventInfo.GetSpellPhaseMask() & PROC_SPELL_PHASE_CAST) != 0;
bool isChanneled = spell->GetSpellInfo()->IsChanneled();
bool prevent = false;
if (isTriggered)
prevent = false;
else if (isChanneled)
prevent = true;
else if (!isCastPhase)
prevent = true;
if (prevent)
if (spell->GetSpellInfo()->IsChanneled())
PreventDefaultAction();
}
}
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)