protected override void OnTick()
{
if (m_Spell.m_State == SpellState.Casting && m_Spell.m_Caster.Spell == m_Spell)
{
m_Spell.m_State = SpellState.Sequencing;
m_Spell.m_CastTimer = null;
m_Spell.m_Caster.OnSpellCast(m_Spell);
m_Spell.m_Caster.Region.OnSpellCast(m_Spell.m_Caster, m_Spell);
m_Spell.m_Caster.NextSpellTime = Core.TickCount + (int)m_Spell.GetCastRecovery().TotalMilliseconds; // Spell.NextSpellDelay;
Target originalTarget = m_Spell.m_Caster.Target;
m_Spell.OnCast();
if (m_Spell.m_Caster.Player && m_Spell.m_Caster.Target != originalTarget && m_Spell.Caster.Target != null)
{
m_Spell.m_Caster.Target.BeginTimeout(m_Spell.m_Caster, TimeSpan.FromSeconds(30.0));
}
m_Spell.m_CastTimer = null;
}
}