public void PackBag( Mobile from )
		{
			BagOfNecroReagents bag = new BagOfNecroReagents( AmountOfRegs );
			bag.Hue = this.Hue;
			
			if ( !from.AddToBackpack( bag ) )
				bag.Delete();
		}
Exemple #2
0
 public override void OnDoubleClick(Mobile from)
 {
     //Large Bag of Holding---1400 Gold
     Item[] Token = from.Backpack.FindItemsByType(typeof(Gold));
     if (from.Backpack.ConsumeTotal(typeof(Gold), 1400))
     {
         BagOfNecroReagents BagOfNecroReagents = new BagOfNecroReagents(50);
         from.AddToBackpack(BagOfNecroReagents);
         from.SendMessage("1400 gold has been removed from your pack.");
     }
     else
     {
         from.SendMessage("You do not have enough funds for that.");
     }
 }
		public override void OnDoubleClick( Mobile from )
		{
			Container pack = from.Backpack;
			
			if ( pack != null && pack.ConsumeTotal( typeof( Gold ), 3200) )
			{
			BagOfNecroReagents necBag = new BagOfNecroReagents( 40 );

			if ( !from.AddToBackpack( necBag ) )
				necBag.Delete();
		}
			else
			{
				from.SendMessage( 0XAD, "You need at least 3200gp in your backpack to use this." );
			}
		}
Exemple #4
0
		public override void OnDoubleClick( Mobile from )
		{
                  //Large Bag of Holding---1400 Gold
		   	Item[] Token = from.Backpack.FindItemsByType( typeof( Gold ) );
		   	if ( from.Backpack.ConsumeTotal( typeof( Gold ), 1400 ) )
		{
         	   	BagOfNecroReagents BagOfNecroReagents = new BagOfNecroReagents( 50 );
		   	from.AddToBackpack( BagOfNecroReagents );
			from.SendMessage( "1400 gold has been removed from your pack." );
		}
		   	else
		   	{
		   		from.SendMessage( "You do not have enough funds for that." );
		   	}
					
		}
Exemple #5
0
        public override void OnDoubleClick(Mobile from)
        {
            Container pack = from.Backpack;

            if (pack != null && pack.ConsumeTotal(typeof(Gold), 3200))
            {
                BagOfNecroReagents necBag = new BagOfNecroReagents(40);

                if (!from.AddToBackpack(necBag))
                {
                    necBag.Delete();
                }
            }
            else
            {
                from.SendMessage(0XAD, "You need at least 3200gp in your backpack to use this.");
            }
        }
		public override void OnDoubleClick( Mobile from )
		{
			Container pack = from.Backpack;
			if ( pack.ConsumeTotal( typeof( Gold ), 1200 ) )
			{
			BagOfNecroReagents regBag = new BagOfNecroReagents( 50 );

			if ( !from.AddToBackpack( regBag ) )
				regBag.Delete();
			}
			else
			{
			from.SendMessage( "You do not have enough money.");
			}



		}
        public override void OnDoubleClick( Mobile from )
        {
            Type[] m_Reagents;
            m_Reagents = new Type[5];
            m_Reagents[0] =	Reagent.NoxCrystal;
            m_Reagents[1] =	Reagent.GraveDust;
            m_Reagents[2] =	Reagent.PigIron;
            m_Reagents[3] =	Reagent.BatWing;
            m_Reagents[4] =	Reagent.DaemonBlood;

            int[] m_Amounts;
            m_Amounts = new int[5];
            if (!(m_Amount > 0))
                m_Amount = 30;
            for ( int i = 0; i < 5; ++i )
                m_Amounts[i] = m_Amount;

             			BagOfNecroReagents regBag = new BagOfNecroReagents( m_Amount );
            if ((from.BankBox != null) && (from.BankBox.ConsumeTotal(m_Reagents, m_Amounts) == -1))
            {
                if ( !from.AddToBackpack( regBag ) )
                    regBag.Delete();
            } else from.SendMessage("You do not have enough reagents in your bank.");
        }
Exemple #8
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( hue ) );
                    }
                    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( 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:
                {
                    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:
                {
                    if( Core.ML )
                    {
                        Container regs = new BagOfNecroReagents( 50 );

                        PackItem( regs );

                        regs.LootType = LootType.Regular;
                    }

                    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;
                }
            }
        }
