From bc3d82e4bb066f38f95f5e8fd9e76a8af7ddef17 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 3 Aug 2025 14:35:45 +0200 Subject: [PATCH] Core/Auras: Support PROC_ATTR_REQ_SPELLMOD for procs using PROC_ATTR_USE_STACKS_FOR_CHARGES --- src/server/game/Spells/Auras/SpellAuras.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 0e7f56e4a7..bb1d636343 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -1850,16 +1850,13 @@ uint8 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(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(this))) + return 0; // check proc cooldown if (IsProcOnCooldown(now))