Inheritance: Server.Items.LockableContainer
Example #1
0
 public override void OnDestroyed( WoodenBox lootbox )
 {
     if( Utility.RandomDouble( ) < 0.25 )
     {
         lootbox.DropItem( new IronOre( Utility.RandomMinMax( 1, 8 ) ) );
     }
 }
Example #2
0
 public override void OnDestroyed(WoodenBox lootbox)
 {
     if (Utility.RandomDouble( ) < 0.25)
     {
         lootbox.DropItem(new IronOre(Utility.RandomMinMax(1, 8)));
     }
 }
		//private static void AddBankbox2( Mobile m )
		//{
		//	BankBox2 box = m.Bankbox2;
//
//			if ( box == null )
//			{
//				box = new Bankbox2();
//				box.Movable = false;
//
//				
//			}
//
//		}
		private static void AddBackpack( Mobile m )
		{
			Container pack = m.Backpack;

			if ( pack == null )
			{
				pack = new Backpack();
				pack.Movable = false;

				m.AddItem( pack );
			}
			Container cont;
			cont = new WoodenBox();
			cont.ItemID = 0xE7D;
			cont.Hue = 0x489;
			PlaceItemIn( cont, 16, 51, new NLeatherGorget() );
			PlaceItemIn( cont, 28, 51, new NLeatherArms() );
			PlaceItemIn( cont, 40, 51, new NLeatherGloves() );
			PlaceItemIn( cont, 52, 51, new NLeatherLegs() );
			
			PlaceItemIn( cont, 64, 115, new TokenLedger() );
			
 			PlaceItemIn( cont, 16, 115, new Candle() );
			PlaceItemIn( pack, 18, 169, cont );
			PlaceItemIn( pack, 16, 51, new SkillBall() );
			PlaceItemIn( pack, 56, 51, new SkillBall() );
			PlaceItemIn( pack, 66, 51, new SkillBall() );
			PlaceItemIn( pack, 80, 51, new StatBall() );
			PlaceItemIn( pack, 70, 169, new RuleBook1() );
			PlaceItemIn( pack, 164, 169, new BankCheck(  5000 ) );
			PlaceItemIn( pack, 164, 51, new CommandBook() );
		}
Example #4
0
        public override void OnResponse( GameClient sender, RelayInfo info )
        {
            if ( info.ButtonID == 1 )
            {
                Mobile m = sender.Mobile;
                Item item = null;

                item = new WoodenBox();

                Container c = item as Container;
                c.Hue = 1173;
                c.Name = "A Broken Furniture Set";

                c.DropItem( new BrokenBedDeed() );
                c.DropItem( new BrokenChestOfDrawersDeed() );
                c.DropItem( new BrokenFallenChairDeed() );
                c.DropItem( new StandingBrokenChairDeed() );
                c.DropItem( new BrokenArmoireDeed() );
                c.DropItem( new BrokenBookcaseDeed() );
                c.DropItem( new BrokenCoveredChairDeed() );
                c.DropItem( new BrokenVanityDeed() );

                if ( item != null && m_Token != null )
                {
                    if ( !m.AddToBackpack( item ) )
                    {
                        if ( m.BankBox.TryDropItem( m, item, false ) )
                            item.MoveToWorld( m.Location, m.Map );
                    }

                    m_Token.Delete();
                }
            }
        }
		public override void OnDestroyed( WoodenBox lootbox )
		{
			Item book;

			if( Utility.RandomBool( ) )
			{
				book = new BlueBook( );
			}
			else
			{
				book = new BrownBook( );
			}

			if( book != null || !book.Deleted )
				lootbox.DropItem( book );

			if( Utility.RandomDouble( ) < 0.25 )
			{
				Item loot;

				if( Utility.RandomBool( ) )
				{
					loot = new ScribesPen( );
				}
				else
				{
					loot = new MapmakersPen( );
				}

				if( loot != null || !loot.Deleted )
					lootbox.DropItem( loot );
			}
		}
        public override void OnResponse( GameClient sender, RelayInfo info )
        {
            if ( info.ButtonID == 1 )
            {
                Mobile m = sender.Mobile;
                Item item = null;

                item = new WoodenBox();

                Container c = item as Container;
                c.Hue = 232;
                c.Name = "Evil Home Décor Collection";

                c.DropItem( new BedOfNailsDeed() );
                c.DropItem( new BoneTableDeed() );
                c.DropItem( new CreepyPortraitDeed() );
                c.DropItem( new HauntedMirrorDeed() );
                c.DropItem( new MountedPixieGreenDeed() );
                c.DropItem( new MountedPixieOrangeDeed() );
                c.DropItem( new SacrificialAltarDeed() );
                c.DropItem( new BoneCouchDeed() );
                c.DropItem( new BoneThroneDeed() );
                c.DropItem( new DisturbingPortraitDeed() );
                c.DropItem( new MountedPixieBlueDeed() );
                c.DropItem( new MountedPixieLimeDeed() );
                c.DropItem( new MountedPixieWhiteDeed() );
                c.DropItem( new UnsettlingPortraitDeed() );

                if ( item != null && m_Token != null )
                {
                    if ( !m.AddToBackpack( item ) )
                    {
                        if ( m.BankBox.TryDropItem( m, item, false ) )
                            item.MoveToWorld( m.Location, m.Map );
                    }

                    m_Token.Delete();
                }
            }
        }
Example #7
0
        public override void OnDestroyed(WoodenBox lootbox)
        {
            Item book;

            if (Utility.RandomBool( ))
            {
                book = new BlueBook( );
            }
            else
            {
                book = new BrownBook( );
            }

            if (book != null || !book.Deleted)
            {
                lootbox.DropItem(book);
            }

            if (Utility.RandomDouble( ) < 0.25)
            {
                Item loot;

                if (Utility.RandomBool( ))
                {
                    loot = new ScribesPen( );
                }
                else
                {
                    loot = new MapmakersPen( );
                }

                if (loot != null || !loot.Deleted)
                {
                    lootbox.DropItem(loot);
                }
            }
        }