Exemple #9
0
        public static void GetListOfItems(Mobile from)
        {
            //List of Item Locations Message
            //***Put item into Backpack
            #region Backpack
            from.SendMessage("You will find new items in your Backpack.");
            from.Backpack.AddItem(new KillBook());                          //http://www.runuo.com/forums/custom-script-releases/80034-book-kills.html
            from.Backpack.AddItem(new AnNoxGuideBook());
            #endregion

            //***Drop item on the Ground
            #region Ground
            //put item under player on the ground
            from.SendMessage("You will find new items on the ground near by.");
            new SewingKit().MoveToWorld(from.Location, from.Map);
            new Bible().MoveToWorld(from.Location, from.Map);               //http://www.runuo.com/forums/custom-script-releases/71826-runuo-2-0-rc1-lokais-xml-bible-system.html
            new BeltranGuideBook().MoveToWorld(from.Location, from.Map);    //http://www.runuo.com/forums/runuo-post-archive/34074-osi-library-books.html
            new PrimerArmsBook().MoveToWorld(from.Location, from.Map);      //http://www.runuo.com/forums/runuo-post-archive/34074-osi-library-books.html

            //put item near player on the ground
            new BagOfDresses().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfJewlery().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfShirts().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfPants().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfShoes().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfCloaks().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfHats().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            #endregion

            //***Put item into Bank
            #region Bank
            from.SendMessage("You will find new items in your Bank.");
            BankBox   bank = from.BankBox;
            Container cont;

            // Begin box of money
            cont        = new WoodenBox();
            cont.Name   = "Money Box";
            cont.ItemID = 0xE7D;
            cont.Hue    = 0x489;

            PlaceItemIn(cont, 64, 51, new BankCheck(5000));
            PlaceItemIn(cont, 16, 115, new Factions.Silver(1000));
            PlaceItemIn(cont, 34, 115, new Gold(1000));

            PlaceItemIn(bank, 18, 169, cont);

            // Begin bag of archery ammo
            cont      = new Bag();
            cont.Name = "Bag Of Archery Ammo";

            PlaceItemIn(cont, 48, 76, new Arrow(50));
            PlaceItemIn(cont, 72, 76, new Bolt(50));

            PlaceItemIn(bank, 118, 124, cont);

            // Begin bag of raw materials
            cont      = new Bag();
            cont.Hue  = 0x835;
            cont.Name = "Raw Materials Bag";

            PlaceItemIn(cont, 92, 84, new Leather(50));
            PlaceItemIn(cont, 30, 118, new Cloth(50));
            PlaceItemIn(cont, 30, 84, new Board(50));
            PlaceItemIn(cont, 57, 80, new BlankScroll(50));

            PlaceItemIn(bank, 98, 169, cont);

            // 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, 145, 105, runebook);

            Item toHue = new BagOfReagents(50);
            toHue.Hue  = 0x2D;
            toHue.Name = "Bag of Basic Reagents";
            PlaceItemIn(cont, 45, 150, toHue);

            toHue      = new BagOfNecroReagents(50);
            toHue.Hue  = 0x488;
            toHue.Name = "Bag of Necro Reagents";
            PlaceItemIn(cont, 65, 150, toHue);

            toHue      = new BagOfAllReagents(50);
            toHue.Hue  = 0x2D;
            toHue.Name = "Bag of All Reagents";
            PlaceItemIn(cont, 140, 150, toHue);

            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);
            #endregion
        }
