aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2009-05-05 11:32:12 -0500
committermegamage <none@none>2009-05-05 11:32:12 -0500
commita541a2f18537d32087c855db8fa338b0be5eab03 (patch)
tree43be2fdd0f61047ce82fe8e5810f40d186ac6d34 /src
parent5eba6fc0918796f15759d9f32301e7282d9072bf (diff)
*Fix a bug that some spell effects are applied twice.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/Spell.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 5d55e059832..a10c076bcc9 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -775,7 +775,7 @@ void Spell::AddUnitTarget(Unit* pVictim, uint32 effIndex)
if(!CheckTarget(pVictim, effIndex))
return;
-
+
// Check for effect immune skip if immuned
bool immuned = pVictim->IsImmunedToSpellEffect(m_spellInfo, effIndex);
@@ -2643,9 +2643,13 @@ void Spell::_handle_immediate_phase()
if(!m_targets.HasDst())
m_targets.setDestination(m_caster);
HandleEffects(m_originalCaster, NULL, NULL, j);
+ m_effectMask |= (1<<j);
}
else if(spellmgr.EffectTargetType[m_spellInfo->Effect[j]] == SPELL_REQUIRE_NONE)
+ {
HandleEffects(m_originalCaster, NULL, NULL, j);
+ m_effectMask |= (1<<j);
+ }
}
}