public virtual void EquipSpecialty() { if (AbilityProfile != null && AbilityProfile.HasAbility(SpecialAbility.Heal)) { PackItem(new Bandage(Utility.RandomMinMax(10, 25))); } SetWearable(new ThighBoots()); SetWearable(new BodySash(), Utility.RandomSlimeHue()); switch (_Specialty) { case SkillName.Chivalry: SetWearable(RandomSwordWeapon()); PaladinEquip(); break; case SkillName.Swords: SetWearable(RandomSwordWeapon()); StandardMeleeEquip(); break; case SkillName.Fencing: SetWearable(RandomFencingWeapon()); StandardMeleeEquip(); break; case SkillName.Macing: SetWearable(RandomMaceWeapon()); StandardMeleeEquip(); break; case SkillName.Archery: SetWearable(RandomArhceryWeapon()); StandardMeleeEquip(); break; case SkillName.Magery: SetWearable(RandomMageWeapon()); StandardMageEquip(); break; case SkillName.Mysticism: SetWearable(RandomMageWeapon()); StandardMageEquip(); break; case SkillName.Spellweaving: SetWearable(RandomMageWeapon()); StandardMageEquip(); break; case SkillName.Necromancy: SetWearable(RandomMageWeapon()); StandardMageEquip(); break; case SkillName.Bushido: BaseWeapon w = RandomSamuraiWeapon() as BaseWeapon; SetWearable(w); SetWearable(new LeatherSuneate()); SetWearable(new LeatherJingasa()); SetWearable(new LeatherDo()); SetWearable(new LeatherHiroSode()); SetWearable(new SamuraiTabi(Utility.RandomNondyedHue())); if (_Sampire) { w.WeaponAttributes.HitLeechHits = 100; } SetSkill(SkillName.Parry, 120); break; case SkillName.Ninjitsu: SetWearable(RandomNinjaWeapon()); LeatherNinjaBelt belt = new LeatherNinjaBelt(); belt.UsesRemaining = 20; belt.Poison = Poison.Greater; belt.PoisonCharges = 20; SetWearable(belt); for (int i = 0; i < 2; i++) { Fukiya f = new Fukiya(); f.UsesRemaining = 10; f.Poison = Poison.Greater; f.PoisonCharges = 10; f.Movable = false; PackItem(f); } SetWearable(new NinjaTabi()); SetWearable(new LeatherNinjaJacket()); SetWearable(new LeatherNinjaHood()); SetWearable(new LeatherNinjaPants()); SetWearable(new LeatherNinjaMitts()); break; case SkillName.Poisoning: BaseWeapon wep = RandomAssassinWeapon() as BaseWeapon; wep.Poison = Poison.Lethal; wep.PoisonCharges = 100; SetWearable(wep); SetWearable(new LeatherChest()); SetWearable(new LeatherLegs()); SetWearable(new LeatherGloves()); SetWearable(new LeatherGorget()); break; } }
public xhorse(string name) : base(name, 0xBE, 0x3E9E, AIType.AI_NecroMage, FightMode.Weakest, 10, 1, 0.2, 0.4) { #region Hue if (Utility.RandomDouble() < 0.1) { Hue = Utility.RandomList(1461, 1365, 1266, 1257, 1173, 1166, 1168, 1151, 1150); } else { Hue = Utility.Random(1002, 57); } //Hue = Utility.RandomList(0x97A, 0x978, 0x901, 0x8AC, 0x5A7, 0x527); #endregion InitStats(Utility.Random(385, 25), Utility.Random(360, 50), Utility.Random(370, 50)); SetHits(980, 1334); SetDamage(25, 35); SetResistance(ResistanceType.Physical, 70, 90); SetResistance(ResistanceType.Fire, 70, 90); SetResistance(ResistanceType.Cold, 70, 90); SetResistance(ResistanceType.Poison, 70, 90); SetResistance(ResistanceType.Energy, 70, 90); SetSkill(SkillName.Archery, 100); SetSkill(SkillName.MagicResist, 90.5, 105.5); SetSkill(SkillName.Tactics, 80.0); SetSkill(SkillName.Anatomy, 120); SetSkill(SkillName.Healing, 120.0); SetSkill(SkillName.EvalInt, 100); SetSkill(SkillName.MagicResist, 85); SetSkill(SkillName.Magery, 100); SetSkill(SkillName.Poisoning, 100); SetSkill(SkillName.Bushido, 100); SetSkill(SkillName.Mysticism, 100); SetSkill(SkillName.Ninjitsu, 100); SetSkill(SkillName.Necromancy, 100); SetSkill(SkillName.Spellweaving, 100); SetSkill(SkillName.Hiding, 100); SetSkill(SkillName.Stealth, 100); SetSkill(SkillName.ArmsLore, 100); SetSkill(SkillName.Wrestling, 50); SetSkill(SkillName.Chivalry, 90); //Body = 1290; Tamable = true; ControlSlots = 2; MinTameSkill = 60.1; //LeatherSkirt ls = new LeatherSkirt(); //ls.Movable = false; //ls.Attributes.AttackChance = 40; //AddItem(ls); Container pack = Backpack; if (pack != null) { pack.Delete(); } pack = new xBackpack(); pack.Movable = false; AddItem(pack); int amount = Skills[SkillName.Ninjitsu].Value >= 100 ? 2 : 1; for (int i = 0; i < amount; i++) { Fukiya f = new Fukiya(); f.UsesRemaining = 10; f.Poison = amount == 1 ? Poison.Regular : Poison.Greater; f.PoisonCharges = 10; f.Movable = true; PackItem(f); } if (Utility.RandomDouble() < 0.2) { PackItem(new TreasureMap(6, Map.Trammel)); } }
public EliteNinja() : base(AIType.AI_Ninja, FightMode.Closest, 10, 1, 0.2, 0.4) { SpeechHue = Utility.RandomDyedHue(); Hue = Utility.RandomSkinHue(); Name = "an elite ninja"; Body = (Female = Utility.RandomBool()) ? 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); SetSkill(SkillName.Hiding, 100.0); SetSkill(SkillName.Stealth, 120.0); Fame = 8500; Karma = -8500; LeatherNinjaBelt belt = new LeatherNinjaBelt { UsesRemaining = 20, Poison = Poison.Greater, PoisonCharges = 20, Movable = false }; AddItem(belt); int amount = Skills[SkillName.Ninjitsu].Value >= 100 ? 2 : 1; for (int i = 0; i < amount; i++) { Fukiya f = new Fukiya { UsesRemaining = 10, Poison = amount == 1 ? Poison.Regular : Poison.Greater, PoisonCharges = 10, Movable = false }; PackItem(f); } AddItem(new NinjaTabi()); AddItem(new LeatherNinjaJacket()); AddItem(new LeatherNinjaHood()); AddItem(new LeatherNinjaPants()); AddItem(new LeatherNinjaMitts()); if (Utility.RandomDouble() < 0.33) { PackItem(new SmokeBomb()); } if (Utility.RandomBool()) { PackItem(new Tessen()); } else { PackItem(new Wakizashi()); } if (Utility.RandomBool()) { PackItem(new Nunchaku()); } else { PackItem(new Daisho()); } if (Utility.RandomBool()) { PackItem(new Sai()); } else { PackItem(new Tekagi()); } if (Utility.RandomBool()) { PackItem(new Kama()); } else { PackItem(new Katana()); } Utility.AssignRandomHair(this); ChangeWeapon(); }