diff options
Diffstat (limited to 'src/game/SpellMgr.cpp')
| -rw-r--r-- | src/game/SpellMgr.cpp | 11 |
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; |
