diff options
author | megamage <none@none> | 2009-05-05 11:32:12 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-05-05 11:32:12 -0500 |
commit | a541a2f18537d32087c855db8fa338b0be5eab03 (patch) | |
tree | 43be2fdd0f61047ce82fe8e5810f40d186ac6d34 /src | |
parent | 5eba6fc0918796f15759d9f32301e7282d9072bf (diff) |
*Fix a bug that some spell effects are applied twice.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Spell.cpp | 6 |
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); + } } } |