diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/SpellMgr.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 4a7ab708c3d..4dd6c2215c6 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -521,7 +521,6 @@ bool IsPositiveEffect(uint32 spellId, uint32 effIndex, bool deep) switch(spellId) { case 23333: case 23335: case 34976: // BG spell - case 30482: case 43045: case 43046: // Molten armor expection need find the real bug return true; case 28441: // not positive dummy spell case 37675: // Chaos Blast @@ -702,7 +701,10 @@ bool IsPositiveEffect(uint32 spellId, uint32 effIndex, bool deep) if(spellproto->AttributesEx & SPELL_ATTR_EX_NEGATIVE) return false; - if (!deep && spellproto->EffectTriggerSpell[effIndex] && !IsPositiveSpell(spellproto->EffectTriggerSpell[effIndex], true)) + if (!deep && spellproto->EffectTriggerSpell[effIndex] + && !spellproto->procFlags + && IsPositiveTarget(spellproto->EffectImplicitTargetA[effIndex],spellproto->EffectImplicitTargetB[effIndex]) + && !IsPositiveSpell(spellproto->EffectTriggerSpell[effIndex], true)) return false; // ok, positive |
