public CanBeHarmful ( Mobile target, bool message, bool ignoreOurBlessedness ) : bool | ||
target | Mobile | |
message | bool | |
ignoreOurBlessedness | bool | |
return | bool |
public override bool CanBeHarmful(Mobile target, bool message, bool ignoreOurBlessedness)
{
if ((target is BaseCreature && ((BaseCreature)target).IsInvulnerable) || target is PlayerVendor || target is TownCrier)
{
if (message)
{
if (target.Title == null)
SendMessage("{0} cannot be harmed.", target.Name);
else
SendMessage("{0} {1} cannot be harmed.", target.Name, target.Title);
}
return false;
}
return base.CanBeHarmful(target, message, ignoreOurBlessedness);
}
private static void Shoot(PlayerMobile from, Mobile target, INinjaWeapon weapon) { if (from != target && CanUseWeapon(from, weapon) && from.CanBeHarmful(target)) { if (weapon.WeaponMinRange == 0 || !from.InRange(target, weapon.WeaponMinRange)) { from.NinjaWepCooldown = true; from.Direction = from.GetDirectionTo(target); from.RevealingAction(); weapon.AttackAnimation(from, target); ConsumeUse(weapon); if (CombatCheck(from, target)) { Timer.DelayCall(TimeSpan.FromSeconds(1.0), new TimerStateCallback<object[]>(OnHit), new object[] { from, target, weapon }); } Timer.DelayCall(TimeSpan.FromSeconds(2.5), new TimerStateCallback<PlayerMobile>(ResetUsing), from); } else { from.SendLocalizedMessage(1063303); // Your target is too close! } } }