mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 08:55:32 +01:00
Core/Spells: attempt to correct issue with triggered spells happening before the spell actually hits the target. reply with any bugs that this causes please!
This commit is contained in:
@@ -849,15 +849,15 @@ void Spell::EffectDummy(SpellEffIndex effIndex)
|
||||
|
||||
void Spell::EffectTriggerSpell(SpellEffIndex effIndex)
|
||||
{
|
||||
if (effectHandleMode != SPELL_EFFECT_HANDLE_LAUNCH_TARGET
|
||||
&& effectHandleMode != SPELL_EFFECT_HANDLE_LAUNCH)
|
||||
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET
|
||||
&& effectHandleMode != SPELL_EFFECT_HANDLE_HIT)
|
||||
return;
|
||||
|
||||
uint32 triggered_spell_id = m_spellInfo->Effects[effIndex].TriggerSpell;
|
||||
|
||||
// todo: move those to spell scripts
|
||||
if (m_spellInfo->Effects[effIndex].Effect == SPELL_EFFECT_TRIGGER_SPELL
|
||||
&& effectHandleMode == SPELL_EFFECT_HANDLE_LAUNCH_TARGET)
|
||||
&& effectHandleMode == SPELL_EFFECT_HANDLE_HIT_TARGET)
|
||||
{
|
||||
// special cases
|
||||
switch (triggered_spell_id)
|
||||
@@ -970,13 +970,13 @@ void Spell::EffectTriggerSpell(SpellEffIndex effIndex)
|
||||
}
|
||||
|
||||
SpellCastTargets targets;
|
||||
if (effectHandleMode == SPELL_EFFECT_HANDLE_LAUNCH_TARGET)
|
||||
if (effectHandleMode == SPELL_EFFECT_HANDLE_HIT_TARGET)
|
||||
{
|
||||
if (!spellInfo->NeedsToBeTriggeredByCaster())
|
||||
return;
|
||||
targets.SetUnitTarget(unitTarget);
|
||||
}
|
||||
else //if (effectHandleMode == SPELL_EFFECT_HANDLE_LAUNCH)
|
||||
else //if (effectHandleMode == SPELL_EFFECT_HANDLE_HIT)
|
||||
{
|
||||
if (spellInfo->NeedsToBeTriggeredByCaster() && (m_spellInfo->Effects[effIndex].GetProvidedTargetMask() & TARGET_FLAG_UNIT_MASK))
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user