Example #8
0
        // Deux sous fonctions qui permettent de vider la zone de location, lorsque le proprio perd la maison.
        private void DumpItems()
        {
            if (m_Container != null)
            {
                WoodenBox b = new WoodenBox();
                b.MaxItems = int.MaxValue;
                b.Name     = m_OwnerName;

                List <Item> toMove            = new List <Item>();
                Rectangle2D rect              = new Rectangle2D(RegionPoint1, RegionPoint2);
                IPooledEnumerable <Item> list = Map.Felucca.GetItemsInBounds(rect);

                foreach (Item i in list)
                {
                    if (i != null && !(i is BaseDoor))
                    {
                        toMove.Add(i);
                    }
                }
                list.Free();

                for (int i = 0; i < toMove.Count; ++i)
                {
                    b.DropItem(toMove[i]);
                    toMove[i].Movable = true;
                }

                // Seulement ouvrable par le owner, qui obtient une nouvelle clef à chaque fois.
                GenerateKey.GenerateNewKey(m_Proprio, b, 1);
                b.Locked = true;

                // Ajout de la boite lockée dans le container lié à la maison.
                m_Container.DropItem(b);
                b.CanBeAltered = false;
                b.Movable      = false;
            }
        }
		// adam: not called for production servers
		private static void FillBankbox( Mobile m ) 
		{
			BankBox bank = m.BankBox;

			if ( bank == null )
				return;

			Container cont;

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

			PlaceItemIn( cont, 16, 51, new BankCheck( 1000000 ) ); //edited by sam
			PlaceItemIn( cont, 28, 51, new BankCheck( 250000 ) ); //edited by sam
			PlaceItemIn( cont, 40, 51, new BankCheck( 125000 ) ); //edited by sam
			PlaceItemIn( cont, 52, 51, new BankCheck( 75000 ) ); //edited by sam
			PlaceItemIn( cont, 64, 51, new BankCheck( 32500 ) ); //edited by sam

			PlaceItemIn( cont, 34, 115, MakeNewbie( new Gold( 60000 ) ) );

			PlaceItemIn( bank, 18, 169, cont );
			// End box of money


			// Begin bag of potion kegs
			cont = new Backpack();
			cont.Name = "Various Potion Kegs";

			PlaceItemIn( cont,  45, 149, MakePotionKeg( PotionEffect.CureGreater, 0x2D ) );
			PlaceItemIn( cont,  69, 149, MakePotionKeg( PotionEffect.HealGreater, 0x499 ) );
			PlaceItemIn( cont,  93, 149, MakePotionKeg( PotionEffect.PoisonDeadly, 0x46 ) );
			PlaceItemIn( cont, 117, 149, MakePotionKeg( PotionEffect.RefreshTotal, 0x21 ) );
			PlaceItemIn( cont, 141, 149, MakePotionKeg( PotionEffect.ExplosionGreater, 0x74 ) );

			PlaceItemIn( cont, 93, 82, MakeNewbie( new Bottle( 1000 ) ) );

			PlaceItemIn( bank, 53, 169, cont );
			// End bag of potion kegs


			// Begin bag of tools
			cont = new Bag();
			cont.Name = "Tool Bag";

			PlaceItemIn( cont, 30,  35, MakeNewbie( new TinkerTools( 60000 ) ) );
			PlaceItemIn( cont, 90,  35, MakeNewbie( new DovetailSaw( 60000 ) ) );
			PlaceItemIn( cont, 30,  68, MakeNewbie( new Scissors() ) );
			PlaceItemIn( cont, 45,  68, MakeNewbie( new MortarPestle( 60000 ) ) );
			PlaceItemIn( cont, 75,  68, MakeNewbie( new ScribesPen( 60000 ) ) );
			PlaceItemIn( cont, 90,  68, MakeNewbie( new SmithHammer( 60000 ) ) );
			PlaceItemIn( cont, 30, 118, MakeNewbie( new TwoHandedAxe() ) );
			PlaceItemIn( cont, 90, 118, MakeNewbie( new SewingKit( 60000 ) ) );

			PlaceItemIn( bank, 118, 169, cont );
			// End bag of tools


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

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

			PlaceItemIn( bank, 118, 124, cont );
			// End bag of archery ammo


			// Begin bag of treasure maps
			cont = new Bag();
			cont.Name = "Bag Of Treasure Maps";

			PlaceItemIn( cont, 30, 35, MakeNewbie( new TreasureMap( 1, Map.Felucca ) ) );
			PlaceItemIn( cont, 45, 35, MakeNewbie( new TreasureMap( 2, Map.Felucca ) ) );
			PlaceItemIn( cont, 60, 35, MakeNewbie( new TreasureMap( 3, Map.Felucca ) ) );
			PlaceItemIn( cont, 75, 35, MakeNewbie( new TreasureMap( 4, Map.Felucca ) ) );
			PlaceItemIn( cont, 90, 35, MakeNewbie( new TreasureMap( 5, Map.Felucca ) ) );

			PlaceItemIn( cont, 30, 50, MakeNewbie( new TreasureMap( 1, Map.Felucca ) ) );
			PlaceItemIn( cont, 45, 50, MakeNewbie( new TreasureMap( 2, Map.Felucca ) ) );
			PlaceItemIn( cont, 60, 50, MakeNewbie( new TreasureMap( 3, Map.Felucca ) ) );
			PlaceItemIn( cont, 75, 50, MakeNewbie( new TreasureMap( 4, Map.Felucca ) ) );
			PlaceItemIn( cont, 90, 50, MakeNewbie( new TreasureMap( 5, Map.Felucca ) ) );

			PlaceItemIn( cont, 55, 100, MakeNewbie( new Lockpick( 60000 ) ) );
			PlaceItemIn( cont, 60, 100, MakeNewbie( new Pickaxe() ) );

			PlaceItemIn( bank, 98, 124, cont );
			// End bag of treasure maps


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

			PlaceItemIn( cont, 30,  35, MakeNewbie( new DullCopperIngot( 60000 ) ) );
			PlaceItemIn( cont, 37,  35, MakeNewbie( new ShadowIronIngot( 60000 ) ) );
			PlaceItemIn( cont, 44,  35, MakeNewbie( new CopperIngot( 60000 ) ) );
			PlaceItemIn( cont, 51,  35, MakeNewbie( new BronzeIngot( 60000 ) ) );
			PlaceItemIn( cont, 58,  35, MakeNewbie( new GoldIngot( 60000 ) ) );
			PlaceItemIn( cont, 65,  35, MakeNewbie( new AgapiteIngot( 60000 ) ) );
			PlaceItemIn( cont, 72,  35, MakeNewbie( new VeriteIngot( 60000 ) ) );
			PlaceItemIn( cont, 79,  35, MakeNewbie( new ValoriteIngot( 60000 ) ) );
			PlaceItemIn( cont, 86,  35, MakeNewbie( new IronIngot( 60000 ) ) );
			
			PlaceItemIn( cont, 29, 55, MakeNewbie( new Leather( 60000 ) ) );
			PlaceItemIn( cont, 44, 55, MakeNewbie( new SpinedLeather( 60000 ) ) );
			PlaceItemIn( cont, 59, 55, MakeNewbie( new HornedLeather( 60000 ) ) );
			PlaceItemIn( cont, 74, 55, MakeNewbie( new BarbedLeather( 60000 ) ) );
			PlaceItemIn( cont, 35, 100, MakeNewbie( new Cloth( 60000 ) ) );
			PlaceItemIn( cont, 67,  89, MakeNewbie( new Board( 60000 ) ) );
			PlaceItemIn( cont, 88,  91, MakeNewbie( new BlankScroll( 60000 ) ) );

			PlaceItemIn( bank, 98, 169, cont );
			// End bag of raw materials


			// Begin bag of spell casting stuff
			cont = new Backpack();
			cont.Hue = 0x480;
			cont.Name = "Spell Casting Stuff";

			PlaceItemIn( cont, 45, 105, new Spellbook( UInt64.MaxValue ) );
			
			Runebook runebook = new Runebook( 10 );
			runebook.CurCharges = runebook.MaxCharges;
			PlaceItemIn( cont, 105, 105, runebook );

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

			for ( int i = 0; i < 9; ++i )
				PlaceItemIn( cont, 45 + (i * 10), 75, MakeNewbie( new RecallRune() ) );

			PlaceItemIn( bank, 78, 169, cont );
			// End bag of spell casting stuff
		}
Example #10
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
        }
 public virtual void OnDestroyed( WoodenBox lootbox )
 {
     return;
 }
