aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellMgr.cpp')
-rw-r--r--src/game/SpellMgr.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index c92a75e4661..f47b1cb8ca2 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -1272,6 +1272,17 @@ bool SpellMgr::IsSpellProcEventCanTriggeredBy(SpellProcEventEntry const* spellPr
// No extra req need
uint32 procEvent_procEx = PROC_EX_NONE;
+ // Some of not damaging spells have on damage procflags
+ // And all of them are specified by spellfamilymask in proc entry
+ // so, lets allow non dmg spells to proc on dmg auras if they have correct spellfamily
+ if (spellProcEvent && spellProcEvent->spellFamilyMask)
+ {
+ if (EventProcFlag & PROC_FLAG_SUCCESSFUL_DAMAGING_SPELL_HIT && procFlags & PROC_FLAG_SUCCESSFUL_NEGATIVE_SPELL_HIT)
+ procFlags |= PROC_FLAG_SUCCESSFUL_DAMAGING_SPELL_HIT;
+ if (EventProcFlag & PROC_FLAG_SUCCESSFUL_HEALING_SPELL && procFlags & PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL)
+ procFlags |= PROC_FLAG_SUCCESSFUL_HEALING_SPELL;
+ }
+
// check prockFlags for condition
if((procFlags & EventProcFlag) == 0)
return false;