public SpellTargetPoint3D( ISpellTargetingPoint3D spell, TargetFlags flags = TargetFlags.None, int range = 12, bool checkLOS = true ) : base(range, true, flags) { m_Spell = spell; m_CheckLOS = checkLOS; }
public SpellTargetPoint3D( ISpellTargetingPoint3D spell, TargetFlags flags = TargetFlags.None, int range = 12, bool retryOnLOS = false ) : base(range, true, flags) { _spell = spell; _retryOnLos = retryOnLOS; }
protected override void OnTargetOutOfLOS(Mobile from, object o) { if (!m_CheckLOS) { return; } from.SendLocalizedMessage(501943); // Target cannot be seen. Try again. from.Target = new SpellTargetPoint3D(m_Spell); from.Target.BeginTimeout(from, TimeoutTime - DateTime.UtcNow); m_Spell = null; // Needed? }
protected override void OnTargetOutOfLOS(Mobile from, object o) { if (!_retryOnLos) { return; } from.SendLocalizedMessage(501943); // Target cannot be seen. Try again. from.Target = new SpellTargetPoint3D(_spell); from.Target.BeginTimeout(from, TimeoutTime - Core.TickCount); _spell = null; // Needed? }