Example #12
0
        public virtual bool Destroy( )
        {
            if (this == null || this.Deleted)
            {
                return(false);
            }

            if (OnBeforeDestroyed( ))
            {
                if (m_Child != null && !m_Child.Deleted && !m_Child.Alive)
                {
                    WoodenBox lootbox = new WoodenBox( );
                    lootbox.Name = this.Name + " Loot Box";

                    OnDestroyed(lootbox);

                    if (lootbox != null && !lootbox.Deleted)
                    {
                        if (DropsLoot)
                        {
                            lootbox.MoveToWorld(new Point3D(this.X, this.Y, this.Z), this.Map);
                            lootbox.AddItem(new Gold(100));
                            lootbox.Destroy();
                        }
                        else
                        {
                            lootbox.Delete( );
                        }
                    }

                    if (m_Child != null)
                    {
                        m_Child.Delete( );
                    }

                    Delete( );

                    return(true);
                }
                else
                {
                    WoodenBox lootbox = new WoodenBox( );
                    lootbox.Name = this.Name + " Loot Box";

                    OnDestroyed(lootbox);

                    if (lootbox != null && !lootbox.Deleted)
                    {
                        if (DropsLoot)
                        {
                            lootbox.MoveToWorld(new Point3D(this.X, this.Y, this.Z), this.Map);
                            lootbox.AddItem(new Gold(100));
                            lootbox.Destroy();
                        }
                        else
                        {
                            lootbox.Delete();
                        }
                    }

                    Delete( );
                    return(true);
                }
            }

            return(false);
        }
Example #13
0
 public virtual void OnDestroyed(WoodenBox lootbox)
 {
     return;
 }
		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 );
		}
Example #15
0
        public override void OnDoubleClick( Mobile from )
        {
            if ( !this.IsChildOf( from.Backpack ) )
            {
                // This item must be in your backpack to be used.
                from.SendLocalizedMessage( 1062334 );
                return;
            }

            if ( from != Owner )
            {
                from.SendLocalizedMessage( 1116257 ); // This token does not belong to this character.
                return;
            }

            var acct = from.Account as Account;
            if ( acct.Trial )
            {
                from.SendLocalizedMessage( 1116258 ); // Trial account cannot use this token.
                return;
            }

            var totalTime = ( DateTime.Now - acct.Created );
            if ( totalTime >= TimeSpan.FromDays( 30.0 ) )
            {
                from.SendLocalizedMessage( 1116259 ); // This can only be used by accounts less than 1 month old.
                return;
            }

            BankBox bankbox = from.BankBox;

            WoodenBox box = new WoodenBox();
            box.Name = "A Starter Kit";
            box.Hue = 66;
            box.ItemID = 3709;

            if ( from.Race == Race.Gargoyle )
            {
                box.DropItem( new GargishInitiationEarrings() );
                box.DropItem( new GargishInitiationKilt() );
                box.DropItem( new GargishInitiationNecklace() );
                box.DropItem( new GargishInitiationLeggings() );
                box.DropItem( new GargishInitiationArms() );
                box.DropItem( new GargishInitiationChest() );
            }
            else
            {
                box.DropItem( new InitiationCap() );
                box.DropItem( new InitiationGloves() );
                box.DropItem( new InitiationGorget() );
                box.DropItem( new InitiationLeggings() );
                box.DropItem( new InitiationSleeves() );
                box.DropItem( new InitiationTunic() );
            }

            box.DropItem( CreateStarterRunebook() );
            box.DropItem( new Gold( 20001 ) );

            if ( bankbox.TryDropItem( from, box, false ) )
            {
                this.Delete();
                from.SendLocalizedMessage( 1042672, true, " 20001" );
                from.SendLocalizedMessage( 1116286 ); // Your new player starter kit has been placed in your bank box.
            }
        }
		public override void OnDestroyed( WoodenBox lootbox )
		{
			
		}
Example #17
0
        public bool Destroy( )
        {
            if( this == null || this.Deleted )
                return false;

            if( OnBeforeDestroyed( ) )
            {
                if( m_Child != null && !m_Child.Deleted && !m_Child.Alive )
                {
                    Rubble rubble = new Rubble( m_DestroyedID, this.Name );

                    if( rubble != null && !rubble.Deleted && this.Map != null && this.Map != Map.Internal )
                    {
                        rubble.MoveToWorld( this.Location, this.Map );
                    }

                    WoodenBox lootbox = new WoodenBox( );
                    lootbox.Name = this.Name + " Loot Box";

                    OnDestroyed( lootbox );

                    if( lootbox != null && !lootbox.Deleted )
                    {
                        if( DropsLoot )
                            lootbox.MoveToWorld( new Point3D( this.X, this.Y, this.Z ), this.Map );
                        else
                            lootbox.Delete( );
                    }

                    if( m_Child != null )
                        m_Child.Delete( );

                    Delete( );

                    return true;
                }
                else
                {
                    Static rubble = new Static( m_DestroyedID );

                    if( rubble != null && !rubble.Deleted && this.Map != null && this.Map != Map.Internal )
                        rubble.MoveToWorld( this.Location, this.Map );

                    WoodenBox lootbox = new WoodenBox( );
                    lootbox.Name = this.Name + " Loot Box";

                    OnDestroyed( lootbox );

                    if( lootbox != null && !lootbox.Deleted )
                    {
                        if( DropsLoot )
                            lootbox.MoveToWorld( new Point3D( this.X, this.Y, this.Z ), this.Map );
                        else
                            lootbox.Delete( );
                    }

                    Delete( );
                    return true;
                }
            }

            return false;
        }
		private static void EventSink_CharacterCreated( CharacterCreatedEventArgs args )
		{
			if ( !VerifyProfession( args.Profession ) )
				args.Profession = 0;

			Mobile newChar = CreateMobile( args.Account as Account );

			if ( newChar == null )
			{
				Console.WriteLine( "Login: {0}: Character creation failed, account full", args.State );
				return;
			}

			args.Mobile = newChar;
			m_Mobile = newChar;

			newChar.Player = true;
			newChar.AccessLevel = args.Account.AccessLevel;
			newChar.Female = args.Female;
			//newChar.Body = newChar.Female ? 0x191 : 0x190;

			if( Core.Expansion >= args.Race.RequiredExpansion )
				newChar.Race = args.Race;	//Sets body
			else
				newChar.Race = Race.DefaultRace;

			//newChar.Hue = Utility.ClipSkinHue( args.Hue & 0x3FFF ) | 0x8000;
			newChar.Hue = newChar.Race.ClipSkinHue( args.Hue & 0x3FFF ) | 0x8000;

			newChar.Hunger = 20;
			newChar.Skills.Cap = 58000;
			newChar.BonusMaxWeight = 1374;
			bool young = false;

			if ( newChar is PlayerMobile )
			{
				PlayerMobile pm = (PlayerMobile) newChar;

				pm.Profession = args.Profession;

				if ( pm.AccessLevel == AccessLevel.Player && ((Account)pm.Account).Young )
					young = pm.Young = true;
			}

			SetName( newChar, args.Name );

			AddBackpack( newChar );

			SetStats( newChar, args.Str, args.Dex, args.Int );
			SetSkills( newChar, args.Skills, args.Profession );

			Race race = newChar.Race;

			if( race.ValidateHair( newChar, args.HairID ) )
			{
				newChar.HairItemID = args.HairID;
				newChar.HairHue = race.ClipHairHue( args.HairHue & 0x3FFF );
			}

			if( race.ValidateFacialHair( newChar, args.BeardID ) )
			{
				newChar.FacialHairItemID = args.BeardID;
				newChar.FacialHairHue = race.ClipHairHue( args.BeardHue & 0x3FFF );
			}

			if ( args.Profession <= 3 )
			{
				AddShirt( newChar, args.ShirtHue );
				AddPants( newChar, args.PantsHue );
				AddShoes( newChar );
			}

//STUFFIADDED


			
			{
			Container cont = new WoodenBox();
			Container bank = newChar.BankBox;
			cont.ItemID = 0xE7D;
			cont.Hue = 0x489;
			cont.Name = "Money Box";

			PlaceItemIn( cont, 16, 51, new BankCheck( 4000 ) );
			PlaceItemIn( bank, 26, 1, cont );
			PlaceItemIn( bank, 36, 5, new Bandage( 50 ) );
			PlaceItemIn( bank, 46, 10, new BagOfReagents() );
			}

//StuffIAdded
			if( TestCenter.Enabled )
				FillBankbox( newChar );

			if ( young )
			{
				NewPlayerTicket ticket = new NewPlayerTicket();
				ticket.Owner = newChar;
				newChar.BankBox.DropItem( ticket );
			}

			CityInfo city = GetStartLocation( args, young );
			//CityInfo city = new CityInfo( "Britain", "Sweet Dreams Inn", 1496, 1628, 10, Map.Felucca );

			newChar.MoveToWorld( city.Location, city.Map );

			Console.WriteLine( "Login: {0}: New character being created (account={1})", args.State, args.Account.Username );
			Console.WriteLine( " - Character: {0} (serial={1})", newChar.Name, newChar.Serial );
			Console.WriteLine( " - Started: {0} {1} in {2}", city.City, city.Location, city.Map.ToString() );

			new WelcomeTimer( newChar ).Start();
		}
