diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-04-29 20:28:39 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-04-29 20:28:39 +0200 |
| commit | 5759ac1c9416675fc745484d7e915f64765a5b38 (patch) | |
| tree | c78b802632926d7d343fb78c7f966c3c4b15559a | |
| parent | 8b5f38014ccd6da832ea237e1d1382b1a5514053 (diff) | |
Core/Auras: Support PROC_ATTR_REQ_SPELLMOD for procs using PROC_ATTR_USE_STACKS_FOR_CHARGES
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuras.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index c5a8a27256f..fead03168dd 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -1860,16 +1860,13 @@ uint32 Aura::GetProcEffectMask(AuraApplication* aurApp, ProcEventInfo& eventInfo } // check if we have charges to proc with - if (IsUsingCharges()) - { - if (!GetCharges()) - return 0; + if (IsUsingCharges() && !GetCharges()) + return 0; - if (procEntry->AttributesMask & PROC_ATTR_REQ_SPELLMOD) - if (Spell const* spell = eventInfo.GetProcSpell()) - if (!spell->m_appliedMods.count(const_cast<Aura*>(this))) - return 0; - } + if (procEntry->AttributesMask & PROC_ATTR_REQ_SPELLMOD && (IsUsingCharges() || procEntry->AttributesMask & PROC_ATTR_USE_STACKS_FOR_CHARGES)) + if (Spell const* spell = eventInfo.GetProcSpell()) + if (!spell->m_appliedMods.contains(const_cast<Aura*>(this))) + return 0; // check proc cooldown if (IsProcOnCooldown(now)) |
