aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorQAston <none@none>2009-03-14 13:34:05 +0100
committerQAston <none@none>2009-03-14 13:34:05 +0100
commit4a0bb67f8373afdbac8e54596b5f7936ed94acc7 (patch)
tree68b5c47fc5cbfb47f54c96e30cbb2a346236147e /src
parent648a8d505fe188ac5bc8b3fec045a1730c8e990a (diff)
*Fix positivity checks for some triggering spells.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellMgr.cpp6
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