Example #19
0
 public override void OnDestroyed(WoodenBox lootbox)
 {
 }
Example #20
0
		public virtual bool Destroy( )
		{
			if( this == null || this.Deleted )
				return false;

			if( OnBeforeDestroyed( ) )
			{
				if( m_Child != null && !m_Child.Deleted && !m_Child.Alive )
				{
					WoodenBox lootbox = new WoodenBox( );
					lootbox.Name = this.Name + " Loot Box";

					OnDestroyed( lootbox );

					if( lootbox != null && !lootbox.Deleted )
					{
						if( DropsLoot ) 
                        {
							lootbox.MoveToWorld( new Point3D( this.X, this.Y, this.Z ), this.Map );
                            lootbox.AddItem(new Gold(100));
                            lootbox.Destroy();
						}
                        else
							lootbox.Delete( );
					}

					if( m_Child != null )
						m_Child.Delete( );

					Delete( );

					return true;
				}
				else
				{
					WoodenBox lootbox = new WoodenBox( );
					lootbox.Name = this.Name + " Loot Box";

					OnDestroyed( lootbox );

					if( lootbox != null && !lootbox.Deleted )
					{
                        if (DropsLoot)
                        {
                            lootbox.MoveToWorld(new Point3D(this.X, this.Y, this.Z), this.Map);
                            lootbox.AddItem(new Gold(100));
                            lootbox.Destroy();
                        }
                        else
                            lootbox.Delete();
					}

					Delete( );
					return true;
				}
			}

			return false;
		}
Example #21
0
        public override void OnResponse( GameClient sender, RelayInfo info )
        {
            if ( info.ButtonID == 1 )
            {
                Mobile m = sender.Mobile;
                Item item = null;

                item = new WoodenBox();

                Container c = item as Container;
                c.Hue = 106;
                c.Name = "A Heritage Items Set";

                c.DropItem( new BlueDecorativeRugDeed() );
                c.DropItem( new BluePlainRugDeed() );
                c.DropItem( new CherryBlossomTrunkDeed() );
                c.DropItem( new CurtainsDeed() );
                c.DropItem( new AppleTreeDeed() );
                c.DropItem( new PeachTreeDeed() );
                c.DropItem( new GuillotineDeed() );
                c.DropItem( new HangingSwordsDeed() );
                c.DropItem( new IronMaidenDeed() );
                c.DropItem( new PeachTrunkDeed() );
                c.DropItem( new RedPlainRugDeed() );
                c.DropItem( new SmallFishingNetDeed() );
                c.DropItem( new SuitOfGoldArmorDeed() );
                c.DropItem( new TableWithBlueClothDeed() );
                c.DropItem( new TableWithPurpleClothDeed() );
                c.DropItem( new UnmadeBedDeed() );
                c.DropItem( new WallTorchDeed() );
                c.DropItem( new WallTorchDeed() );
                c.DropItem( new BoilingCauldronAddonDeed() );
                c.DropItem( new AppleTrunkDeed() );
                c.DropItem( new BlueFancyRugDeed() );
                c.DropItem( new CherryBlossomTreeDeed() );
                c.DropItem( new CinnamonFancyRugDeed() );
                c.DropItem( new FountainDeed() );
                c.DropItem( new GoldenDecorativeRugDeed() );
                c.DropItem( new HangingAxesDeed() );
                c.DropItem( new HouseLadderDeed() );
                c.DropItem( new LargeFishingNetDeed() );
                c.DropItem( new PinkFancyRugDeed() );
                c.DropItem( new ScarecrowDeed() );
                c.DropItem( new StoneStatueDeed() );
                c.DropItem( new SuitOfSilverArmorDeed() );
                c.DropItem( new TableWithOrangeClothDeed() );
                c.DropItem( new TableWithRedClothDeed() );
                c.DropItem( new VanityDeed() );
                c.DropItem( new WoodenCoffinDeed() );

                if ( item != null && m_Token != null )
                {
                    if ( !m.AddToBackpack( item ) )
                    {
                        if ( m.BankBox.TryDropItem( m, item, false ) )
                            item.MoveToWorld( m.Location, m.Map );
                    }

                    m_Token.Delete();
                }
            }
        }
