using System; using Server.Items; namespace Server.Mobiles { public class Executioner : BaseCreature { [Constructable] public Executioner() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { SpeechHue = Utility.RandomDyedHue(); Title = "the executioner"; Hue = Utility.RandomSkinHue(); if (Female = Utility.RandomBool()) { Body = 0x191; Name = NameList.RandomName("female"); AddItem(new Skirt(Utility.RandomRedHue())); } else { Body = 0x190; Name = NameList.RandomName("male"); AddItem(new ShortPants(Utility.RandomRedHue())); } SetStr(386, 400); SetDex(151, 165); SetInt(161, 175); SetDamage(8, 10); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 35, 45); SetResistance(ResistanceType.Fire, 25, 30); SetResistance(ResistanceType.Cold, 25, 30); SetResistance(ResistanceType.Poison, 10, 20); SetResistance(ResistanceType.Energy, 10, 20); SetSkill(SkillName.Anatomy, 125.0); SetSkill(SkillName.Fencing, 46.0, 77.5); SetSkill(SkillName.Macing, 35.0, 57.5); SetSkill(SkillName.Poisoning, 60.0, 82.5); SetSkill(SkillName.MagicResist, 83.5, 92.5); SetSkill(SkillName.Swords, 125.0); SetSkill(SkillName.Tactics, 125.0); SetSkill(SkillName.Lumberjacking, 125.0); Fame = 5000; Karma = -5000; VirtualArmor = 40; AddItem(new ThighBoots(Utility.RandomRedHue())); AddItem(new Surcoat(Utility.RandomRedHue())); AddItem(new ExecutionersAxe()); Utility.AssignRandomHair(this); } public Executioner(Serial serial) : base(serial) { } public override bool AlwaysMurderer { get { return true; } } public bool BlockReflect { get; set; } public override int Damage(int amount, Mobile from, bool informMount, bool checkDisrupt) { int dam = base.Damage(amount, from, informMount, checkDisrupt); if (!BlockReflect && from != null && dam > 0) { BlockReflect = true; AOS.Damage(from, this, dam, 0, 0, 0, 0, 0, 0, 100); BlockReflect = false; from.PlaySound(0x1F1); } return dam; } public override void GenerateLoot() { AddLoot(LootPack.FilthyRich); AddLoot(LootPack.Meager); } 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(); } } }