Core/Auras: Support PROC_ATTR_REQ_SPELLMOD for procs using PROC_ATTR_USE_STACKS_FOR_CHARGES

Port From (https://github.com/TrinityCore/TrinityCore/commit/5759ac1c9416675fc745484d7e915f64765a5b38)
This commit is contained in:
Hondacrx
2025-08-12 21:30:34 -04:00
parent 5934ef9cd9
commit a18151b9ef
+8 -11
View File
@@ -1768,20 +1768,17 @@ namespace Game.Spells
}
// check if we have charges to proc with
if (IsUsingCharges())
{
if (GetCharges() == 0)
return 0;
if (IsUsingCharges() && GetCharges() == 0)
return 0;
if (procEntry.AttributesMask.HasAnyFlag(ProcAttributes.ReqSpellmod))
{
Spell eventSpell = eventInfo.GetProcSpell();
if (eventSpell != null)
if (!eventSpell.m_appliedMods.Contains(this))
return 0;
}
if (procEntry.AttributesMask.HasAnyFlag(ProcAttributes.ReqSpellmod) && (IsUsingCharges() || (procEntry.AttributesMask & ProcAttributes.UseStacksForCharges) != 0))
{
Spell eventSpell = eventInfo.GetProcSpell();
if (eventSpell != null && !eventSpell.m_appliedMods.Contains(this))
return 0;
}
// check proc cooldown
if (IsProcOnCooldown(now))
return 0;