Example #22
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
        }
        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 GiveItems( Mobile m )
		{
			Container pack = m.Backpack;

			if ( pack == null )
			{
				return;
			}

			// Frog Drop
			/*
			MetalBox box = new MetalBox();
			box.Name = "<BASEFONT COLOR='#007FFF'>Frog Drop Collection";
			box.LootType = LootType.Blessed;
			box.Locked = true;
			box.RequiredSkill = box.LockLevel = 1000;
			box.DropItem( new WorldMap() );
			box.DropItem( new RedLeaves() );
			box.DropItem( new Sand() );
			box.DropItem( new SpecialHairDye() );
			box.DropItem( new Rope() );
			box.DropItem( new Vines() );
			box.DropItem( new TribalPaint() );
			box.DropItem( new RockArtifact() );
			box.DropItem( new Runebook() );
			box.DropItem( new Gold( 500 ) );
			*/
			pack.DropItem( new FrogDropBag( true ) );

			// Angel's Snack
			Pouch pouch = new Pouch();
			pouch.DropItem( new HealPotion( 25 ) );
			pouch.DropItem( new CurePotion( 25 ) );
			pouch.DropItem( new RefreshPotion( 25 ) );
			pack.DropItem( pouch );

			// Forks
			Bag bag = new Bag();
			bag.Name = "Forks";
			bag.DropItem( new BistroFork() );
			bag.DropItem( new GastroFork() );
			bag.DropItem( new SilverFork() );
			pack.DropItem( bag );

			// Spellcasting Stuff
			bag = new Bag();
			bag.Name = "Spell Casting Stuff";
			TomeOfLostKnowledge tome = new TomeOfLostKnowledge();
			tome.Name = "Tome Of Lost Knowledge [Replica]";
			tome.Content = 18446744073709551615;
			bag.DropItem( tome );
			bag.DropItem( new CompleteNecromancerSpellbook() );
			bag.DropItem( new BagOfAllReagents() );
			CrystallineRing ring = new CrystallineRing();
			ring.Name = "Crystalline Ring [Replica]";
			bag.DropItem( ring );
			OrnamentOfTheMagician brace = new OrnamentOfTheMagician();
			brace.Name = "Ornament Of The Magician [Replica]";
			bag.DropItem( brace );
			pack.DropItem( bag );

			// Blue Clothing
			MetalBox box = new MetalBox();
			box.Name = "Blue Clothing";
			box.DropItem( new BlueHat() );
			box.DropItem( new BlueArms() );
			box.DropItem( new BlueShirt() );
			box.DropItem( new BluePants() );
			box.DropItem( new BlueBoots() );
			box.DropItem( new BlueCloak() );
			box.DropItem( new BlueSash() );
			box.DropItem( new BlueBelt() );

			WoodenBox wood = new WoodenBox();
			wood.Name = "Tier One Deeds";
			for ( int i = 0; i < 4; i++ )
			{
				for ( int j = 0; j < 9; j++ )
					wood.DropItem( new BlueEnhanceDeed( (BlueEnhance)( i + 1 ), 1 ) );
			}
			box.DropItem( wood );

			wood = new WoodenBox();
			wood.Name = "Tier Two Deeds";
			for ( int i = 0; i < 4; i++ )
			{
				for ( int j = 0; j < 9; j++ )
					wood.DropItem( new BlueEnhanceDeed( (BlueEnhance)( j + 1 ), 2 ) );
			}
			box.DropItem( wood );
			pack.DropItem( box );
		}
		public PirateCaptain() : base( AIType.AI_Archer, FightMode.Closest, 15, 1, 0.2, 0.4 )
		{
			SpeechHue = Utility.RandomDyedHue();
			Hue = Utility.RandomSkinHue();

			if ( this.Female = Utility.RandomBool() )
			{
			   	Title = "Piratska Kapitanka";
				Body = 0x191;
				Name = NameList.RandomName( "female" );
				AddItem( new ThighBoots());
			}
			else
			{
				Title = "Piratsky Kapitan";		
				Body = 0x190;
				Name = NameList.RandomName( "male" );
				AddItem( new ThighBoots());
			}

			SetStr( 495, 500 );
			SetDex( 781, 895 );
			SetInt( 61, 75 );
			SetHits( 1488, 1508 );

			SetDamage( 40, 70 );

			SetSkill( SkillName.Fencing, 86.0, 97.5 );
			SetSkill( SkillName.Macing, 85.0, 87.5 );
			SetSkill( SkillName.MagicResist, 55.0, 67.5 );
			SetSkill( SkillName.Swords, 85.0, 87.5 );
			SetSkill( SkillName.Tactics, 85.0, 87.5 );
			SetSkill( SkillName.Wrestling, 35.0, 37.5 );
			SetSkill( SkillName.Archery, 85.0, 87.5 );

			Fame = 5000;
			Karma = -5000;
			VirtualArmor = 66;
			
			switch ( Utility.Random( 1 ))
			{
				case 0: AddItem( new LongPants ( Utility.RandomRedHue() ) ); break;
				case 1: AddItem( new ShortPants( Utility.RandomRedHue() ) ); break;
			}				
			AddItem( new FancyShirt( 1153 ) );
      
			AddItem( new TricorneHat( 33 ));			

			switch ( Utility.Random( 5 ))
			{
				case 0: AddItem( new Bow() ); break;
				case 1: AddItem( new CompositeBow() ); break;
				case 2: AddItem( new Crossbow() ); break;
				case 3: AddItem( new RepeatingCrossbow() ); break;
				case 4: AddItem( new HeavyCrossbow() ); break;
			}		

			Item hair = new Item( Utility.RandomList( 0x203B, 0x2049, 0x2048, 0x204A ) );
			hair.Hue = Utility.RandomNondyedHue();
			hair.Layer = Layer.Hair;
			hair.Movable = false;
			AddItem( hair );

			Container cont= new WoodenBox();
			cont.ItemID = 0xE7D;
			cont.Hue = 0x489;

			int count = Utility.RandomMinMax( 30, 50 );

			for ( int i = 0; i < count; ++i )
			{
				cont.DropItem( Loot.RandomGem() );
			}

			PackItem( cont );

		}
