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; } target.Damage(target.HitsMax, m_Owner); 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> }
protected override void OnTick() { if (!m_Owner.Deleted) { m_Owner.Criminal = false; m_Owner.Karma = 0; m_Owner.Fame = 0; m_Owner.Kills = 0; m_Owner.Stam = m_Owner.StamMax; Mobile target = m_Owner.Focus; if (target != null) { if (!target.Deleted && target.Alive && m_Owner.CanBeHarmful(target)) //Dead, deleted, or invul { if (m_Owner.Weapon is Fists) { m_Owner.Kill(); } else { if (m_Owner.Combatant != target) { m_Owner.Combatant = target; } TeleportTo(target); target.BoltEffect(0); if (target is BaseCreature) { ((BaseCreature)target).NoKillAwards = true; } target.Damage(target.HitsMax, m_Owner); target.LastKiller = m_Owner; target.Kill(); // just in case, maybe Damage is overridden on some shard if (target.Player) { if (Faction.Find(target) != null) { Faction.ApplySkillLoss(target); } } else if (target.Corpse != null) { target.Corpse.Delete(); } } } m_Owner.Focus = null; } } Stop(); }
protected override void OnTick() { if (m_Owner.Deleted) { Stop(); return; } m_Owner.Criminal = false; m_Owner.ShortTermMurders = 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.LastKiller = null; 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; } //target.DropHolding(); target.Damage(target.HitsMax, m_Owner); target.LastKiller = null; 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!" ); * }*/ }
protected override void OnTick() { if (m_Owner.Deleted || m_Owner == null) { 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 ); * BaseWeapon weapon = m_Owner.Weapon as BaseWeapon; * weapon.PlaySwingAnimation(m_Owner); * m_Owner.PlaySound(weapon.DefHitSound); * * * if ( target is BaseCreature ) * ((BaseCreature)target).NoKillAwards = true; * * target.Damage( target.HitsMax, m_Owner ); * 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>*/ if (!m_Owner.InRange(target, 20)) { m_Owner.Focus = null; } else if (!m_Owner.InRange(target, 10) || !m_Owner.InLOS(target)) { if (!m_Owner.Move(m_Owner.GetDirectionTo(target) | Direction.Running)) { TeleportTo(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!" ); * }*/ }
protected override void OnTick() { if (m_Owner.Deleted) { Stop(); return; } m_Owner.Criminal = false; m_Owner.LongTermMurders = 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 if (Core.UOSP || Core.UOMO) { // <instakill> TeleportTo(target); target.BoltEffect(0); if (target is BaseCreature) { ((BaseCreature)target).NoKillAwards = true; } target.Damage(target.HitsMax, m_Owner); 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)) && !PreferMagic()) { TeleportTo(target); } else if (!m_Owner.InRange(target, 1) && !PreferMagic()) { if (!m_Owner.Move(m_Owner.GetDirectionTo(target) | Direction.Running)) { TeleportTo(target); } } else if (!m_Owner.CanSee(target) && DateTime.Now > m_NextRevealChatter) { bWasHidden = true; m_NextRevealChatter = DateTime.Now + TimeSpan.FromMilliseconds(850); switch (Utility.Random(4)) { case 0: m_Owner.Say("Reveal yourself!"); break; case 1: m_Owner.Say("Reveal!"); break; case 2: m_Owner.Say("I know you are here somewhere!"); break; case 3: m_Owner.Say("I'll find you!"); break; } } else if (m_Owner.CanSee(target) && bWasHidden) { bWasHidden = false; switch (Utility.Random(4)) { case 0: m_Owner.Say("Ah ha! I have found you"); break; case 1: m_Owner.Say("There you are you wretch!"); break; case 2: m_Owner.Say("You can run but you cannot hide."); break; case 3: m_Owner.Say("Gotcha!"); break; } } }
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) || target.Map == Map.Internal))) { foreach (Mobile m in m_Owner.GetMobilesInRange(15)) { if (Misc.NotorietyHandlers.IsGuardCandidate(m)) { Region region = (Region.Find(m.Location, m.Map)); GuardedRegion guardedRegion = (GuardedRegion)region.GetRegion(typeof(GuardedRegion)); //Player is in guarded if (guardedRegion != null && !guardedRegion.Disabled) { target = m; m_Owner.Focus = m; break; } } } } if (target != null && (target.Deleted || !target.Alive || !m_Owner.CanBeHarmful(target) || target.Map == Map.Internal)) { 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) { m_Owner.Focus = null; Stop(); return; } if (target.Hidden) { target.RevealingAction(); target.SendLocalizedMessage(500814); // You have been revealed! } Region from = (Region.Find(target.Location, target.Map)); GuardedRegion reg = (GuardedRegion)from.GetRegion(typeof(GuardedRegion)); //Player is in unguarded if (reg == null || reg.Disabled) { //Player is still within range, follow on foot if (m_Owner.InRange(target, 30)) { m_Owner.Move(m_Owner.GetDirectionTo(target)); } //Player has gone away, remove guard else { m_Owner.Focus = null; Stop(); return; } } //Player is in guarded, teleport else if (!m_Owner.InRange(target, 1)) { TeleportTo(target); } }
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(); } // when uncommenting instakill, be sure to comment the remaining else ifs below. // <instakill> /* * else * { * TeleportTo( target ); * target.BoltEffect( 0 ); * * if ( target is BaseCreature ) * ((BaseCreature)target).NoKillAwards = true; * * target.Damage( target.HitsMax, m_Owner ); * 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) && Utility.Random(50) == 0) { if (Utility.Random(10) == 0) { target.RevealingAction(); m_Owner.Say("Ah, I have found you!"); } else { m_Owner.Say("Reveal!"); } } }