From a66b74cfa20d91c83878b238e44954c07f1460ca Mon Sep 17 00:00:00 2001 From: hondacrx Date: Thu, 10 Mar 2022 13:43:20 -0500 Subject: [PATCH] Core/Spells: Implement SPELL_EFFECT_TRIGGER_SPELL delay (stored in MiscValue) Port From (https://github.com/TrinityCore/TrinityCore/commit/c65340e76143f1a160f0eed83062e74b47e7b3f2) --- Source/Game/Spells/SpellEffects.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Source/Game/Spells/SpellEffects.cs b/Source/Game/Spells/SpellEffects.cs index 895cc5719..f28c21ec0 100644 --- a/Source/Game/Spells/SpellEffects.cs +++ b/Source/Game/Spells/SpellEffects.cs @@ -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); args.SetOriginalCaster(m_originalCasterGUID); args.SetOriginalCastId(m_castId); @@ -307,8 +311,11 @@ namespace Game.Spells for (int i = 0; i < SpellConst.MaxEffects; ++i) args.AddSpellMod(SpellValueMod.BasePoint0 + i, damage); - // original caster guid only for GO cast - m_caster.CastSpell(targets, spellInfo.Id, args); + m_caster.m_Events.AddEventAtOffset(() => + { + // original caster guid only for GO cast + m_caster.CastSpell(targets, triggered_spell_id, args); + }, delay); } [SpellEffectHandler(SpellEffectName.TriggerMissile)]