Example #26
0
        public TentSouthAddon( Mobile from )
        {
            this.Owner = from;
            AddonComponent ac;
            ac = new AddonComponent( 734 );
            AddComponent( ac, 3, 3, 0 );
            ac = new AddonComponent( 735 );
            AddComponent( ac, 2, 3, 0 );
            ac = new AddonComponent( 736 );
            AddComponent( ac, 3, 2, 0 );
            ac = new AddonComponent( 736 );
            AddComponent( ac, 3, 1, 0 );
            ac = new AddonComponent( 736 );
            AddComponent( ac, 3, 0, 0 );
            ac = new AddonComponent( 739 );
            AddComponent( ac, 3, -2, 0 );
            ac = new AddonComponent( 740 );
            AddComponent( ac, 2, -2, 0 );
            ac = new AddonComponent( 743 );
            AddComponent( ac, 1, -2, 0 );
            ac = new AddonComponent( 743 );
            AddComponent( ac, -1, -2, 0 );
            ac = new AddonComponent( 737 );
            AddComponent( ac, -2, -2, 0 );
            ac = new AddonComponent( 742 );
            AddComponent( ac, -2, -1, 0 );
            ac = new AddonComponent( 742 );
            AddComponent( ac, -2, 0, 0 );
            ac = new AddonComponent( 742 );
            AddComponent( ac, -2, 1, 0 );
            ac = new AddonComponent( 1635 );
            ac.Hue = 1341;
            AddComponent( ac, 3, 3, 25 );
            ac = new AddonComponent( 1633 );
            ac.Hue = 1341;
            AddComponent( ac, 3, 1, 25 );
            ac = new AddonComponent( 1632 );
            ac.Hue = 1341;
            AddComponent( ac, 1, 3, 25 );
            ac = new AddonComponent( 1630 );
            ac.Hue = 1341;
            AddComponent( ac, 0, 1, 25 );
            ac = new AddonComponent( 1631 );
            ac.Hue = 1341;
            AddComponent( ac, 1, 0, 25 );
            ac = new AddonComponent( 1636 );
            ac.Hue = 1341;
            AddComponent( ac, 3, 0, 25 );
            ac = new AddonComponent( 1637 );
            ac.Hue = 1341;
            AddComponent( ac, 0, 0, 25 );
            ac = new AddonComponent( 1638 );
            ac.Hue = 1341;
            AddComponent( ac, 0, 3, 25 );
            ac = new AddonComponent( 743 );
            AddComponent( ac, 0, -2, 0 );
            ac = new AddonComponent( 742 );
            AddComponent( ac, -2, 2, 0 );
            ac = new AddonComponent( 736 );
            AddComponent( ac, 3, -1, 0 );
            ac = new AddonComponent( 735 );
            AddComponent( ac, -1, 3, 0 );
            ac = new AddonComponent( 738 );
            AddComponent( ac, -2, 3, 0 );
            ac = new AddonComponent( 1633 );
            ac.Hue = 1341;
            AddComponent( ac, 3, 2, 25 );
            ac = new AddonComponent( 1632 );
            ac.Hue = 1341;
            AddComponent( ac, 2, 3, 25 );
            ac = new AddonComponent( 1630 );
            ac.Hue = 1341;
            AddComponent( ac, 0, 2, 25 );
            ac = new AddonComponent( 1631 );
            ac.Hue = 1341;
            AddComponent( ac, 2, 0, 25 );
            ac = new AddonComponent( 1635 );
            ac.Hue = 1341;
            AddComponent( ac, 2, 2, 28 );
            ac = new AddonComponent( 1636 );
            ac.Hue = 1341;
            AddComponent( ac, 2, 1, 28 );
            ac = new AddonComponent( 1637 );
            ac.Hue = 1341;
            AddComponent( ac, 1, 1, 28 );
            ac = new AddonComponent( 1638 );
            ac.Hue = 1341;
            AddComponent( ac, 1, 2, 28 );
            ac = new AddonComponent( 4012 );
            ac.Light = LightType.Circle150;
            AddComponent( ac, 1, 5, 0 );

            uint keyvalue = Convert.ToUInt32( 2 * Utility.RandomMinMax( 1, 4999 ) );
            WoodenBox pack = new WoodenBox();
            pack.MoveToWorld( this.Owner.Location );
            pack.Map = this.Owner.Map;
            pack.Y -= 1;
            pack.X -= 1;
            pack.Movable = false;
            pack.KeyValue = keyvalue;
            pack.LockLevel = 95;
            pack.RequiredSkill = 95;
            pack.ItemID = 0x9AA;

            Key key = new Key();
            key.KeyValue = keyvalue;
            pack.DropItem( key );
            this.Box = pack;

            Bedroll bedroll = new Bedroll();
            bedroll.MoveToWorld( this.Owner.Location );
            bedroll.Map = this.Owner.Map;
            bedroll.Y += 1;
            bedroll.Z -= 1;
            bedroll.ItemID = 0xA56;
            bedroll.Movable = false;
            this.Bedroll = bedroll;
        }
		private Item CreateItem(int ItemID) // Create the appropriate item class - Defaults to a Static Item
		{
			Item item = null;

			switch(ItemID)
			{
				#region MobileSaver
				case 0x0001: // Now used for Mobile Importing.
				{
					item = new Static( 0x1 );
					break;
				}
				#endregion
				case 0x1F19: // Add any unwanted items here.
				case 0x0FB7: // TODO: Boat parts: planks, tillerman, etc.
					break;



				case 0x0FB1:  //forge
					item = new SmallForgeAddon();
					break;
				case 0x0FAF:  //anvil east
					item = new AnvilEastAddon();
					break;
				case 0x0FB0:  //anvil south
					item = new AnvilSouthAddon();
					break;

				case 0x2DD8: //Elven Forge
					item = new ElvenForgeAddon();
					break;

				case 0x1922: //FlourMill East
					item = new FlourMillEastAddon();
					break;
					case 0x1920: case 0x1924: break; //Don't add those items since the addon has them.
				case 0x192E: //FlourMill South
					item = new FlourMillSouthAddon();
					break;
					case 0x192C: case 0x1930: break; //Don't add those items since the addon has them.

				case 0x1060: //Loom East
					item = new LoomEastAddon();
					break;
					case 0x105F: break; //Don't add those items since the addon has them.
				case 0x1061: //Loom South
					item = new LoomSouthAddon();
					break;
					case 0x1062: break; //Don't add those items since the addon has them.

				case 0x1019: //Spinningwheel East
					item = new SpinningwheelEastAddon();
					break;
				case 0x1015: //Spinningwheel South
					item = new SpinningwheelSouthAddon();
					break;


				// Housing Metal Doors
				case 0x679:
					item = new NorthWestDoor();
					break;
				case 0x67B:
					item = new NorthEastDoor();
					break;
				case 0x675:
					item = new SouthWestDoor();
					break;
				case 0x677:
					item = new SouthEastDoor();
					break;
				case 0x683:
					item = new WestNorthDoor();
					break;
				case 0x681:
					item = new WestSouthDoor();
					break;
				case 0x67F:
					item = new EastNorthDoor();
					break;
				case 0x67D:
					item = new EastSouthDoor();
					break;

				/*
				case 0x0675: // Metal Doors 2 NOTE: Some doors seem to open the wrong way, but there's no way to determine correct CCW/CW from the POL file.
					item = new MetalDoor2( DoorFacing.WestCW );
					break;
				case 0x0677:
					item = new MetalDoor2( DoorFacing.EastCCW );
					break;
				case 0x067D:
					item = new MetalDoor2( DoorFacing.SouthCW );
					break;
				case 0x067F:
					item = new MetalDoor2( DoorFacing.NorthCCW );
					break;
				*/

				case 0x0685: // Barred Metal Doors
					item = new BarredMetalDoor( DoorFacing.WestCW );
					break;
				case 0x0687:
					item = new BarredMetalDoor( DoorFacing.EastCCW );
					break;
				case 0x068D:
					item = new BarredMetalDoor( DoorFacing.SouthCW );
					break;
				case 0x068F:
					item = new BarredMetalDoor( DoorFacing.NorthCCW );
					break;

				case 0x0695: // Rattan Doors
					item = new RattanDoor( DoorFacing.WestCW );
					break;
				case 0x0697:
					item = new RattanDoor( DoorFacing.EastCCW );
					break;
				case 0x069D:
					item = new RattanDoor( DoorFacing.SouthCW );
					break;
				case 0x069F:
					item = new RattanDoor( DoorFacing.NorthCCW );
					break;

				case 0x06A5: // Dark Wood Doors
					item = new DarkWoodDoor( DoorFacing.WestCW );
					break;
				case 0x06A7:
					item = new DarkWoodDoor( DoorFacing.EastCCW );
					break;
				case 0x06AD:
					item = new DarkWoodDoor( DoorFacing.SouthCW );
					break;
				case 0x06AF:
					item = new DarkWoodDoor( DoorFacing.NorthCCW );
					break;

				case 0x06B5: // Medium Wood Doors
					item = new MediumWoodDoor( DoorFacing.WestCW );
					break;
				case 0x06B7:
					item = new MediumWoodDoor( DoorFacing.EastCCW );
					break;
				case 0x06BD:
					item = new MediumWoodDoor( DoorFacing.SouthCW );
					break;
				case 0x06BF:
					item = new MediumWoodDoor( DoorFacing.NorthCCW );
					break;

				/*
				case 0x06C5: // Metal Doors
					item = new MetalDoor( DoorFacing.WestCW );
					break;
				case 0x06C7:
					item = new MetalDoor( DoorFacing.EastCCW );
					break;
				case 0x06CD:
					item = new MetalDoor( DoorFacing.SouthCW );
					break;
				case 0x06CF:
					item = new MetalDoor( DoorFacing.NorthCCW );
					break;
				*/

				case 0x06D5: // Light Wood Doors
					item = new LightWoodDoor( DoorFacing.WestCW );
					break;
				case 0x06D7:
					item = new LightWoodDoor( DoorFacing.EastCCW );
					break;
				case 0x06DD:
					item = new LightWoodDoor( DoorFacing.SouthCW );
					break;
				case 0x06DF:
					item = new LightWoodDoor( DoorFacing.NorthCCW );
					break;

				case 0x06E5: // Strong Wood Doors
					item = new StrongWoodDoor( DoorFacing.WestCW );
					break;
				case 0x06E7:
					item = new StrongWoodDoor( DoorFacing.EastCCW );
					break;
				case 0x06ED:
					item = new StrongWoodDoor( DoorFacing.SouthCW );
					break;
				case 0x06EF:
					item = new StrongWoodDoor( DoorFacing.NorthCCW );
					break;

				case 0x2A05: //South facing West half Paper door (SE)
					item = new SWPaperSEDoor();
					break;
				case 0x2A07: //South facing East half Paper door (SE)
					item = new SEPaperSEDoor();
					break;
				case 0x2A09: //East facing South half Paper door (SE)
					item = new ESPaperSEDoor();
					break;
				case 0x2A0B: //East facing North half Paper door (SE)
					item = new ENPaperSEDoor();
					break;

				case 0x2A0D: //South facing West half Cloth door (SE)
					item = new SWClothSEDoor();
					break;
				case 0x2A0F: //South facing East half Cloth door (SE)
					item = new SEClothSEDoor();
					break;
				case 0x2A11: //East facing South half Cloth door (SE)
					item = new ESClothSEDoor();
					break;
				case 0x2A13: //East facing North half Cloth door (SE)
					item = new ENClothSEDoor();
					break;

				case 0x2A16: //South facing West half Wooden door (SE)
					item = new SWWoodenSEDoor();
					break;
				case 0x2A17: //South facing East half Wooden door (SE)
					item = new SEWoodenSEDoor();
					break;
				case 0x2A19: //East facing South half Wooden door (SE)
					item = new ESWoodenSEDoor();
					break;
				case 0x2A1B: //East facing North half Wooden door (SE)
					item = new ENWoodenSEDoor();
					break;



				case 0xE77: //Barrel
					item = new Barrel();
					item.Movable = false;
					break;
				case 0xE7F: //Keg
					item = new Keg();
					item.Movable = false;
					break;
				case 0xE7A: //PicnicBasket
					item = new PicnicBasket();
					item.Movable = false;
					break;
				case 0x990: //Basket
					item = new Basket();
					item.Movable = false;
					break;
				case 0x9AA: //WoodenBox (0xE7D)
					item = new WoodenBox();
					item.Movable = false;
					break;
				case 0xE7D: //WoodenBox (0xE7D)
					item = new WoodenBox();
					item.Movable = false;
					item.ItemID = 0xE7D;
					break;
				case 0x9A9: //SmallCrate (0xE7E)
					item = new SmallCrate();
					item.Movable = false;
					break;
				case 0xE7E: //SmallCrate (0xE7E)
					item = new SmallCrate();
					item.Movable = false;
					item.ItemID = 0xE7E;
					break;
				case 0xE3F: //MediumCrate (0xE3E)
					item = new MediumCrate();
					item.Movable = false;
					break;
				case 0xE3E: //MediumCrate (0xE3E)
					item = new MediumCrate();
					item.Movable = false;
					item.ItemID = 0xE3E;
					break;
				case 0xE3D: //LargeCrate (0xE3C)
					item = new LargeCrate();
					item.Movable = false;
					break;
				case 0xE3C: //LargeCrate (0xE3C)
					item = new LargeCrate();
					item.Movable = false;
					item.ItemID = 0xE3C;
					break;
				case 0x9A8: //MetalBox (0xE80)
					item = new MetalBox();
					item.Movable = false;
					break;
				case 0xE80: //MetalBox (0xE80)
					item = new MetalBox();
					item.Movable = false;
					item.ItemID = 0xE80;
					break;
				case 0x9AB: //MetalChest (0xE7C)
					item = new MetalChest();
					item.Movable = false;
					break;
				case 0xE7C: //MetalChest (0xE7C)
					item = new MetalChest();
					item.Movable = false;
					item.ItemID = 0xE7C;
					break;
				case 0xE41: //MetalGoldenChest (0xE40)
					item = new MetalGoldenChest();
					item.Movable = false;
					break;
				case 0xE40: //MetalGoldenChest (0xE40)
					item = new MetalGoldenChest();
					item.Movable = false;
					item.ItemID = 0xE40;
					break;
				case 0xe43: //WoodenChest (0xe42)
					item = new WoodenChest();
					item.Movable = false;
					break;
				case 0xe42: //WoodenChest (0xe42)
					item = new WoodenChest();
					item.Movable = false;
					item.ItemID = 0xe42;
					break;
				case 0x280B: //PlainWoodenChest (0x280C)
					item = new PlainWoodenChest();
					item.Movable = false;
					break;
				case 0x280C: //PlainWoodenChest (0x280C)
					item = new PlainWoodenChest();
					item.Movable = false;
					item.ItemID = 0x280C;
					break;
				case 0x280D: //OrnateWoodenChest (0x280E)
					item = new OrnateWoodenChest();
					item.Movable = false;
					break;
				case 0x280E: //OrnateWoodenChest (0x280E)
					item = new OrnateWoodenChest();
					item.Movable = false;
					item.ItemID = 0x280E;
					break;
				case 0x280F: //GildedWoodenChest (0x2810)
					item = new GildedWoodenChest();
					item.Movable = false;
					break;
				case 0x2810: //GildedWoodenChest (0x2810)
					item = new GildedWoodenChest();
					item.Movable = false;
					item.ItemID = 0x2810;
					break;
				case 0x2811: //WoodenFootLocker (0x2812)
					item = new WoodenFootLocker();
					item.Movable = false;
					break;
				case 0x2812: //WoodenFootLocker (0x2812)
					item = new WoodenFootLocker();
					item.Movable = false;
					item.ItemID = 0x2812;
					break;
				case 0x2813: //FinishedWoodenChest (0x2814)
					item = new FinishedWoodenChest();
					item.Movable = false;
					break;
				case 0x2814: //FinishedWoodenChest (0x2814)
					item = new FinishedWoodenChest();
					item.Movable = false;
					item.ItemID = 0x2814;
					break;

				case 0x2815: //TallCabinet (0x2816)
					item = new TallCabinet();
					item.Movable = false;
					break;
				case 0x2816: //TallCabinet (0x2816)
					item = new TallCabinet();
					item.Movable = false;
					item.ItemID = 0x2816;
					break;
				case 0x2817: //ShortCabinet (0x2818)
					item = new ShortCabinet();
					item.Movable = false;
					break;
				case 0x2818: //ShortCabinet (0x2818)
					item = new ShortCabinet();
					item.Movable = false;
					item.ItemID = 0x2818;
					break;
				case 0x2857: //RedArmoire (0x2858)
					item = new RedArmoire();
					item.Movable = false;
					break;
				case 0x2858: //RedArmoire (0x2858)
					item = new RedArmoire();
					item.Movable = false;
					item.ItemID = 0x2858;
					break;
				case 0x285D: //CherryArmoire (0x285E)
					item = new CherryArmoire();
					item.Movable = false;
					break;
				case 0x285E: //CherryArmoire (0x285E)
					item = new CherryArmoire();
					item.Movable = false;
					item.ItemID = 0x285E;
					break;
				case 0x285B: //MapleArmoire (0x285C)
					item = new MapleArmoire();
					item.Movable = false;
					break;
				case 0x285C: //MapleArmoire (0x285C)
					item = new MapleArmoire();
					item.Movable = false;
					item.ItemID = 0x285C;
					break;
				case 0x2859: //ElegantArmoire (0x285A)
					item = new ElegantArmoire();
					item.Movable = false;
					break;
				case 0x285A: //ElegantArmoire (0x285A)
					item = new ElegantArmoire();
					item.Movable = false;
					item.ItemID = 0x285A;
					break;
				case 0xA97: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
					item = new FullBookcase();
					item.Movable = false;
					break;
				case 0xA99: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
					item = new FullBookcase();
					item.Movable = false;
					item.ItemID = 0xa99;
					break;
				case 0xA98: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
					item = new FullBookcase();
					item.Movable = false;
					item.ItemID = 0xa98;
					break;
				case 0xA9a: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
					item = new FullBookcase();
					item.Movable = false;
					item.ItemID = 0xa9a;
					break;
				case 0xA9b: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
					item = new FullBookcase();
					item.Movable = false;
					item.ItemID = 0xa9b;
					break;
				case 0xA9c: //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
					item = new FullBookcase();
					item.Movable = false;
					item.ItemID = 0xa9c;
					break;
				case 0xA9D: //EmptyBookcase (0xa9e)
					item = new EmptyBookcase();
					item.Movable = false;
					break;
				case 0xa9e: //EmptyBookcase (0xa9e)
					item = new EmptyBookcase ();
					item.Movable = false;
					item.ItemID = 0xa9e;
					break;
				case 0xA2C: //Drawer (0xa34)
					item = new Drawer();
					item.Movable = false;
					break;
				case 0xa34: //Drawer (0xa34)
					item = new Drawer();
					item.Movable = false;
					item.ItemID = 0xa34;
					break;
				case 0xA30: //FancyDrawer (0xa38)
					item = new FancyDrawer();
					item.Movable = false;
					break;
				case 0xa38: //FancyDrawer (0xa38)
					item = new FancyDrawer();
					item.Movable = false;
					item.ItemID = 0xa38;
					break;
				case 0xA4F: //Armoire (0xa53)
					item = new Armoire();
					item.Movable = false;
					break;
				case 0xa53: //Armoire (0xa53)
					item = new Armoire();
					item.Movable = false;
					item.ItemID = 0xa53;
					break;
				case 0xA4D: //FancyArmoire (0xa51)
					item = new FancyArmoire();
					item.Movable = false;
					break;
				case 0xa51: //FancyArmoire (0xa51)
					item = new FancyArmoire();
					item.Movable = false;
					item.ItemID = 0xa51;
					break;



				default:
					item = new Static(ItemID);
					item.Movable = false;
					break;

			}

			return item;
		}
        public override void OnResponse( GameClient sender, RelayInfo info )
        {
            if ( info.ButtonID == 1 )
            {
                Mobile m = sender.Mobile;
                Item item = null;

                switch ( m_Token.Type )
                {
                    case PromotionalType.PersonalAttendant:
                        //item = new PersonalAttendantDeed();
                        break;
                    case PromotionalType.CrystalItems:
                        {
                            item = new WoodenBox();

                            Container c = item as Container;
                            c.Hue = 1173;
                            c.Name = "A Box of Crystal Items";

                            c.DropItem( new CrystalAltarDeed() );
                            c.DropItem( new CrystalBeggarStatueDeed() );
                            c.DropItem( new CrystalBrazierDeed() );
                            c.DropItem( new CrystalBullStatueDeed() );
                            c.DropItem( new CrystalRunnerStatueDeed() );
                            c.DropItem( new CrystalSuplicantStatueDeed() );
                            c.DropItem( new CrystalTableDeed() );
                            c.DropItem( new CrystalThroneDeed() );

                            break;
                        }
                    case PromotionalType.ShadowItems:
                        {
                            item = new WoodenBox();

                            Container c = item as Container;
                            c.Hue = 1908;
                            c.Name = "A Box of Shadow Items";

                            c.DropItem( new FireDemonStatueDeed() );
                            c.DropItem( new GlobeOfSosariaDeed() );
                            c.DropItem( new ObsidianPillarDeed() );
                            c.DropItem( new ObsidianRockDeed() );
                            c.DropItem( new ShadowAltarDeed() );
                            c.DropItem( new ShadowBannerDeed() );
                            c.DropItem( new ShadowFirePitDeed() );
                            c.DropItem( new ShadowPillarDeed() );
                            c.DropItem( new SpikeColumnDeed() );
                            c.DropItem( new SpikePostDeed() );

                            break;
                        }
                }

                if ( item != null && m_Token != null )
                {
                    if ( !m.AddToBackpack( item ) )
                    {
                        if ( m.BankBox.TryDropItem( m, item, false ) )
                            item.MoveToWorld( m.Location, m.Map );
                    }

                    m_Token.Delete();
                }
            }
        }
