diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 7 | ||||
| -rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index b37a44d6e70..9bf2184f0c3 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -6880,9 +6880,11 @@ void Spell::HandleLaunchPhase() for (Unit::AuraEffectList::const_iterator j = Auras.begin(); j != Auras.end(); ++j) { if ((*j)->IsAffectedOnSpell(m_spellInfo)) - usesAmmo=false; + usesAmmo = false; } + PrepareTargetProcessing(); + for (std::list<TargetInfo>::iterator ihit= m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit) { TargetInfo& target = *ihit; @@ -6916,8 +6918,11 @@ void Spell::HandleLaunchPhase() break; } } + DoAllEffectOnLaunchTarget(target, multiplier); } + + FinishTargetProcessing(); } void Spell::DoAllEffectOnLaunchTarget(TargetInfo& targetInfo, float* multiplier) diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 93a0ec2ac56..1b570e7778c 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -3455,7 +3455,7 @@ void Spell::EffectHealMaxHealth(SpellEffIndex /*effIndex*/) void Spell::EffectInterruptCast(SpellEffIndex effIndex) { - if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET) + if (effectHandleMode != SPELL_EFFECT_HANDLE_LAUNCH_TARGET) return; if (!unitTarget || !unitTarget->IsAlive()) |
