From 686a9eeef9bd8bbdc926cfab178ebcfd7229c90c Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 21 Oct 2016 08:23:40 +0200 Subject: [PATCH] =?UTF-8?q?Core/Spells:=20add=20Target=20Processing=20(SMS?= =?UTF-8?q?G=5FSPELLLOGEXECUTE)=20to=20LAUNCH=5FT=E2=80=A6=20=E2=80=A6ARGE?= =?UTF-8?q?T=20phase.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move EffectInterruptCast to LAUNCH_TARGET Phase. --- src/server/game/Spells/Spell.cpp | 5 +++++ src/server/game/Spells/SpellEffects.cpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index f485c1e7782..b91b7c8fda0 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -6926,6 +6926,8 @@ void Spell::HandleLaunchPhase() bool usesAmmo = m_spellInfo->HasAttribute(SPELL_ATTR0_CU_DIRECT_DAMAGE); + PrepareTargetProcessing(); + for (std::list::iterator ihit= m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit) { TargetInfo& target = *ihit; @@ -6959,8 +6961,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 c1c0952a3f3..86b7c1e4f57 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -3151,7 +3151,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())