Example #29
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() );
        }
Example #30
0
        public override void OnDoubleClick(Mobile from)
        {
            if (!this.IsChildOf(from.Backpack))
            {
                // This item must be in your backpack to be used.
                from.SendLocalizedMessage(1062334);
                return;
            }

            if (from != Owner)
            {
                from.SendLocalizedMessage(1116257);                   // This token does not belong to this character.
                return;
            }

            var acct = from.Account as Account;

            if (acct.Trial)
            {
                from.SendLocalizedMessage(1116258);                   // Trial account cannot use this token.
                return;
            }

            var totalTime = (DateTime.Now - acct.Created);

            if (totalTime >= TimeSpan.FromDays(30.0))
            {
                from.SendLocalizedMessage(1116259);                   // This can only be used by accounts less than 1 month old.
                return;
            }

            BankBox bankbox = from.BankBox;

            WoodenBox box = new WoodenBox();

            box.Name   = "A Starter Kit";
            box.Hue    = 66;
            box.ItemID = 3709;

            if (from.Race == Race.Gargoyle)
            {
                box.DropItem(new GargishInitiationEarrings());
                box.DropItem(new GargishInitiationKilt());
                box.DropItem(new GargishInitiationNecklace());
                box.DropItem(new GargishInitiationLeggings());
                box.DropItem(new GargishInitiationArms());
                box.DropItem(new GargishInitiationChest());
            }
            else
            {
                box.DropItem(new InitiationCap());
                box.DropItem(new InitiationGloves());
                box.DropItem(new InitiationGorget());
                box.DropItem(new InitiationLeggings());
                box.DropItem(new InitiationSleeves());
                box.DropItem(new InitiationTunic());
            }

            box.DropItem(CreateStarterRunebook());
            box.DropItem(new Gold(20001));

            if (bankbox.TryDropItem(from, box, false))
            {
                this.Delete();
                from.SendLocalizedMessage(1042672, true, " 20001");
                from.SendLocalizedMessage(1116286);                   // Your new player starter kit has been placed in your bank box.
            }
        }
