Beispiel #1
0
 public SpellTargetPoint3D(
     ISpellTargetingPoint3D spell, TargetFlags flags = TargetFlags.None, int range = 12, bool checkLOS = true
     ) : base(range, true, flags)
 {
     m_Spell    = spell;
     m_CheckLOS = checkLOS;
 }
Beispiel #2
0
 public SpellTargetPoint3D(
     ISpellTargetingPoint3D spell, TargetFlags flags = TargetFlags.None, int range = 12, bool retryOnLOS = false
     ) : base(range, true, flags)
 {
     _spell      = spell;
     _retryOnLos = retryOnLOS;
 }
Beispiel #3
0
        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?
        }
Beispiel #4
0
        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?
        }