public static Item GetRandomHat() { Item hat = null; switch (Utility.Random(6)) { case 0: hat = new SkullCap(GetRandomHue()); break; case 1: hat = new Bandana(GetRandomHue()); break; case 2: hat = new WideBrimHat(); break; case 3: hat = new TallStrawHat(Utility.RandomNeutralHue()); break; case 4: hat = new StrawHat(Utility.RandomNeutralHue()); break; case 5: hat = new TricorneHat(Utility.RandomNeutralHue()); break; } return(hat); }
public DummyNox() : base(AIType.AI_Mage, FightMode.Closest, 15, 1, 0.2, 0.6) { // A Dummy Nox or Pure Mage int iHue = 20 + Team * 40; int jHue = 25 + Team * 40; // Skills and Stats InitStats(90, 90, 125); Skills[SkillName.Magery].Base = 120; Skills[SkillName.EvalInt].Base = 120; Skills[SkillName.Inscribe].Base = 100; Skills[SkillName.Wrestling].Base = 120; Skills[SkillName.Meditation].Base = 120; Skills[SkillName.Poisoning].Base = 100; // Name Name = "Nox Mage"; // Equip Spellbook book = new Spellbook { Movable = false, LootType = LootType.Newbied, Content = 0xFFFFFFFFFFFFFFFF }; AddItem(book); Kilt kilt = new Kilt { Hue = jHue }; AddItem(kilt); Sandals snd = new Sandals { Hue = iHue, LootType = LootType.Newbied }; AddItem(snd); SkullCap skc = new SkullCap { Hue = iHue }; AddItem(skc); // Spells AddSpellAttack(typeof(Spells.First.MagicArrowSpell)); AddSpellAttack(typeof(Spells.First.WeakenSpell)); AddSpellAttack(typeof(Spells.Third.FireballSpell)); AddSpellDefense(typeof(Spells.Third.WallOfStoneSpell)); AddSpellDefense(typeof(Spells.First.HealSpell)); }
public InternalBuyInfo() { Add(new GenericBuyInfo("Bolt of Cloth", typeof(BoltOfCloth), BoltOfCloth.GetSBPurchaseValue(), 50, 0xf95, 0)); Add(new GenericBuyInfo("Scissors", typeof(Scissors), Scissors.GetSBPurchaseValue(), 25, 0xF9F, 0)); Add(new GenericBuyInfo("Sewing Kit", typeof(SewingKit), SewingKit.GetSBPurchaseValue(), 50, 0xF9D, 0)); Add(new GenericBuyInfo("Dyes", typeof(Dyes), Dyes.GetSBPurchaseValue(), 25, 0xFA9, 0)); Add(new GenericBuyInfo("Dye Tub", typeof(DyeTub), DyeTub.GetSBPurchaseValue(), 25, 0xFAB, 0)); //Hats Add(new GenericBuyInfo("Skull Cap", typeof(SkullCap), SkullCap.GetSBPurchaseValue(), 25, 0x1544, 0)); Add(new GenericBuyInfo("Bandana", typeof(Bandana), Bandana.GetSBPurchaseValue(), 25, 0x1540, 0)); Add(new GenericBuyInfo("Floppy Hat", typeof(FloppyHat), FloppyHat.GetSBPurchaseValue(), 25, 0x1713, 0)); Add(new GenericBuyInfo("Cap", typeof(Cap), Cap.GetSBPurchaseValue(), 25, 0x1715, 0)); Add(new GenericBuyInfo("Wide Brim Hat", typeof(WideBrimHat), WideBrimHat.GetSBPurchaseValue(), 25, 0x1714, 0)); Add(new GenericBuyInfo("Tall Straw Hat", typeof(TallStrawHat), TallStrawHat.GetSBPurchaseValue(), 25, 0x1716, 0)); Add(new GenericBuyInfo("Bonnet", typeof(Bonnet), Bonnet.GetSBPurchaseValue(), 25, 0x1719, 0)); Add(new GenericBuyInfo("Feathered Hat", typeof(FeatheredHat), FeatheredHat.GetSBPurchaseValue(), 25, 0x171A, 0)); Add(new GenericBuyInfo("Tricorne Hat", typeof(TricorneHat), TricorneHat.GetSBPurchaseValue(), 25, 0x171B, 0)); Add(new GenericBuyInfo("Jester Hat", typeof(JesterHat), JesterHat.GetSBPurchaseValue(), 25, 0x171C, 0)); Add(new GenericBuyInfo("Wizards Hat", typeof(WizardsHat), WizardsHat.GetSBPurchaseValue(), 25, 0x1718, 0)); //Shirts Add(new GenericBuyInfo("Doublet", typeof(Doublet), Doublet.GetSBPurchaseValue(), 25, 0x1F7B, 0)); Add(new GenericBuyInfo("Shirt", typeof(Shirt), Shirt.GetSBPurchaseValue(), 25, 0x1517, 0)); Add(new GenericBuyInfo("Fancy Shirt", typeof(FancyShirt), FancyShirt.GetSBPurchaseValue(), 25, 0x1EFD, 0)); Add(new GenericBuyInfo("Tunic", typeof(Tunic), Tunic.GetSBPurchaseValue(), 25, 0x1FA1, 0)); Add(new GenericBuyInfo("Surcoat", typeof(Surcoat), Surcoat.GetSBPurchaseValue(), 25, 0x1FFD, 0)); Add(new GenericBuyInfo("Jester Suit", typeof(JesterSuit), JesterSuit.GetSBPurchaseValue(), 25, 0x1F9F, 0)); Add(new GenericBuyInfo("Plain Dress", typeof(PlainDress), PlainDress.GetSBPurchaseValue(), 25, 0x1F01, 0)); Add(new GenericBuyInfo("Fancy Dress", typeof(FancyDress), FancyDress.GetSBPurchaseValue(), 25, 0x1EFF, 0)); Add(new GenericBuyInfo("Robe", typeof(Robe), Robe.GetSBPurchaseValue(), 25, 0x1F03, 0)); //Pants Add(new GenericBuyInfo("Short Pants", typeof(ShortPants), ShortPants.GetSBPurchaseValue(), 25, 0x152E, 0)); Add(new GenericBuyInfo("Long Pants", typeof(LongPants), LongPants.GetSBPurchaseValue(), 25, 0x1539, 0)); Add(new GenericBuyInfo("Kilt", typeof(Kilt), Kilt.GetSBPurchaseValue(), 25, 0x1537, 0)); Add(new GenericBuyInfo("Skirt", typeof(Skirt), Skirt.GetSBPurchaseValue(), 25, 0x1516, 0)); Add(new GenericBuyInfo("Cloak", typeof(Cloak), Cloak.GetSBPurchaseValue(), 25, 0x1515, 0)); Add(new GenericBuyInfo("Body Sash", typeof(BodySash), BodySash.GetSBPurchaseValue(), 25, 0x1541, 0)); Add(new GenericBuyInfo("Half Apron", typeof(HalfApron), HalfApron.GetSBPurchaseValue(), 25, 0x153b, 0)); Add(new GenericBuyInfo("Full Apron", typeof(FullApron), FullApron.GetSBPurchaseValue(), 25, 0x153d, 0)); //Shoes Add(new GenericBuyInfo("Sandals", typeof(Sandals), Sandals.GetSBPurchaseValue(), 25, 0x170D, 0)); Add(new GenericBuyInfo("Shoes", typeof(Shoes), Shoes.GetSBPurchaseValue(), 25, 0x170F, 0)); Add(new GenericBuyInfo("Boots", typeof(Boots), Boots.GetSBPurchaseValue(), 25, 0x170B, 0)); Add(new GenericBuyInfo("Thigh Boots", typeof(ThighBoots), ThighBoots.GetSBPurchaseValue(), 25, 0x1711, 0)); //TEST: FIX //Add( new GenericBuyInfo( typeof( SpoolOfThread ), 18, 20, 0xFA0, 0 ) ); //Add( new GenericBuyInfo( typeof( Flax ), 156, 20, 0x1A9C, 0 ) ); //Add( new GenericBuyInfo( typeof( Cotton ), 156, 20, 0xDF9, 0 ) ); //Add( new GenericBuyInfo( typeof( Wool ), 78, 20, 0xDF8, 0 ) ); }
public DummyNox() : base(AIType.AI_Mage, FightMode.Closest, 15, 1, 0.2, 0.6) { // A Dummy Nox or Pure Mage int iHue = 20 + Team * 40; int jHue = 25 + Team * 40; // Skills and Stats this.InitStats(90, 90, 125); this.Skills[SkillName.ArtMagique].Base = 120; //this.Skills[SkillName.EvalInt].Base = 120; this.Skills[SkillName.Inscription].Base = 100; this.Skills[SkillName.Anatomie].Base = 120; this.Skills[SkillName.Concentration].Base = 120; this.Skills[SkillName.Empoisonnement].Base = 100; // Name this.Name = "Nox Mage"; // Equip Spellbook book = new Spellbook(); book.Movable = false; book.LootType = LootType.Blessed; book.Content = 0xFFFFFFFFFFFFFFFF; AddItem(book); Kilt kilt = new Kilt(); kilt.Hue = jHue; AddItem(kilt); Sandals snd = new Sandals(); snd.Hue = iHue; snd.LootType = LootType.Blessed; AddItem(snd); SkullCap skc = new SkullCap(); skc.Hue = iHue; AddItem(skc); // Spells AddSpellAttack(typeof(Spells.MagicArrowSpell)); AddSpellAttack(typeof(Spells.WeakenSpell)); AddSpellAttack(typeof(Spells.FireballSpell)); AddSpellDefense(typeof(Spells.WallOfStoneSpell)); AddSpellDefense(typeof(Spells.HealSpell)); }
public ArmyBaseNox(int Team) : base(Team, AIType.AI_Mage, FightMode.Closest, 15, 1, 0.2, 0.6) { // An ArmyBase Nox Mage int iHue = 20 + Team * 40; int jHue = 25 + Team * 40; // Skills and Stats this.InitStats((75 + Utility.Random(15)), (75 + Utility.Random(15)), (90 + Utility.Random(35))); this.Skills[SkillName.Magery].Base = (90 + Utility.Random(30)); this.Skills[SkillName.EvalInt].Base = (90 + Utility.Random(30)); this.Skills[SkillName.Inscribe].Base = (80 + Utility.Random(20)); this.Skills[SkillName.Wrestling].Base = (90 + Utility.Random(30)); this.Skills[SkillName.Meditation].Base = (90 + Utility.Random(30)); this.Skills[SkillName.Poisoning].Base = (80 + Utility.Random(20)); // Name this.Name = "Nox Mage"; // Equip Spellbook book = new Spellbook(); book.Movable = false; book.LootType = LootType.Newbied; book.Content = 0xFFFFFFFFFFFFFFFF; AddItem(book); Kilt kilt = new Kilt(); kilt.Hue = jHue; AddItem(kilt); Sandals snd = new Sandals(); snd.Hue = iHue; snd.LootType = LootType.Newbied; AddItem(snd); SkullCap skc = new SkullCap(); skc.Hue = iHue; AddItem(skc); // Spells AddSpellAttack(typeof(Spells.First.MagicArrowSpell)); AddSpellAttack(typeof(Spells.First.WeakenSpell)); AddSpellAttack(typeof(Spells.Third.FireballSpell)); AddSpellDefense(typeof(Spells.Third.WallOfStoneSpell)); AddSpellDefense(typeof(Spells.First.HealSpell)); }
public FamousPiratesNox() : base(AIType.AI_Mage, FightMode.Closest, 15, 1, 0.2, 0.6) { // A FamousPirates Nox or Pure Mage int Hue = 2075; // Skills and Stats this.InitStats(210, 210, 250); this.Skills[SkillName.Magery].Base = 150; this.Skills[SkillName.EvalInt].Base = 150; this.Skills[SkillName.Inscribe].Base = 100; this.Skills[SkillName.Wrestling].Base = 150; this.Skills[SkillName.Meditation].Base = 150; this.Skills[SkillName.Poisoning].Base = 100; // Name this.Name = "Davy Jones"; // Equip Spellbook book = FullSpellbook(); AddItem(book); Kilt kilt = new Kilt(); kilt.Movable = false; kilt.Hue = Hue; AddItem(kilt); Boots snd = new Boots(); snd.Movable = false; snd.Hue = Hue; snd.LootType = LootType.Regular; AddItem(snd); SkullCap skc = new SkullCap(); skc.Movable = false; skc.Hue = Hue; AddItem(skc); // Spells AddSpellAttack(typeof(Spells.First.MagicArrowSpell)); AddSpellAttack(typeof(Spells.First.WeakenSpell)); AddSpellAttack(typeof(Spells.Sixth.ExplosionSpell)); AddSpellDefense(typeof(Spells.Third.WallOfStoneSpell)); AddSpellDefense(typeof(Spells.Fourth.GreaterHealSpell)); }
public FawnGuard() : base(AIType.AI_Melee, FightMode.Closest, 15, 1, 0.1, 0.2) { Title = "the Fawn Guard"; SetStr(1750, 1750); SetDex(150, 150); SetInt(61, 75); SetSkill(SkillName.MagicResist, 120.0, 120.0); SetSkill(SkillName.Swords, 120.0, 120.0); SetSkill(SkillName.Tactics, 120.0, 120.0); SetSkill(SkillName.Anatomy, 120.0, 120.0); SkullCap sc = new SkullCap(); sc.Hue = 902; AddItem(sc); ChainChest cc = new ChainChest(); cc.Hue = 902; AddItem(cc); Doublet doublet = new Doublet(); doublet.Hue = 243; AddItem(doublet); AddItem(new ChainLegs()); Shoes shoes = new Shoes(); shoes.Hue = 902; AddItem(shoes); AddItem(new Broadsword()); if (Female = Utility.RandomBool()) { Body = 401; Name = NameList.RandomName("female"); } else { Body = 400; Name = NameList.RandomName("male"); } Utility.AssignRandomHair(this); }
public DummyNox() : base(AIType.AI_Mage, FightMode.Closest, 15, 1, 0.2, 0.6) { // A Dummy Nox or Pure Mage int iHue = 20 + Team * 40; int jHue = 25 + Team * 40; // Skills and Stats InitStats(90, 90, 125); Skills.Magery.Base = 120; Skills.EvalInt.Base = 120; Skills.Inscribe.Base = 100; Skills.Wrestling.Base = 120; Skills.Meditation.Base = 120; Skills.Poisoning.Base = 100; // Equip Spellbook book = new Spellbook(); book.Movable = false; book.LootType = LootType.Newbied; book.Content = 0xFFFFFFFFFFFFFFFF; AddItem(book); Kilt kilt = new Kilt(); kilt.Hue = jHue; AddItem(kilt); Sandals snd = new Sandals(); snd.Hue = iHue; snd.LootType = LootType.Newbied; AddItem(snd); SkullCap skc = new SkullCap(); skc.Hue = iHue; AddItem(skc); // Spells AddSpellAttack(typeof(MagicArrowSpell)); AddSpellAttack(typeof(WeakenSpell)); AddSpellAttack(typeof(FireballSpell)); AddSpellDefense(typeof(WallOfStoneSpell)); AddSpellDefense(typeof(HealSpell)); }
public InternalSellInfo() { Add(typeof(BoltOfCloth), BoltOfCloth.GetSBSellValue()); Add(typeof(Scissors), Scissors.GetSBSellValue()); Add(typeof(SewingKit), SewingKit.GetSBSellValue()); Add(typeof(Dyes), Dyes.GetSBSellValue()); Add(typeof(DyeTub), DyeTub.GetSBSellValue()); Add(typeof(SkullCap), SkullCap.GetSBSellValue()); Add(typeof(Bandana), Bandana.GetSBSellValue()); Add(typeof(FloppyHat), FloppyHat.GetSBSellValue()); Add(typeof(Cap), Cap.GetSBSellValue()); Add(typeof(WideBrimHat), WideBrimHat.GetSBSellValue()); Add(typeof(TallStrawHat), TallStrawHat.GetSBSellValue()); Add(typeof(Bonnet), Bonnet.GetSBSellValue()); Add(typeof(FeatheredHat), FeatheredHat.GetSBSellValue()); Add(typeof(TricorneHat), TricorneHat.GetSBSellValue()); Add(typeof(JesterHat), JesterHat.GetSBSellValue()); Add(typeof(WizardsHat), WizardsHat.GetSBSellValue()); Add(typeof(Doublet), Doublet.GetSBSellValue()); Add(typeof(Shirt), Shirt.GetSBSellValue()); Add(typeof(FancyShirt), FancyShirt.GetSBSellValue()); Add(typeof(Tunic), Tunic.GetSBSellValue()); Add(typeof(Surcoat), Surcoat.GetSBSellValue()); Add(typeof(JesterSuit), JesterSuit.GetSBSellValue()); Add(typeof(PlainDress), PlainDress.GetSBSellValue()); Add(typeof(FancyDress), FancyDress.GetSBSellValue()); Add(typeof(Robe), Robe.GetSBSellValue()); Add(typeof(ShortPants), ShortPants.GetSBSellValue()); Add(typeof(LongPants), LongPants.GetSBSellValue()); Add(typeof(Kilt), Kilt.GetSBSellValue()); Add(typeof(Skirt), Skirt.GetSBSellValue()); Add(typeof(Cloak), Cloak.GetSBSellValue()); Add(typeof(BodySash), BodySash.GetSBSellValue()); Add(typeof(HalfApron), HalfApron.GetSBSellValue()); Add(typeof(FullApron), FullApron.GetSBSellValue()); Add(typeof(Sandals), Sandals.GetSBSellValue()); Add(typeof(Shoes), Shoes.GetSBSellValue()); Add(typeof(Boots), Boots.GetSBSellValue()); Add(typeof(ThighBoots), ThighBoots.GetSBSellValue()); }
private void GenerateItems() { List <Item> items = new List <Item>(); /*On ajoute ici les items que l'on veut que le PNJ porte, seule cette section doit être modifiée*/ /*------------------*/ Item it = new Vorlame(); it.Hue = 1904; items.Add(it); it = new CagouleCuir(); it.Hue = 1904; items.Add(it); it = new SkullCap(); it.Hue = 1906; items.Add(it); it = new RoublardTunic(); it.Hue = 1904; items.Add(it); it = new Cloak(); it.Hue = 1904; items.Add(it); it = new RoublardLeggings(); it.Hue = 1904; items.Add(it); it = new FourreauEpee(); it.Hue = 0; items.Add(it); it = new GantsSombres(); it.Hue = 2412; items.Add(it); /*------------------*/ if (items.Count > 0) { for (int i = 0; i < items.Count; ++i) { items[i].Movable = false; items[i].CanBeAltered = false; AddItem(items[i]); } } }
public UndeadArcherPirate() : base(AIType.AI_Archer, FightMode.Closest, 10, 1, 0.175, 0.2) { Title = "the unrested pirate"; Body = Utility.RandomList(400, 50, 3); Team = 1; Kills = 10; Hue = 0; SpeechHue = 1153; this.Body = 0x190; this.Name = NameList.RandomName("male"); SetStr(60, 85); SetDex(50, 70); SetInt(10, 20); SetDamage(5, 7); SetSkill(SkillName.Archery, 35.0, 50.0); SetSkill(SkillName.MagicResist, 23.0, 27.5); SetSkill(SkillName.Tactics, 40.0, 45.5); SetSkill(SkillName.Healing, 30.2, 35.9); SetSkill(SkillName.Anatomy, 45.2, 50.9); SetSkill(SkillName.Swords, 50.0, 60.0); SetSkill(SkillName.Stealth, 120.0, 180.0); SetSkill(SkillName.Hiding, 120.0, 180.0); Fame = 2500; Karma = -2500; VirtualArmor = 0; Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A)); hair.Hue = Utility.RandomHairHue(); hair.Layer = Layer.Hair; hair.Movable = false; AddItem(hair); Item beard = new Item(Utility.RandomList(0x2040, 0x203E, 0x204C, 0x204B, 0x203F)); beard.Hue = hair.Hue; beard.Layer = Layer.FacialHair; beard.Movable = false; AddItem(beard); PackGold(70, 95); PackItem(new Bandage(10)); Item crossbow = new Crossbow(); EquipItem(crossbow); switch (Utility.Random(3)) { case 0: { Item fancyshirt = new FancyShirt(); fancyshirt.Hue = Utility.RandomNeutralHue(); EquipItem(fancyshirt); break; } case 1: { Item doublet = new Doublet(); doublet.Hue = Utility.RandomNeutralHue(); EquipItem(doublet); break; } case 2: { break; } } switch (Utility.Random(2)) { case 0: { Item longpants = new LongPants(); longpants.Hue = Utility.RandomNeutralHue(); EquipItem(longpants); break; } case 1: { Item shortpants = new ShortPants(); shortpants.Hue = Utility.RandomNeutralHue(); EquipItem(shortpants); break; } } switch (Utility.Random(4)) { case 0: { Item boots = new Boots(); boots.Hue = 0; EquipItem(boots); break; } case 1: { Item shoes = new Shoes(); shoes.Hue = 1713; EquipItem(shoes); break; } case 3: { Item thighboots = new ThighBoots(); thighboots.Hue = 0; EquipItem(thighboots); break; } case 4: { break; } } switch (Utility.Random(3)) { case 0: { Item Bandana = new Bandana(); Bandana.Hue = Utility.RandomBirdHue(); EquipItem(Bandana); break; } case 1: { Item skullcap = new SkullCap(); skullcap.Hue = Utility.RandomBirdHue(); EquipItem(skullcap); break; } case 3: { break; } } }
public Rackham() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "Rackham"; Title = "the Bloody Pirate"; Body = 0x190; Hue = Utility.RandomSkinHue(); ThighBoots tb = new ThighBoots(); tb.Hue = 0; AddItem(tb); LongPants lp = new LongPants(); lp.Hue = 633; AddItem(lp); FancyShirt fs = new FancyShirt(); fs.Hue = 907; AddItem(fs); SkullCap sk = new SkullCap(); sk.Hue = 413; AddItem(sk); BodySash bs = new BodySash(); bs.Hue = 633; AddItem(bs); Cloak cl = new Cloak(); cl.Hue = 688; AddItem(cl); Scimitar sc = new Scimitar(); sc.Hue = 533; AddItem(sc); GoldBeadNecklace gn = new GoldBeadNecklace(); AddItem(gn); GoldBracelet gb = new GoldBracelet(); AddItem(gb); GoldEarrings ge = new GoldEarrings(); AddItem(ge); GoldRing gr = new GoldRing(); AddItem(gr); AddItem(new PonyTail(1149)); AddItem(new Vandyke(1149)); SetStr(120, 140); SetDex(90, 105); SetInt(25, 40); SetHits(450, 500); SetMana(0); SetDamage(20, 28); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 56, 67); SetResistance(ResistanceType.Fire, 40, 50); SetResistance(ResistanceType.Poison, 40, 50); SetResistance(ResistanceType.Cold, 40, 45); SetResistance(ResistanceType.Energy, 40, 55); SetSkill(SkillName.MagicResist, 55.1, 65.0); SetSkill(SkillName.Tactics, 85.3, 105.0); SetSkill(SkillName.Wrestling, 90.3, 105.0); SetSkill(SkillName.Swords, 90.3, 105.0); Fame = 9900; Karma = -9900; VirtualArmor = 25; PackItem(new SeafaringBracelet()); PackItem(new TreasureMap(1, Map.Trammel)); }
public Gambler() : base(AIType.AI_Melee, FightMode.None, 10, 1, 0.8, 3.0) { SetStr(10, 30); SetDex(10, 30); SetInt(10, 30); Fame = 50; Karma = 50; SpeechHue = Utility.RandomDyedHue(); Title = "the gambler"; Hue = Utility.RandomSkinHue(); Blessed = true; NameHue = 0x35; if (this.Female = Utility.RandomBool()) { this.Body = 0x191; this.Name = NameList.RandomName("female"); HairItemID = Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2045, 0x204A, 0x2046, 0x2049); HairHue = Utility.RandomHairHue(); Item hat = null; switch (Utility.Random(5)) { case 0: hat = new FloppyHat(Utility.RandomNeutralHue()); break; case 1: hat = new FeatheredHat(Utility.RandomNeutralHue()); break; case 2: hat = new Bonnet(); break; case 3: hat = new Cap(Utility.RandomNeutralHue()); break; } AddItem(hat); } else { this.Body = 0x190; this.Name = NameList.RandomName("male"); HairItemID = Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2048); HairHue = Utility.RandomHairHue(); FacialHairItemID = Utility.RandomList(0x0000, 0x203E, 0x203F, 0x2040, 0x2041, 0x2067, 0x2068, 0x2069); FacialHairHue = HairHue; Item hat = null; switch (Utility.Random(7)) { case 0: hat = new SkullCap(GetRandomHue()); break; case 1: hat = new Bandana(GetRandomHue()); break; case 2: hat = new WideBrimHat(); break; case 3: hat = new TallStrawHat(Utility.RandomNeutralHue()); break; case 4: hat = new StrawHat(Utility.RandomNeutralHue()); break; case 5: hat = new TricorneHat(Utility.RandomNeutralHue()); break; } AddItem(hat); } AddItem(new LongPants(GetRandomHue())); AddItem(new FancyShirt(GetRandomHue())); AddItem(new Boots(Utility.RandomNeutralHue())); AddItem(new Cloak(GetRandomHue())); AddItem(new BodySash(GetRandomHue())); Container pack = new Backpack(); pack.Movable = false; pack.Visible = false; AddItem(pack); //reset stats for (int i = 0; i <= 5; ++i) { gamestats[i] = 0; } }
public static Item RandomIOB() { switch (Utility.Random(7)) { case 0: // Undead - GUL { if (Utility.RandomBool()) { return(new BloodDrenchedBandana()); } else { BodySash sash = new BodySash(); sash.Hue = 0x66C; sash.IOBAlignment = IOBAlignment.Council; sash.Name = "blood drenched sash"; sash.Dyable = false; sash.Scissorable = false; return(sash); } } case 1: // Undead - UND { Sandals sandals = new Sandals(); if (Utility.RandomBool()) { sandals.Hue = 0x66C; } else { sandals.Hue = 0x1; } sandals.IOBAlignment = IOBAlignment.Undead; sandals.Name = "sandals of the walking dead"; sandals.Dyable = false; sandals.Scissorable = false; return(sandals); } case 2: // Orcish { if (Utility.RandomBool()) { // green mask (brute color) if (Utility.RandomBool()) { return(new OrcishKinMask()); } else { // old style mask (orc colored) OrcishKinMask mask = new OrcishKinMask(); mask.Hue = 0; return(mask); } } else { return(new OrcishKinHelm()); } } case 3: //Savage { if (Utility.RandomBool()) { if (Utility.RandomBool()) { BearMask mask = new BearMask(); mask.IOBAlignment = IOBAlignment.Savage; mask.Name = "bear mask of savage kin"; mask.Dyable = false; return(mask); } else { DeerMask mask = new DeerMask(); mask.IOBAlignment = IOBAlignment.Savage; mask.Name = "deer mask of savage kin"; mask.Dyable = false; return(mask); } } else { SavageMask mask = new SavageMask(); mask.IOBAlignment = IOBAlignment.Savage; mask.Name = "tribal mask of savage kin"; mask.Dyable = false; return(mask); } } case 4: // Pirates { if (Utility.RandomBool()) { if (Utility.RandomBool()) { SkullCap skullcap = new SkullCap(); skullcap.IOBAlignment = IOBAlignment.Pirate; skullcap.Name = "a pirate skullcap"; skullcap.Hue = 0x66C; skullcap.Dyable = false; skullcap.Scissorable = false; return(skullcap); } else { Boots boots = new Boots(); boots.IOBAlignment = IOBAlignment.Pirate; boots.Name = "pirate kin boots"; boots.Hue = 0x66c; boots.Dyable = false; boots.Scissorable = false; return(boots); } } else { return(new PirateHat()); } } case 5: // Brigands { if (Utility.RandomBool()) { return(new BrigandKinBandana()); } else { return(new BrigandKinBoots()); } } case 6: // Good { switch (Utility.Random(4)) { case 0: Boots boots = new Boots(0x5E4); boots.IOBAlignment = IOBAlignment.Good; boots.Name = "Britannian Militia"; boots.Dyable = false; return(boots); case 1: Cloak cloak = new Cloak(Utility.RandomSpecialVioletHue()); cloak.IOBAlignment = IOBAlignment.Good; cloak.Name = "Britannian Militia"; cloak.Dyable = false; cloak.Scissorable = false; return(cloak); case 2: Surcoat surcoat = new Surcoat(Utility.RandomSpecialVioletHue()); surcoat.IOBAlignment = IOBAlignment.Good; surcoat.Name = "Britannian Militia"; surcoat.Dyable = false; surcoat.Scissorable = false; return(surcoat); case 3: BodySash bodySash = new BodySash(Utility.RandomSpecialRedHue()); bodySash.IOBAlignment = IOBAlignment.Good; bodySash.Name = "Britannian Militia"; bodySash.Dyable = false; bodySash.Scissorable = false; return(bodySash); } break; } } return(null); }
public override Item Construct(Type type, Mobile from) { if (type == typeof(TreasureMap)) { int level; //if ( from is PlayerMobile && ((PlayerMobile)from).Young && from.Map == Map.Trammel && TreasureMap.IsInHavenIsland( from ) ) // level = 0; //else level = 1; return(new TreasureMap(level, /*from.Map == Map.Felucca ?*/ Map.Felucca /* : Map.Trammel*/)); } else if (type == typeof(MessageInABottle)) { return(new MessageInABottle(/*from.Map == Map.Felucca ?*/ Map.Felucca /* : Map.Trammel*/)); } Container pack = from.Backpack; if (pack != null) { List <SOS> messages = pack.FindItemsByType <SOS>(); for (int i = 0; i < messages.Count; ++i) { SOS sos = messages[i]; if (from.Map == sos.TargetMap && from.InRange(sos.TargetLocation, 60)) { Item preLoot = null; switch (Utility.Random(8)) { case 0: // Body parts { int[] list = new int[] { 0x1CDD, 0x1CE5, // arm 0x1CE0, 0x1CE8, // torso 0x1CE1, 0x1CE9, // head 0x1CE2, 0x1CEC // leg }; preLoot = new ShipwreckedItem(Utility.RandomList(list)); break; } case 1: // Bone parts { int[] list = new int[] { 0x1AE0, 0x1AE1, 0x1AE2, 0x1AE3, 0x1AE4, // skulls 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, // bone piles 0x1B15, 0x1B16 // pelvis bones }; preLoot = new ShipwreckedItem(Utility.RandomList(list)); break; } case 2: // Paintings and portraits { preLoot = new ShipwreckedItem(Utility.Random(0xE9F, 10)); break; } case 3: // Pillows { preLoot = new ShipwreckedItem(Utility.Random(0x13A4, 11)); break; } case 4: // Shells { preLoot = new ShipwreckedItem(Utility.Random(0xFC4, 9)); break; } case 5: //Hats { if (Utility.RandomBool()) { preLoot = new SkullCap(); } else { preLoot = new TricorneHat(); } break; } case 6: // Misc { int[] list = new int[] { 0x1EB5, // unfinished barrel 0xA2A, // stool 0xC1F, // broken clock 0x1047, 0x1048, // globe 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4 // barrel staves }; if (Utility.Random(list.Length + 1) == 0) { preLoot = new Candelabra(); } else { preLoot = new ShipwreckedItem(Utility.RandomList(list)); } break; } } if (preLoot != null) { if (preLoot is IShipwreckedItem) { ((IShipwreckedItem)preLoot).IsShipwreckedItem = true; } return(preLoot); } LockableContainer chest = null; switch (Utility.Random(3)) { case 0: chest = new MetalGoldenChest(); break; case 1: chest = new MetalChest(); break; default: case 2: chest = new WoodenChest(); break; } if (sos.IsAncient) { int hue = 1150; if (0.20 > Utility.RandomDouble()) { switch (Utility.Random((chest is WoodenChest) ? 6 : 14)) { case 0: hue = 1193; break; case 1: hue = 1281; break; case 2: hue = 1190; break; case 3: hue = 1165; break; case 4: hue = 1160; break; case 5: hue = 1126; break; case 6: hue = CraftResources.GetInfo(CraftResource.Valorite).Hue; break; case 7: hue = CraftResources.GetInfo(CraftResource.Verite).Hue; break; case 8: hue = CraftResources.GetInfo(CraftResource.Agapite).Hue; break; case 9: hue = CraftResources.GetInfo(CraftResource.Gold).Hue; break; case 10: hue = CraftResources.GetInfo(CraftResource.Bronze).Hue; break; case 11: hue = CraftResources.GetInfo(CraftResource.Copper).Hue; break; case 12: hue = CraftResources.GetInfo(CraftResource.ShadowIron).Hue; break; case 13: hue = CraftResources.GetInfo(CraftResource.DullCopper).Hue; break; } } chest.Hue = hue; } else if ((chest is MetalChest || chest is MetalGoldenChest) && (0.5 * sos.Level) >= Utility.RandomDouble()) { int randhue = Utility.Random(120); CraftResource resource = CraftResource.None; if (randhue >= 118) { resource = CraftResource.Valorite; } else if (randhue >= 115) { resource = CraftResource.Verite; } else if (randhue >= 110) { resource = CraftResource.Agapite; } else if (randhue >= 100) { resource = CraftResource.Gold; } else if (randhue >= 90) { resource = CraftResource.Bronze; } else if (randhue >= 70) { resource = CraftResource.Copper; } else if (randhue >= 40) { resource = CraftResource.ShadowIron; } else { resource = CraftResource.DullCopper; } chest.Hue = CraftResources.GetInfo(resource).Hue; } int soslevel = Math.Max(1, Math.Max(4, sos.Level)); TreasureMapChest.Fill(chest, soslevel); if (sos.IsAncient) { chest.DropItem(new FabledFishingNet()); } else { chest.DropItem(new SpecialFishingNet()); } chest.Movable = true; chest.Locked = false; chest.Name = "treasure chest"; chest.IsShipwreckedItem = true; if (sos.Level > 0) { chest.TrapType = TrapType.ExplosionTrap; chest.TrapPower = soslevel * Utility.RandomMinMax(5, 15); chest.TrapLevel = 0; } else { chest.TrapType = TrapType.None; chest.TrapPower = 0; chest.TrapLevel = 0; } sos.Delete(); return(chest); } } } return(base.Construct(type, from)); }
public override Item Construct(Type type, Mobile from) { if (type == typeof(TreasureMap)) { int level; if (from is PlayerMobile && ((PlayerMobile)from).Young && from.Map == Map.Trammel && TreasureMap.IsInHavenIsland(from)) { level = 0; } else { level = 1; } return(new TreasureMap(level, from.Map == Map.Felucca ? Map.Felucca : Map.Trammel)); } else if (type == typeof(MessageInABottle)) { return(new MessageInABottle(from.Map == Map.Felucca ? Map.Felucca : Map.Trammel)); } Container pack = from.Backpack; if (pack != null) { List <SOS> messages = pack.FindItemsByType <SOS>(); for (int i = 0; i < messages.Count; ++i) { SOS sos = messages[i]; if (from.Map == sos.TargetMap && from.InRange(sos.TargetLocation, 60)) { Item preLoot = null; switch (Utility.Random(8)) { case 0: // Body parts { int[] list = new int[] { 0x1CDD, 0x1CE5, // arm 0x1CE0, 0x1CE8, // torso 0x1CE1, 0x1CE9, // head 0x1CE2, 0x1CEC // leg }; preLoot = new ShipwreckedItem(Utility.RandomList(list)); break; } case 1: // Bone parts { int[] list = new int[] { 0x1AE0, 0x1AE1, 0x1AE2, 0x1AE3, 0x1AE4, // skulls 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, // bone piles 0x1B15, 0x1B16 // pelvis bones }; preLoot = new ShipwreckedItem(Utility.RandomList(list)); break; } case 2: // Paintings and portraits { preLoot = new ShipwreckedItem(Utility.Random(0xE9F, 10)); break; } case 3: // Pillows { preLoot = new ShipwreckedItem(Utility.Random(0x13A4, 11)); break; } case 4: // Shells { preLoot = new ShipwreckedItem(Utility.Random(0xFC4, 9)); break; } case 5: //Hats { if (Utility.RandomBool()) { preLoot = new SkullCap(); } else { preLoot = new TricorneHat(); } break; } case 6: // Misc { int[] list = new int[] { 0x1EB5, // unfinished barrel 0xA2A, // stool 0xC1F, // broken clock 0x1047, 0x1048, // globe 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4 // barrel staves }; if (Utility.Random(list.Length + 1) == 0) { preLoot = new Candelabra(); } else { preLoot = new ShipwreckedItem(Utility.RandomList(list)); } break; } } if (preLoot != null) { if (preLoot is IShipwreckedItem) { ((IShipwreckedItem)preLoot).IsShipwreckedItem = true; } return(preLoot); } LockableContainer chest; if (Utility.RandomBool()) { chest = new MetalGoldenChest(); } else { chest = new WoodenChest(); } if (sos.IsAncient) { chest.Hue = 0x481; } TreasureMapChest.Fill(chest, Math.Max(1, Math.Max(4, sos.Level))); if (sos.IsAncient) { chest.DropItem(new FabledFishingNet()); } else { chest.DropItem(new SpecialFishingNet()); } chest.Movable = true; chest.Locked = false; chest.TrapType = TrapType.None; chest.TrapPower = 0; chest.TrapLevel = 0; sos.Delete(); return(chest); } } } return(base.Construct(type, from)); }
public SwordPirate() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.175, 0.2) { Title = "the pirate"; Body = 400; Team = 1; Kills = 10; Hue = Utility.RandomSkinHue(); SpeechHue = 1153; this.Body = 0x190; this.Name = NameList.RandomName("male"); SetStr(90, 100); SetDex(85, 100); SetInt(10, 20); SetSkill(SkillName.Archery, 95.0, 100.0); SetSkill(SkillName.MagicResist, 75.0, 100.0); SetSkill(SkillName.Tactics, 90.0, 100.0); SetSkill(SkillName.Healing, 75.0, 100.0); SetSkill(SkillName.Anatomy, 90.0, 100.0); SetSkill(SkillName.Swords, 95.0, 100.0); Fame = 4500; Karma = -4500; VirtualArmor = 0; Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A)); hair.Hue = Utility.RandomHairHue(); hair.Layer = Layer.Hair; hair.Movable = false; Item beard = new Item(Utility.RandomList(0x2040, 0x203E, 0x204C, 0x204B, 0x203F)); beard.Hue = hair.Hue; beard.Layer = Layer.FacialHair; beard.Movable = false; AddItem(beard); AddItem(hair); PackGold(70, 95); PackItem(new Bandage(20)); switch (Utility.Random(2)) { case 0: { Item scimitar = new Scimitar(); EquipItem(scimitar); break; } case 1: { Item cutlass = new Cutlass(); EquipItem(cutlass); break; } } switch (Utility.Random(3)) { case 0: { Item fancyshirt = new FancyShirt(); fancyshirt.Hue = Utility.RandomNeutralHue(); EquipItem(fancyshirt); break; } case 1: { Item doublet = new Doublet(); doublet.Hue = Utility.RandomNeutralHue(); EquipItem(doublet); break; } case 2: { break; } } switch (Utility.Random(2)) { case 0: { Item longpants = new LongPants(); longpants.Hue = Utility.RandomNeutralHue(); EquipItem(longpants); break; } case 1: { Item shortpants = new ShortPants(); shortpants.Hue = Utility.RandomNeutralHue(); EquipItem(shortpants); break; } } switch (Utility.Random(4)) { case 0: { Item boots = new Boots(); boots.Hue = 0; EquipItem(boots); break; } case 1: { Item shoes = new Shoes(); shoes.Hue = 1713; EquipItem(shoes); break; } case 3: { Item thighboots = new ThighBoots(); thighboots.Hue = 0; EquipItem(thighboots); break; } case 4: { break; } } switch (Utility.Random(3)) { case 0: { Item Bandana = new Bandana(); Bandana.Hue = Utility.RandomBirdHue(); EquipItem(Bandana); break; } case 1: { Item skullcap = new SkullCap(); skullcap.Hue = Utility.RandomBirdHue(); EquipItem(skullcap); break; } case 3: { break; } } }
public Pirate() : base(AIType.AI_Melee, FightMode.Agressor, 10, 1, 0.45, 0.8) { Female = Utility.RandomBool(); Body = Female ? 401 : 400; Title = "the pirate"; Name = NameList.RandomName(Female ? "female" : "male"); Hue = Utility.RandomSkinHue(); SetStr(86, 100); SetDex(86, 100); SetInt(71, 85); Karma = 2; SetSkill(SkillName.Tactics, 65, 87.5); SetSkill(SkillName.MagicResist, 65, 87.5); SetSkill(SkillName.Parry, 65, 87.5); SetSkill(SkillName.Swords, 55, 77.5); SetSkill(SkillName.Macing, 25, 47.5); SetSkill(SkillName.Fencing, 25, 47.5); SetSkill(SkillName.Wrestling, 45, 67.5); Item item = null; if (!Female) { item = AddRandomHair(); item.Hue = Utility.RandomHairHue(); item = AddRandomFacialHair(item.Hue); item = new Shirt(); item.Hue = Utility.RandomNondyedHue(); AddItem(item); item = new ShortPants(); item.Hue = Utility.RandomNondyedHue(); AddItem(item); item = new Cutlass(); AddItem(item); if (Utility.RandomBool()) { item = new Bandana(); } else { item = new SkullCap(); } item.Hue = Utility.RandomRedHue(); AddItem(item); item = new ThighBoots(); item.Hue = Utility.RandomNeutralHue(); AddItem(item); PackGold(15, 100); } else { item = AddRandomHair(); item.Hue = Utility.RandomHairHue(); item = new Shirt(); item.Hue = Utility.RandomNondyedHue(); AddItem(item); item = new ShortPants(); item.Hue = Utility.RandomNondyedHue(); AddItem(item); item = new Cutlass(); AddItem(item); if (Utility.RandomBool()) { item = new Bandana(); } else { item = new SkullCap(); } item.Hue = Utility.RandomRedHue(); AddItem(item); item = new ThighBoots(); item.Hue = Utility.RandomNeutralHue(); AddItem(item); PackGold(15, 100); } }
public FawnGuardGuard(Mobile target) : base(target) { InitStats(1000, 1000, 1000); Title = "the Fawn guard"; SpeechHue = Utility.RandomDyedHue(); SkullCap sc = new SkullCap(); sc.Hue = 902; AddItem(sc); ChainChest cc = new ChainChest(); cc.Hue = 902; AddItem(cc); Doublet doublet = new Doublet(); doublet.Hue = 243; AddItem(doublet); AddItem(new ChainLegs()); Shoes shoes = new Shoes(); shoes.Hue = 902; AddItem(shoes); AddItem(new Broadsword()); if (Female = Utility.RandomBool()) { Body = 401; Name = NameList.RandomName("female"); } else { Body = 400; Name = NameList.RandomName("male"); } Utility.AssignRandomHair(this); Container pack = new Backpack(); pack.Movable = false; pack.DropItem(new Gold(10, 25)); AddItem(pack); Skills[SkillName.Anatomy].Base = 120.0; Skills[SkillName.Tactics].Base = 120.0; Skills[SkillName.Swords].Base = 120.0; Skills[SkillName.MagicResist].Base = 120.0; Skills[SkillName.DetectHidden].Base = 100.0; NextCombatTime = Core.TickCount + 500; Focus = target; }
public LockeCole() : base(AIType.AI_Arcade, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "Locke Cole"; Body = 400; Hue = 1162; SpecialTitle = "Undead Treasure Hunter"; TitleHue = 1174; BaseSoundID = 362; SetStr(500); SetDex(400); SetInt(100); SetHits(400000); SetDamage(2, 4); foreach (SkillName skill in _Skills) { SetSkill(skill, 80.0, 140.0); } SpeechHue = YellHue = 34; VirtualArmor = 90; PackGold(3000, 3500); PackMagicItems(5, 5, 0.95, 0.95); PackMagicItems(5, 5, 0.80, 0.65); PackMagicItems(5, 5, 0.80, 0.65); PackMagicItems(6, 6, 0.80, 0.65); Damagers = new Dictionary <PlayerMobile, int>(); var helm = new SkullCap(); helm.Name = "Locke's Bandana"; helm.Hue = 4; helm.Identified = true; AddItem(Immovable(helm)); var arms = new JinBaori(); arms.Name = "Locke's Jacket"; arms.Hue = 4; arms.Identified = true; AddItem(Immovable(arms)); var gloves = new LeatherGloves(); gloves.Name = "Locke's Gloves"; gloves.Hue = 4; gloves.Identified = true; AddItem(Immovable(gloves)); var tunic = new Shirt(); tunic.Name = "Locke's Shirt"; tunic.Hue = 0; tunic.Identified = true; AddItem(Immovable(tunic)); var legs = new LeatherNinjaPants(); legs.Name = "Locke's Pants"; legs.Hue = 4; legs.Identified = true; AddItem(Immovable(legs)); var boots = new ElvenBoots(); boots.Name = "Locke's Boots"; boots.Hue = 1175; boots.Identified = true; AddItem(Immovable(boots)); var spellbook = new Dagger(); spellbook.Name = "Thief Dagger"; spellbook.Hue = 0; spellbook.Movable = false; AddItem(Immovable(spellbook)); }
public GingerbreadThief() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "Gingerbread Thief"; Body = 400; Hue = 1002; SetStr(796, 825); SetDex(86, 105); SetInt(436, 475); SetHits(478, 495); SetDamage(20, 30); Item shortpants; shortpants = new ShortPants(); shortpants.Hue = 1108; AddItem(shortpants); shortpants.LootType = LootType.Newbied; Item shirt; shirt = new Shirt(); shirt.Hue = 1899; AddItem(shirt); shirt.LootType = LootType.Newbied; Item skullcap; skullcap = new SkullCap(); skullcap.Hue = 1899; AddItem(skullcap); skullcap.LootType = LootType.Newbied; Item shoes; shoes = new Shoes(); shoes.Hue = 1108; AddItem(shoes); shoes.LootType = LootType.Newbied; HairItemID = 0x203D; HairHue = 1118; FacialHairItemID = 0x204D; FacialHairHue = 1118; Cleaver weapon = new Cleaver(); weapon.Movable = false; AddItem(weapon); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 55, 60); SetResistance(ResistanceType.Fire, 61, 71); SetResistance(ResistanceType.Cold, 30, 40); SetResistance(ResistanceType.Poison, 25, 35); SetResistance(ResistanceType.Energy, 35, 45); SetSkill(SkillName.MagicResist, 99.2, 100); SetSkill(SkillName.Tactics, 97.6, 100); SetSkill(SkillName.Wrestling, 90.1, 92.5); SetSkill(SkillName.Anatomy, 75.1, 78); PackGold(250, 350); }
public override Item Construct(Type type, Mobile from, Item tool) { // Searing Weapon Support, handled elsewhere if (type == typeof(BaseWeapon)) { return(null); } if (type == typeof(TreasureMap)) { return(new TreasureMap(0, from.Map == Map.Felucca ? Map.Felucca : Map.Trammel)); } else if (type == typeof(MessageInABottle)) { return(new MessageInABottle(from.Map == Map.Felucca ? Map.Felucca : Map.Trammel)); } else if (type == typeof(WhitePearl)) { return(new WhitePearl()); } Container pack = from.Backpack; if (pack != null) { List <SOS> messages = pack.FindItemsByType <SOS>(); for (int i = 0; i < messages.Count; ++i) { SOS sos = messages[i]; if ((from.Map == Map.Felucca || from.Map == Map.Trammel) && from.InRange(sos.TargetLocation, 60)) { Item preLoot = null; bool dredge = HasTypeHook(tool, HookType.Dredging); switch (Utility.Random(17)) { case 0: // Body parts case 1: { int[] list = new int[] { 0x1CDD, 0x1CE5, // arm 0x1CE0, 0x1CE8, // torso 0x1CE1, 0x1CE9, // head 0x1CE2, 0x1CEC // leg }; preLoot = new ShipwreckedItem(Utility.RandomList(list), dredge); break; } case 2: // Bone parts case 3: { int[] list = new int[] { 0x1AE0, 0x1AE1, 0x1AE2, 0x1AE3, 0x1AE4, // skulls 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, // bone piles 0x1B15, 0x1B16 // pelvis bones }; preLoot = new ShipwreckedItem(Utility.RandomList(list), dredge); break; } case 4: // Paintings and portraits case 5: { preLoot = new ShipwreckedItem(Utility.Random(0xE9F, 10), dredge); break; } case 6: // Pillows case 7: { preLoot = new ShipwreckedItem(Utility.Random(0x13A4, 11), dredge); break; } case 8: // Shells case 9: { preLoot = new ShipwreckedItem(Utility.Random(0xFC4, 9), dredge); break; } case 10: //Hats case 11: { if (Utility.RandomBool()) { preLoot = new SkullCap(); } else { preLoot = new TricorneHat(); } break; } case 12: // Misc case 13: { int[] list = new int[] { 0x1EB5, // unfinished barrel 0xA2A, // stool 0xC1F, // broken clock 0x1047, 0x1048, // globe 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4 // barrel staves }; if (Utility.Random(list.Length + 1) == 0) { preLoot = new Candelabra(); } else { preLoot = new ShipwreckedItem(Utility.RandomList(list), dredge); } break; } #region High Seas case 14: { int[] list = new int[] { 0x1E19, 0x1E1A, 0x1E1B, //Fish heads 0x1E2A, 0x1E2B, //Oars 0x1E71, 0x1E7A, //Unfinished drawers 0x1E75, //Unfinished legs }; double ran = Utility.RandomDouble(); if (ran < 0.05) { preLoot = new YellowPolkaDotBikini(); } else if (ran < 0.25) { preLoot = new ShipwreckedItem(list[Utility.RandomMinMax(3, 7)], dredge); } else { preLoot = new ShipwreckedItem(list[Utility.Random(3)], dredge); } break; } #endregion } if (preLoot != null) { if (preLoot is IShipwreckedItem) { ((IShipwreckedItem)preLoot).IsShipwreckedItem = true; } return(preLoot); } LockableContainer chest; if (0.01 > Utility.RandomDouble()) { chest = new ShipsStrongbox(sos.Level); } else { switch (sos.Level) { case 0: chest = new SOSChest(Utility.RandomBool() ? 0xE43 : 0xE41); break; case 1: chest = new SOSChest(0xA306); break; case 2: chest = new SOSChest(Utility.RandomBool() ? 0xE43 : 0xE41); break; case 3: chest = new SOSChest(0xA308); break; default: if (.33 > Utility.RandomDouble()) { chest = new SOSChest(0xA30A); } else { chest = new SOSChest(Utility.RandomBool() ? 0xE41 : 0xE43); chest.Hue = 0x481; } break; } } TreasureMapChest.Fill(from, chest, Math.Max(1, Math.Min(4, sos.Level)), true); sos.OnSOSComplete(chest); if (sos.IsAncient) { chest.DropItem(new FabledFishingNet()); } else { chest.DropItem(new SpecialFishingNet()); } chest.Movable = true; chest.Locked = false; chest.TrapType = TrapType.None; chest.TrapPower = 0; chest.TrapLevel = 0; chest.IsShipwreckedItem = true; sos.Delete(); return(chest); } } } return(base.Construct(type, from, tool)); }
public LockeColeMirrorImagePortal() : base(AIType.AI_Arcade, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "Locke Cole"; Body = 400; Hue = 1162; SpecialTitle = "Mirror Image"; TitleHue = 1174; BaseSoundID = 362; SetStr(10, 10); SetDex(200); SetInt(706, 726); SetHits(2000); SetDamage(1, 1); foreach (SkillName skill in _Skills) { SetSkill(skill, 65.0, 70.0); } SpeechHue = YellHue = 34; VirtualArmor = 90; PackGold(500, 1000); PackMagicItems(5, 5, 0.95, 0.95); var helm = new SkullCap(); helm.Name = "Locke's Bandana"; helm.Hue = 4; helm.Identified = true; AddItem(Immovable(helm)); var arms = new JinBaori(); arms.Name = "Locke's Jacket"; arms.Hue = 4; arms.Identified = true; AddItem(Immovable(arms)); var gloves = new LeatherGloves(); gloves.Name = "Locke's Gloves"; gloves.Hue = 4; gloves.Identified = true; AddItem(Immovable(gloves)); var tunic = new Shirt(); tunic.Name = "Locke's Shirt"; tunic.Hue = 0; tunic.Identified = true; AddItem(Immovable(tunic)); var legs = new LeatherNinjaPants(); legs.Name = "Locke's Pants"; legs.Hue = 4; legs.Identified = true; AddItem(Immovable(legs)); var boots = new ElvenBoots(); boots.Name = "Locke's Boots"; boots.Hue = 1175; boots.Identified = true; AddItem(Immovable(boots)); var spellbook = new Dagger(); spellbook.Name = "Thief Dagger"; spellbook.Hue = 0; spellbook.Movable = false; AddItem(Immovable(spellbook)); }
public Grandma() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "Grandma"; Body = 606; Hue = Utility.RandomSkinHue(); Item hair = new Item(Utility.RandomList(0x2FC0, 0x2FC1, 0x2FCD, 0x2FD1)); hair.Hue = 1109; hair.Layer = Layer.Hair; hair.Movable = false; AddItem(hair); SetStr(350, 400); //Adjust this to fit your shard. SetDex(100, 150); //Adjust this to fit your shard. SetInt(100, 150); //Adjust this to fit your shard. SetHits(800, 1000); //Adjust this to fit your shard. SetDamage(25, 30); //Adjust this to fit your shard. SetDamageType(ResistanceType.Physical, 45); //Adjust this to fit your shard. SetDamageType(ResistanceType.Energy, 75); //Adjust this to fit your shard. SetResistance(ResistanceType.Physical, 80, 85); //Adjust this to fit your shard. SetResistance(ResistanceType.Fire, 50, 70); //Adjust this to fit your shard. SetResistance(ResistanceType.Cold, 50); //Adjust this to fit your shard. SetResistance(ResistanceType.Poison, 90, 100); //Adjust this to fit your shard. SetResistance(ResistanceType.Energy, 40); //Adjust this to fit your shard. SetSkill(SkillName.Anatomy, 90.1, 100.0); //Adjust this to fit your shard. SetSkill(SkillName.EvalInt, 90.1, 100.0); //Adjust this to fit your shard. SetSkill(SkillName.Magery, 90.1, 100.0); //Adjust this to fit your shard. SetSkill(SkillName.Meditation, 90.1, 100.0); //Adjust this to fit your shard. SetSkill(SkillName.MagicResist, 100.0, 150.0); //Adjust this to fit your shard. SetSkill(SkillName.Tactics, 90.1, 100.0); //Adjust this to fit your shard. SetSkill(SkillName.Swords, 90.1, 100.0); //Adjust this to fit your shard. Fame = 8000; //Adjust this to fit your shard. Karma = -8000; //Adjust this to fit your shard. VirtualArmor = 35; //Adjust this to fit your shard. Shoes Shoes = new Shoes(); Shoes.Hue = 1150; AddItem(Shoes); PlainDress PlainDress = new PlainDress(); PlainDress.Hue = 1150; AddItem(PlainDress); SkullCap SkullCap = new SkullCap(); SkullCap.Hue = 1150; AddItem(SkullCap); m_Timer = new TeleportTimer(this); m_Timer.Start(); }
public override Item Construct(Type type, Mobile from, Item _i, HarvestDefinition _d, HarvestBank _b, HarvestResource _r) { if (type == typeof(TreasureMap)) { int level = 1; return(new TreasureMap(level, Map.Felucca)); } else if (type == typeof(MessageInABottle)) { return(new MessageInABottle(Map.Felucca)); } Container pack = from.Backpack; if (pack != null) { List <SOS> messages = pack.FindItemsByType <SOS>(); for (int i = 0; i < messages.Count; ++i) { SOS sos = messages[i]; if (from.Map == sos.TargetMap && from.InRange(sos.TargetLocation, 60) && !sos.Completed) { Item preLoot = null; switch (Utility.Random(7)) { case 0: // Body parts { int[] list = new int[] { 0x1CDD, 0x1CE5, // arm 0x1CE0, 0x1CE8, // torso 0x1CE1, 0x1CE9, // head 0x1CE2, 0x1CEC // leg }; preLoot = new ShipwreckedItem(Utility.RandomList(list)); break; } case 1: // Bone parts { int[] list = new int[] { 0x1AE0, 0x1AE1, 0x1AE2, 0x1AE3, 0x1AE4, // skulls 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, // bone piles 0x1B15, 0x1B16 // pelvis bones }; preLoot = new ShipwreckedItem(Utility.RandomList(list)); break; } case 2: // Pillows { preLoot = new ShipwreckedItem(Utility.Random(0x13A4, 11)); break; } case 3: // Shells { preLoot = new ShipwreckedItem(Utility.Random(0xFC4, 9)); break; } case 4: //Hats { if (Utility.RandomBool()) { preLoot = new SkullCap(); } else { preLoot = new TricorneHat(); } break; } case 5: // Misc { int[] list = new int[] { 0x1EB5, // unfinished barrel 0xA2A, // stool 0xC1F, // broken clock 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4 // barrel staves }; if (Utility.Random(list.Length + 1) == 0) { preLoot = new Candelabra(); } else { preLoot = new ShipwreckedItem(Utility.RandomList(list)); } break; } } if (preLoot != null) { if (preLoot is IShipwreckedItem) { ((IShipwreckedItem)preLoot).IsShipwreckedItem = true; } return(preLoot); } LockableContainer chest; if (Utility.RandomBool()) { chest = new MetalGoldenChest(); } else { chest = new WoodenChest(); } if (sos.IsAncient) { chest.Hue = 0x481; } TreasureMapChest.Fill(chest, Math.Max(1, Math.Min(3, (sos.Level + 1)))); if (sos.IsAncient) { chest.DropItem(new FabledFishingNet()); } else { chest.DropItem(new SpecialFishingNet()); } if (Utility.Random(500) == 0) { Item mask = new HornedTribalMask(); mask.Hue = 2715; mask.Name = "Mask of Cthulu"; chest.DropItem(mask); } switch (Utility.Random(300)) { case 0: { Item rustedchest = new PlateChest(); rustedchest.Hue = 2718; rustedchest.Name = "a rusted platemail chest recovered from a shipwreck"; chest.DropItem(rustedchest); break; } case 1: { Item rustedarms = new PlateArms(); rustedarms.Hue = 2718; rustedarms.Name = "rusted platemail arms recovered from a shipwreck"; chest.DropItem(rustedarms); break; } case 2: { Item rustedlegs = new PlateLegs(); rustedlegs.Hue = 2718; rustedlegs.Name = "rusted platemail legguards recovered from a shipwreck"; chest.DropItem(rustedlegs); break; } case 3: { Item rustedgloves = new PlateGloves(); rustedgloves.Hue = 2718; rustedgloves.Name = "rusted platemail gloves recovered from a shipwreck"; chest.DropItem(rustedgloves); break; } case 4: { Item rustedgorget = new PlateGorget(); rustedgorget.Hue = 2718; rustedgorget.Name = "rusted platemail gorget recovered from a shipwreck"; chest.DropItem(rustedgorget); break; } case 5: { Item rustedhelm = new PlateHelm(); rustedhelm.Hue = 2718; rustedhelm.Name = "a rusted platemail helmet recovered from a shipwreck"; chest.DropItem(rustedhelm); break; } } switch (Utility.Random(400)) { case 0: { Item lamp = new LampPost1(); lamp.Name = "Britannia Head Light"; lamp.Hue = 2601; chest.DropItem(lamp); break; } case 1: { Item lantern = new HangingLantern(); lantern.Name = "Fog Lamp"; lantern.Hue = 2601; lantern.Movable = true; chest.DropItem(lantern); break; } } chest.Movable = true; chest.Locked = false; chest.TrapType = TrapType.None; chest.TrapPower = 0; chest.TrapLevel = 0; sos.Completed = true; BaseBoat ownerBoat = BaseBoat.FindBoatAt(from.Location, from.Map); PlayerMobile player = from as PlayerMobile; if (ownerBoat != null && player != null) { if (ownerBoat.IsFriend(player) || ownerBoat.IsOwner(player) || ownerBoat.IsCoOwner(player)) { double doubloonValue = Utility.RandomMinMax(25, 50); int finalDoubloonAmount = (int)doubloonValue; bool shipOwner = ownerBoat.IsOwner(player); bool bankDoubloonsValid = false; bool holdPlacementValid = false; //Deposit Half In Player's Bank if (Banker.DepositUniqueCurrency(player, typeof(Doubloon), finalDoubloonAmount)) { Doubloon doubloonPile = new Doubloon(finalDoubloonAmount); player.SendSound(doubloonPile.GetDropSound()); doubloonPile.Delete(); bankDoubloonsValid = true; } //Deposit Other Half in Ship if (ownerBoat.DepositDoubloons(finalDoubloonAmount)) { Doubloon doubloonPile = new Doubloon(finalDoubloonAmount); player.SendSound(doubloonPile.GetDropSound()); doubloonPile.Delete(); holdPlacementValid = true; } if (shipOwner) { player.PirateScore += finalDoubloonAmount; //ownerBoat.doubloonsEarned += finalDoubloonAmount * 2; if (bankDoubloonsValid && holdPlacementValid) { player.SendMessage("You've received " + (finalDoubloonAmount * 2).ToString() + " doubloons for completing a message in a bottle! They have been evenly split between your bank box and your ship's hold."); } else if (bankDoubloonsValid && !holdPlacementValid) { player.SendMessage("You've earned " + (finalDoubloonAmount * 2).ToString() + " doubloons, however there was not enough room to place all of them in your ship's hold."); } else if (!bankDoubloonsValid && holdPlacementValid) { player.SendMessage("You've earned " + (finalDoubloonAmount * 2).ToString() + " doubloons, however there was not enough room to place all of them in your bank box."); } } else { //ownerBoat.doubloonsEarned += finalDoubloonAmount; player.PirateScore += finalDoubloonAmount; if (bankDoubloonsValid) { player.SendMessage("You've earned " + finalDoubloonAmount.ToString() + " doubloons for completing a message in a bottle! They have been placed in your bank box."); } else { player.SendMessage("You've earned doubloons, but there was not enough room to place all of them in your bank box."); } } } } return(chest); } } } return(base.Construct(type, from, _i, _d, _b, _r)); }
public XmlQuestNPC(int gender, bool clothes) : base(AIType.AI_Melee, FightMode.None, 10, 1, 0.8, 3.0) { SetStr(10, 30); SetDex(10, 30); SetInt(10, 30); Fame = 50; Karma = 50; CanHearGhosts = true; SpeechHue = Utility.RandomDyedHue(); Title = string.Empty; Hue = Utility.RandomSkinHue(); switch (gender) { case -1: this.Female = Utility.RandomBool(); break; case 0: this.Female = false; break; case 1: this.Female = true; break; } if (clothes) { if (this.Female) { this.Body = 0x191; this.Name = NameList.RandomName("female"); Item hair = new Item(Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2045, 0x204A, 0x2046, 0x2049)); hair.Hue = Utility.RandomHairHue(); hair.Layer = Layer.Hair; hair.Movable = false; AddItem(hair); Item hat = null; switch (Utility.Random(5))//4 hats, one empty, for no hat { case 0: hat = new FloppyHat(Utility.RandomNeutralHue()); break; case 1: hat = new FeatheredHat(Utility.RandomNeutralHue()); break; case 2: hat = new Bonnet(); break; case 3: hat = new Cap(Utility.RandomNeutralHue()); break; } AddItem(hat); Item pants = null; switch (Utility.Random(3)) { case 0: pants = new ShortPants(GetRandomHue()); break; case 1: pants = new LongPants(GetRandomHue()); break; case 2: pants = new Skirt(GetRandomHue()); break; } AddItem(pants); Item shirt = null; switch (Utility.Random(7)) { case 0: shirt = new Doublet(GetRandomHue()); break; case 1: shirt = new Surcoat(GetRandomHue()); break; case 2: shirt = new Tunic(GetRandomHue()); break; case 3: shirt = new FancyDress(GetRandomHue()); break; case 4: shirt = new PlainDress(GetRandomHue()); break; case 5: shirt = new FancyShirt(GetRandomHue()); break; case 6: shirt = new Shirt(GetRandomHue()); break; } AddItem(shirt); } else { this.Body = 0x190; this.Name = NameList.RandomName("male"); Item hair = new Item(Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2048)); hair.Hue = Utility.RandomHairHue(); hair.Layer = Layer.Hair; hair.Movable = false; AddItem(hair); Item beard = new Item(Utility.RandomList(0x0000, 0x203E, 0x203F, 0x2040, 0x2041, 0x2067, 0x2068, 0x2069)); beard.Hue = hair.Hue; beard.Layer = Layer.FacialHair; beard.Movable = false; AddItem(beard); Item hat = null; switch (Utility.Random(7)) //6 hats, one empty, for no hat { case 0: hat = new SkullCap(GetRandomHue()); break; case 1: hat = new Bandana(GetRandomHue()); break; case 2: hat = new WideBrimHat(); break; case 3: hat = new TallStrawHat(Utility.RandomNeutralHue()); break; case 4: hat = new StrawHat(Utility.RandomNeutralHue()); break; case 5: hat = new TricorneHat(Utility.RandomNeutralHue()); break; } AddItem(hat); Item pants = null; switch (Utility.Random(2)) { case 0: pants = new ShortPants(GetRandomHue()); break; case 1: pants = new LongPants(GetRandomHue()); break; } AddItem(pants); Item shirt = null; switch (Utility.Random(5)) { case 0: shirt = new Doublet(GetRandomHue()); break; case 1: shirt = new Surcoat(GetRandomHue()); break; case 2: shirt = new Tunic(GetRandomHue()); break; case 3: shirt = new FancyShirt(GetRandomHue()); break; case 4: shirt = new Shirt(GetRandomHue()); break; } AddItem(shirt); } Item feet = null; switch (Utility.Random(3)) { case 0: feet = new Boots(Utility.RandomNeutralHue()); break; case 1: feet = new Shoes(Utility.RandomNeutralHue()); break; case 2: feet = new Sandals(Utility.RandomNeutralHue()); break; } AddItem(feet); } Container pack = new Backpack(); //pack.DropItem( new Gold( 0, 50 ) ); pack.Movable = false; AddItem(pack); }
public Commoner() : base(AIType.AI_Melee, FightMode.None, 10, 1, 0.8, 3.0) { SetStr(10, 30); SetDex(10, 30); SetInt(10, 30); Fame = 50; Karma = 50; SpeechHue = Utility.RandomDyedHue(); Title = string.Empty; //Commoner.Titles[Utility.Random( 0, Titles.Length )]; Hue = Utility.RandomSkinHue(); if (this.Female = Utility.RandomBool()) { this.Body = 0x191; this.Name = NameList.RandomName("female"); HairItemID = Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2045, 0x204A, 0x2046, 0x2049); HairHue = Utility.RandomHairHue(); Item hat = null; switch (Utility.Random(5)) //4 hats, one empty, for no hat { case 0: hat = new FloppyHat(Utility.RandomNeutralHue()); break; case 1: hat = new FeatheredHat(Utility.RandomNeutralHue()); break; case 2: hat = new Bonnet(); break; case 3: hat = new Cap(Utility.RandomNeutralHue()); break; } AddItem(hat); Item pants = null; switch (Utility.Random(3)) { case 0: pants = new ShortPants(GetRandomHue()); break; case 1: pants = new LongPants(GetRandomHue()); break; case 2: pants = new Skirt(GetRandomHue()); break; } AddItem(pants); Item shirt = null; switch (Utility.Random(7)) { case 0: shirt = new Doublet(GetRandomHue()); break; case 1: shirt = new Surcoat(GetRandomHue()); break; case 2: shirt = new Tunic(GetRandomHue()); break; case 3: shirt = new FancyDress(GetRandomHue()); break; case 4: shirt = new PlainDress(GetRandomHue()); break; case 5: shirt = new FancyShirt(GetRandomHue()); break; case 6: shirt = new Shirt(GetRandomHue()); break; } AddItem(shirt); } else { this.Body = 0x190; this.Name = NameList.RandomName("male"); HairItemID = Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2048); HairHue = Utility.RandomHairHue(); FacialHairItemID = Utility.RandomList(0x0000, 0x203E, 0x203F, 0x2040, 0x2041, 0x2067, 0x2068, 0x2069); FacialHairHue = HairHue; Item hat = null; switch (Utility.Random(7)) //6 hats, one empty, for no hat { case 0: hat = new SkullCap(GetRandomHue()); break; case 1: hat = new Bandana(GetRandomHue()); break; case 2: hat = new WideBrimHat(); break; case 3: hat = new TallStrawHat(Utility.RandomNeutralHue()); break; case 4: hat = new StrawHat(Utility.RandomNeutralHue()); break; case 5: hat = new TricorneHat(Utility.RandomNeutralHue()); break; } AddItem(hat); Item pants = null; switch (Utility.Random(2)) { case 0: pants = new ShortPants(GetRandomHue()); break; case 1: pants = new LongPants(GetRandomHue()); break; } AddItem(pants); Item shirt = null; switch (Utility.Random(5)) { case 0: shirt = new Doublet(GetRandomHue()); break; case 1: shirt = new Surcoat(GetRandomHue()); break; case 2: shirt = new Tunic(GetRandomHue()); break; case 3: shirt = new FancyShirt(GetRandomHue()); break; case 4: shirt = new Shirt(GetRandomHue()); break; } AddItem(shirt); } Item feet = null; switch (Utility.Random(3)) { case 0: feet = new Boots(Utility.RandomNeutralHue()); break; case 1: feet = new Shoes(Utility.RandomNeutralHue()); break; case 2: feet = new Sandals(Utility.RandomNeutralHue()); break; } AddItem(feet); Container pack = new Backpack(); pack.Movable = false; AddItem(pack); }