Example #31
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 );
            }
        }
Example #32
0
        public bool Destroy( )
        {
            if (this == null || this.Deleted)
            {
                return(false);
            }

            if (OnBeforeDestroyed( ))
            {
                if (m_Child != null && !m_Child.Deleted && !m_Child.Alive)
                {
                    Rubble rubble = new Rubble(m_DestroyedID, this.Name);

                    if (rubble != null && !rubble.Deleted && this.Map != null && this.Map != Map.Internal)
                    {
                        rubble.MoveToWorld(this.Location, this.Map);
                    }

                    WoodenBox lootbox = new WoodenBox( );
                    lootbox.Name = this.Name + " Loot Box";

                    OnDestroyed(lootbox);

                    if (lootbox != null && !lootbox.Deleted)
                    {
                        if (DropsLoot)
                        {
                            lootbox.MoveToWorld(new Point3D(this.X, this.Y, this.Z), this.Map);
                        }
                        else
                        {
                            lootbox.Delete( );
                        }
                    }

                    if (m_Child != null)
                    {
                        m_Child.Delete( );
                    }

                    Delete( );

                    return(true);
                }
                else
                {
                    Static rubble = new Static(m_DestroyedID);

                    if (rubble != null && !rubble.Deleted && this.Map != null && this.Map != Map.Internal)
                    {
                        rubble.MoveToWorld(this.Location, this.Map);
                    }

                    WoodenBox lootbox = new WoodenBox( );
                    lootbox.Name = this.Name + " Loot Box";

                    OnDestroyed(lootbox);

                    if (lootbox != null && !lootbox.Deleted)
                    {
                        if (DropsLoot)
                        {
                            lootbox.MoveToWorld(new Point3D(this.X, this.Y, this.Z), this.Map);
                        }
                        else
                        {
                            lootbox.Delete( );
                        }
                    }

                    Delete( );
                    return(true);
                }
            }

            return(false);
        }