diff options
author | Keader <keader.android@gmail.com> | 2020-09-06 16:02:11 -0300 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-05 13:33:50 +0100 |
commit | a3cc94080f9e5a246f5d6d64ef8ab5cc929da2ab (patch) | |
tree | 0f992ae3c6a2926a93fc6d3bf91ac696397135a8 | |
parent | 75e5c446386fed9a04b166946bd311a76d8489f8 (diff) |
Core/Spells: Implemented PROC_ATTR_CANT_PROC_FROM_ITEM_CAST
(cherry picked from commit 8a53e7e1c3da59c41991b20ba4997360286dec15)
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuras.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Spells/SpellMgr.h | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 2e772c878e7..29df46b8f68 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -1773,6 +1773,9 @@ uint32 Aura::GetProcEffectMask(AuraApplication* aurApp, ProcEventInfo& eventInfo if (!GetSpellInfo()->HasAttribute(SPELL_ATTR3_CAN_PROC_FROM_PROCS) && !(procEntry->AttributesMask & PROC_ATTR_TRIGGERED_CAN_PROC) && !(eventInfo.GetTypeMask() & AUTO_ATTACK_PROC_FLAG_MASK)) if (spell->IsTriggered() && !spell->GetSpellInfo()->HasAttribute(SPELL_ATTR3_NOT_A_PROC)) return 0; + + if (spell->m_CastItem && (procEntry->AttributesMask & PROC_ATTR_CANT_PROC_FROM_ITEM_CAST)) + return 0; } // check don't break stealth attr present diff --git a/src/server/game/Spells/SpellMgr.h b/src/server/game/Spells/SpellMgr.h index f64b35140c6..cf2cbb26c8e 100644 --- a/src/server/game/Spells/SpellMgr.h +++ b/src/server/game/Spells/SpellMgr.h @@ -274,7 +274,8 @@ enum ProcAttributes PROC_ATTR_USE_STACKS_FOR_CHARGES = 0x0000010, // consuming proc drops a stack from proccing aura instead of charge - PROC_ATTR_REDUCE_PROC_60 = 0x0000080 // aura should have a reduced chance to proc if level of proc Actor > 60 + PROC_ATTR_REDUCE_PROC_60 = 0x0000080, // aura should have a reduced chance to proc if level of proc Actor > 60 + PROC_ATTR_CANT_PROC_FROM_ITEM_CAST = 0x0000100, // do not allow aura proc if proc is caused by a spell casted by item }; #define PROC_ATTR_ALL_ALLOWED (PROC_ATTR_REQ_EXP_OR_HONOR | \ |