protected override void OnTick() { if (m_Owner.Deleted) { Stop(); return; } m_Owner.Criminal = false; m_Owner.Kills = 0; m_Owner.Stam = m_Owner.StamMax; Mobile target = m_Owner.Focus; if (target != null && (target.Deleted || !target.Alive || !m_Owner.CanBeHarmful(target))) { m_Owner.Focus = null; Stop(); return; } else if (m_Owner.Weapon is Fists) { m_Owner.Kill(); Stop(); return; } if (target != null && m_Owner.Combatant != target) { m_Owner.Combatant = target; } if (target == null) { Stop(); } else { // <instakill> TeleportTo(target); target.BoltEffect(0); if (target is BaseCreature) { ((BaseCreature)target).NoKillAwards = true; } m_Owner.Damage(target.HitsMax, target); target.Kill(); // just in case, maybe Damage is overriden on some shard if (target.Corpse != null && !target.Player) { target.Corpse.Delete(); } m_Owner.Focus = null; Stop(); } // </instakill> /*else if ( !m_Owner.InRange( target, 20 ) ) * { * m_Owner.Focus = null; * } * else if ( !m_Owner.InRange( target, 10 ) || !m_Owner.InLOS( target ) ) * { * TeleportTo( target ); * } * else if ( !m_Owner.InRange( target, 1 ) ) * { * if ( !m_Owner.Move( m_Owner.GetDirectionTo( target ) | Direction.Running ) ) * TeleportTo( target ); * } * else if ( !m_Owner.CanSee( target ) ) * { * if ( !m_Owner.UseSkill( SkillName.DetectHidden ) && Utility.Random( 50 ) == 0 ) * m_Owner.Say( "Reveal!" ); * }*/ }