Exemple #10
0
        private static void FillBankbox( 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.Length; ++i )
                m.Skills[PowerScroll.Skills[i]].Cap = 120.0;

            m.StatCap = 250;

            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 SpellweavingSpellbook( (UInt64) 0xFFFF ) );
            PlaceItemIn( cont2, 121, 149, new MysticismSpellbook( (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.RefreshGreater, 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 AdmiralsHeartyRum() );
            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 KasaOfRajin() );
            cont2.DropItem( new RuneBeetleCarapace() );
            cont2.DropItem( new Stormgrip() );
            cont2.DropItem( new SwordOfStampede() );
            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 QuiverOfTheElements() );
            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 TotemOfTheVoid() );
            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 RunicFletchersTools( CraftResource.Oak, 30000 ) );
            PlaceItemIn( cont2, 69, 107, new RunicFletchersTools( CraftResource.Ash, 30000 ) );
            PlaceItemIn( cont2, 83, 107, new RunicFletchersTools( CraftResource.Yew, 30000 ) );
            PlaceItemIn( cont2, 97, 107, new RunicFletchersTools( CraftResource.Heartwood, 30000 ) );

            PlaceItemIn( cont2, 93, 90, new RunicDovetailSaw( CraftResource.Oak, 30000 ) );
            PlaceItemIn( cont2, 102, 90, new RunicDovetailSaw( CraftResource.Ash, 30000 ) );
            PlaceItemIn( cont2, 112, 90, new RunicDovetailSaw( CraftResource.Yew, 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 Putrefaction( 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 HunterLeggings() );
            cont2.DropItem( new HunterSleeves() );
            cont2.DropItem( new HunterTunic() );

            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 PlateOfHonorArms() );
            cont2.DropItem( new PlateOfHonorChest() );
            cont2.DropItem( new PlateOfHonorGloves() );
            cont2.DropItem( new PlateOfHonorGorget() );
            cont2.DropItem( new PlateOfHonorHelm() );
            cont2.DropItem( new PlateOfHonorLegs() );

            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 DeathsEssenceGloves() );
            cont2.DropItem( new DeathsEssenceHelm() );
            cont2.DropItem( new DeathsEssenceLeggings() );
            cont2.DropItem( new DeathsEssenceSleeves() );
            cont2.DropItem( new DeathsEssenceTunic() );

            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 AcolyteGloves() );
            cont2.DropItem( new AcolyteLeggings() );
            cont2.DropItem( new AcolyteSleeves() );
            cont2.DropItem( new AcolyteTunic() );

            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 GauntletsOfTheGrizzle() );
            cont2.DropItem( new GreavesOfTheGrizzle() );
            cont2.DropItem( new SkullHelmOfTheGrizzle() );
            cont2.DropItem( new TunicOfTheGrizzle() );
            cont2.DropItem( new VambracesOfTheGrizzle() );

            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 DarkwoodGauntlets() );
            cont2.DropItem( new DarkwoodGorget() );
            cont2.DropItem( new DarkwoodPauldrons() );
            cont2.DropItem( new DarkwoodLeggings() );

            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 LeafweaveLeggings() );
            cont2.DropItem( new LeafweaveSleeves() );
            cont2.DropItem( new LeafweaveTunic() );

            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 AssassinLeggings() );
            cont2.DropItem( new AssassinSleeves() );
            cont2.DropItem( new AssassinTunic() );

            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 MyrmidonHelm() );
            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 FillBankAOS(Mobile m)
        {
            BankBox bank = m.BankBox;

            // 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 = 325;


            Container cont;

            //Here is where you can add new stuff to bank box, but need to follow the numbers...
            // Begin box of money
            cont = new WoodenBox();
            cont.ItemID = 0xE7D;
            cont.Hue = 0x489;
            //Example...PlaceItemIn(cont, 16, 51, new VikingSword() );See how first number is
            //always 12 away...
            PlaceItemIn(cont, 28, 51, new Scissors());
            PlaceItemIn(cont, 40, 51, new EtherealUnicorn());
            PlaceItemIn(cont, 52, 51, new EtherealHorse());
            PlaceItemIn(cont, 64, 51, new BankCheck(100000));
            //PlaceItemIn(cont, 76, 51, new NewCharStartupArmorBag());           
            ///PlaceItemIn(cont, 88, 51, new LargeMarbleDeed());
         
            

            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, 1000 ) );
            PlaceItemIn( cont, 42, 51, new RunicHammer( CraftResource.ShadowIron, 1000 ) );
            PlaceItemIn( cont, 48, 51, new RunicHammer( CraftResource.Copper, 1000 ) );
            PlaceItemIn( cont, 54, 51, new RunicHammer( CraftResource.Bronze, 1000 ) );
            PlaceItemIn( cont, 61, 51, new RunicHammer( CraftResource.Gold, 1000 ) );
            PlaceItemIn( cont, 67, 51, new RunicHammer( CraftResource.Agapite, 1000 ) );
            PlaceItemIn( cont, 73, 51, new RunicHammer( CraftResource.Verite, 1000 ) );
            PlaceItemIn( cont, 79, 51, new RunicHammer( CraftResource.Valorite, 1000 ) );

            PlaceItemIn( cont, 36, 55, new RunicSewingKit( CraftResource.SpinedLeather, 1000 ) );
            PlaceItemIn( cont, 42, 55, new RunicSewingKit( CraftResource.HornedLeather, 1000 ) );
            PlaceItemIn( cont, 48, 55, new RunicSewingKit( CraftResource.BarbedLeather, 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.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 RecallRune(10) );
            //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, 145, 105, runebook);

            Item toHue = new BagOfReagents(50);
            toHue.Hue = 0x2D;
            PlaceItemIn(cont, 45, 150, toHue);

            toHue = new BagOfNecroReagents(50);
            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);

        }
		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 = 225;


			Container cont;


			//egin 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.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, 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( 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";




			/*	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 );
		}
        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[] Silver = from.Backpack.FindItemsByType(typeof(Factions.Silver));
                        if (from.Backpack.ConsumeTotal(typeof(Factions.Silver), 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[] Silver = from.Backpack.FindItemsByType(typeof(Factions.Silver));
                        if (from.Backpack.ConsumeTotal(typeof(Factions.Silver), 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[] Silver = from.Backpack.FindItemsByType(typeof(Factions.Silver));
                        if (from.Backpack.ConsumeTotal(typeof(Factions.Silver), 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 silver coinage needed.");
                        }
                        break;
                    }
                case 4: //Weapons
                    {
                        Item[] Silver = from.Backpack.FindItemsByType(typeof(Factions.Silver));
                        if (from.Backpack.ConsumeTotal(typeof(Factions.Silver), 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[] Silver = from.Backpack.FindItemsByType(typeof(Factions.Silver));
                        if (from.Backpack.ConsumeTotal(typeof(Factions.Silver), 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[] Silver = from.Backpack.FindItemsByType(typeof(Factions.Silver));
                        if (from.Backpack.ConsumeTotal(typeof(Factions.Silver), 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[] Silver = from.Backpack.FindItemsByType(typeof(Factions.Silver));
                        if (from.Backpack.ConsumeTotal(typeof(Factions.Silver), 500))
                        {
                            BagOfTools BagOfTools = new BagOfTools();
                            from.AddToBackpack(BagOfTools);
                            from.SendMessage(33, "You bought Bag of Tools and that costs 50 coins");
                        }
                        else
                        {
                            from.SendMessage(33, "You are short the coinage needed.");
                        }
                        break;
                    }
                case 8: //Hair Restyling
                    {
                        Item[] Silver = from.Backpack.FindItemsByType(typeof(Factions.Silver));
                        if (from.Backpack.ConsumeTotal(typeof(Factions.Silver), 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;
                    }
            }
        }
Exemple #14
0
        public static void GetListOfItems(Mobile from)
        {
            //List of Item Locations Message
            //***Put item into Backpack
            #region Backpack
            from.SendMessage("You will find new items in your Backpack.");
            from.Backpack.AddItem(new KillBook());                          //http://www.runuo.com/forums/custom-script-releases/80034-book-kills.html
            from.Backpack.AddItem(new AnNoxGuideBook());
            #endregion

            //***Drop item on the Ground
            #region Ground
            //put item under player on the ground
            from.SendMessage("You will find new items on the ground near by.");
            new SewingKit().MoveToWorld(from.Location, from.Map);
            new Bible().MoveToWorld(from.Location, from.Map);               //http://www.runuo.com/forums/custom-script-releases/71826-runuo-2-0-rc1-lokais-xml-bible-system.html
            new BeltranGuideBook().MoveToWorld(from.Location, from.Map);    //http://www.runuo.com/forums/runuo-post-archive/34074-osi-library-books.html
            new PrimerArmsBook().MoveToWorld(from.Location, from.Map);      //http://www.runuo.com/forums/runuo-post-archive/34074-osi-library-books.html

            //put item near player on the ground
            new BagOfDresses().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfJewlery().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfShirts().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfPants().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfShoes().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfCloaks().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            new BagOfHats().MoveToWorld(new Point3D(from.X + Utility.RandomMinMax(-5, 5), from.Y + Utility.RandomMinMax(-5, 5), from.Z), from.Map);
            #endregion

            //***Put item into Bank
            #region Bank
            from.SendMessage("You will find new items in your Bank.");
            BankBox bank = from.BankBox;
            Container cont;

            // Begin box of money
            cont = new WoodenBox();
            cont.Name = "Money Box";
            cont.ItemID = 0xE7D;
            cont.Hue = 0x489;

            PlaceItemIn(cont, 64, 51, new BankCheck(5000));
            PlaceItemIn(cont, 16, 115, new Factions.Silver(1000));
            PlaceItemIn(cont, 34, 115, new Gold(1000));

            PlaceItemIn(bank, 18, 169, cont);

            // Begin bag of archery ammo
            cont = new Bag();
            cont.Name = "Bag Of Archery Ammo";

            PlaceItemIn(cont, 48, 76, new Arrow(50));
            PlaceItemIn(cont, 72, 76, new Bolt(50));

            PlaceItemIn(bank, 118, 124, cont);

            // Begin bag of raw materials
            cont = new Bag();
            cont.Hue = 0x835;
            cont.Name = "Raw Materials Bag";

            PlaceItemIn(cont, 92, 84, new Leather(50));
            PlaceItemIn(cont, 30, 118, new Cloth(50));
            PlaceItemIn(cont, 30, 84, new Board(50));
            PlaceItemIn(cont, 57, 80, new BlankScroll(50));

            PlaceItemIn(bank, 98, 169, cont);

            // 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, 145, 105, runebook);

            Item toHue = new BagOfReagents(50);
            toHue.Hue = 0x2D;
            toHue.Name = "Bag of Basic Reagents";
            PlaceItemIn(cont, 45, 150, toHue);

            toHue = new BagOfNecroReagents(50);
            toHue.Hue = 0x488;
            toHue.Name = "Bag of Necro Reagents";
            PlaceItemIn(cont, 65, 150, toHue);

            toHue = new BagOfAllReagents(50);
            toHue.Hue = 0x2D;
            toHue.Name = "Bag of All Reagents";
            PlaceItemIn(cont, 140, 150, toHue);

            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);
            #endregion
        }
Exemple #15
0
        private static void SetSkills( Mobile m, SkillNameValue[] skills, int prof )
        {
            switch ( prof )
            {
                case 1: // Warrior
                {
                    skills = new SkillNameValue[]
                        {
                            new SkillNameValue( SkillName.Anatomy, 30 ),
                            new SkillNameValue( SkillName.Healing, 45 ),
                            new SkillNameValue( SkillName.Swords, 35 ),
                            new SkillNameValue( SkillName.Tactics, 50 )
                        };

                    break;
                }
                case 2: // Magician
                {
                    skills = new SkillNameValue[]
                        {
                            new SkillNameValue( SkillName.EvalInt, 30 ),
                            new SkillNameValue( SkillName.Wrestling, 30 ),
                            new SkillNameValue( SkillName.Magery, 50 ),
                            new SkillNameValue( SkillName.Meditation, 50 )
                        };

                    break;
                }
                case 3: // Blacksmith
                {
                    skills = new SkillNameValue[]
                        {
                            new SkillNameValue( SkillName.Mining, 30 ),
                            new SkillNameValue( SkillName.ArmsLore, 30 ),
                            new SkillNameValue( SkillName.Blacksmith, 50 ),
                            new SkillNameValue( SkillName.Tinkering, 50 )
                        };

                    break;
                }
                case 4: // Necromancer
                {
                    skills = new SkillNameValue[]
                        {
                            new SkillNameValue( SkillName.Necromancy, 50 ),
                            new SkillNameValue( SkillName.Focus, 30 ),
                            new SkillNameValue( SkillName.SpiritSpeak, 30 ),
                            new SkillNameValue( SkillName.Swords, 30 ),
                            new SkillNameValue( SkillName.Tactics, 20 )
                        };

                    break;
                }
                case 5: // Paladin
                {
                    skills = new SkillNameValue[]
                        {
                            new SkillNameValue( SkillName.Chivalry, 51 ),
                            new SkillNameValue( SkillName.Swords, 49 ),
                            new SkillNameValue( SkillName.Focus, 30 ),
                            new SkillNameValue( SkillName.Tactics, 30 )
                        };

                    break;
                }
                case 6:	//Samurai
                {
                    skills = new SkillNameValue[]
                        {
                            new SkillNameValue( SkillName.Bushido, 50 ),
                            new SkillNameValue( SkillName.Swords, 50 ),
                            new SkillNameValue( SkillName.Anatomy, 30 ),
                            new SkillNameValue( SkillName.Healing, 30 )
                    };
                    break;
                }
                case 7:	//Ninja
                {
                    skills = new SkillNameValue[]
                        {
                            new SkillNameValue( SkillName.Ninjitsu, 50 ),
                            new SkillNameValue( SkillName.Hiding, 50 ),
                            new SkillNameValue( SkillName.Fencing, 30 ),
                            new SkillNameValue( SkillName.Stealth, 30 )
                        };
                    break;
                }
                default:
                {
                    if ( !ValidSkills( skills ) )
                        return;

                    break;
                }
            }

            bool addSkillItems = true;
            bool elf = (m.Race == Race.Elf);

            switch ( prof )
            {
                case 1: // Warrior
                {
                    if ( elf )
                        EquipItem( new LeafChest() );
                    else
                        EquipItem( new LeatherChest() );
                    break;
                }
                case 4: // Necromancer
                {
                    Container regs = new BagOfNecroReagents( 50 );

                    if ( !Core.AOS )
                    {
                        foreach ( Item item in regs.Items )
                            item.LootType = LootType.Newbied;
                    }

                    PackItem( regs );

                    regs.LootType = LootType.Regular;

                    EquipItem( new BoneHelm() );

                    if ( elf )
                    {
                        EquipItem( new ElvenMachete() );
                        EquipItem( NecroHue( new LeafChest() ) );
                        EquipItem( NecroHue( new LeafArms() ) );
                        EquipItem( NecroHue( new LeafGloves() ) );
                        EquipItem( NecroHue( new LeafGorget() ) );
                        EquipItem( NecroHue( new LeafGorget() ) );
                        EquipItem( NecroHue( new ElvenPants() ) );	//TODO: Verify the pants
                        EquipItem( new ElvenBoots() );
                    }
                    else
                    {
                        EquipItem( new BoneHarvester() );
                        EquipItem( NecroHue( new LeatherChest() ) );
                        EquipItem( NecroHue( new LeatherArms() ) );
                        EquipItem( NecroHue( new LeatherGloves() ) );
                        EquipItem( NecroHue( new LeatherGorget() ) );
                        EquipItem( NecroHue( new LeatherLegs() ) );
                        EquipItem( NecroHue( new Skirt() ) );
                        EquipItem( new Sandals( 0x8FD ) );
                    }

                    Spellbook book = new NecromancerSpellbook( (ulong)0x8981 ); // animate dead, evil omen, pain spike, summon familiar, wraith form

                    PackItem( book );

                    book.LootType = LootType.Blessed;

                    addSkillItems = false;

                    break;
                }
                case 5: // Paladin
                {
                    if ( elf )
                    {
                        EquipItem( new ElvenMachete() );
                        EquipItem( new WingedHelm() );
                        EquipItem( new LeafGorget() );
                        EquipItem( new LeafArms() );
                        EquipItem( new LeafChest() );
                        EquipItem( new LeafLegs() );
                        EquipItem( new ElvenBoots() );	//Verify hue
                    }
                    else
                    {
                        EquipItem( new Broadsword() );
                        EquipItem( new Helmet() );
                        EquipItem( new PlateGorget() );
                        EquipItem( new RingmailArms() );
                        EquipItem( new RingmailChest() );
                        EquipItem( new RingmailLegs() );
                        EquipItem( new ThighBoots( 0x748 ) );
                        EquipItem( new Cloak( 0xCF ) );
                        EquipItem( new BodySash( 0xCF ) );
                    }

                    Spellbook book = new BookOfChivalry( (ulong)0x3FF );

                    PackItem( book );

                    book.LootType = LootType.Blessed;

                    addSkillItems = false;

                    break;
                }

                case 6: // Samurai
                {
                    addSkillItems = false;
                    EquipItem( new HakamaShita( 0x2C3 ) );
                    EquipItem( new Hakama( 0x2C3 ) );
                    EquipItem( new SamuraiTabi( 0x2C3 ) );
                    EquipItem( new TattsukeHakama( 0x22D ) );
                    EquipItem( new Bokuto() );

                    if ( elf )
                        EquipItem( new RavenHelm() );
                    else
                        EquipItem( new LeatherJingasa() );

                    PackItem( new Scissors() );
                    PackItem( new Bandage( 50 ) );

                    Spellbook book = new BookOfBushido();
                    PackItem( book );

                    break;
                }
                case 7: // Ninja
                {
                    addSkillItems = false;
                    EquipItem( new Kasa() );

                    int[] hues = new int[] { 0x1A8, 0xEC, 0x99, 0x90, 0xB5, 0x336, 0x89	};
                    //TODO: Verify that's ALL the hues for that above.

                    EquipItem( new TattsukeHakama( hues[Utility.Random(hues.Length)] ) );

                    EquipItem( new HakamaShita( 0x2C3 ) );
                    EquipItem( new NinjaTabi( 0x2C3 ) );

                    if ( elf )
                        EquipItem( new AssassinSpike() );
                    else
                        EquipItem( new Tekagi() );

                    PackItem( new SmokeBomb() );

                    Spellbook book = new BookOfNinjitsu();
                    PackItem( book );

                    break;
                }
            }

            for ( int i = 0; i < skills.Length; ++i )
            {
                SkillNameValue snv = skills[i];

                if ( snv.Value > 0 && ( snv.Name != SkillName.Stealth || prof == 7 ) && snv.Name != SkillName.RemoveTrap && snv.Name != SkillName.Spellweaving )
                {
                    Skill skill = m.Skills[snv.Name];

                    if ( skill != null )
                    {
                        skill.BaseFixedPoint = snv.Value * 10;

                        if ( addSkillItems )
                            AddSkillItems( snv.Name, m );
                    }
                }
            }
        }
Exemple #16
0
        private static void FillBankAOS( Mobile m )
        {
            BankBox bank = m.BankBox;

            // 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 = 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, 1000 ) );
            PlaceItemIn( cont, 42, 51, new RunicHammer( CraftResource.ShadowIron, 1000 ) );
            PlaceItemIn( cont, 48, 51, new RunicHammer( CraftResource.Copper, 1000 ) );
            PlaceItemIn( cont, 54, 51, new RunicHammer( CraftResource.Bronze, 1000 ) );
            PlaceItemIn( cont, 61, 51, new RunicHammer( CraftResource.Gold, 1000 ) );
            PlaceItemIn( cont, 67, 51, new RunicHammer( CraftResource.Agapite, 1000 ) );
            PlaceItemIn( cont, 73, 51, new RunicHammer( CraftResource.Verite, 1000 ) );
            PlaceItemIn( cont, 79, 51, new RunicHammer( CraftResource.Valorite, 1000 ) );

            PlaceItemIn( cont, 36, 55, new RunicSewingKit( CraftResource.SpinedLeather, 1000 ) );
            PlaceItemIn( cont, 42, 55, new RunicSewingKit( CraftResource.HornedLeather, 1000 ) );
            PlaceItemIn( cont, 48, 55, new RunicSewingKit( CraftResource.BarbedLeather, 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.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, 145, 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() );

            for( int i = 0; i < 10; i++ )
                PlaceItemIn( cont, 117, 128, new MessageInABottle( Utility.RandomBool() ? Map.Trammel : Map.Felucca, 4 ) );

            PlaceItemIn( bank, 18, 124, cont );

            if( Core.SE )
            {
                cont = new Bag();
                cont.Hue = 0x501;
                cont.Name = "Tokuno Minor Artifacts";

                PlaceItemIn( cont, 42, 70, new Exiler() );
                PlaceItemIn( cont, 38, 53, new HanzosBow() );
                PlaceItemIn( cont, 45, 40, new TheDestroyer() );
                PlaceItemIn( cont, 92, 80, new DragonNunchaku() );
                PlaceItemIn( cont, 42, 56, new PeasantsBokuto() );
                PlaceItemIn( cont, 44, 71, new TomeOfEnlightenment() );
                PlaceItemIn( cont, 35, 35, new ChestOfHeirlooms() );
                PlaceItemIn( cont, 29,  0, new HonorableSwords() );
                PlaceItemIn( cont, 49, 85, new AncientUrn() );
                PlaceItemIn( cont, 51, 58, new FluteOfRenewal() );
                PlaceItemIn( cont, 70, 51, new PigmentsOfTokuno() );
                PlaceItemIn( cont, 40, 79, new AncientSamuraiDo() );
                PlaceItemIn( cont, 51, 61, new LegsOfStability() );
                PlaceItemIn( cont, 88, 78, new GlovesOfTheSun() );
                PlaceItemIn( cont, 55, 62, new AncientFarmersKasa() );
                PlaceItemIn( cont, 55, 83, new ArmsOfTacticalExcellence() );
                PlaceItemIn( cont, 50, 85, new DaimyosHelm() );
                PlaceItemIn( cont, 52, 78, new BlackLotusHood() );
                PlaceItemIn( cont, 52, 79, new DemonForks() );
                PlaceItemIn( cont, 33, 49, new PilferedDancerFans() );

                PlaceItemIn( bank, 58, 124, cont );
            }

            if( Core.SE )	//This bag came only after SE.
            {
                cont = new Bag();
                cont.Name = "Bag of Bows";

                PlaceItemIn( cont, 31, 84, new Bow() );
                PlaceItemIn( cont, 78, 74, new CompositeBow() );
                PlaceItemIn( cont, 53, 71, new Crossbow() );
                PlaceItemIn( cont, 56, 39, new HeavyCrossbow() );
                PlaceItemIn( cont, 82, 72, new RepeatingCrossbow() );
                PlaceItemIn( cont, 49, 45, new Yumi() );

                for( int i = 0; i < cont.Items.Count; i++ )
                {
                    BaseRanged bow = cont.Items[i] as BaseRanged;

                    if( bow != null )
                    {
                        bow.Attributes.WeaponSpeed = 35;
                        bow.Attributes.WeaponDamage = 35;
                    }
                }

                PlaceItemIn( bank, 108, 135, cont );
            }
        }
		public static void SetSkills(Mobile m, Expansion e, SkillNameValue[] skills, int prof)
		{
			switch (prof)
			{
				case 1: // Warrior
					{
						skills = new[]
						{
							new SkillNameValue(SkillName.Anatomy, 30), new SkillNameValue(SkillName.Healing, 45),
							new SkillNameValue(SkillName.Swords, 35), new SkillNameValue(SkillName.Tactics, 50)
						};

						break;
					}
				case 2: // Magician
					{
						skills = new[]
						{
							new SkillNameValue(SkillName.EvalInt, 30), new SkillNameValue(SkillName.Wrestling, 30),
							new SkillNameValue(SkillName.Magery, 50), new SkillNameValue(SkillName.Meditation, 50)
						};

						break;
					}
				case 3: // Blacksmith
					{
						skills = new[]
						{
							new SkillNameValue(SkillName.Mining, 30), new SkillNameValue(SkillName.ArmsLore, 30),
							new SkillNameValue(SkillName.Blacksmith, 50), new SkillNameValue(SkillName.Tinkering, 50)
						};

						break;
					}
				case 4: // Necromancer
					{
						skills = new[]
						{
							new SkillNameValue(SkillName.Necromancy, 50), new SkillNameValue(SkillName.Focus, 30),
							new SkillNameValue(SkillName.SpiritSpeak, 30), new SkillNameValue(SkillName.Swords, 30),
							new SkillNameValue(SkillName.Tactics, 20)
						};

						break;
					}
				case 5: // Paladin
					{
						skills = new[]
						{
							new SkillNameValue(SkillName.Chivalry, 51), new SkillNameValue(SkillName.Swords, 49),
							new SkillNameValue(SkillName.Focus, 30), new SkillNameValue(SkillName.Tactics, 30)
						};

						break;
					}
				case 6: //Samurai
					{
						skills = new[]
						{
							new SkillNameValue(SkillName.Bushido, 50), new SkillNameValue(SkillName.Swords, 50),
							new SkillNameValue(SkillName.Anatomy, 30), new SkillNameValue(SkillName.Healing, 30)
						};
						break;
					}
				case 7: //Ninja
					{
						skills = new[]
						{
							new SkillNameValue(SkillName.Ninjitsu, 50), new SkillNameValue(SkillName.Hiding, 50),
							new SkillNameValue(SkillName.Fencing, 30), new SkillNameValue(SkillName.Stealth, 30)
						};
						break;
					}
				default:
					{
						if (!ValidSkills(e, skills))
						{
							return;
						}

						break;
					}
			}

			bool addSkillItems = true;
			bool elf = (m.Race == Race.Elf);

			switch (prof)
			{
				case 1: // Warrior
					{
						if (elf)
						{
							EquipItem(new LeafChest(), e);
						}
						else
						{
							EquipItem(new LeatherChest(), e);
						}
						break;
					}
				case 4: // Necromancer
					{
						Container regs = new BagOfNecroReagents(50);
						/*
						if (e < Expansion.AOS)
						{
							foreach (Item item in regs.Items)
							{
								item.LootType = LootType.Newbied;
							}
						}
						*/
						PackItem(regs, e);

						regs.LootType = LootType.Regular;

						EquipItem(new BoneHelm(), e);

						if (elf)
						{
							EquipItem(new ElvenMachete(), e);
							EquipItem(NecroHue(new LeafChest()), e);
							EquipItem(NecroHue(new LeafArms()), e);
							EquipItem(NecroHue(new LeafGloves()), e);
							EquipItem(NecroHue(new LeafGorget()), e);
							EquipItem(NecroHue(new LeafGorget()), e);
							EquipItem(NecroHue(new ElvenPants()), e); //TODO: Verify the pants
							EquipItem(new ElvenBoots(), e);
						}
						else
						{
							EquipItem(new BoneHarvester(), e);
							EquipItem(NecroHue(new LeatherChest()), e);
							EquipItem(NecroHue(new LeatherArms()), e);
							EquipItem(NecroHue(new LeatherGloves()), e);
							EquipItem(NecroHue(new LeatherGorget()), e);
							EquipItem(NecroHue(new LeatherLegs()), e);
							EquipItem(NecroHue(new Skirt()), e);
							EquipItem(new Sandals(0x8FD), e);
						}

						addSkillItems = false;

						break;
					}
				case 5: // Paladin
					{
						if (elf)
						{
							EquipItem(new ElvenMachete(), e);
							EquipItem(new WingedHelm(), e);
							EquipItem(new LeafGorget(), e);
							EquipItem(new LeafArms(), e);
							EquipItem(new LeafChest(), e);
							EquipItem(new LeafLegs(), e);
							EquipItem(new ElvenBoots(), e); //Verify hue
						}
						else
						{
							EquipItem(new Broadsword(), e);
							EquipItem(new Helmet(), e);
							EquipItem(new PlateGorget(), e);
							EquipItem(new RingmailArms(), e);
							EquipItem(new RingmailChest(), e);
							EquipItem(new RingmailLegs(), e);
							EquipItem(new ThighBoots(0x748), e);
							EquipItem(new Cloak(0xCF), e);
							EquipItem(new BodySash(0xCF), e);
						}

						addSkillItems = false;

						break;
					}

				case 6: // Samurai
					{
						addSkillItems = false;
						EquipItem(new HakamaShita(0x2C3), e);
						EquipItem(new Hakama(0x2C3), e);
						EquipItem(new SamuraiTabi(0x2C3), e);
						EquipItem(new TattsukeHakama(0x22D), e);
						EquipItem(new Bokuto(), e);

						if (elf)
						{
							EquipItem(new RavenHelm(), e);
						}
						else
						{
							EquipItem(new LeatherJingasa(), e);
						}

						PackItem(new Scissors(), e);
						PackItem(new Bandage(50), e);

						break;
					}
				case 7: // Ninja
					{
						addSkillItems = false;
						EquipItem(new Kasa(), e);

						var hues = new[] {0x1A8, 0xEC, 0x99, 0x90, 0xB5, 0x336, 0x89};
						//TODO: Verify that's ALL the hues for that above.

						EquipItem(new TattsukeHakama(hues[Utility.Random(hues.Length)]), e);

						EquipItem(new HakamaShita(0x2C3), e);
						EquipItem(new NinjaTabi(0x2C3), e);

						if (elf)
						{
							EquipItem(new AssassinSpike(), e);
						}
						else
						{
							EquipItem(new Tekagi(), e);
						}

						PackItem(new SmokeBomb(), e);

						break;
					}
			}

			foreach (SkillNameValue snv in skills)
			{
				if (snv.Value <= 0 || (snv.Name == SkillName.Stealth && prof != 7) || snv.Name == SkillName.RemoveTrap ||
					snv.Name == SkillName.Spellweaving)
				{
					continue;
				}

				Skill skill = m.Skills[snv.Name];

				if (skill == null)
				{
					continue;
				}

				skill.BaseFixedPoint = snv.Value * 10;

				if (addSkillItems)
				{
					AddSkillItems(snv.Name, m, e);
				}
			}

			// all players start with a spellbook with level 1-4 spells
			PackItem(
				new Spellbook(0xFFFFFFFF)
				{
					LootType = LootType.Blessed
				},
				e);
		}