Core/Spells: Implement SPELL_EFFECT_TRIGGER_SPELL delay (stored in MiscValue)
Port From (https://github.com/TrinityCore/TrinityCore/commit/c65340e76143f1a160f0eed83062e74b47e7b3f2)
This commit is contained in:
@@ -299,6 +299,10 @@ namespace Game.Spells
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TimeSpan delay = TimeSpan.Zero;
|
||||||
|
if (effectInfo.Effect == SpellEffectName.TriggerSpell)
|
||||||
|
delay = TimeSpan.FromMilliseconds(effectInfo.MiscValue);
|
||||||
|
|
||||||
CastSpellExtraArgs args = new(TriggerCastFlags.FullMask);
|
CastSpellExtraArgs args = new(TriggerCastFlags.FullMask);
|
||||||
args.SetOriginalCaster(m_originalCasterGUID);
|
args.SetOriginalCaster(m_originalCasterGUID);
|
||||||
args.SetOriginalCastId(m_castId);
|
args.SetOriginalCastId(m_castId);
|
||||||
@@ -307,8 +311,11 @@ namespace Game.Spells
|
|||||||
for (int i = 0; i < SpellConst.MaxEffects; ++i)
|
for (int i = 0; i < SpellConst.MaxEffects; ++i)
|
||||||
args.AddSpellMod(SpellValueMod.BasePoint0 + i, damage);
|
args.AddSpellMod(SpellValueMod.BasePoint0 + i, damage);
|
||||||
|
|
||||||
// original caster guid only for GO cast
|
m_caster.m_Events.AddEventAtOffset(() =>
|
||||||
m_caster.CastSpell(targets, spellInfo.Id, args);
|
{
|
||||||
|
// original caster guid only for GO cast
|
||||||
|
m_caster.CastSpell(targets, triggered_spell_id, args);
|
||||||
|
}, delay);
|
||||||
}
|
}
|
||||||
|
|
||||||
[SpellEffectHandler(SpellEffectName.TriggerMissile)]
|
[SpellEffectHandler(SpellEffectName.TriggerMissile)]
|
||||||
|
|||||||
Reference in New Issue
Block a user