using Server.Items; namespace Server.Mobiles { public class EliteNinja : BaseCreature { [Constructible] public EliteNinja() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { SpeechHue = Utility.RandomDyedHue(); Hue = Race.Human.RandomSkinHue(); Female = Utility.RandomBool(); Body = Female ? 0x191 : 0x190; SetHits(251, 350); SetStr(126, 225); SetDex(81, 95); SetInt(151, 165); SetDamage(12, 20); SetDamageType(ResistanceType.Physical, 65); SetDamageType(ResistanceType.Fire, 15); SetDamageType(ResistanceType.Poison, 15); SetDamageType(ResistanceType.Energy, 5); SetResistance(ResistanceType.Physical, 35, 65); SetResistance(ResistanceType.Fire, 40, 60); SetResistance(ResistanceType.Cold, 25, 45); SetResistance(ResistanceType.Poison, 40, 60); SetResistance(ResistanceType.Energy, 35, 55); SetSkill(SkillName.Anatomy, 105.0, 120.0); SetSkill(SkillName.MagicResist, 80.0, 100.0); SetSkill(SkillName.Tactics, 115.0, 130.0); SetSkill(SkillName.Wrestling, 95.0, 120.0); SetSkill(SkillName.Fencing, 95.0, 120.0); SetSkill(SkillName.Macing, 95.0, 120.0); SetSkill(SkillName.Swords, 95.0, 120.0); SetSkill(SkillName.Ninjitsu, 95.0, 120.0); Fame = 8500; Karma = -8500; /* TODO: Uses Smokebombs Hides Stealths Can use Ninjitsu Abilities Can change weapons during a fight */ AddItem(new NinjaTabi()); AddItem(new LeatherNinjaJacket()); AddItem(new LeatherNinjaHood()); AddItem(new LeatherNinjaPants()); AddItem(new LeatherNinjaMitts()); if (Utility.RandomDouble() < 0.33) AddItem(new SmokeBomb()); switch (Utility.Random(8)) { case 0: AddItem(new Tessen()); break; case 1: AddItem(new Wakizashi()); break; case 2: AddItem(new Nunchaku()); break; case 3: AddItem(new Daisho()); break; case 4: AddItem(new Sai()); break; case 5: AddItem(new Tekagi()); break; case 6: AddItem(new Kama()); break; case 7: AddItem(new Katana()); break; } Utility.AssignRandomHair(this); } public EliteNinja(Serial serial) : base(serial) { } public override bool ClickTitle => false; public override string DefaultName => "an elite ninja"; public override bool BardImmune => true; public override bool AlwaysMurderer => true; public override void OnDeath(Container c) { base.OnDeath(c); c.DropItem(new BookOfNinjitsu()); } public override void GenerateLoot() { AddLoot(LootPack.FilthyRich); AddLoot(LootPack.Rich); AddLoot(LootPack.Gems, 2); } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); // version } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } }