Example #1
0
        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.");
        }
Example #2
0
		public override void OnDoubleClick( Mobile from )
		{
			BagOfReagents regBag = new BagOfReagents( 50 );

			if ( !from.AddToBackpack( regBag ) )
				regBag.Delete();
		}
Example #3
0
        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());
            }
        }
Example #5
0
        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();
            }
        }
Example #6
0
		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();
		}
Example #7
0
        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;
            }
            }
        }
Example #8
0
        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;
            }
            }
        }
Example #9
0
        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);
        }
Example #10
0
        // 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
        }
Example #11
0
        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;
            }
            }
        }
Example #13
0
        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;
            }
            }
        }
Example #16
0
        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;
            }
            }
        }
Example #17
0
        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);
        }
Example #19
0
        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);
        }
Example #20
0
        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;
            }
            }
        }
Example #21
0
        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
        }