Core/Spells: add Target Processing (SMSG_SPELLLOGEXECUTE) to LAUNCH_TARGET phase.

Move EffectInterruptCast to LAUNCH_TARGET Phase.

Closes #3718
Closes #6042
This commit is contained in:
ariel-
2016-10-04 23:35:50 -03:00
parent 51493a63e2
commit d9e4c8e04f
2 changed files with 7 additions and 2 deletions
+6 -1
View File
@@ -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)
+1 -1
View File
@@ -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())