aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-04-29 20:28:39 +0200
committerShauren <shauren.trinity@gmail.com>2025-04-29 20:28:39 +0200
commit5759ac1c9416675fc745484d7e915f64765a5b38 (patch)
treec78b802632926d7d343fb78c7f966c3c4b15559a /src
parent8b5f38014ccd6da832ea237e1d1382b1a5514053 (diff)
Core/Auras: Support PROC_ATTR_REQ_SPELLMOD for procs using PROC_ATTR_USE_STACKS_FOR_CHARGES
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp15
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))