using System; using Server.Targets; namespace Server.Items { public abstract class BaseKnife : BaseMeleeWeapon { public BaseKnife(int itemID) : base(itemID) { } public BaseKnife(Serial serial) : base(serial) { } public override int DefHitSound { get { return 0x23B; } } public override int DefMissSound { get { return 0x238; } } public override SkillName DefSkill { get { return SkillName.Swords; } } public override WeaponType DefType { get { return WeaponType.Slashing; } } public override WeaponAnimation DefAnimation { get { return WeaponAnimation.Slash1H; } } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write((int)0); // version } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } public override void OnDoubleClick(Mobile from) { from.SendLocalizedMessage(1010018); // What do you want to use this item on? from.Target = new BladedItemTarget(this); } public override void OnHit(Mobile attacker, IDamageable defender, double damageBonus) { base.OnHit(attacker, defender, damageBonus); if (!Core.AOS && defender is Mobile && this.Poison != null && this.PoisonCharges > 0) { --this.PoisonCharges; if (Utility.RandomDouble() >= 0.5) // 50% chance to poison ((Mobile)defender).ApplyPoison(attacker, this.Poison); } } } }