public override void OnDoubleClick(Mobile from) { PlayerMobile pm = (PlayerMobile)from; var reags = new BagOfReagents(50); reags.DropItem(new TotalManaPotion() { Amount = 25 }); reags.DropItem(new GreaterHealPotion() { Amount = 25 }); reags.DropItem(new InvisibilityPotion() { Amount = 25 }); reags.DropItem(new GreaterCurePotion() { Amount = 10 }); reags.DropItem(new GreaterRestorePotion() { Amount = 25 }); pm.AddToBackpack(reags); pm.SendMessage("A bag of PvP supplies has been added to your backpack."); }
public override void OnDoubleClick( Mobile from ) { BagOfReagents regBag = new BagOfReagents( 50 ); if ( !from.AddToBackpack( regBag ) ) regBag.Delete(); }
public override void OnDoubleClick(Mobile from) { BagOfReagents regBag = new BagOfReagents(); if (!from.AddToBackpack(regBag)) { regBag.Delete(); } }
private static void AddBackpack(Mobile m) { Container pack = m.Backpack; if (pack == null) { pack = new Backpack(); pack.Movable = false; m.AddItem(pack); } if (Core.UOAI || Core.UOAR) { PackItem(new RedBook("a book", m.Name, 20, true)); PackItem(new Gold(204)); // Adam: add the magic starting gold of 204 PackItem(new Dagger()); PackItem(new Candle()); PackItem(new Spyglass()); // Adam: The spyglass is how you opperate a moongate. seems like a reasonable starting item // [NEW] Tower //RecallRune ocRune = new RecallRune(); //ocRune.Target = new Point3D( 1688, 1422, 0 ); //ocRune.TargetMap = Map.Felucca; //ocRune.Description = "[NEW] Tower"; //ocRune.Marked = true; //PackItem( ocRune ); // add a book describing new //PackItem(NewBook()); // wea: added newbie tent TentBag newbtent = new TentBag(); PackItem(newbtent); } else if (Core.UOSP || Core.UOMO) { //daggers are newbie, everything else isn't Dagger dagger = new Dagger(); PackItem(dagger); dagger.LootType = LootType.Newbied; PackItem(new Gold(100)); PackItem(new IronIngot(25)); PackItem(new Shovel()); BagOfReagents regs = new BagOfReagents(10); PackItem(regs); //ADD back of 10 reagents PackItem(new Katana()); } }
public override void OnDoubleClick(Mobile from) { BagOfReagents regBag = new BagOfReagents(50); Item[] items = new Item[] { new FlamestrikeScroll(25), new LightningScroll(25), new GreaterHealScroll(10), new MagicReflectScroll(10), new Bandage(80) }; foreach (Item i in items) { i.Weight = 0.01; regBag.DropItem(i); } Point3D itemLocation = Point3D.Zero; for (int i = 0; i < 40; ++i) { GreaterHealPotion hp = new GreaterHealPotion(); ManaPotion mana = new ManaPotion(); regBag.DropItem(hp); regBag.DropItem(mana); if (i == 0) { itemLocation = hp.Location; mana.Location = itemLocation; } else { hp.Location = itemLocation; mana.Location = itemLocation; } } if (!from.AddToBackpack(regBag)) { regBag.Delete(); } }
public override void OnDoubleClick( Mobile from ) { BagOfReagents regBag = new BagOfReagents( 50 ); Item[] items = new Item[] { new FlamestrikeScroll( 25 ), new LightningScroll( 25 ), new GreaterHealScroll( 10 ), new MagicReflectScroll( 10 ), new Bandage( 80 ) }; foreach( Item i in items ) { i.Weight = 0.01; regBag.DropItem( i ); } Point3D itemLocation = Point3D.Zero; for( int i = 0; i < 40; ++i ) { GreaterHealPotion hp = new GreaterHealPotion(); ManaPotion mana = new ManaPotion(); regBag.DropItem( hp ); regBag.DropItem( mana ); if( i == 0 ) { itemLocation = hp.Location; mana.Location = itemLocation; } else { hp.Location = itemLocation; mana.Location = itemLocation; } } if( !from.AddToBackpack( regBag ) ) regBag.Delete(); }
private static void AddSkillItems(SkillName skill, Mobile m) { bool elf = (m.Race == Race.Elf); switch (skill) { case SkillName.Alchemy: { PackItem(new Bottle(4)); PackItem(new MortarPestle()); int hue = Utility.RandomPinkHue(); if (elf) { if (m.Female) { EquipItem(new FemaleElvenRobe(hue)); } else { EquipItem(new MaleElvenRobe(hue)); } } else { EquipItem(new Robe(Utility.RandomPinkHue())); } break; } case SkillName.Anatomy: { PackItem(new Bandage(3)); int hue = Utility.RandomYellowHue(); if (elf) { if (m.Female) { EquipItem(new FemaleElvenRobe(hue)); } else { EquipItem(new MaleElvenRobe(hue)); } } else { EquipItem(new Robe(Utility.RandomPinkHue())); } break; } case SkillName.AnimalLore: { int hue = Utility.RandomBlueHue(); if (elf) { EquipItem(new WildStaff()); if (m.Female) { EquipItem(new FemaleElvenRobe(hue)); } else { EquipItem(new MaleElvenRobe(hue)); } } else { EquipItem(new ShepherdsCrook()); EquipItem(new Robe(hue)); } break; } case SkillName.Archery: { PackItem(new Arrow(25)); if (elf) { EquipItem(new ElvenCompositeLongbow()); } else { EquipItem(new Bow()); } break; } case SkillName.ArmsLore: { if (elf) { switch (Utility.Random(3)) { case 0: EquipItem(new Leafblade()); break; case 1: EquipItem(new RuneBlade()); break; case 2: EquipItem(new DiamondMace()); break; } } else { switch (Utility.Random(3)) { case 0: EquipItem(new Kryss()); break; case 1: EquipItem(new Katana()); break; case 2: EquipItem(new Club()); break; } } break; } case SkillName.Begging: { if (elf) { EquipItem(new WildStaff()); } else { EquipItem(new GnarledStaff()); } break; } case SkillName.Blacksmith: { PackItem(new Tongs()); PackItem(new Pickaxe()); PackItem(new Pickaxe()); PackItem(new IronIngot(50)); EquipItem(new HalfApron(Utility.RandomYellowHue())); break; } case SkillName.Bushido: { EquipItem(new Hakama()); EquipItem(new Kasa()); EquipItem(new BookOfBushido()); break; } case SkillName.Fletching: { PackItem(new Board(14)); PackItem(new Feather(5)); PackItem(new Shaft(5)); break; } case SkillName.Camping: { PackItem(new Bedroll()); PackItem(new Kindling(5)); break; } case SkillName.Carpentry: { PackItem(new Board(10)); PackItem(new Saw()); EquipItem(new HalfApron(Utility.RandomYellowHue())); break; } case SkillName.Cartography: { PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new Sextant()); break; } case SkillName.Cooking: { PackItem(new Kindling(2)); PackItem(new RawLambLeg()); PackItem(new RawChickenLeg()); PackItem(new RawFishSteak()); PackItem(new SackFlour()); PackItem(new Pitcher(BeverageType.Water)); break; } case SkillName.Chivalry: { if (Core.ML) { PackItem(new BookOfChivalry((ulong)0x3FF)); } break; } case SkillName.DetectHidden: { EquipItem(new Cloak(0x455)); break; } case SkillName.Discordance: { PackInstrument(); break; } case SkillName.Fencing: { if (elf) { EquipItem(new Leafblade()); } else { EquipItem(new Kryss()); } break; } case SkillName.Fishing: { EquipItem(new FishingPole()); int hue = Utility.RandomYellowHue(); if (elf) { Item i = new Circlet(); i.Hue = hue; EquipItem(i); } else { EquipItem(new FloppyHat(Utility.RandomYellowHue())); } break; } case SkillName.Healing: { PackItem(new Bandage(50)); PackItem(new Scissors()); break; } case SkillName.Herding: { if (elf) { EquipItem(new WildStaff()); } else { EquipItem(new ShepherdsCrook()); } break; } case SkillName.Hiding: { EquipItem(new Cloak(0x455)); break; } case SkillName.Inscribe: { PackItem(new BlankScroll(2)); PackItem(new BlueBook()); break; } case SkillName.ItemID: { if (elf) { EquipItem(new WildStaff()); } else { EquipItem(new GnarledStaff()); } break; } case SkillName.Lockpicking: { PackItem(new Lockpick(20)); break; } case SkillName.Lumberjacking: { EquipItem(new Hatchet()); break; } case SkillName.Macing: { if (elf) { EquipItem(new DiamondMace()); } else { EquipItem(new Club()); } break; } case SkillName.Magery: { BagOfReagents regs = new BagOfReagents(30); /* * if ( !Core.AOS ) * foreach ( Item item in regs.Items ) * item.LootType = LootType.Newbied; */ PackItem(regs); regs.LootType = LootType.Regular; PackScroll(0); PackScroll(1); PackScroll(2); Spellbook book = new Spellbook((ulong)0x382A8C38); EquipItem(book); //book.LootType = LootType.Blessed; if (elf) { EquipItem(new Circlet()); if (m.Female) { EquipItem(new FemaleElvenRobe(Utility.RandomBlueHue())); } else { EquipItem(new MaleElvenRobe(Utility.RandomBlueHue())); } } else { EquipItem(new WizardsHat()); EquipItem(new Robe(Utility.RandomBlueHue())); } break; } case SkillName.Mining: { PackItem(new Pickaxe()); break; } case SkillName.Musicianship: { PackInstrument(); break; } case SkillName.Necromancy: { Container regs = new BagOfNecroReagents(50); PackItem(regs); regs.LootType = LootType.Regular; Spellbook book = new NecromancerSpellbook((ulong)0x1CFFF); // Silver: All except VE/VS PackItem(book); break; } case SkillName.Ninjitsu: { EquipItem(new Hakama(0x2C3)); //Only ninjas get the hued one. EquipItem(new Kasa()); EquipItem(new BookOfNinjitsu()); break; } case SkillName.Parry: { EquipItem(new WoodenShield()); break; } case SkillName.Peacemaking: { PackInstrument(); break; } case SkillName.Poisoning: { PackItem(new LesserPoisonPotion()); PackItem(new LesserPoisonPotion()); break; } case SkillName.Provocation: { PackInstrument(); break; } case SkillName.Snooping: { PackItem(new Lockpick(20)); break; } case SkillName.SpiritSpeak: { EquipItem(new Cloak(0x455)); break; } case SkillName.Stealing: { PackItem(new Lockpick(20)); break; } case SkillName.Swords: { if (elf) { EquipItem(new RuneBlade()); } else { EquipItem(new Katana()); } break; } case SkillName.Tactics: { if (elf) { EquipItem(new RuneBlade()); } else { EquipItem(new Katana()); } break; } case SkillName.Tailoring: { PackItem(new BoltOfCloth()); PackItem(new SewingKit()); break; } case SkillName.Tracking: { if (m_Mobile != null) { Item shoes = m_Mobile.FindItemOnLayer(Layer.Shoes); if (shoes != null) { shoes.Delete(); } } int hue = Utility.RandomYellowHue(); if (elf) { EquipItem(new ElvenBoots(hue)); } else { EquipItem(new Boots(hue)); } EquipItem(new SkinningKnife()); break; } case SkillName.Veterinary: { PackItem(new Bandage(5)); PackItem(new Scissors()); break; } case SkillName.Wrestling: { if (elf) { EquipItem(new LeafGloves()); } else { EquipItem(new LeatherGloves()); } break; } } }
private static void AddSkillItems(SkillName skill, Mobile m) { bool elf = (m.Race == Race.Elf); bool human = (m.Race == Race.Human); bool gargoyle = (m.Race == Race.Gargoyle); switch (skill) { case SkillName.Alchemy: { PackItem(new Bottle(4)); PackItem(new MortarPestle()); int hue = Utility.RandomPinkHue(); if (elf) { if (m.Female) { EquipItem(new FemaleElvenRobe(hue)); } else { EquipItem(new MaleElvenRobe(hue)); } } else { EquipItem(new Robe(Utility.RandomPinkHue())); } break; } case SkillName.Anatomy: { PackItem(new Bandage(3)); int hue = Utility.RandomYellowHue(); if (elf) { if (m.Female) { EquipItem(new FemaleElvenRobe(hue)); } else { EquipItem(new MaleElvenRobe(hue)); } } else { EquipItem(new Robe(hue)); } break; } case SkillName.AnimalLore: { int hue = Utility.RandomBlueHue(); EquipItem(new ShepherdsCrook()); EquipItem(new Robe(hue)); break; } case SkillName.Archery: { PackItem(new Arrow(25)); EquipItem(new Bow()); break; } case SkillName.ArmsLore: { switch (Utility.Random(3)) { case 0: EquipItem(new Kryss()); break; case 1: EquipItem(new Katana()); break; case 2: EquipItem(new Club()); break; } break; } case SkillName.Begging: { EquipItem(new GnarledStaff()); break; } case SkillName.Blacksmith: { PackItem(new Tongs()); PackItem(new Pickaxe()); PackItem(new Pickaxe()); PackItem(new IronIngot(50)); if (human || elf) { EquipItem(new HalfApron(Utility.RandomYellowHue())); } break; } case SkillName.Bushido: { break; } case SkillName.Fletching: { PackItem(new Board(14)); PackItem(new Feather(5)); PackItem(new Shaft(5)); break; } case SkillName.Camping: { PackItem(new Bedroll()); PackItem(new Kindling(5)); break; } case SkillName.Carpentry: { PackItem(new Board(10)); PackItem(new Saw()); if (human || elf) { EquipItem(new HalfApron(Utility.RandomYellowHue())); } break; } case SkillName.Cartography: { PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new Sextant()); break; } case SkillName.Cooking: { PackItem(new Kindling(2)); PackItem(new RawLambLeg()); PackItem(new RawChickenLeg()); PackItem(new RawFishSteak()); PackItem(new SackFlour()); PackItem(new Pitcher(BeverageType.Water)); break; } case SkillName.Chivalry: { break; } case SkillName.DetectHidden: { EquipItem(new Cloak(0x455)); break; } case SkillName.Discordance: { PackInstrument(); break; } case SkillName.Fencing: { EquipItem(new Kryss()); break; } case SkillName.Fishing: { EquipItem(new FishingPole()); int hue = Utility.RandomYellowHue(); EquipItem(new FloppyHat(hue)); break; } case SkillName.Healing: { PackItem(new Bandage(50)); PackItem(new Scissors()); break; } case SkillName.Herding: { EquipItem(new ShepherdsCrook()); break; } case SkillName.Hiding: { if (human || elf) { EquipItem(new Cloak(0x455)); } break; } case SkillName.Inscribe: { PackItem(new BlankScroll(2)); PackItem(new BlueBook()); break; } case SkillName.ItemID: { EquipItem(new GnarledStaff()); break; } case SkillName.Lockpicking: { PackItem(new Lockpick(20)); break; } case SkillName.Lumberjacking: { if (human || elf) { EquipItem(new Hatchet()); } /* -Fraz * else if (gargoyle) * EquipItem(new DualShortAxes()); */ break; } case SkillName.Macing: { EquipItem(new Club()); break; } case SkillName.Magery: { BagOfReagents regs = new BagOfReagents(50); if (!Core.AOS) { foreach (Item item in regs.Items) { item.LootType = LootType.Newbied; } } PackItem(regs); regs.LootType = LootType.Regular; PackScroll(0); PackScroll(1); PackScroll(2); Spellbook book = new Spellbook((ulong)0x382A8C38); book.LootType = LootType.Blessed; EquipItem(book); EquipItem(new WizardsHat()); EquipItem(new Robe(Utility.RandomBlueHue())); break; } case SkillName.Mining: { PackItem(new Pickaxe()); break; } case SkillName.Musicianship: { PackInstrument(); break; } case SkillName.Necromancy: { break; } case SkillName.Ninjitsu: { break; } case SkillName.Parry: { EquipItem(new WoodenShield()); break; } case SkillName.Peacemaking: { PackInstrument(); break; } case SkillName.Poisoning: { PackItem(new LesserPoisonPotion()); PackItem(new LesserPoisonPotion()); break; } case SkillName.Provocation: { PackInstrument(); break; } case SkillName.Snooping: { PackItem(new Lockpick(20)); break; } case SkillName.SpiritSpeak: { if (human || elf) { EquipItem(new Cloak(0x455)); } break; } case SkillName.Stealing: { PackItem(new Lockpick(20)); break; } case SkillName.Swords: { EquipItem(new Katana()); break; } case SkillName.Tactics: { EquipItem(new Katana()); break; } case SkillName.Tailoring: { PackItem(new BoltOfCloth()); PackItem(new SewingKit()); break; } case SkillName.Tinkering: { PackItem(new TinkerTools()); PackItem(new IronIngot(50)); PackItem(new Axle()); PackItem(new AxleGears()); PackItem(new Springs()); PackItem(new ClockFrame()); break; } case SkillName.Tracking: { if (human || elf) { if (m_Mobile != null) { Item shoes = m_Mobile.FindItemOnLayer(Layer.Shoes); if (shoes != null) { shoes.Delete(); } } int hue = Utility.RandomYellowHue(); if (elf) { EquipItem(new ElvenBoots(hue)); } else { EquipItem(new Boots(hue)); } EquipItem(new SkinningKnife()); } else if (gargoyle) { PackItem(new SkinningKnife()); } break; } case SkillName.Veterinary: { PackItem(new Bandage(5)); PackItem(new Scissors()); break; } case SkillName.Wrestling: { EquipItem(new LeatherGloves()); break; } case SkillName.Throwing: { break; } } }
protected virtual void SwitchEquipment() { if (Deleted || Map == null || Map == Map.Internal || Location == Point3D.Zero) { return; } Undress(Layer.OneHanded, Layer.TwoHanded); Item weapon; Item shield = null; switch (AI) { case AIType.AI_Archer: { weapon = Backpack.FindItemsByType <BaseRanged>(true, w => w != null && !w.Deleted && w.CanEquip(this)).GetRandom(); } break; case AIType.AI_Mage: { weapon = Backpack.FindItemsByType <Spellbook>(true, w => w != null && !w.Deleted && w.CanEquip(this)).GetRandom() ?? new Spellbook(Int64.MaxValue) { LootType = LootType.Blessed }; var regs = Backpack.FindItemByType <BagOfReagents>(true); if (regs == null || regs.Deleted || regs.Amount <= 0 || regs.Items.Count <= 0) { regs = new BagOfReagents(100) { LootType = LootType.Blessed }; Backpack.DropItem(regs); } } break; case AIType.AI_Melee: { weapon = Backpack.FindItemsByType <BaseMeleeWeapon>(true, w => w != null && !w.Deleted && w.CanEquip(this)).GetRandom(); if (weapon != null && weapon.Layer != Layer.TwoHanded) { shield = Backpack.FindItemsByType <BaseShield>(true, s => s != null && !s.Deleted && s.CanEquip(this)).GetRandom(); } } break; default: weapon = Backpack.FindItemsByType <BaseWeapon>(true, w => w != null && !w.Deleted && w.CanEquip(this)).GetRandom(); break; } if (weapon != null) { EquipItem(weapon); } if (shield != null) { EquipItem(shield); } Undress(_EquipLayers); var equip = new List <Item>(_EquipLayers.Length); var packItems = new List <Item>(Backpack.FindItemsByType <Item>(true, item => item != null && !item.Deleted && item.CanEquip(this))); foreach (var item in _EquipLayers.Select(l => FindItemOnLayer(l) ?? packItems.GetRandom())) { equip.AddOrReplace(item); packItems.Remove(item); } packItems.Free(true); foreach (var item in equip.Where(item => item != null && !item.IsEquipped())) { EquipItem(item); } equip.Free(true); }
// adam: not called for production servers private static void FillBankbox(Mobile m) { BankBox bank = m.BankBox; if (bank == null) { return; } Container cont; // Begin box of money cont = new WoodenBox(); cont.ItemID = 0xE7D; cont.Hue = 0x489; PlaceItemIn(cont, 16, 51, new BankCheck(1000000)); //edited by sam PlaceItemIn(cont, 28, 51, new BankCheck(250000)); //edited by sam PlaceItemIn(cont, 40, 51, new BankCheck(125000)); //edited by sam PlaceItemIn(cont, 52, 51, new BankCheck(75000)); //edited by sam PlaceItemIn(cont, 64, 51, new BankCheck(32500)); //edited by sam PlaceItemIn(cont, 34, 115, MakeNewbie(new Gold(60000))); PlaceItemIn(bank, 18, 169, cont); // End box of money // Begin bag of potion kegs cont = new Backpack(); cont.Name = "Various Potion Kegs"; PlaceItemIn(cont, 45, 149, MakePotionKeg(PotionEffect.CureGreater, 0x2D)); PlaceItemIn(cont, 69, 149, MakePotionKeg(PotionEffect.HealGreater, 0x499)); PlaceItemIn(cont, 93, 149, MakePotionKeg(PotionEffect.PoisonDeadly, 0x46)); PlaceItemIn(cont, 117, 149, MakePotionKeg(PotionEffect.RefreshTotal, 0x21)); PlaceItemIn(cont, 141, 149, MakePotionKeg(PotionEffect.ExplosionGreater, 0x74)); PlaceItemIn(cont, 93, 82, MakeNewbie(new Bottle(1000))); PlaceItemIn(bank, 53, 169, cont); // End bag of potion kegs // Begin bag of tools cont = new Bag(); cont.Name = "Tool Bag"; PlaceItemIn(cont, 30, 35, MakeNewbie(new TinkerTools(60000))); PlaceItemIn(cont, 90, 35, MakeNewbie(new DovetailSaw(60000))); PlaceItemIn(cont, 30, 68, MakeNewbie(new Scissors())); PlaceItemIn(cont, 45, 68, MakeNewbie(new MortarPestle(60000))); PlaceItemIn(cont, 75, 68, MakeNewbie(new ScribesPen(60000))); PlaceItemIn(cont, 90, 68, MakeNewbie(new SmithHammer(60000))); PlaceItemIn(cont, 30, 118, MakeNewbie(new TwoHandedAxe())); PlaceItemIn(cont, 90, 118, MakeNewbie(new SewingKit(60000))); PlaceItemIn(bank, 118, 169, cont); // End bag of tools // Begin bag of archery ammo cont = new Bag(); cont.Name = "Bag Of Archery Ammo"; PlaceItemIn(cont, 48, 76, MakeNewbie(new Arrow(60000))); PlaceItemIn(cont, 72, 76, MakeNewbie(new Bolt(60000))); PlaceItemIn(bank, 118, 124, cont); // End bag of archery ammo // Begin bag of treasure maps cont = new Bag(); cont.Name = "Bag Of Treasure Maps"; PlaceItemIn(cont, 30, 35, MakeNewbie(new TreasureMap(1, Map.Felucca))); PlaceItemIn(cont, 45, 35, MakeNewbie(new TreasureMap(2, Map.Felucca))); PlaceItemIn(cont, 60, 35, MakeNewbie(new TreasureMap(3, Map.Felucca))); PlaceItemIn(cont, 75, 35, MakeNewbie(new TreasureMap(4, Map.Felucca))); PlaceItemIn(cont, 90, 35, MakeNewbie(new TreasureMap(5, Map.Felucca))); PlaceItemIn(cont, 30, 50, MakeNewbie(new TreasureMap(1, Map.Felucca))); PlaceItemIn(cont, 45, 50, MakeNewbie(new TreasureMap(2, Map.Felucca))); PlaceItemIn(cont, 60, 50, MakeNewbie(new TreasureMap(3, Map.Felucca))); PlaceItemIn(cont, 75, 50, MakeNewbie(new TreasureMap(4, Map.Felucca))); PlaceItemIn(cont, 90, 50, MakeNewbie(new TreasureMap(5, Map.Felucca))); PlaceItemIn(cont, 55, 100, MakeNewbie(new Lockpick(60000))); PlaceItemIn(cont, 60, 100, MakeNewbie(new Pickaxe())); PlaceItemIn(bank, 98, 124, cont); // End bag of treasure maps // Begin bag of raw materials cont = new Bag(); cont.Hue = 0x835; cont.Name = "Raw Materials Bag"; PlaceItemIn(cont, 30, 35, MakeNewbie(new DullCopperIngot(60000))); PlaceItemIn(cont, 37, 35, MakeNewbie(new ShadowIronIngot(60000))); PlaceItemIn(cont, 44, 35, MakeNewbie(new CopperIngot(60000))); PlaceItemIn(cont, 51, 35, MakeNewbie(new BronzeIngot(60000))); PlaceItemIn(cont, 58, 35, MakeNewbie(new GoldIngot(60000))); PlaceItemIn(cont, 65, 35, MakeNewbie(new AgapiteIngot(60000))); PlaceItemIn(cont, 72, 35, MakeNewbie(new VeriteIngot(60000))); PlaceItemIn(cont, 79, 35, MakeNewbie(new ValoriteIngot(60000))); PlaceItemIn(cont, 86, 35, MakeNewbie(new IronIngot(60000))); PlaceItemIn(cont, 29, 55, MakeNewbie(new Leather(60000))); PlaceItemIn(cont, 44, 55, MakeNewbie(new SpinedLeather(60000))); PlaceItemIn(cont, 59, 55, MakeNewbie(new HornedLeather(60000))); PlaceItemIn(cont, 74, 55, MakeNewbie(new BarbedLeather(60000))); PlaceItemIn(cont, 35, 100, MakeNewbie(new Cloth(60000))); PlaceItemIn(cont, 67, 89, MakeNewbie(new Board(60000))); PlaceItemIn(cont, 88, 91, MakeNewbie(new BlankScroll(60000))); PlaceItemIn(bank, 98, 169, cont); // End bag of raw materials // Begin bag of spell casting stuff cont = new Backpack(); cont.Hue = 0x480; cont.Name = "Spell Casting Stuff"; PlaceItemIn(cont, 45, 105, new Spellbook(UInt64.MaxValue)); Runebook runebook = new Runebook(10); runebook.CurCharges = runebook.MaxCharges; PlaceItemIn(cont, 105, 105, runebook); Item toHue = new BagOfReagents(65000); toHue.Hue = 0x2D; PlaceItemIn(cont, 45, 150, toHue); for (int i = 0; i < 9; ++i) { PlaceItemIn(cont, 45 + (i * 10), 75, MakeNewbie(new RecallRune())); } PlaceItemIn(bank, 78, 169, cont); // End bag of spell casting stuff }
protected virtual void SwitchEquipment() { if (Deleted || Map == null || Map == Map.Internal || Location == Point3D.Zero) { return; } Undress(Layer.OneHanded, Layer.TwoHanded); Item weapon; Item shield = null; switch (AI) { case AIType.AI_Archer: { weapon = Backpack.FindItemsByType <BaseRanged>(true, w => w != null && !w.Deleted && w.CanEquip(this)).GetRandom(); if (weapon != null) { var ranged = (BaseRanged)weapon; if (ranged.AmmoType != null) { Item ammo = Backpack.FindItemByType(ranged.AmmoType, true); if (ammo == null || ammo.Deleted || ammo.Amount <= 0) { ammo = ranged.AmmoType.CreateInstanceSafe <Item>(); if (ammo != null) { ammo.Amount = 100; ammo.LootType = LootType.Blessed; Backpack.DropItem(ammo); } } } } } break; case AIType.AI_Mage: { weapon = Backpack.FindItemsByType <Spellbook>(true, w => w != null && !w.Deleted && w.CanEquip(this)).GetRandom() ?? new Spellbook(Int64.MaxValue) { LootType = LootType.Blessed }; var regs = Backpack.FindItemByType <BagOfReagents>(true); if (regs == null || regs.Deleted || regs.Amount <= 0 || regs.Items.Count <= 0) { regs = new BagOfReagents(100) { LootType = LootType.Blessed }; Backpack.DropItem(regs); } } break; case AIType.AI_Melee: { weapon = Backpack.FindItemsByType <BaseMeleeWeapon>(true, w => w != null && !w.Deleted && w.CanEquip(this)).GetRandom(); if (weapon != null && weapon.Layer != Layer.TwoHanded) { shield = Backpack.FindItemsByType <BaseShield>(true, s => s != null && !s.Deleted && s.CanEquip(this)).GetRandom(); } } break; default: weapon = Backpack.FindItemsByType <BaseWeapon>(true, w => w != null && !w.Deleted && w.CanEquip(this)).GetRandom(); break; } if (weapon != null) { EquipItem(weapon); } if (shield != null) { EquipItem(shield); } Undress(_EquipLayers); var equip = new Item[_EquipLayers.Length]; equip.SetAll( i => FindItemOnLayer(_EquipLayers[i]) ?? Backpack.FindItemsByType <Item>(true, item => item != null && !item.Deleted && item.CanEquip(this)).GetRandom()); foreach (Item item in equip.Where(item => item != null && !item.IsEquipped())) { EquipItem(item); } }
private static void AddSkillItems(SkillName skill, Mobile m) { switch (skill) { case SkillName.Alchemy: { PackItem(new Bottle(20)); PackItem(new MortarPestle()); EquipItem(new Robe(Utility.RandomPinkHue())); break; } case SkillName.Anatomy: { PackItem(new Bandage(80)); EquipItem(new Robe(Utility.RandomPinkHue())); break; } case SkillName.AnimalLore: { EquipItem(new ShepherdsCrook()); EquipItem(new Robe(Utility.RandomDyedHue())); break; } case SkillName.Archery: { PackItem(new Arrow(150)); EquipItem(new Bow()); break; } case SkillName.ArmsLore: { switch (Utility.Random(3)) { case 0: EquipItem(new Kryss()); break; case 1: EquipItem(new Katana()); break; case 2: EquipItem(new Club()); break; } break; } case SkillName.Begging: { EquipItem(new GnarledStaff()); break; } case SkillName.Blacksmith: { PackItem(new Tongs()); PackItem(new Pickaxe()); PackItem(new Pickaxe()); PackItem(new IronIngot(50)); EquipItem(new HalfApron(Utility.RandomYellowHue())); break; } case SkillName.Fletching: { PackItem(new Board(28)); PackItem(new Feather(50)); PackItem(new Shaft(50)); break; } case SkillName.Camping: { PackItem(new Bedroll()); PackItem(new Kindling(5)); break; } case SkillName.Carpentry: { PackItem(new Board(50)); PackItem(new Saw()); EquipItem(new HalfApron(Utility.RandomYellowHue())); break; } case SkillName.Cartography: { PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new Sextant()); break; } case SkillName.Cooking: { PackItem(new Kindling(2)); PackItem(new RawLambLeg()); PackItem(new RawChickenLeg()); PackItem(new RawFishSteak()); PackItem(new SackFlour()); PackItem(new Pitcher(BeverageType.Water)); break; } case SkillName.DetectHidden: { EquipItem(new Cloak(0x455)); break; } case SkillName.Discordance: { PackInstrument(); break; } case SkillName.Fencing: { EquipItem(new Kryss()); break; } case SkillName.Fishing: { EquipItem(new FishingPole()); EquipItem(new FloppyHat(Utility.RandomYellowHue())); break; } case SkillName.Healing: { PackItem(new Bandage(50)); PackItem(new Scissors()); break; } case SkillName.Herding: { EquipItem(new ShepherdsCrook()); break; } case SkillName.Hiding: { EquipItem(new Cloak(0x455)); break; } case SkillName.Inscribe: { PackItem(new BlankScroll(15)); PackItem(new BlueBook()); PackItem(new ScribesPen(50)); break; } case SkillName.ItemID: { EquipItem(new GnarledStaff()); break; } case SkillName.Lockpicking: { PackItem(new Lockpick(30)); break; } case SkillName.Lumberjacking: { EquipItem(new Hatchet()); break; } case SkillName.Macing: { EquipItem(new Club()); break; } case SkillName.Magery: { BagOfReagents regs = new BagOfReagents(50); regs.LootType = LootType.Regular; if (!Core.ML) { foreach (Item item in regs.Items) { item.LootType = LootType.Newbied; } } PackItem(regs); PackScroll(0); PackScroll(1); PackScroll(2); Spellbook book = new Spellbook(); book.LootType = LootType.Blessed; EquipItem(book); EquipItem(new WizardsHat()); EquipItem(new Robe(Utility.RandomBlueHue())); break; } case SkillName.Mining: { PackItem(new Pickaxe()); break; } case SkillName.Musicianship: { PackInstrument(); break; } case SkillName.Parry: { EquipItem(new WoodenShield()); break; } case SkillName.Peacemaking: { PackInstrument(); break; } case SkillName.Poisoning: { PackItem(new LesserPoisonPotion()); PackItem(new LesserPoisonPotion()); break; } case SkillName.Provocation: { PackInstrument(); break; } case SkillName.Snooping: { PackItem(new Lockpick(30)); break; } case SkillName.SpiritSpeak: { EquipItem(new Cloak(0x455)); break; } case SkillName.Stealing: { PackItem(new Lockpick(20)); break; } case SkillName.Swords: { EquipItem(new Katana()); break; } case SkillName.Tailoring: { PackItem(new BoltOfCloth()); PackItem(new SewingKit()); PackItem(new DyeTub()); PackItem(new Dyes()); break; } case SkillName.Tracking: { if (m_Mobile != null) { Item shoes = m_Mobile.FindItemOnLayer(Layer.Shoes); if (shoes != null) { shoes.Delete(); } } EquipItem(new Boots(Utility.RandomYellowHue())); EquipItem(new SkinningKnife()); break; } case SkillName.Veterinary: { PackItem(new Bandage(45)); PackItem(new Scissors()); break; } case SkillName.Wrestling: { EquipItem(new LeatherGloves()); break; } } }
public static void PrepareServerWar() { m_ServerWars = true; FactionReset(); Map[] maps = Map.Maps; foreach (GuardedRegion region in maps.Where(m => m != null).SelectMany(m => m.Regions.Values.OfType <GuardedRegion>()) ) { region.Disabled = true; } foreach ( PlayerMobile mob in World.Mobiles.Values.OfType <PlayerMobile>().Where(mob => mob.AccessLevel == AccessLevel.Player)) { mob.BankBox.Credit = 10000000; //10 mill in the bank! Bag bag = new BagOfReagents(10000); bag.Name = "Bag of Reagents (10K)"; bag.Hue = RandomHue(); mob.BankBox.DropItem(bag); ResurrectGump.ClearSkillLoss(mob); bag = new Bag { Hue = RandomHue(), Name = "Bag of PVP Supplies" }; mob.BankBox.DropItem(bag); if (mob.Skills[SkillName.Magery].Value > 0.0) { mob.Backpack.DropItem( BaseCreature.Rehued(BaseCreature.ChangeLootType(new BagOfReagents(150), LootType.Blessed), RandomHue())); Spellbook book = Spellbook.FindRegular(mob); if (book != null) { book.Content = ulong.MaxValue; book.LootType = LootType.Blessed; book.Hue = Utility.Random(1000); } else { book = new Spellbook { Content = ulong.MaxValue, LootType = LootType.Blessed, Hue = Utility.Random(1000) }; mob.Backpack.DropItem(book); } } //if ( mob.Skills[SkillName.Healing].Value > 0.0 ) //{ mob.BankBox.DropItem(BaseCreature.ChangeLootType(new Bandage(150), LootType.Blessed)); //} //if ( mob.Skills[SkillName.Fencing].Value > 0.0 ) //{ bag.DropItem(SetWeapon(new ShortSpear())); bag.DropItem(SetWeapon(new Kryss())); bag.DropItem(SetWeapon(new Spear())); //} //if ( mob.Skills[SkillName.Parry].Value > 0.0 ) //{ bag.DropItem( BaseCreature.ChangeLootType( BaseCreature.Resourced(new MetalKiteShield(), CraftResource.Valorite), LootType.Blessed)); //} //if ( mob.Skills[SkillName.Swords].Value > 0.0 ) //{ if (mob.Skills[SkillName.Lumberjacking].Value > 0.0) { bag.DropItem(SetWeapon(new Hatchet())); bag.DropItem(SetWeapon(new LargeBattleAxe())); } bag.DropItem(SetWeapon(new Halberd())); bag.DropItem(SetWeapon(new Katana())); //} //if ( mob.Skills[SkillName.Macing].Value > 0.0 ) //{ bag.DropItem(SetWeapon(new WarAxe())); bag.DropItem(SetWeapon(new WarHammer())); //} //if ( mob.Skills[SkillName.Archery].Value > 0.0 ) //{ bag.DropItem(SetWeapon(new Bow())); bag.DropItem(SetWeapon(new Crossbow())); bag.DropItem(SetWeapon(new HeavyCrossbow())); var quiver = new ElvenQuiver { Hue = RandomHue() }; quiver.DropItem(new Arrow(300)); bag.DropItem(new Bolt(300)); mob.BankBox.DropItem(BaseCreature.ChangeLootType(quiver, LootType.Blessed)); //} //if ( mob.Skills[SkillName.Poisoning].Value > 0.0 ) //{ for (int i = 0; i < 5; i++) { bag.DropItem(BaseCreature.ChangeLootType(new DeadlyPoisonPotion(), LootType.Blessed)); } //} mob.Kills = mob.ShortTermMurders = 0; var horse = new EtherealHorse { IsDonationItem = true, Hue = RandomHue() }; mob.Backpack.DropItem(horse); mob.Backpack.DropItem(BaseCreature.ChangeLootType(new StatsBall(), LootType.Blessed)); bag = new Bag { Hue = 1437, Name = "Bag of Barbed Leather Armor" }; bag.DropItem( BaseCreature.Rehued( BaseCreature.ChangeLootType( BaseCreature.Resourced(new LeatherChest(), CraftResource.BarbedLeather), LootType.Blessed), RandomHue())); bag.DropItem( BaseCreature.Rehued( BaseCreature.ChangeLootType( BaseCreature.Resourced(new LeatherLegs(), CraftResource.BarbedLeather), LootType.Blessed), RandomHue())); bag.DropItem( BaseCreature.Rehued( BaseCreature.ChangeLootType( BaseCreature.Resourced(new LeatherGorget(), CraftResource.BarbedLeather), LootType.Blessed), RandomHue())); bag.DropItem( BaseCreature.Rehued( BaseCreature.ChangeLootType( BaseCreature.Resourced(new LeatherGloves(), CraftResource.BarbedLeather), LootType.Blessed), RandomHue())); bag.DropItem( BaseCreature.Rehued( BaseCreature.ChangeLootType( BaseCreature.Resourced(new LeatherArms(), CraftResource.BarbedLeather), LootType.Blessed), RandomHue())); bag.DropItem( BaseCreature.Rehued( BaseCreature.ChangeLootType( BaseCreature.Resourced(new LeatherCap(), CraftResource.BarbedLeather), LootType.Blessed), RandomHue())); mob.Backpack.DropItem(bag); Skills skills = mob.Skills; foreach (Skill s in skills.Where(t => t.SkillName != SkillName.ItemID)) { s.BaseFixedPoint = 1000; } } }
private static void FillBankTOL(Mobile m) { BankBox bank = m.BankBox; if (bank == null) { return; } bank.MaxItems = int.MaxValue; // The new AOS bankboxes don't have powerscrolls, they are automatically 'applied': for (int i = 0; i < PowerScroll.Skills.Count; ++i) { m.Skills[PowerScroll.Skills[i]].Cap = 120.0; } m.StatCap = 600; Container cont; Container cont2; // Begin box of money cont = new WoodenBox(); cont.ItemID = 0xE7D; cont.Hue = 0x489; PlaceItemIn(cont, 17, 52, new BankCheck(1000000)); PlaceItemIn(cont, 28, 52, new BankCheck(1000000)); PlaceItemIn(cont, 17, 91, new Factions.Silver(9000)); PlaceItemIn(cont, 34, 91, new Gold(60000)); PlaceItemIn(bank, 38, 142, cont); // End box of money // Begin box of Magery Items cont = new WoodenBox(); cont.ItemID = 0xE7D; cont.Name = "Magery Items"; cont.Hue = 1195; // Begin bag of spell casting stuff cont2 = new Backpack(); cont2.Hue = 0x480; cont2.Name = "Spell Casting Stuff"; PlaceItemIn(cont2, 45, 107, new Spellbook(UInt64.MaxValue)); PlaceItemIn(cont2, 64, 107, new NecromancerSpellbook((UInt64)0xFFFF)); PlaceItemIn(cont2, 83, 107, new BookOfChivalry((UInt64)0x3FF)); PlaceItemIn(cont2, 102, 107, new BookOfBushido()); //Default ctor = full PlaceItemIn(cont2, 121, 107, new BookOfNinjitsu()); //Default ctor = full PlaceItemIn(cont2, 102, 149, new SpellweavingBook((UInt64)0xFFFF)); PlaceItemIn(cont2, 121, 149, new MysticBook((UInt64)0xFFFF)); Runebook runebook = new Runebook(20); runebook.CurCharges = runebook.MaxCharges; PlaceItemIn(cont2, 141, 107, runebook); Item toHue = new BagOfReagents(5000); toHue.Hue = 0x2D; PlaceItemIn(cont2, 45, 128, toHue); toHue = new BagOfNecroReagents(3000); toHue.Hue = 0x488; PlaceItemIn(cont2, 64, 128, toHue); toHue = new BagOfMysticReagents(3000); toHue.Hue = 0x48F; PlaceItemIn(cont2, 141, 128, toHue); for (int i = 0; i < 6; ++i) { PlaceItemIn(cont2, 45 + (i * 10), 74, new RecallRune()); } PlaceItemIn(cont, 47, 91, cont2); // End bag of spell casting stuff // Begin bag of potion kegs cont2 = new Backpack(); cont2.Name = "Various Potion Kegs"; PlaceItemIn(cont2, 45, 149, MakePotionKeg(PotionEffect.CureGreater, 0x2D)); PlaceItemIn(cont2, 69, 149, MakePotionKeg(PotionEffect.HealGreater, 0x499)); PlaceItemIn(cont2, 93, 149, MakePotionKeg(PotionEffect.PoisonDeadly, 0x46)); PlaceItemIn(cont2, 117, 149, MakePotionKeg(PotionEffect.RefreshTotal, 0x21)); PlaceItemIn(cont2, 141, 149, MakePotionKeg(PotionEffect.ExplosionGreater, 0x74)); PlaceItemIn(cont2, 93, 82, new Bottle(1000)); PlaceItemIn(cont, 78, 91, cont2); // End bag of potion kegs GoldRing ring = new GoldRing(); ring.Name = "Ring Of Arcane Tactics"; ring.Attributes.CastRecovery = 3; ring.Attributes.CastSpeed = 1; PlaceItemIn(cont, 109, 90, ring); GoldBracelet bracelet = new GoldBracelet(); bracelet.Name = "Farmer's Band Of Mastery"; bracelet.Attributes.CastRecovery = 3; bracelet.Attributes.CastSpeed = 1; PlaceItemIn(cont, 139, 95, bracelet); PlaceItemIn(bank, 63, 142, cont); // End box of Magery Items // Begin bag of ethereals cont = new Backpack(); cont.Hue = 0x490; cont.Name = "Bag Of Ethy's!"; cont.DropItem(new EtherealHorse()); cont.DropItem(new EtherealOstard()); cont.DropItem(new EtherealLlama()); cont.DropItem(new EtherealKirin()); cont.DropItem(new EtherealUnicorn()); cont.DropItem(new EtherealRidgeback()); cont.DropItem(new EtherealSwampDragon()); cont.DropItem(new EtherealBeetle()); PlaceItemIn(bank, 43, 124, cont); // End bag of ethereals // Begin box of Artifacts cont = new WoodenBox(); cont.ItemID = 0xE7D; cont.Hue = 1170; cont.Name = "Artifacts"; // Begin bag of minor artifacts cont2 = new Bag(); cont2.Hue = 1167; cont2.Name = "Minor Artifacts"; cont2.DropItem(new LunaLance()); cont2.DropItem(new VioletCourage()); cont2.DropItem(new CavortingClub()); cont2.DropItem(new CaptainQuacklebushsCutlass()); cont2.DropItem(new NightsKiss()); cont2.DropItem(new ShipModelOfTheHMSCape()); cont2.DropItem(new AdmiralHeartyRum()); cont2.DropItem(new CandelabraOfSouls()); cont2.DropItem(new IolosLute()); cont2.DropItem(new GwennosHarp()); cont2.DropItem(new ArcticDeathDealer()); cont2.DropItem(new EnchantedTitanLegBone()); cont2.DropItem(new NoxRangersHeavyCrossbow()); cont2.DropItem(new BlazeOfDeath()); cont2.DropItem(new DreadPirateHat()); cont2.DropItem(new BurglarsBandana()); cont2.DropItem(new GoldBricks()); cont2.DropItem(new AlchemistsBauble()); cont2.DropItem(new PhillipsWoodenSteed()); cont2.DropItem(new PolarBearMask()); cont2.DropItem(new BowOfTheJukaKing()); cont2.DropItem(new GlovesOfThePugilist()); cont2.DropItem(new OrcishVisage()); cont2.DropItem(new StaffOfPower()); cont2.DropItem(new ShieldOfInvulnerability()); cont2.DropItem(new HeartOfTheLion()); cont2.DropItem(new ColdBlood()); cont2.DropItem(new GhostShipAnchor()); cont2.DropItem(new SeahorseStatuette()); cont2.DropItem(new WrathOfTheDryad()); cont2.DropItem(new PixieSwatter()); PlaceItemIn(cont, 17, 83, cont2); // End bag of minor artifacts // Begin Bag of Major Artifacts cont2 = new Bag(); cont2.Hue = 1266; cont2.Name = "Major Artifacts"; cont2.DropItem(new GauntletsOfNobility()); cont2.DropItem(new MidnightBracers()); cont2.DropItem(new VoiceOfTheFallenKing()); cont2.DropItem(new OrnateCrownOfTheHarrower()); cont2.DropItem(new HelmOfInsight()); cont2.DropItem(new HolyKnightsBreastplate()); cont2.DropItem(new ArmorOfFortune()); cont2.DropItem(new TunicOfFire()); cont2.DropItem(new LeggingsOfBane()); cont2.DropItem(new ArcaneShield()); cont2.DropItem(new Aegis()); cont2.DropItem(new RingOfTheVile()); cont2.DropItem(new BraceletOfHealth()); cont2.DropItem(new RingOfTheElements()); cont2.DropItem(new OrnamentOfTheMagician()); cont2.DropItem(new DivineCountenance()); cont2.DropItem(new JackalsCollar()); cont2.DropItem(new HuntersHeaddress()); cont2.DropItem(new HatOfTheMagi()); cont2.DropItem(new ShadowDancerLeggings()); cont2.DropItem(new SpiritOfTheTotem()); cont2.DropItem(new BladeOfInsanity()); cont2.DropItem(new AxeOfTheHeavens()); cont2.DropItem(new TheBeserkersMaul()); cont2.DropItem(new Frostbringer()); cont2.DropItem(new BreathOfTheDead()); cont2.DropItem(new TheDragonSlayer()); cont2.DropItem(new BoneCrusher()); cont2.DropItem(new StaffOfTheMagi()); cont2.DropItem(new SerpentsFang()); cont2.DropItem(new LegacyOfTheDreadLord()); cont2.DropItem(new TheTaskmaster()); cont2.DropItem(new TheDryadBow()); cont2.DropItem(new TitansHammer()); cont2.DropItem(new InquisitorsResolution()); cont2.DropItem(new BladeOfTheRighteous()); cont2.DropItem(new ZyronicClaw()); PlaceItemIn(cont, 90, 83, cont2); // End Bag of Major Artifacts // Begin bag of Tokuno minor artifacts cont2 = new Bag(); cont2.Hue = 1281; cont2.Name = "Tokuno Minor Artifacts"; cont2.DropItem(new PeasantsBokuto()); cont2.DropItem(new DragonNunchaku()); cont2.DropItem(new TheDestroyer()); cont2.DropItem(new HanzosBow()); cont2.DropItem(new Exiler()); cont2.DropItem(new PilferedDancerFans()); cont2.DropItem(new DemonForks()); cont2.DropItem(new BlackLotusHood()); cont2.DropItem(new DaimyosHelm()); cont2.DropItem(new ArmsOfTacticalExcellence()); cont2.DropItem(new AncientFarmersKasa()); cont2.DropItem(new GlovesOfTheSun()); cont2.DropItem(new LegsOfStability()); cont2.DropItem(new AncientSamuraiDo()); cont2.DropItem(new PigmentsOfTokuno()); cont2.DropItem(new FluteOfRenewal()); cont2.DropItem(new AncientUrn()); cont2.DropItem(new HonorableSwords()); cont2.DropItem(new ChestOfHeirlooms()); cont2.DropItem(new TomeOfEnlightenment()); PlaceItemIn(cont, 53, 83, cont2); // End bag of Tokuno minor artifacts // Begin bag of Tokuno major artifacts cont2 = new Bag(); cont2.Hue = 1281; cont2.Name = "Tokuno Major Artifacts"; cont2.DropItem(new DarkenedSky()); cont2.DropItem(new KasaOfTheRajin()); cont2.DropItem(new RuneBeetleCarapace()); cont2.DropItem(new Stormgrip()); cont2.DropItem(new SwordOfTheStampede()); cont2.DropItem(new SwordsOfProsperity()); cont2.DropItem(new TheHorselord()); cont2.DropItem(new TomeOfLostKnowledge()); cont2.DropItem(new WindsEdge()); //cont2.DropItem(new PigmentsOfTokunoMajor(PigmentsType.ParagonGold, 50)); //cont2.DropItem(new PigmentsOfTokunoMajor(PigmentsType.VioletCouragePurple, 50)); //cont2.DropItem(new PigmentsOfTokunoMajor(PigmentsType.InvulnerabilityBlue, 50)); //cont2.DropItem(new PigmentsOfTokunoMajor(PigmentsType.LunaWhite, 50)); //cont2.DropItem(new PigmentsOfTokunoMajor(PigmentsType.DryadGreen, 50)); //cont2.DropItem(new PigmentsOfTokunoMajor(PigmentsType.ShadowDancerBlack, 50)); //cont2.DropItem(new PigmentsOfTokunoMajor(PigmentsType.BerserkerRed, 50)); //cont2.DropItem(new PigmentsOfTokunoMajor(PigmentsType.NoxGreen, 50)); //cont2.DropItem(new PigmentsOfTokunoMajor(PigmentsType.RumRed, 50)); //cont2.DropItem(new PigmentsOfTokunoMajor(PigmentsType.FireOrange, 50)); PlaceItemIn(cont, 127, 83, cont2); // End bag of Tokuno major artifacts // Begin bag of ML Minor artifacts cont2 = new Bag(); cont2.Hue = 1167; cont2.Name = "Minor Artifacts"; cont2.DropItem(new AegisOfGrace()); cont2.DropItem(new BladeDance()); cont2.DropItem(new BloodwoodSpirit()); cont2.DropItem(new Bonesmasher()); cont2.DropItem(new Boomstick()); cont2.DropItem(new BrightsightLenses()); cont2.DropItem(new FeyLeggings()); cont2.DropItem(new FleshRipper()); cont2.DropItem(new HelmOfSwiftness()); cont2.DropItem(new PadsOfTheCuSidhe()); cont2.DropItem(new QuiverOfRage()); cont2.DropItem(new QuiverOfElements()); cont2.DropItem(new RaedsGlory()); cont2.DropItem(new RighteousAnger()); cont2.DropItem(new RobeOfTheEclipse()); cont2.DropItem(new RobeOfTheEquinox()); cont2.DropItem(new SoulSeeker()); cont2.DropItem(new TalonBite()); cont2.DropItem(new TotemOfVoid()); cont2.DropItem(new WildfireBow()); cont2.DropItem(new Windsong()); PlaceItemIn(cont, 140, 83, cont2); // End bag of ML Minor artifacts PlaceItemIn(bank, 63, 106, cont); // End box of Artifacts // Begin box of General Resources cont = new WoodenBox(); cont.ItemID = 0xE7D; cont.Hue = 1193; cont.Name = "Genereal Resources"; // Begin bag of raw materials cont2 = new Bag(); cont2.Name = "Raw Materials Bag"; PlaceItemIn(cont2, 92, 60, new BarbedLeather(5000)); PlaceItemIn(cont2, 92, 68, new HornedLeather(5000)); PlaceItemIn(cont2, 92, 76, new SpinedLeather(5000)); PlaceItemIn(cont2, 92, 84, new Leather(5000)); PlaceItemIn(cont2, 30, 118, new Cloth(5000)); PlaceItemIn(cont2, 30, 84, new Board(5000)); PlaceItemIn(cont2, 57, 80, new BlankScroll(500)); PlaceItemIn(cont2, 57, 80, new Bone(100)); PlaceItemIn(cont2, 30, 35, new DullCopperIngot(5000)); PlaceItemIn(cont2, 37, 35, new ShadowIronIngot(5000)); PlaceItemIn(cont2, 44, 35, new CopperIngot(5000)); PlaceItemIn(cont2, 51, 35, new BronzeIngot(5000)); PlaceItemIn(cont2, 58, 35, new GoldIngot(5000)); PlaceItemIn(cont2, 65, 35, new AgapiteIngot(5000)); PlaceItemIn(cont2, 72, 35, new VeriteIngot(5000)); PlaceItemIn(cont2, 79, 35, new ValoriteIngot(5000)); PlaceItemIn(cont2, 86, 35, new IronIngot(5000)); PlaceItemIn(cont2, 30, 59, new RedScales(5000)); PlaceItemIn(cont2, 36, 59, new YellowScales(5000)); PlaceItemIn(cont2, 42, 59, new BlackScales(5000)); PlaceItemIn(cont2, 48, 59, new GreenScales(5000)); PlaceItemIn(cont2, 54, 59, new WhiteScales(5000)); PlaceItemIn(cont2, 60, 59, new BlueScales(5000)); PlaceItemIn(cont, 40, 93, cont2); // End bag of raw materials // Begin bag of tools cont2 = new Bag(); cont2.Name = "Tool Bag"; cont2.DropItem(new TinkerTools(30000)); cont2.DropItem(new HousePlacementTool()); cont2.DropItem(new DovetailSaw(30000)); cont2.DropItem(new Scissors()); cont2.DropItem(new MortarPestle(30000)); cont2.DropItem(new ScribesPen(30000)); cont2.DropItem(new SmithHammer(30000)); cont2.DropItem(new TwoHandedAxe()); cont2.DropItem(new FletcherTools(30000)); cont2.DropItem(new SewingKit(30000)); cont2.DropItem(new Clippers(30000)); PlaceItemIn(cont, 90, 93, cont2); // End bag of tools // Begin bag of runic tools cont2 = new Backpack(); cont2.Name = "Runic Tool Bag"; PlaceItemIn(cont2, 54, 74, new RunicHammer(CraftResource.DullCopper, 30000)); PlaceItemIn(cont2, 64, 74, new RunicHammer(CraftResource.ShadowIron, 30000)); PlaceItemIn(cont2, 74, 74, new RunicHammer(CraftResource.Copper, 30000)); PlaceItemIn(cont2, 84, 74, new RunicHammer(CraftResource.Bronze, 30000)); PlaceItemIn(cont2, 94, 74, new RunicHammer(CraftResource.Gold, 30000)); PlaceItemIn(cont2, 104, 74, new RunicHammer(CraftResource.Agapite, 30000)); PlaceItemIn(cont2, 114, 74, new RunicHammer(CraftResource.Verite, 30000)); PlaceItemIn(cont2, 124, 74, new RunicHammer(CraftResource.Valorite, 30000)); PlaceItemIn(cont2, 54, 90, new RunicSewingKit(CraftResource.SpinedLeather, 30000)); PlaceItemIn(cont2, 64, 90, new RunicSewingKit(CraftResource.HornedLeather, 30000)); PlaceItemIn(cont2, 74, 90, new RunicSewingKit(CraftResource.BarbedLeather, 30000)); PlaceItemIn(cont2, 54, 107, new RunicFletcherTool(CraftResource.OakWood, 30000)); PlaceItemIn(cont2, 69, 107, new RunicFletcherTool(CraftResource.AshWood, 30000)); PlaceItemIn(cont2, 83, 107, new RunicFletcherTool(CraftResource.YewWood, 30000)); PlaceItemIn(cont2, 97, 107, new RunicFletcherTool(CraftResource.Heartwood, 30000)); PlaceItemIn(cont2, 93, 90, new RunicDovetailSaw(CraftResource.OakWood, 30000)); PlaceItemIn(cont2, 102, 90, new RunicDovetailSaw(CraftResource.AshWood, 30000)); PlaceItemIn(cont2, 112, 90, new RunicDovetailSaw(CraftResource.YewWood, 30000)); PlaceItemIn(cont2, 122, 90, new RunicDovetailSaw(CraftResource.Heartwood, 30000)); PlaceItemIn(cont, 65, 67, cont2); // End bag of runic tools // Begin bag of recipes cont2 = new Bag(); cont2.Name = "Bag of Recipes"; cont2.Hue = 2301; for (int i = 0; i <= 92; i++) { cont2.DropItem(new RecipeScroll(i)); } PlaceItemIn(cont, 115, 93, cont2); // End bag of recipes // Begin bag of archery ammo cont2 = new Bag(); cont2.Name = "Bag Of Archery Ammo"; PlaceItemIn(cont2, 48, 76, new Arrow(5000)); PlaceItemIn(cont2, 72, 76, new Bolt(5000)); PlaceItemIn(cont, 65, 93, cont2); // End bag of archery ammo // Begin bag of Wood cont2 = new Bag(); cont2.Hue = 1321; cont2.Name = "Bag of Wood"; cont2.DropItem(new AshBoard(500)); cont2.DropItem(new YewBoard(500)); cont2.DropItem(new OakBoard(500)); cont2.DropItem(new HeartwoodBoard(500)); cont2.DropItem(new BloodwoodBoard(500)); cont2.DropItem(new FrostwoodBoard(500)); PlaceItemIn(cont, 139, 93, cont2); // End bag of Wood // Begin Bag of Imbuing Materials cont2 = new Bag(); cont2.Hue = 0x4B; cont2.Name = "Bag of Imbuing Materials"; /* * foreach (ImbuingResource resource in Enum.GetValues(typeof(ImbuingResource))) * { * try * { * Type type = ScriptCompiler.FindTypeByFullName(String.Format("Server.Items.{0}", resource.ToString())); * * Item item = (Item)Activator.CreateInstance(type); * item.Amount = 1000; * * cont2.DropItem(item); * } * catch * { * } * } */ PlaceItemIn(cont, 16, 67, cont2); // End Bag of Imbuing Materials // Begin Bag of Elven Materials cont2 = new Bag(); cont2.Hue = 1195; cont2.Name = "Bag of Elven Materials"; cont2.DropItem(new BarkFragment(200)); cont2.DropItem(new Blight(200)); cont2.DropItem(new BlueDiamond(200)); cont2.DropItem(new BrilliantAmber(200)); cont2.DropItem(new CapturedEssence(200)); cont2.DropItem(new Corruption(200)); cont2.DropItem(new DarkSapphire(200)); cont2.DropItem(new DiseasedBark(200)); cont2.DropItem(new DreadHornMane(200)); cont2.DropItem(new EcruCitrine(200)); cont2.DropItem(new EnchantedSwitch(200)); cont2.DropItem(new EyeOfTheTravesty(200)); cont2.DropItem(new FireRuby(200)); cont2.DropItem(new GrizzledBones(200)); cont2.DropItem(new HollowPrism(200)); cont2.DropItem(new JeweledFiligree(200)); cont2.DropItem(new LardOfParoxysmus(200)); cont2.DropItem(new LuminescentFungi(200)); cont2.DropItem(new Muculent(200)); cont2.DropItem(new ParasiticPlant(200)); cont2.DropItem(new PerfectEmerald(200)); cont2.DropItem(new PristineDreadHorn(200)); cont2.DropItem(new Putrefication(200)); cont2.DropItem(new RunedPrism(200)); cont2.DropItem(new Scourge(200)); cont2.DropItem(new SwitchItem(200)); cont2.DropItem(new Taint(200)); cont2.DropItem(new Turquoise(200)); cont2.DropItem(new WhitePearl(200)); PlaceItemIn(cont, 40, 67, cont2); // End Bag of Elven Materials PlaceItemIn(bank, 88, 142, cont); // End box of General Resources // Begin box of Armor Set Pieces cont = new WoodenBox(); cont.ItemID = 0xE7D; cont.Hue = 1194; cont.Name = "Armor Set Pieces"; // Begin Bag of Juggernaut Set cont2 = new Bag(); cont2.Hue = 1177; cont2.Name = "Juggernaut Set"; cont2.DropItem(new MalekisHonor()); cont2.DropItem(new Evocaricus()); PlaceItemIn(cont, 17, 63, cont2); // End Bag of Juggernaut Set // Begin Bag of Hunter Set Armor cont2 = new Bag(); cont2.Hue = 1177; cont2.Name = "Hunter Set Armor"; cont2.DropItem(new HunterGloves()); cont2.DropItem(new HunterLegs()); cont2.DropItem(new HunterArms()); cont2.DropItem(new HunterChest()); PlaceItemIn(cont, 40, 63, cont2); // End Bag of Hunter Set Armor // Begin Bag of Paladin Set Armor cont2 = new Bag(); cont2.Hue = 1177; cont2.Name = "Paladin Set Armor"; cont2.DropItem(new PaladinArms()); cont2.DropItem(new PaladinChest()); cont2.DropItem(new PaladinGloves()); cont2.DropItem(new PaladinGorget()); cont2.DropItem(new PaladinHelm()); cont2.DropItem(new PaladinLegs()); PlaceItemIn(cont, 65, 63, cont2); // End Bag of Paladin Set Armor // Begin Bag of Necromancer Set Armor cont2 = new Bag(); cont2.Hue = 1177; cont2.Name = "Necromancer Set Armor"; cont2.DropItem(new DeathGloves()); cont2.DropItem(new DeathBoneHelm()); cont2.DropItem(new DeathLegs()); cont2.DropItem(new DeathArms()); cont2.DropItem(new DeathChest()); PlaceItemIn(cont, 90, 63, cont2); // End Bag of Necromancer Set Armor // Begin Bag of Acolyte Set Armor cont2 = new Bag(); cont2.Hue = 1177; cont2.Name = "Acolyte Set Armor"; cont2.DropItem(new GreymistGloves()); cont2.DropItem(new GreymistLegs()); cont2.DropItem(new GreymistArms()); cont2.DropItem(new GreymistChest()); PlaceItemIn(cont, 115, 63, cont2); // End Bag of Acolyte Set Armor // Begin Bag of Marksman Set cont2 = new Bag(); cont2.Hue = 1177; cont2.Name = "Marksman Set"; cont2.DropItem(new Feathernock()); cont2.DropItem(new Swiftflight()); PlaceItemIn(cont, 139, 63, cont2); // End Bag of Marksman Set // Begin Bag of Monstrous Interred Grizzle Set Armor cont2 = new Bag(); cont2.Hue = 1177; cont2.Name = "Monstrous Interred Grizzle Set Armor"; cont2.DropItem(new GrizzleGauntlets()); cont2.DropItem(new GrizzleGreaves()); cont2.DropItem(new GrizzleHelm()); cont2.DropItem(new GrizzleTunic()); cont2.DropItem(new GrizzleVambraces()); PlaceItemIn(cont, 17, 89, cont2); // End Bag of Monstrous Interred Grizzle Set Armor // Begin Bag of Warrior Set Armor cont2 = new Bag(); cont2.Hue = 1177; cont2.Name = "Warrior Set Armor"; cont2.DropItem(new DarkwoodChest()); cont2.DropItem(new DarkwoodCrown()); cont2.DropItem(new DarkwoodGloves()); cont2.DropItem(new DarkwoodGorget()); cont2.DropItem(new DarkwoodPauldrons()); cont2.DropItem(new DarkwoodLegs()); PlaceItemIn(cont, 40, 89, cont2); // End Bag of Warrior Set Armor // Begin Bag of Mage Set Armor cont2 = new Bag(); cont2.Hue = 1177; cont2.Name = "Mage Set Armor"; cont2.DropItem(new LeafweaveGloves()); cont2.DropItem(new LeafweaveLegs()); cont2.DropItem(new LeafweavePauldrons()); cont2.DropItem(new LeafweaveChest()); PlaceItemIn(cont, 65, 89, cont2); // End Bag of Mage Set Armor // Begin Bag of Assassin Set Armor cont2 = new Bag(); cont2.Hue = 1177; cont2.Name = "Assassin Set Armor"; cont2.DropItem(new AssassinGloves()); cont2.DropItem(new AssassinLegs()); cont2.DropItem(new AssassinArms()); cont2.DropItem(new AssassinChest()); PlaceItemIn(cont, 90, 89, cont2); // End Bag of Assassin Set Armor // Begin Bag of Myrmidon Set Armor cont2 = new Bag(); cont2.Hue = 1177; cont2.Name = "Myrmidon Set Armor"; cont2.DropItem(new MyrmidonArms()); cont2.DropItem(new MyrmidonChest()); cont2.DropItem(new MyrmidonGloves()); cont2.DropItem(new MyrmidonGorget()); cont2.DropItem(new MyrmidonBascinet()); cont2.DropItem(new MyrmidonLegs()); PlaceItemIn(cont, 115, 89, cont2); // End Bag of Myrmidon Set Armor PlaceItemIn(bank, 113, 142, cont); // End box of Armor Set Pieces PlaceItemIn(bank, 118, 111, new ChargerOfTheFallen()); }
private static void AddSkillItems(SkillName skill, Mobile m, Expansion e) { bool elf = (m.Race == Race.Elf); switch (skill) { case SkillName.Alchemy: { PackItem(new Bottle(4), e); PackItem(new MortarPestle(), e); int hue = Utility.RandomPinkHue(); if (elf) { if (m.Female) { EquipItem(new FemaleElvenRobe(hue), e); } else { EquipItem(new MaleElvenRobe(hue), e); } } else { EquipItem(new Robe(Utility.RandomPinkHue()), e); } break; } case SkillName.Anatomy: { PackItem(new Bandage(3), e); int hue = Utility.RandomYellowHue(); if (elf) { if (m.Female) { EquipItem(new FemaleElvenRobe(hue), e); } else { EquipItem(new MaleElvenRobe(hue), e); } } else { EquipItem(new Robe(Utility.RandomPinkHue()), e); } break; } case SkillName.AnimalLore: { int hue = Utility.RandomBlueHue(); if (elf) { EquipItem(new WildStaff(), e); if (m.Female) { EquipItem(new FemaleElvenRobe(hue), e); } else { EquipItem(new MaleElvenRobe(hue), e); } } else { EquipItem(new ShepherdsCrook(), e); EquipItem(new Robe(hue), e); } break; } case SkillName.Archery: { PackItem(new Arrow(50), e); if (elf) { EquipItem(new ElvenCompositeLongbow(), e); } else { EquipItem(new Bow(), e); } break; } case SkillName.ArmsLore: { if (elf) { switch (Utility.Random(3)) { case 0: EquipItem(new Leafblade(), e); break; case 1: EquipItem(new RuneBlade(), e); break; case 2: EquipItem(new DiamondMace(), e); break; } } else { switch (Utility.Random(3)) { case 0: EquipItem(new Kryss(), e); break; case 1: EquipItem(new Katana(), e); break; case 2: EquipItem(new Club(), e); break; } } break; } case SkillName.Begging: { if (elf) { EquipItem(new WildStaff(), e); } else { EquipItem(new GnarledStaff(), e); } break; } case SkillName.Blacksmith: { PackItem(new Tongs(), e); PackItem(new Pickaxe(), e); PackItem(new Pickaxe(), e); PackItem(new IronIngot(50), e); EquipItem(new HalfApron(Utility.RandomYellowHue()), e); break; } case SkillName.Fletching: { PackItem(new Board(14), e); PackItem(new Feather(5), e); PackItem(new Shaft(5), e); break; } case SkillName.Camping: { PackItem(new Bedroll(), e); PackItem(new Kindling(5), e); break; } case SkillName.Carpentry: { PackItem(new Board(10), e); PackItem(new Saw(), e); EquipItem(new HalfApron(Utility.RandomYellowHue()), e); break; } case SkillName.Cartography: { PackItem(new BlankMap(), e); PackItem(new BlankMap(), e); PackItem(new BlankMap(), e); PackItem(new BlankMap(), e); PackItem(new Sextant(), e); break; } case SkillName.Cooking: { PackItem(new Kindling(2), e); PackItem(new RawLambLeg(), e); PackItem(new RawChickenLeg(), e); PackItem(new RawFishSteak(), e); PackItem(new SackFlour(), e); PackItem(new Pitcher(BeverageType.Water), e); break; } case SkillName.DetectHidden: { EquipItem(new Cloak(997), e); break; } case SkillName.Discordance: { PackInstrument(e); break; } case SkillName.Fencing: { if (elf) { EquipItem(new Leafblade(), e); } else { EquipItem(new Kryss(), e); } break; } case SkillName.Fishing: { EquipItem(new FishingPole(), e); int hue = Utility.RandomYellowHue(); if (elf) { Item i = new Circlet(); i.Hue = hue; EquipItem(i, e); } else { EquipItem(new FloppyHat(Utility.RandomYellowHue()), e); } break; } case SkillName.Healing: { PackItem(new Bandage(50), e); PackItem(new Scissors(), e); break; } case SkillName.Herding: { if (elf) { EquipItem(new WildStaff(), e); } else { EquipItem(new ShepherdsCrook(), e); } break; } case SkillName.Hiding: { EquipItem(new Cloak(997), e); break; } case SkillName.Inscribe: { PackItem(new BlankScroll(2), e); PackItem(new BlueBook(), e); break; } case SkillName.ItemID: { if (elf) { EquipItem(new WildStaff(), e); } else { EquipItem(new GnarledStaff(), e); } break; } case SkillName.Lockpicking: { PackItem(new Lockpick(20), e); break; } case SkillName.Lumberjacking: { EquipItem(new Hatchet(), e); break; } case SkillName.Macing: { if (elf) { EquipItem(new DiamondMace(), e); } else { EquipItem(new Club(), e); } break; } case SkillName.Magery: { var regs = new BagOfReagents(50); /* * if (e < Expansion.AOS) * { * foreach (Item item in regs.Items) * { * item.LootType = LootType.Newbied; * } * } */ PackItem(regs, e); regs.LootType = LootType.Regular; PackScroll(0, e); PackScroll(1, e); PackScroll(2, e); // All characters get a spellbook /* * Spellbook book = new Spellbook((ulong)0xFFFFFFFF); * book.LootType = LootType.Newbied; * EquipItem(book, e); */ if (elf) { EquipItem(new Circlet(), e); if (m.Female) { EquipItem(new FemaleElvenRobe(Utility.RandomBlueHue()), e); } else { EquipItem(new MaleElvenRobe(Utility.RandomBlueHue()), e); } } else { EquipItem(new WizardsHat(), e); EquipItem(new Robe(Utility.RandomBlueHue()), e); } break; } case SkillName.Mining: { PackItem(new Pickaxe(), e); break; } case SkillName.Musicianship: { PackInstrument(e); break; } case SkillName.Peacemaking: { PackInstrument(e); break; } case SkillName.Poisoning: { PackItem(new LesserPoisonPotion(), e); PackItem(new LesserPoisonPotion(), e); break; } case SkillName.Provocation: { PackInstrument(e); break; } case SkillName.Snooping: { PackItem(new Lockpick(20), e); break; } case SkillName.SpiritSpeak: { EquipItem(new Cloak(997), e); break; } case SkillName.Stealing: { PackItem(new Lockpick(20), e); break; } case SkillName.Swords: { if (elf) { EquipItem(new RuneBlade(), e); } else { EquipItem(new Katana(), e); } break; } case SkillName.Tactics: { if (elf) { EquipItem(new RuneBlade(), e); } else { EquipItem(new Katana(), e); } break; } case SkillName.Tailoring: { //PackItem( new BoltOfCloth() ); PackItem(new SewingKit(), e); break; } case SkillName.Tracking: { if (m_Mobile != null) { Item shoes = m_Mobile.FindItemOnLayer(Layer.Shoes); if (shoes != null) { shoes.Delete(); } } int hue = Utility.RandomYellowHue(); if (elf) { EquipItem(new ElvenBoots(hue), e); } else { EquipItem(new Boots(hue), e); } EquipItem(new SkinningKnife(), e); break; } case SkillName.Veterinary: { PackItem(new Bandage(5), e); PackItem(new Scissors(), e); break; } case SkillName.Wrestling: { if (elf) { EquipItem(new LeafGloves(), e); } else { EquipItem(new LeatherGloves(), e); } break; } } }
public override void OnResponse(NetState state, RelayInfo info) //Function for GumpButtonType.Reply Buttons { Mobile from = state.Mobile; switch (info.ButtonID) { case 0: //Case uses the ActionIDs defenied above. Case 0 defenies the actions for the button with the action id 0 { //Cancel from.SendMessage(33, "You decide you dont need anything."); break; } case 1: //Magery Reagents { Item[] Gold = from.Backpack.FindItemsByType(typeof(Gold)); if (from.Backpack.ConsumeTotal(typeof(Gold), 500)) { BagOfReagents BagOfReagents = new BagOfReagents(); from.AddToBackpack(BagOfReagents); from.SendMessage(33, "You bought Bag of Reagents and that costs 500 coins"); } else { from.SendMessage(33, "You are short the coinage needed."); } break; } case 2: //Necro Reagents { Item[] Gold = from.Backpack.FindItemsByType(typeof(Gold)); if (from.Backpack.ConsumeTotal(typeof(Gold), 500)) { BagOfNecroReagents BagOfNecroReagents = new BagOfNecroReagents(); from.AddToBackpack(BagOfNecroReagents); from.SendMessage(33, "You bought Bag of Necromancer Reagents and that costs 500 coins"); } else { from.SendMessage(33, "You are short the coinage needed."); } break; } case 3: //Bandages { Item[] Gold = from.Backpack.FindItemsByType(typeof(Gold)); if (from.Backpack.ConsumeTotal(typeof(Gold), 150)) { BagOfBandages BagOfBandages = new BagOfBandages(); from.AddToBackpack(BagOfBandages); from.SendMessage(33, "You bought Bag of Bandages and that costs 150 coins"); } else { from.SendMessage(33, "You are short the coinage needed."); } break; } case 4: //Weapons { Item[] Gold = from.Backpack.FindItemsByType(typeof(Gold)); if (from.Backpack.ConsumeTotal(typeof(Gold), 200)) { BagOfWeapons BagOfWeapons = new BagOfWeapons(); from.AddToBackpack(BagOfWeapons); from.SendMessage(33, "You bought Bag of Weapons and that costs 200 coins"); } else { from.SendMessage(33, "You are short the coinage needed."); } break; } case 5: //Armors { Item[] Gold = from.Backpack.FindItemsByType(typeof(Gold)); if (from.Backpack.ConsumeTotal(typeof(Gold), 200)) { BagOfArmors BagOfArmors = new BagOfArmors(); from.AddToBackpack(BagOfArmors); from.SendMessage(33, "You bought Bag of Armors and that costs 200 coins"); } else { from.SendMessage(33, "You are short the coinage needed."); } break; } case 6: //Necro Reagents { Item[] Gold = from.Backpack.FindItemsByType(typeof(Gold)); if (from.Backpack.ConsumeTotal(typeof(Gold), 100)) { BagOfClothing BagOfClothing = new BagOfClothing(); from.AddToBackpack(BagOfClothing); from.SendMessage(33, "You bought Bag of Clothing and that costs 100 coins"); } else { from.SendMessage(33, "You are short the coinage needed."); } break; } case 7: //Necro Reagents { Item[] Gold = from.Backpack.FindItemsByType(typeof(Gold)); if (from.Backpack.ConsumeTotal(typeof(Gold), 500)) { BagOfArrowsAndBolts BagOfArrowsAndBolts = new BagOfArrowsAndBolts(); from.AddToBackpack(BagOfArrowsAndBolts); from.SendMessage(33, "You bought Bag of Arrows and Bolts, that costs 500 coins"); } else { from.SendMessage(33, "You are short the coinage needed."); } break; } case 8: //Hair Restyling { Item[] Gold = from.Backpack.FindItemsByType(typeof(Gold)); if (from.Backpack.ConsumeTotal(typeof(Gold), 150)) { HairRestylingDeed HairRestylingDeed = new HairRestylingDeed(); from.AddToBackpack(HairRestylingDeed); from.SendMessage(33, "You bought Hair Restyling Deed and that costs 150 coins"); } else { from.SendMessage(33, "You are short the coinage needed."); } break; } } }
public override void OnResponse(NetState state, RelayInfo info) { PlayerMobile pm = (PlayerMobile)state.Mobile; switch (info.ButtonID) { case (int)Buttons.Mage_Button: { pm.CloseGump(typeof(ClassSelectGump)); pm.SendGump(new ClassSelectGump(Class.Mage)); break; } case (int)Buttons.Warrior_Button: { pm.CloseGump(typeof(ClassSelectGump)); pm.SendGump(new ClassSelectGump(Class.Warrior)); break; } case (int)Buttons.Ranger_Button: { pm.CloseGump(typeof(ClassSelectGump)); pm.SendGump(new ClassSelectGump(Class.Ranger)); break; } case (int)Buttons.Thief_Button: { pm.CloseGump(typeof(ClassSelectGump)); pm.SendGump(new ClassSelectGump(Class.Thief)); break; } case (int)Buttons.Bard_Button: { pm.CloseGump(typeof(ClassSelectGump)); pm.SendGump(new ClassSelectGump(Class.Bard)); break; } case (int)Buttons.Crafter_Button: { pm.CloseGump(typeof(ClassSelectGump)); pm.SendGump(new ClassSelectGump(Class.Crafter)); break; } case (int)Buttons.Okay_Button: { pm.CloseGump(typeof(ClassSelectGump)); pm.Class = selected; //wipe their skills for (int i = 0; i < pm.Skills.Length; i++) { pm.Skills[i].Base = 0; } switch (pm.Class) { case Class.Mage: { pm.Str = 20; pm.Dex = 25; pm.Int = 35; pm.Skills[(SkillName.Alchemy)].Cap = 140; pm.Skills[(SkillName.EvalInt)].Cap = 140; pm.Skills[(SkillName.EvalInt)].Base = 15; pm.Skills[(SkillName.Inscribe)].Cap = 140; pm.Skills[(SkillName.ItemID)].Cap = 140; pm.Skills[(SkillName.ItemID)].Base = 15; pm.Skills[(SkillName.Magery)].Cap = 140; pm.Skills[(SkillName.Meditation)].Cap = 140; pm.Skills[(SkillName.MagicResist)].Cap = 140; pm.Skills[(SkillName.SpiritSpeak)].Cap = 140; Spellbook book = new Spellbook((ulong)0x382A8C38); book.LootType = LootType.Blessed; EquipItem(book); BagOfReagents regs = new BagOfReagents(30); PackItem(regs); regs.LootType = LootType.Regular; EquipItem(new Robe(Utility.RandomBlueHue())); EquipItem(new WizardsHat()); EquipItem(new GnarledStaff()); EquipItem(new LongPants()); EquipItem(new FancyShirt()); EquipItem(new Boots()); break; } case Class.Warrior: { pm.Str = 40; pm.Dex = 30; pm.Int = 10; pm.SkillPoints += 10; pm.Skills[(SkillName.Anatomy)].Cap = 140; pm.Skills[(SkillName.Fencing)].Cap = 140; pm.Skills[(SkillName.Fencing)].Base = 15; pm.Skills[(SkillName.Healing)].Cap = 140; pm.Skills[(SkillName.Macing)].Cap = 140; pm.Skills[(SkillName.Macing)].Base = 15; pm.Skills[(SkillName.Parry)].Cap = 140; pm.Skills[(SkillName.Swords)].Cap = 140; pm.Skills[(SkillName.Swords)].Base = 15; pm.Skills[(SkillName.Tactics)].Cap = 140; pm.Skills[(SkillName.Wrestling)].Cap = 140; EquipItem(new Broadsword()); EquipItem(new RingmailChest()); EquipItem(new RingmailLegs()); EquipItem(new RingmailArms()); EquipItem(new WoodenKiteShield()); EquipItem(new FancyShirt()); EquipItem(new Boots()); PackItem(new Spear()); PackItem(new Mace()); PackItem(new Bandage(50)); break; } case Class.Ranger: { pm.Str = 25; pm.Dex = 35; pm.Int = 20; pm.Skills[(SkillName.AnimalLore)].Cap = 140; pm.Skills[(SkillName.AnimalTaming)].Cap = 140; pm.Skills[(SkillName.Archery)].Cap = 140; pm.Skills[(SkillName.Camping)].Cap = 140; pm.Skills[(SkillName.Cooking)].Cap = 140; pm.Skills[(SkillName.Fishing)].Cap = 140; pm.Skills[(SkillName.Tracking)].Cap = 140; pm.Skills[(SkillName.Tracking)].Base = 15; pm.Skills[(SkillName.Veterinary)].Cap = 140; pm.Skills[(SkillName.Veterinary)].Base = 15; EquipItem(new Bow()); PackItem(new Arrow(500)); PackItem(new Bandage(20)); EquipItem(new StuddedChest()); EquipItem(new StuddedLegs()); EquipItem(new StuddedArms()); EquipItem(new StuddedGloves()); EquipItem(new LeatherCap()); EquipItem(new FancyShirt()); EquipItem(new Boots()); break; } case Class.Thief: { pm.Str = 20; pm.Dex = 40; pm.Int = 20; pm.Skills[(SkillName.DetectHidden)].Cap = 140; pm.Skills[(SkillName.DetectHidden)].Base = 15; pm.Skills[(SkillName.Fencing)].Cap = 140; pm.Skills[(SkillName.Hiding)].Cap = 140; pm.Skills[(SkillName.Lockpicking)].Cap = 140; pm.Skills[(SkillName.Poisoning)].Cap = 140; pm.Skills[(SkillName.Snooping)].Cap = 140; pm.Skills[(SkillName.Stealing)].Cap = 140; pm.Skills[(SkillName.Stealth)].Cap = 140; pm.Skills[(SkillName.Stealth)].Base = 15; PackItem(new LesserPoisonPotion()); PackItem(new LesserPoisonPotion()); PackItem(new LesserPoisonPotion()); PackItem(new LesserPoisonPotion()); PackItem(new LesserPoisonPotion()); PackItem(new Lockpick(10)); EquipItem(new Dagger()); EquipItem(new Robe(Utility.RandomBlueHue())); EquipItem(new LeatherChest()); EquipItem(new LeatherArms()); EquipItem(new LeatherGloves()); EquipItem(new LeatherLegs()); EquipItem(new LeatherCap()); EquipItem(new FancyShirt()); EquipItem(new Boots()); break; } case Class.Bard: { pm.Str = 25; pm.Dex = 30; pm.Int = 25; pm.Skills[(SkillName.Herding)].Cap = 140; pm.Skills[(SkillName.Cartography)].Cap = 140; pm.Skills[(SkillName.Cartography)].Base = 15; pm.Skills[(SkillName.Discordance)].Cap = 140; pm.Skills[(SkillName.Macing)].Cap = 140; pm.Skills[(SkillName.Musicianship)].Cap = 140; pm.Skills[(SkillName.Musicianship)].Base = 15; pm.Skills[(SkillName.Peacemaking)].Cap = 140; pm.Skills[(SkillName.Provocation)].Cap = 140; pm.Skills[(SkillName.TasteID)].Cap = 140; PackItem(new Lute()); PackItem(new ShepherdsCrook()); EquipItem(new LeatherChest()); EquipItem(new LeatherArms()); EquipItem(new LeatherCap()); EquipItem(new LeatherLegs()); EquipItem(new LeatherGloves()); EquipItem(new FancyShirt()); EquipItem(new Boots()); break; } case Class.Crafter: { pm.Str = 35; pm.Dex = 25; pm.Int = 20; pm.SkillPoints -= 20; pm.Skills[(SkillName.ArmsLore)].Cap = 140; pm.Skills[(SkillName.Blacksmith)].Cap = 140; pm.Skills[(SkillName.Fletching)].Cap = 140; pm.Skills[(SkillName.Carpentry)].Cap = 140; pm.Skills[(SkillName.Lumberjacking)].Cap = 140; pm.Skills[(SkillName.Mining)].Cap = 140; pm.Skills[(SkillName.Tailoring)].Cap = 140; pm.Skills[(SkillName.Tinkering)].Cap = 140; PackItem(new Shovel()); PackItem(new Shovel()); PackItem(new SmithHammer()); PackItem(new SewingKit()); PackItem(new Hammer()); PackItem(new Board(15)); EquipItem(new LongPants()); EquipItem(new FancyShirt()); EquipItem(new Boots()); break; } } PackItem(new IDWand()); pm.SkillPoints += 20; for (int i = 0; i < pm.Skills.Length; i++) { if (pm.Skills[i].Cap >= 140) { if (pm.Skills[i].Base >= 15) { pm.Skills[i].Base = 0; } else { pm.Skills[i].Base = 10; } } else { pm.Skills[i].Cap = 100; pm.Skills[i].Base = 0; } } if (pm.Hits < pm.HitsMax) { pm.Hits = pm.HitsMax; } if (pm.Mana < pm.ManaMax) { pm.Mana = pm.ManaMax; } if (pm.Stam < pm.StamMax) { pm.Stam = pm.StamMax; } break; } } }
private static void FillBankAOS(Mobile m) { BankBox bank = m.BankBox; if (bank == null) { return; } // The new AOS bankboxes don't have powerscrolls, they are automatically 'applied': for (int i = 0; i < PowerScroll.Skills.Length; ++i) { m.Skills[PowerScroll.Skills[i]].Cap = 120.0; } m.StatCap = 250; Container cont; // Begin box of money cont = new WoodenBox(); cont.ItemID = 0xE7D; cont.Hue = 0x489; PlaceItemIn(cont, 16, 51, new BankCheck(500000)); PlaceItemIn(cont, 28, 51, new BankCheck(250000)); PlaceItemIn(cont, 40, 51, new BankCheck(100000)); PlaceItemIn(cont, 52, 51, new BankCheck(100000)); PlaceItemIn(cont, 64, 51, new BankCheck(50000)); PlaceItemIn(cont, 16, 115, new Factions.Silver(9000)); PlaceItemIn(cont, 34, 115, new Gold(60000)); PlaceItemIn(bank, 18, 169, cont); // End box of money // Begin bag of potion kegs cont = new Backpack(); cont.Name = "Various Potion Kegs"; PlaceItemIn(cont, 45, 149, MakePotionKeg(PotionEffect.CureGreater, 0x2D)); PlaceItemIn(cont, 69, 149, MakePotionKeg(PotionEffect.HealGreater, 0x499)); PlaceItemIn(cont, 93, 149, MakePotionKeg(PotionEffect.PoisonDeadly, 0x46)); PlaceItemIn(cont, 117, 149, MakePotionKeg(PotionEffect.RefreshTotal, 0x21)); PlaceItemIn(cont, 141, 149, MakePotionKeg(PotionEffect.ExplosionGreater, 0x74)); PlaceItemIn(cont, 93, 82, new Bottle(1000)); PlaceItemIn(bank, 53, 169, cont); // End bag of potion kegs // Begin bag of tools cont = new Bag(); cont.Name = "Tool Bag"; PlaceItemIn(cont, 30, 35, new TinkerTools(1000)); PlaceItemIn(cont, 60, 35, new HousePlacementTool()); PlaceItemIn(cont, 90, 35, new DovetailSaw(1000)); PlaceItemIn(cont, 30, 68, new Scissors()); PlaceItemIn(cont, 45, 68, new MortarPestle(1000)); PlaceItemIn(cont, 75, 68, new ScribesPen(1000)); PlaceItemIn(cont, 90, 68, new SmithHammer(1000)); PlaceItemIn(cont, 30, 118, new TwoHandedAxe()); PlaceItemIn(cont, 60, 118, new FletcherTools(1000)); PlaceItemIn(cont, 90, 118, new SewingKit(1000)); PlaceItemIn(cont, 36, 51, new RunicHammer(CraftResource.DullCopper, 50)); PlaceItemIn(cont, 42, 51, new RunicHammer(CraftResource.ShadowIron, 45)); PlaceItemIn(cont, 48, 51, new RunicHammer(CraftResource.Copper, 40)); PlaceItemIn(cont, 54, 51, new RunicHammer(CraftResource.Bronze, 35)); PlaceItemIn(cont, 61, 51, new RunicHammer(CraftResource.Gold, 30)); PlaceItemIn(cont, 67, 51, new RunicHammer(CraftResource.Agapite, 25)); PlaceItemIn(cont, 73, 51, new RunicHammer(CraftResource.Verite, 20)); PlaceItemIn(cont, 79, 51, new RunicHammer(CraftResource.Valorite, 15)); PlaceItemIn(cont, 36, 55, new RunicSewingKit(CraftResource.SpinedLeather, 45)); PlaceItemIn(cont, 42, 55, new RunicSewingKit(CraftResource.HornedLeather, 30)); PlaceItemIn(cont, 48, 55, new RunicSewingKit(CraftResource.BarbedLeather, 15)); PlaceItemIn(bank, 118, 169, cont); // End bag of tools // Begin bag of archery ammo cont = new Bag(); cont.Name = "Bag Of Archery Ammo"; PlaceItemIn(cont, 48, 76, new Arrow(5000)); PlaceItemIn(cont, 72, 76, new Bolt(5000)); PlaceItemIn(bank, 118, 124, cont); // End bag of archery ammo // Begin bag of treasure maps cont = new Bag(); cont.Name = "Bag Of Treasure Maps"; PlaceItemIn(cont, 30, 35, new TreasureMap(1, Map.Trammel)); PlaceItemIn(cont, 45, 35, new TreasureMap(2, Map.Trammel)); PlaceItemIn(cont, 60, 35, new TreasureMap(3, Map.Trammel)); PlaceItemIn(cont, 75, 35, new TreasureMap(4, Map.Trammel)); PlaceItemIn(cont, 90, 35, new TreasureMap(5, Map.Trammel)); PlaceItemIn(cont, 90, 35, new TreasureMap(6, Map.Trammel)); PlaceItemIn(cont, 30, 50, new TreasureMap(1, Map.Trammel)); PlaceItemIn(cont, 45, 50, new TreasureMap(2, Map.Trammel)); PlaceItemIn(cont, 60, 50, new TreasureMap(3, Map.Trammel)); PlaceItemIn(cont, 75, 50, new TreasureMap(4, Map.Trammel)); PlaceItemIn(cont, 90, 50, new TreasureMap(5, Map.Trammel)); PlaceItemIn(cont, 90, 50, new TreasureMap(6, Map.Trammel)); PlaceItemIn(cont, 55, 100, new Lockpick(30)); PlaceItemIn(cont, 60, 100, new Pickaxe()); PlaceItemIn(bank, 98, 124, cont); // End bag of treasure maps // Begin bag of raw materials cont = new Bag(); cont.Hue = 0x835; cont.Name = "Raw Materials Bag"; PlaceItemIn(cont, 92, 60, new BarbedLeather(5000)); PlaceItemIn(cont, 92, 68, new HornedLeather(5000)); PlaceItemIn(cont, 92, 76, new SpinedLeather(5000)); PlaceItemIn(cont, 92, 84, new Leather(5000)); PlaceItemIn(cont, 30, 118, new Cloth(5000)); PlaceItemIn(cont, 30, 84, new Board(5000)); PlaceItemIn(cont, 57, 80, new BlankScroll(500)); PlaceItemIn(cont, 30, 35, new DullCopperIngot(5000)); PlaceItemIn(cont, 37, 35, new ShadowIronIngot(5000)); PlaceItemIn(cont, 44, 35, new CopperIngot(5000)); PlaceItemIn(cont, 51, 35, new BronzeIngot(5000)); PlaceItemIn(cont, 58, 35, new GoldIngot(5000)); PlaceItemIn(cont, 65, 35, new AgapiteIngot(5000)); PlaceItemIn(cont, 72, 35, new VeriteIngot(5000)); PlaceItemIn(cont, 79, 35, new ValoriteIngot(5000)); PlaceItemIn(cont, 86, 35, new IronIngot(5000)); PlaceItemIn(cont, 30, 59, new RedScales(5000)); PlaceItemIn(cont, 36, 59, new YellowScales(5000)); PlaceItemIn(cont, 42, 59, new BlackScales(5000)); PlaceItemIn(cont, 48, 59, new GreenScales(5000)); PlaceItemIn(cont, 54, 59, new WhiteScales(5000)); PlaceItemIn(cont, 60, 59, new BlueScales(5000)); PlaceItemIn(bank, 98, 169, cont); // End bag of raw materials // Begin bag of spell casting stuff cont = new Backpack(); cont.Hue = 0x480; cont.Name = "Spell Casting Stuff"; PlaceItemIn(cont, 45, 105, new Spellbook(UInt64.MaxValue)); PlaceItemIn(cont, 65, 105, new NecromancerSpellbook((UInt64)0xFFFF)); PlaceItemIn(cont, 85, 105, new BookOfChivalry((UInt64)0x3FF)); PlaceItemIn(cont, 105, 105, new BookOfBushido()); //Default ctor = full PlaceItemIn(cont, 125, 105, new BookOfNinjitsu()); //Default ctor = full Runebook runebook = new Runebook(10); runebook.CurCharges = runebook.MaxCharges; PlaceItemIn(cont, 105, 105, runebook); Item toHue = new BagOfReagents(150); toHue.Hue = 0x2D; PlaceItemIn(cont, 45, 150, toHue); toHue = new BagOfNecroReagents(150); toHue.Hue = 0x488; PlaceItemIn(cont, 65, 150, toHue); PlaceItemIn(cont, 140, 150, new BagOfAllReagents(500)); for (int i = 0; i < 9; ++i) { PlaceItemIn(cont, 45 + (i * 10), 75, new RecallRune()); } PlaceItemIn(cont, 141, 74, new FireHorn()); PlaceItemIn(bank, 78, 169, cont); // End bag of spell casting stuff // Begin bag of ethereals cont = new Backpack(); cont.Hue = 0x490; cont.Name = "Bag Of Ethy's!"; PlaceItemIn(cont, 45, 66, new EtherealHorse()); PlaceItemIn(cont, 69, 82, new EtherealOstard()); PlaceItemIn(cont, 93, 99, new EtherealLlama()); PlaceItemIn(cont, 117, 115, new EtherealKirin()); PlaceItemIn(cont, 45, 132, new EtherealUnicorn()); PlaceItemIn(cont, 69, 66, new EtherealRidgeback()); PlaceItemIn(cont, 93, 82, new EtherealSwampDragon()); PlaceItemIn(cont, 117, 99, new EtherealBeetle()); PlaceItemIn(bank, 38, 124, cont); // End bag of ethereals // Begin first bag of artifacts cont = new Backpack(); cont.Hue = 0x48F; cont.Name = "Bag of Artifacts"; PlaceItemIn(cont, 45, 66, new TitansHammer()); PlaceItemIn(cont, 69, 82, new InquisitorsResolution()); PlaceItemIn(cont, 93, 99, new BladeOfTheRighteous()); PlaceItemIn(cont, 117, 115, new ZyronicClaw()); PlaceItemIn(bank, 58, 124, cont); // End first bag of artifacts // Begin second bag of artifacts cont = new Backpack(); cont.Hue = 0x48F; cont.Name = "Bag of Artifacts"; PlaceItemIn(cont, 45, 66, new GauntletsOfNobility()); PlaceItemIn(cont, 69, 82, new MidnightBracers()); PlaceItemIn(cont, 93, 99, new VoiceOfTheFallenKing()); PlaceItemIn(cont, 117, 115, new OrnateCrownOfTheHarrower()); PlaceItemIn(cont, 45, 132, new HelmOfInsight()); PlaceItemIn(cont, 69, 66, new HolyKnightsBreastplate()); PlaceItemIn(cont, 93, 82, new ArmorOfFortune()); PlaceItemIn(cont, 117, 99, new TunicOfFire()); PlaceItemIn(cont, 45, 115, new LeggingsOfBane()); PlaceItemIn(cont, 69, 132, new ArcaneShield()); PlaceItemIn(cont, 93, 66, new Aegis()); PlaceItemIn(cont, 117, 82, new RingOfTheVile()); PlaceItemIn(cont, 45, 99, new BraceletOfHealth()); PlaceItemIn(cont, 69, 115, new RingOfTheElements()); PlaceItemIn(cont, 93, 132, new OrnamentOfTheMagician()); PlaceItemIn(cont, 117, 66, new DivineCountenance()); PlaceItemIn(cont, 45, 82, new JackalsCollar()); PlaceItemIn(cont, 69, 99, new HuntersHeaddress()); PlaceItemIn(cont, 93, 115, new HatOfTheMagi()); PlaceItemIn(cont, 117, 132, new ShadowDancerLeggings()); PlaceItemIn(cont, 45, 66, new SpiritOfTheTotem()); PlaceItemIn(cont, 69, 82, new BladeOfInsanity()); PlaceItemIn(cont, 93, 99, new AxeOfTheHeavens()); PlaceItemIn(cont, 117, 115, new TheBeserkersMaul()); PlaceItemIn(cont, 45, 132, new Frostbringer()); PlaceItemIn(cont, 69, 66, new BreathOfTheDead()); PlaceItemIn(cont, 93, 82, new TheDragonSlayer()); PlaceItemIn(cont, 117, 99, new BoneCrusher()); PlaceItemIn(cont, 45, 115, new StaffOfTheMagi()); PlaceItemIn(cont, 69, 132, new SerpentsFang()); PlaceItemIn(cont, 93, 66, new LegacyOfTheDreadLord()); PlaceItemIn(cont, 117, 82, new TheTaskmaster()); PlaceItemIn(cont, 45, 99, new TheDryadBow()); PlaceItemIn(bank, 78, 124, cont); // End second bag of artifacts // Begin bag of minor artifacts cont = new Backpack(); cont.Hue = 0x48F; cont.Name = "Bag of Minor Artifacts"; PlaceItemIn(cont, 45, 66, new LunaLance()); PlaceItemIn(cont, 69, 82, new VioletCourage()); PlaceItemIn(cont, 93, 99, new CavortingClub()); PlaceItemIn(cont, 117, 115, new CaptainQuacklebushsCutlass()); PlaceItemIn(cont, 45, 132, new NightsKiss()); PlaceItemIn(cont, 69, 66, new ShipModelOfTheHMSCape()); PlaceItemIn(cont, 93, 82, new AdmiralsHeartyRum()); PlaceItemIn(cont, 117, 99, new CandelabraOfSouls()); PlaceItemIn(cont, 45, 115, new IolosLute()); PlaceItemIn(cont, 69, 132, new GwennosHarp()); PlaceItemIn(cont, 93, 66, new ArcticDeathDealer()); PlaceItemIn(cont, 117, 82, new EnchantedTitanLegBone()); PlaceItemIn(cont, 45, 99, new NoxRangersHeavyCrossbow()); PlaceItemIn(cont, 69, 115, new BlazeOfDeath()); PlaceItemIn(cont, 93, 132, new DreadPirateHat()); PlaceItemIn(cont, 117, 66, new BurglarsBandana()); PlaceItemIn(cont, 45, 82, new GoldBricks()); PlaceItemIn(cont, 69, 99, new AlchemistsBauble()); PlaceItemIn(cont, 93, 115, new PhillipsWoodenSteed()); PlaceItemIn(cont, 117, 132, new PolarBearMask()); PlaceItemIn(cont, 45, 66, new BowOfTheJukaKing()); PlaceItemIn(cont, 69, 82, new GlovesOfThePugilist()); PlaceItemIn(cont, 93, 99, new OrcishVisage()); PlaceItemIn(cont, 117, 115, new StaffOfPower()); PlaceItemIn(cont, 45, 132, new ShieldOfInvulnerability()); PlaceItemIn(cont, 69, 66, new HeartOfTheLion()); PlaceItemIn(cont, 93, 82, new ColdBlood()); PlaceItemIn(cont, 117, 99, new GhostShipAnchor()); PlaceItemIn(cont, 45, 115, new SeahorseStatuette()); PlaceItemIn(cont, 69, 132, new WrathOfTheDryad()); PlaceItemIn(cont, 93, 66, new PixieSwatter()); /* TODO: Make MiBs that have 100% chance of a Ancient SoS * for( int i = 0; i < 10; i++ ) * PlaceItemIn( cont, 117, 128, new MessageInABottle() ); */ PlaceItemIn(bank, 18, 124, cont); }
private static void FillBankAOS(Mobile m) { BankBox bank = m.BankBox; m.StatCap = 250; Container cont; // Begin box of money cont = new WoodenBox(); cont.ItemID = 0xE7D; cont.Hue = 0x489; PlaceItemIn(cont, 16, 51, new BankCheck(500000)); PlaceItemIn(cont, 28, 51, new BankCheck(250000)); PlaceItemIn(cont, 40, 51, new BankCheck(100000)); PlaceItemIn(cont, 52, 51, new BankCheck(100000)); PlaceItemIn(cont, 64, 51, new BankCheck(50000)); PlaceItemIn(cont, 34, 115, new Gold(60000)); PlaceItemIn(bank, 18, 169, cont); // End box of money // Begin bag of potion kegs cont = new Backpack(); cont.Name = "Various Potion Kegs"; PlaceItemIn(cont, 45, 149, MakePotionKeg(PotionEffect.CureGreater, 0x2D)); PlaceItemIn(cont, 69, 149, MakePotionKeg(PotionEffect.HealGreater, 0x499)); PlaceItemIn(cont, 93, 149, MakePotionKeg(PotionEffect.PoisonDeadly, 0x46)); PlaceItemIn(cont, 117, 149, MakePotionKeg(PotionEffect.RefreshTotal, 0x21)); PlaceItemIn(cont, 141, 149, MakePotionKeg(PotionEffect.ExplosionGreater, 0x74)); PlaceItemIn(cont, 93, 82, new Bottle(1000)); PlaceItemIn(bank, 53, 169, cont); // End bag of potion kegs // Begin bag of tools cont = new Bag(); cont.Name = "Tool Bag"; PlaceItemIn(cont, 30, 35, new TinkerTools(1000)); PlaceItemIn(cont, 60, 35, new HousePlacementTool()); PlaceItemIn(cont, 90, 35, new DovetailSaw(1000)); PlaceItemIn(cont, 30, 68, new Scissors()); PlaceItemIn(cont, 45, 68, new MortarPestle(1000)); PlaceItemIn(cont, 75, 68, new ScribesPen(1000)); PlaceItemIn(cont, 90, 68, new SmithHammer(1000)); PlaceItemIn(cont, 30, 118, new TwoHandedAxe()); PlaceItemIn(cont, 60, 118, new FletcherTools(1000)); PlaceItemIn(cont, 90, 118, new SewingKit(1000)); PlaceItemIn(bank, 118, 169, cont); // End bag of tools // Begin bag of archery ammo cont = new Bag(); cont.Name = "Bag Of Archery Ammo"; PlaceItemIn(cont, 48, 76, new Arrow(5000)); PlaceItemIn(cont, 72, 76, new Bolt(5000)); PlaceItemIn(bank, 118, 124, cont); // End bag of archery ammo // Begin bag of treasure maps cont = new Bag(); cont.Name = "Bag Of Treasure Maps"; PlaceItemIn(cont, 30, 35, new TreasureMap(1, Map.Felucca)); PlaceItemIn(cont, 45, 35, new TreasureMap(2, Map.Felucca)); PlaceItemIn(cont, 60, 35, new TreasureMap(3, Map.Felucca)); PlaceItemIn(cont, 75, 35, new TreasureMap(4, Map.Felucca)); PlaceItemIn(cont, 90, 35, new TreasureMap(5, Map.Felucca)); PlaceItemIn(cont, 90, 35, new TreasureMap(6, Map.Felucca)); PlaceItemIn(cont, 30, 50, new TreasureMap(1, Map.Felucca)); PlaceItemIn(cont, 45, 50, new TreasureMap(2, Map.Felucca)); PlaceItemIn(cont, 60, 50, new TreasureMap(3, Map.Felucca)); PlaceItemIn(cont, 75, 50, new TreasureMap(4, Map.Felucca)); PlaceItemIn(cont, 90, 50, new TreasureMap(5, Map.Felucca)); PlaceItemIn(cont, 90, 50, new TreasureMap(6, Map.Felucca)); PlaceItemIn(cont, 55, 100, new Lockpick(30)); PlaceItemIn(cont, 60, 100, new Pickaxe()); PlaceItemIn(bank, 98, 124, cont); // End bag of treasure maps // Begin bag of raw materials cont = new Bag(); cont.Hue = 0x835; cont.Name = "Raw Materials Bag"; PlaceItemIn(cont, 92, 84, new Leather(5000)); PlaceItemIn(cont, 30, 118, new Cloth(5000)); PlaceItemIn(cont, 30, 84, new Board(5000)); PlaceItemIn(cont, 57, 80, new BlankScroll(500)); PlaceItemIn(cont, 30, 35, new DullCopperIngot(5000)); PlaceItemIn(cont, 37, 35, new ShadowIronIngot(5000)); PlaceItemIn(cont, 44, 35, new CopperIngot(5000)); PlaceItemIn(cont, 51, 35, new BronzeIngot(5000)); PlaceItemIn(cont, 58, 35, new GoldIngot(5000)); PlaceItemIn(cont, 65, 35, new AgapiteIngot(5000)); PlaceItemIn(cont, 72, 35, new VeriteIngot(5000)); PlaceItemIn(cont, 79, 35, new ValoriteIngot(5000)); PlaceItemIn(cont, 86, 35, new IronIngot(5000)); PlaceItemIn(bank, 98, 169, cont); // End bag of raw materials // Begin bag of spell casting stuff cont = new Backpack(); cont.Hue = 0x480; cont.Name = "Spell Casting Stuff"; PlaceItemIn(cont, 45, 105, new Spellbook(UInt64.MaxValue)); Runebook runebook = new Runebook(10); runebook.CurCharges = runebook.MaxCharges; PlaceItemIn(cont, 145, 105, runebook); Item toHue = new BagOfReagents(150); toHue.Hue = 0x2D; PlaceItemIn(cont, 45, 150, toHue); for (int i = 0; i < 9; ++i) { PlaceItemIn(cont, 45 + (i * 10), 75, new RecallRune()); } PlaceItemIn(bank, 78, 169, cont); // End bag of spell casting stuff // Begin bag of ethereals cont = new Backpack(); cont.Hue = 0x490; cont.Name = "Bag Of Ethy's!"; PlaceItemIn(cont, 45, 66, new EtherealHorse()); PlaceItemIn(cont, 69, 82, new EtherealOstard()); PlaceItemIn(cont, 93, 99, new EtherealLlama()); PlaceItemIn(cont, 117, 115, new EtherealKirin()); PlaceItemIn(cont, 45, 132, new EtherealUnicorn()); PlaceItemIn(cont, 69, 66, new EtherealRidgeback()); PlaceItemIn(cont, 93, 82, new EtherealSwampDragon()); PlaceItemIn(cont, 117, 99, new EtherealBeetle()); PlaceItemIn(bank, 38, 124, cont); // End bag of ethereals for (int i = 0; i < 10; i++) { PlaceItemIn(cont, 117, 128, new MessageInABottle(Map.Felucca, 4)); } PlaceItemIn(bank, 18, 124, cont); }
private static void AddSkillItems(SkillName skill, Mobile m) { var elf = (m.Race == Race.Elf); var human = (m.Race == Race.Human); var gargoyle = (m.Race == Race.Gargoyle); switch (skill) { case SkillName.Alchemy: { PackItem(new EmptyBottle(4)); PackItem(new MortarPestle()); var hue = Utility.RandomPinkHue(); if (elf) { if (m.Female) { EquipItem(new FemaleElvenRobe(hue)); } else { EquipItem(new MaleElvenRobe(hue)); } } else { EquipItem(new Robe(Utility.RandomPinkHue())); } break; } case SkillName.Anatomy: { PackItem(new Bandage(3)); var hue = Utility.RandomYellowHue(); if (elf) { if (m.Female) { EquipItem(new FemaleElvenRobe(hue)); } else { EquipItem(new MaleElvenRobe(hue)); } } else { EquipItem(new Robe(hue)); } break; } case SkillName.AnimalLore: { var hue = Utility.RandomBlueHue(); if (elf) { EquipItem(new WildStaff()); if (m.Female) { EquipItem(new FemaleElvenRobe(hue)); } else { EquipItem(new MaleElvenRobe(hue)); } } else { EquipItem(new ShepherdsCrook()); EquipItem(new Robe(hue)); } break; } case SkillName.Archery: { PackItem(new Arrow(25)); if (elf) { EquipItem(new ElvenCompositeLongbow()); } else if (human) { EquipItem(new Bow()); } break; } case SkillName.ArmsLore: { if (elf) { switch (Utility.Random(3)) { case 0: EquipItem(new Leafblade()); break; case 1: EquipItem(new RuneBlade()); break; case 2: EquipItem(new DiamondMace()); break; } } else if (human) { switch (Utility.Random(3)) { case 0: EquipItem(new Kryss()); break; case 1: EquipItem(new Katana()); break; case 2: EquipItem(new Club()); break; } } else if (gargoyle) { switch (Utility.Random(3)) { case 0: EquipItem(new BloodBlade()); break; case 1: EquipItem(new GlassSword()); break; case 2: EquipItem(new DiscMace()); break; } } break; } case SkillName.Begging: { if (elf) { EquipItem(new WildStaff()); } else if (human) { EquipItem(new GnarledStaff()); } else if (gargoyle) { EquipItem(new SerpentStoneStaff()); } break; } case SkillName.Blacksmith: { PackItem(new Tongs()); PackItem(new Pickaxe()); PackItem(new Pickaxe()); PackItem(new IronIngot(50)); if (human || elf) { EquipItem(new HalfApron(Utility.RandomYellowHue())); } break; } case SkillName.Bushido: { if (human || elf) { EquipItem(new Hakama()); EquipItem(new Kasa()); } EquipItem(new BookOfBushido()); break; } case SkillName.Fletching: { PackItem(new Board(14)); PackItem(new Feather(5)); PackItem(new Shaft(5)); break; } case SkillName.Camping: { PackItem(new Bedroll()); PackItem(new Kindling(5)); break; } case SkillName.Carpentry: { PackItem(new Board(10)); PackItem(new Saw()); if (human || elf) { EquipItem(new HalfApron(Utility.RandomYellowHue())); } break; } case SkillName.Cartography: { PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new BlankMap()); PackItem(new Sextant()); break; } case SkillName.Cooking: { PackItem(new Kindling(2)); PackItem(new RawLambLeg()); PackItem(new RawChickenLeg()); PackItem(new RawFishSteak()); PackItem(new SackFlour()); PackItem(new Pitcher(BeverageType.Water)); break; } case SkillName.Chivalry: { if (Core.ML) { PackItem(new BookOfChivalry((ulong)0x3FF)); } break; } case SkillName.DetectHidden: { if (human || elf) { EquipItem(new Cloak(0x455)); } break; } case SkillName.Discordance: { PackInstrument(); break; } case SkillName.Fencing: { if (elf) { EquipItem(new Leafblade()); } else if (human) { EquipItem(new Kryss()); } else if (gargoyle) { EquipItem(new BloodBlade()); } break; } case SkillName.Fishing: { EquipItem(new FishingPole()); var hue = Utility.RandomYellowHue(); if (elf) { Item i = new Circlet(); i.Hue = hue; EquipItem(i); } else if (human) { EquipItem(new FloppyHat(hue)); } break; } case SkillName.Healing: { PackItem(new Bandage(50)); PackItem(new Scissors()); break; } case SkillName.Herding: { if (elf) { EquipItem(new WildStaff()); } else { EquipItem(new ShepherdsCrook()); } break; } case SkillName.Hiding: { if (human || elf) { EquipItem(new Cloak(0x455)); } break; } case SkillName.Inscribe: { PackItem(new BlankScroll(2)); PackItem(new BlueBook()); break; } case SkillName.ItemID: { if (elf) { EquipItem(new WildStaff()); } else if (human) { EquipItem(new GnarledStaff()); } else if (gargoyle) { EquipItem(new SerpentStoneStaff()); } break; } case SkillName.Lockpicking: { PackItem(new Lockpick(20)); break; } case SkillName.Lumberjacking: { if (human || elf) { EquipItem(new Hatchet()); } else if (gargoyle) { EquipItem(new DualShortAxes()); } break; } case SkillName.Macing: { if (elf) { EquipItem(new DiamondMace()); } else if (human) { EquipItem(new Club()); } else if (gargoyle) { EquipItem(new DiscMace()); } break; } case SkillName.Magery: { var regs = new BagOfReagents(50); if (!Core.AOS) { foreach (var item in regs.Items) { item.LootType = LootType.Newbied; } } PackItem(regs); regs.LootType = LootType.Regular; PackScroll(0); PackScroll(1); PackScroll(2); var book = new Spellbook((ulong)0x382A8C38); book.LootType = LootType.Blessed; EquipItem(book); if (elf) { EquipItem(new Circlet()); if (m.Female) { EquipItem(new FemaleElvenRobe(Utility.RandomBlueHue())); } else { EquipItem(new MaleElvenRobe(Utility.RandomBlueHue())); } } else { if (human) { EquipItem(new WizardsHat()); } EquipItem(new Robe(Utility.RandomBlueHue())); } break; } case SkillName.Mining: { PackItem(new Pickaxe()); break; } case SkillName.Musicianship: { PackInstrument(); break; } case SkillName.Necromancy: { if (Core.ML) { Container regs = new BagOfNecroReagents(50); PackItem(regs); regs.LootType = LootType.Regular; } Spellbook book = new NecromancerSpellbook( (ulong)0x8981); // animate dead, evil omen, pain spike, summon familiar, wraith form book.LootType = LootType.Blessed; PackItem(book); break; } case SkillName.Ninjitsu: { if (human || elf) { EquipItem(new Hakama(0x2C3)); //Only ninjas get the hued one. EquipItem(new Kasa()); } EquipItem(new BookOfNinjitsu()); break; } case SkillName.Parry: { if (human || elf) { EquipItem(new WoodenShield()); } else if (gargoyle) { EquipItem(new GargishWoodenShield()); } break; } case SkillName.Peacemaking: { PackInstrument(); break; } case SkillName.Poisoning: { PackItem(new LesserPoisonPotion()); PackItem(new LesserPoisonPotion()); break; } case SkillName.Provocation: { PackInstrument(); break; } case SkillName.Snooping: { PackItem(new Lockpick(20)); break; } case SkillName.SpiritSpeak: { if (human || elf) { EquipItem(new Cloak(0x455)); } break; } case SkillName.Stealing: { PackItem(new Lockpick(20)); break; } case SkillName.Swords: { if (elf) { EquipItem(new RuneBlade()); } else if (human) { EquipItem(new Katana()); } else if (gargoyle) { EquipItem(new GlassSword()); } break; } case SkillName.Tactics: { if (elf) { EquipItem(new RuneBlade()); } else if (human) { EquipItem(new Katana()); } else if (gargoyle) { EquipItem(new GlassSword()); } break; } case SkillName.Tailoring: { PackItem(new BoltOfCloth()); PackItem(new SewingKit()); break; } case SkillName.Tinkering: { PackItem(new TinkerTools()); PackItem(new IronIngot(50)); PackItem(new Axle()); PackItem(new AxleGears()); PackItem(new Springs()); PackItem(new ClockFrame()); break; } case SkillName.Tracking: { if (human || elf) { if (m_Mobile != null) { var shoes = m_Mobile.FindItemOnLayer(Layer.Shoes); if (shoes != null) { shoes.Delete(); } } var hue = Utility.RandomYellowHue(); if (elf) { EquipItem(new ElvenBoots(hue)); } else { EquipItem(new Boots(hue)); } EquipItem(new SkinningKnife()); } else if (gargoyle) { PackItem(new SkinningKnife()); } break; } case SkillName.Veterinary: { PackItem(new Bandage(5)); PackItem(new Scissors()); break; } case SkillName.Wrestling: { if (elf) { EquipItem(new LeafGloves()); } else if (human) { EquipItem(new LeatherGloves()); } else if (gargoyle) { // Why not give them arm armor? EquipItem(new GargishLeatherArms()); } break; } case SkillName.Throwing: { if (gargoyle) { EquipItem(new Boomerang()); } break; } case SkillName.Mysticism: { PackItem(new MysticBook((ulong)0xAB)); break; } } }
public static void FillBank(Mobile m) { BankBox bank = m.BankBox; for (int i = 0; i < PowerScroll.Skills.Count; ++i) { m.Skills[PowerScroll.Skills[i]].Cap = 120.0; } m.StatCap = 250; var book = new Runebook(9999); book.CurCharges = book.MaxCharges; book.Entries.Add(new RunebookEntry(new Point3D(1438, 1695, 0), Map.Trammel, "Britain Bank", null)); book.Entries.Add(new RunebookEntry(new Point3D(1821, 2821, 0), Map.Trammel, "Trinsic Bank", null)); book.Entries.Add(new RunebookEntry(new Point3D(1492, 1628, 13), Map.Trammel, "Britain Sweet Dreams", null)); book.Entries.Add(new RunebookEntry(new Point3D(1388, 1507, 10), Map.Trammel, "Britain Graveyard", null)); book.Entries.Add(new RunebookEntry(new Point3D(1300, 1080, 0), Map.Trammel, "Dungeon Despise", null)); book.Entries.Add(new RunebookEntry(new Point3D(1171, 2639, 0), Map.Trammel, "Dungeon Destard", null)); book.Entries.Add(new RunebookEntry(new Point3D(1260, 2296, 0), Map.Trammel, "Hedge Maze", null)); m.AddToBackpack(book); #region Gold var account = m.Account as Account; if (account != null && account.GetTag("TCGold") == null) { account.AddTag("TCGold", "Gold Given"); Banker.Deposit(m, 30000000, false); } #endregion #region Bank Level Items bank.DropItem(new Robe(443)); bank.DropItem(new Dagger()); bank.DropItem(new Candle()); bank.DropItem(new FireworksWand() { Name = "Mininova Fireworks Wand" }); #endregion Container cont; #region TMaps cont = new Bag(); cont.Name = "Bag of Treasure Maps"; for (int i = 0; i < 10; i++) { PlaceItemIn(cont, 30 + (i * 6), 35, new TreasureMap(Utility.Random(3), Map.Trammel)); } for (int i = 0; i < 10; i++) { PlaceItemIn(cont, 30 + (i * 6), 51, new TreasureMap(Utility.Random(3), Map.Trammel)); } for (int i = 0; i < 20; i++) { PlaceItemIn(cont, 76, 91, new MessageInABottle()); } PlaceItemIn(cont, 22, 77, new Shovel(30000)); PlaceItemIn(cont, 57, 97, new Lockpick(3)); PlaceItemIn(bank, 98, 124, cont); #endregion #region Trans Powder cont = new Bag(); PlaceItemIn(cont, 117, 147, new PowderOfTranslocation(100)); PlaceItemIn(bank, 117, 147, cont); #endregion #region Magery Items cont = new WoodenBox(); cont.Hue = 1195; cont.Name = "Magery Items"; PlaceItemIn(cont, 78, 88, new CrimsonCincture() { Hue = 232 }); PlaceItemIn(cont, 102, 90, new CrystallineRing()); var brac = new GoldBracelet(); brac.Name = "Farmer's Bank of Mastery"; brac.Attributes.CastRecovery = 3; brac.Attributes.CastSpeed = 1; PlaceItemIn(cont, 139, 30, brac); Container bag = new Backpack(); bag.Hue = 1152; bag.Name = "Spell Casting Stuff"; PlaceItemIn(bag, 45, 107, new Spellbook(UInt64.MaxValue)); PlaceItemIn(bag, 65, 107, new NecromancerSpellbook((UInt64)0xFFFF)); PlaceItemIn(bag, 85, 107, new BookOfChivalry((UInt64)0x3FF)); PlaceItemIn(bag, 105, 107, new BookOfBushido()); //Default ctor = full PlaceItemIn(bag, 125, 107, new BookOfNinjitsu()); //Default ctor = full PlaceItemIn(bag, 102, 122, new SpellweavingBook((1ul << 16) - 1)); PlaceItemIn(bag, 122, 122, new MysticBook((1ul << 16) - 1)); Runebook runebook = new Runebook(20); runebook.CurCharges = runebook.MaxCharges; PlaceItemIn(bag, 145, 105, runebook); Item toHue = new BagOfReagents(5000); toHue.Hue = 0x2D; PlaceItemIn(bag, 45, 128, toHue); toHue = new BagOfNecroReagents(3000); toHue.Hue = 0x488; PlaceItemIn(bag, 64, 125, toHue); toHue = new BagOfMysticReagents(3000); toHue.Hue = 1167; PlaceItemIn(bag, 141, 128, toHue); for (int i = 0; i < 9; ++i) { PlaceItemIn(bag, 45 + (i * 10), 74, new RecallRune()); } PlaceItemIn(cont, 47, 91, bag); bag = new Backpack(); bag.Name = "Various Potion Kegs"; PlaceItemIn(bag, 45, 149, MakePotionKeg(PotionEffect.CureGreater, 0x2D)); PlaceItemIn(bag, 69, 149, MakePotionKeg(PotionEffect.HealGreater, 0x499)); PlaceItemIn(bag, 93, 149, MakePotionKeg(PotionEffect.PoisonDeadly, 0x46)); PlaceItemIn(bag, 117, 149, MakePotionKeg(PotionEffect.RefreshTotal, 0x21)); PlaceItemIn(bag, 141, 149, MakePotionKeg(PotionEffect.ExplosionGreater, 0x74)); PlaceItemIn(bag, 93, 82, new Bottle(1000)); PlaceItemIn(cont, 53, 169, bag); PlaceItemIn(bank, 63, 142, cont); #endregion #region Silver - No Mas Silver /*cont = new WoodenBox(); * cont.Hue = 1161; * * PlaceItemIn(cont, 47, 91, new Silver(9000)); * PlaceItemIn(bank, 38, 142, cont);*/ #endregion #region Ethys cont = new Backpack(); cont.Hue = 0x490; cont.Name = "Bag Of Ethy's!"; PlaceItemIn(cont, 45, 66, new EtherealHorse()); PlaceItemIn(cont, 93, 99, new EtherealLlama()); PlaceItemIn(cont, 45, 132, new EtherealUnicorn()); PlaceItemIn(cont, 117, 99, new EtherealBeetle()); PlaceItemIn(bank, 38, 124, cont); #endregion }