Inheritance: TrapableContainer
 public pvpbag(int amount) : base()
 {
     ItemID = m_Shapes[Utility.Random(m_Shapes.Length)];
     for (int i = 0; i < 12; i++)
         DropItem(new TotalRefreshPotion());
     for (int i = 0; i < 5; i++)
         DropItem(new GreaterAgilityPotion());
     for (int i = 0; i < 12; i++)
         DropItem(new GreaterStrengthPotion());
     for (int i = 0; i < 22; i++)
         DropItem(new GreaterHealPotion()); ;
     for (int i = 0; i < 18; i++)
         DropItem(new GreaterCurePotion());
     for (int i = 0; i < 15; i++)
         DropItem(new GreaterExplosionPotion());
     DropItem(new BagOfReagents(125));
     for (int i = 0; i < 5; i++)
             {
                 TrapableContainer cont = new Pouch();
                 cont.TrapPower = 1;
                 cont.TrapType = TrapType.MagicTrap;
                 DropItem(cont);
             }
     DropItem(new Bandage(100));
     //DropItem( new WarHammer() );
     //DropItem( new Kryss() );
 }
Beispiel #2
0
        private void AddItems(Container pack)
        {
            pack.DropItem(new BagOfReagents());
            pack.DropItem(new Spellbook(ulong.MaxValue));

            BaseWeapon weaps = new Halberd();

            weaps.Quality = WeaponQuality.Exceptional;
            pack.DropItem(weaps);

            weaps         = new Katana();
            weaps.Quality = WeaponQuality.Exceptional;
            pack.DropItem(weaps);

            weaps         = new ShortSpear();
            weaps.Quality = WeaponQuality.Exceptional;
            pack.DropItem(weaps);

            weaps         = new WarMace();
            weaps.Quality = WeaponQuality.Exceptional;
            pack.DropItem(weaps);

            pack.DropItem(new GreaterPoisonPotion());
            pack.DropItem(new GreaterPoisonPotion());

            pack.DropItem(new GreaterHealPotion());
            pack.DropItem(new GreaterHealPotion());
            pack.DropItem(new GreaterHealPotion());
            pack.DropItem(new GreaterHealPotion());

            pack.DropItem(new GreaterCurePotion());
            pack.DropItem(new GreaterCurePotion());
            pack.DropItem(new GreaterCurePotion());

            pack.DropItem(new TotalRefreshPotion());
            pack.DropItem(new TotalRefreshPotion());

            pack.DropItem(new GreaterExplosionPotion());
            pack.DropItem(new GreaterExplosionPotion());
            pack.DropItem(new GreaterExplosionPotion());

            pack.DropItem(new Bandage(20));

            for (int i = 0; i < 3; i++)
            {
                TrapableContainer cont = new Pouch();
                cont.TrapType  = TrapType.MagicTrap;
                cont.TrapPower = 1;
                cont.TrapLevel = 0;
                pack.DropItem(cont);
            }
        }
		public override void OnDoubleClick( Mobile from )
		{
			for ( int x = 0; x < 5; x++ )
			{
				Pouch trappedBag = new Pouch();
				trappedBag.TrapType = TrapType.MagicTrap;
				trappedBag.TrapLevel = 1;
				trappedBag.TrapPower = 1;
	
				if ( !from.AddToBackpack( trappedBag ) )
				{
					from.SendMessage("Your backpack has too many items.");
					trappedBag.Delete();
				}
			}
		}
Beispiel #4
0
        public override void OnDoubleClick(Mobile from)
        {
            for (int x = 0; x < 5; x++)
            {
                Pouch trappedBag = new Pouch();
                trappedBag.TrapType  = TrapType.MagicTrap;
                trappedBag.TrapLevel = 1;
                trappedBag.TrapPower = 1;

                if (!from.AddToBackpack(trappedBag))
                {
                    from.SendMessage("Your backpack has too many items.");
                    trappedBag.Delete();
                }
            }
        }
Beispiel #5
0
 public pvpbag(int amount) : base()
 {
     ItemID = m_Shapes[Utility.Random(m_Shapes.Length)];
     for (int i = 0; i < 12; i++)
     {
         DropItem(new TotalRefreshPotion());
     }
     for (int i = 0; i < 5; i++)
     {
         DropItem(new GreaterAgilityPotion());
     }
     for (int i = 0; i < 12; i++)
     {
         DropItem(new GreaterStrengthPotion());
     }
     for (int i = 0; i < 22; i++)
     {
         DropItem(new GreaterHealPotion());
     }
     ;
     for (int i = 0; i < 18; i++)
     {
         DropItem(new GreaterCurePotion());
     }
     for (int i = 0; i < 15; i++)
     {
         DropItem(new GreaterExplosionPotion());
     }
     DropItem(new BagOfReagents(125));
     for (int i = 0; i < 5; i++)
     {
         TrapableContainer cont = new Pouch();
         cont.TrapPower = 1;
         cont.TrapType  = TrapType.MagicTrap;
         DropItem(cont);
     }
     DropItem(new Bandage(100));
     //DropItem( new WarHammer() );
     //DropItem( new Kryss() );
 }
Beispiel #6
0
        public override void OnDoubleClick( Mobile from )
        {
            if ( !from.InLOS( this.GetWorldLocation() ) )
            {
                from.SendLocalizedMessage( 502800 ); // You can't see that.
                return;
            }

            if ( from.GetDistanceToSqrt( this.GetWorldLocation() ) > 4 )
            {
                from.SendLocalizedMessage( 500446 ); // That is too far away.
                return;
            }

            from.SendMessage( "You have been given some supplies based on your skills." );

            //4 pouches
            for (int i=0;i<4;++i)
            {
                Pouch p = new Pouch();
                p.TrapType = TrapType.MagicTrap;
                p.TrapPower = 1;
                p.Hue = 0x25;
                PackItem( from, p );
            }

            PackItem( from, new GreaterExplosionPotion() );
            PackItem( from, new TotalRefreshPotion() );
            PackItem( from, new GreaterCurePotion() );
            GiveLeatherArmor( from );

            if ( from.Skills[SkillName.Magery].Value >= 50.0 )
            {
                PackItem( from, new BagOfReagents( 100 ) );
                Spellbook book = Spellbook.FindRegular( from );//Spellbook book = from.GetSpellbook( typeof( Spellbook ) ) as Spellbook;
                if ( book != null )
                {
                    if ( book.Content != ulong.MaxValue )
                        book.Content = ulong.MaxValue;
                }
                else
                {
                    book = new Spellbook();
                    book.Content = ulong.MaxValue;//all spells
                    GiveItem( from, book );
                }
            }
            else
            {
                for(int i=0;i<3;i++)
                    PackItem( from, new GreaterHealPotion() );
            }

            if ( from.Skills[SkillName.Healing].Value >= 50.0 )
                PackItem( from, new Bandage( 100 ) );

            if ( from.Skills[SkillName.Fencing].Value >= 50.0 )
            {
                PackItem( from, new ShortSpear() );
                if ( from.Skills[SkillName.Parry].Value >= 50.0 )
                {
                    GiveItem( from, new Kryss() );
                    GiveItem( from, new MetalKiteShield() );
                }
                else
                {
                    GiveItem( from, new Spear() );
                }
            }

            if ( from.Skills[SkillName.Swords].Value >= 50.0 )
            {
                if ( from.Skills[SkillName.Parry].Value >= 50.0 )
                {
                    GiveItem( from, new MetalKiteShield() );
                }

                if ( from.Skills[SkillName.Lumberjacking].Value >= 50.0 )
                {
                    GiveItem( from, new Hatchet() );
                    PackItem( from, new LargeBattleAxe() );
                }

                PackItem( from, new Halberd() );
                GiveItem( from, new Katana() );
            }

            if ( from.Skills[SkillName.Macing].Value >= 50.0 )
            {
                if ( from.Skills[SkillName.Parry].Value >= 50.0 )
                    GiveItem( from, new MetalKiteShield() );
                GiveItem( from, new WarAxe() );
                PackItem( from, new WarHammer() );
            }

            if ( from.Skills[SkillName.Archery].Value >= 50.0 )
            {
                GiveItem( from, new Bow() );
                PackItem( from, new Crossbow() );
                PackItem( from, new HeavyCrossbow() );

                PackItem( from, new Bolt( 100 ) );
                PackItem( from, new Arrow( 100 ) );
            }

            if ( from.Skills[SkillName.Tailoring].Value >= 50.0 )
            {
                PackItem( from, new SewingKit() );
                PackItem( from, new Cloth( 25 ) );
                PackItem( from, new Leather( 100 ) );
            }

            if ( from.Skills[SkillName.Blacksmith].Value >= 50.0 )
            {
                PackItem( from, new Tongs() );
                PackItem( from, new IronIngot( 300 ) );
            }

            if ( from.Skills[SkillName.Poisoning].Value >= 50.0 )
            {
                for (int i=0;i<5;i++)
                    PackItem( from, new GreaterPoisonPotion() );
            }
        }
		public override void OnDoubleClick( Mobile from )
		{
            //Al:Unified checks and added pedantic visibility check.
            if (!from.InRange(GetWorldLocation(), 4))
            {
                from.SendLocalizedMessage(500446); // That is too far away.
                return;
            }
            else if ((!this.Visible) || !from.InLOS(this.GetWorldLocation()))
            {
                from.SendLocalizedMessage(502800); // You can't see that.
                return;
            }

			from.SendMessage( "You have been given some supplies based on your skills." );

            // Ethereals
            // will just be given out, when GiveEthereals is true and the user does not have a GameEthereal nor is mounted.
            if (GiveEthereals)
            {
                Item eth = from.Backpack.FindItemByType(typeof(GameEthereal));
                if (eth == null && !from.Mounted)
                    PackItem(from, new GameEthereal());
            }

			//4 pouches
			for (int i=0;i<4;++i)
			{
				Pouch p = new Pouch();
				//p.TrapType = TrapType.MagicTrap;
				//p.TrapPower = 1;
				//p.Hue = 0x25;
				PackItem( from, p );
			}

			//PackItem( from, new GreaterExplosionPotion() );
			//PackItem( from, new TotalRefreshPotion() );
			//PackItem( from, new GreaterCurePotion() );
			GiveLeatherArmor( from );

            Spellbook book = Spellbook.FindRegular(from);//Spellbook book = from.GetSpellbook( typeof( Spellbook ) ) as Spellbook;
            if (book != null)
            {
                if (book.Content != ulong.MaxValue)
                    book.Content = ulong.MaxValue;
            }
            else
            {
                book = new Spellbook();
                book.Content = ulong.MaxValue;//all spells
                book.LootType = LootType.Regular;
                book.Weight = 11;
                PackItem(from, book);
            }

            if ( from.Skills[SkillName.Magery].Value >= 50.0 )
			{
				PackItem( from, new BagOfReagents( 100 ) );
				if ( from.Skills[SkillName.Parry].Value >= 50.0 )
				{
					GiveItem( from, new MetalKiteShield() );
				}
			}
			else
			{
                PackItem(from, new BagOfReagents(10));
                //for(int i=0;i<3;i++)
					//PackItem( from, new GreaterHealPotion() );
			}

			if ( from.Skills[SkillName.Healing].Value >= 50.0 )
				PackItem( from, new Bandage( 100 ) );

			if ( from.Skills[SkillName.Fencing].Value >= 50.0 )
			{
				PackItem( from, new Kryss() );
                                PackItem( from, new WarFork() );
				PackItem( from, new ShortSpear() );
				if ( from.Skills[SkillName.Parry].Value >= 50.0 )
				{
					PackItem( from, new MetalKiteShield() );
				}
				else
				{
					GiveItem( from, new Spear() );
				}
			}

			if ( from.Skills[SkillName.Swords].Value >= 50.0 )
			{
				if ( from.Skills[SkillName.Parry].Value >= 50.0 )
				{
					GiveItem( from, new MetalKiteShield() );
				}

				if ( from.Skills[SkillName.Lumberjacking].Value >= 50.0 )
				{
					GiveItem( from, new Hatchet() );
					PackItem( from, new LargeBattleAxe() );
				}

				PackItem( from, new Halberd() );
				GiveItem( from, new Katana() );
			}

			if ( from.Skills[SkillName.Macing].Value >= 50.0 )
			{
				if ( from.Skills[SkillName.Parry].Value >= 50.0 )
					GiveItem( from, new MetalKiteShield() );
				GiveItem( from, new QuarterStaff() );
				PackItem( from, new WarHammer() );
                                PackItem( from, new WarAxe() );
			}

			if ( from.Skills[SkillName.Archery].Value >= 50.0 )
			{
				GiveItem( from, new Bow() );
				PackItem( from, new Crossbow() );
				PackItem( from, new HeavyCrossbow() );

				PackItem( from, new Bolt( 100 ) );
				PackItem( from, new Arrow( 100 ) );
			}

			if ( from.Skills[SkillName.Tailoring].Value >= 50.0 )
			{
				PackItem( from, new SewingKit() );
				PackItem( from, new Cloth( 25 ) );
				PackItem( from, new Leather( 100 ) );
			}

			if ( from.Skills[SkillName.Blacksmith].Value >= 50.0 )
			{
				PackItem( from, new Tongs() );
				PackItem( from, new IronIngot( 300 ) );
			}

			if ( from.Skills[SkillName.Poisoning].Value >= 50.0 )
			{
				for (int i=0;i<3;i++)
					PackItem( from, new GreaterPoisonPotion() );
			}
		}
Beispiel #8
0
        /// <summary>
        /// Overrides the Double-Click option on the item. Supplies the
        /// player that double-clicks on the stone with appropriate gear
        /// based upon their skill levels.
        /// </summary>
        /// <param name="m">PlayerMobile to be supplied</param>
        public override void OnDoubleClick(Mobile m)
        {
            if (m.Backpack != null)
            {
                if (((m.X) == this.X || (m.X - 1) == this.X || (m.X + 1) == this.X) && ((m.Y) == this.Y || (m.Y - 1) == this.Y || (m.Y + 1) == this.Y))
                {
                    if (!Tourney)
                    {
                        Supply(new BagOfPots(8, 8, 4, 4, 5), m, typeof(BagOfPots));
                        for (int i = 1; i <= 5; i++)
                        {
                            TrapableContainer con = new Pouch();
                            con.TrapType  = TrapType.MagicTrap;
                            con.TrapLevel = 1;
                            con.TrapPower = 1;

                            if (!m.AddToBackpack(con))
                            {
                                con.Delete();
                            }
                        }
                    }
                    else
                    {
                        for (int i = 1; i <= 10; i++)
                        {
                            Item item = new TotalRefreshPotion();

                            if (!m.AddToBackpack(item))
                            {
                                item.Delete();
                            }
                        }
                    }

                    if (m.Skills[SkillName.Magery].Value >= 50.0 || m.Str <= 50)
                    {
                        EquipArmor(new LeatherLegs(), true, m, typeof(LeatherLegs), m_EquipHue);
                        EquipArmor(new LeatherGorget(), true, m, typeof(LeatherGorget), m_EquipHue);
                        EquipArmor(new LeatherGloves(), true, m, typeof(LeatherGloves), m_EquipHue);
                        EquipArmor(new LeatherChest(), true, m, typeof(LeatherChest), m_EquipHue);
                        EquipArmor(new LeatherArms(), true, m, typeof(LeatherArms), m_EquipHue);
                        EquipArmor(new LeatherCap(), true, m, typeof(LeatherCap), m_EquipHue);
                    }
                    else
                    {
                        EquipArmor(new ChainLegs(), true, m, typeof(ChainLegs), m_EquipHue);
                        EquipArmor(new LeatherGorget(), true, m, typeof(LeatherGorget), m_EquipHue);
                        EquipArmor(new RingmailGloves(), true, m, typeof(RingmailGloves), m_EquipHue);
                        EquipArmor(new ChainChest(), true, m, typeof(ChainChest), m_EquipHue);
                        EquipArmor(new RingmailArms(), true, m, typeof(RingmailArms), m_EquipHue);
                        EquipArmor(new CloseHelm(), true, m, typeof(CloseHelm), m_EquipHue);
                    }

                    if (m.Skills[SkillName.Magery].Value >= 50.0)
                    {
                        Container pack = m.Backpack;
                        if (pack.FindItemByType(typeof(Spellbook)) == null)
                        {
                            Spellbook book = new Spellbook();
                            book.Content  = ulong.MaxValue;
                            book.LootType = LootType.Regular;

                            if (!m.AddToBackpack(book))
                            {
                                book.Delete();
                            }
                        }

                        Supply(new BagOfReagents(50), m, typeof(BagOfReagents));
                    }

                    if (m.Skills[SkillName.Healing].Value >= 50.0 || m.Skills[SkillName.Veterinary].Value >= 50)
                    {
                        Supply(new Bandage(50), m, typeof(Bandage));
                    }

                    if (m.Skills[SkillName.Swords].Value >= 50.0)
                    {
                        EquipItem(new Katana(), true, m, typeof(Katana));
                        EquipItem(new Halberd(), false, m, typeof(Halberd));
                        EquipItem(new BattleAxe(), false, m, typeof(BattleAxe));
                    }

                    if (m.Skills[SkillName.Fencing].Value >= 50.0)
                    {
                        EquipItem(new Kryss(), true, m, typeof(Kryss));
                        EquipItem(new ShortSpear(), false, m, typeof(ShortSpear));
                        EquipItem(new Spear(), false, m, typeof(Spear));
                    }

                    if (m.Skills[SkillName.Macing].Value >= 50.0)
                    {
                        EquipItem(new Mace(), true, m, typeof(Mace));
                        EquipItem(new QuarterStaff(), false, m, typeof(QuarterStaff));
                        EquipItem(new WarHammer(), false, m, typeof(WarHammer));
                    }

                    if (m.Skills[SkillName.Archery].Value >= 50.0)
                    {
                        EquipItem(new Bow(), false, m, typeof(Bow));
                        EquipItem(new Crossbow(), false, m, typeof(Crossbow));
                        EquipItem(new HeavyCrossbow(), false, m, typeof(HeavyCrossbow));

                        Supply(new Arrow(50), m, typeof(Arrow));
                        Supply(new Bolt(50), m, typeof(Bolt));
                    }
                }
                else
                {
                    m.SendMessage("You reach out but cannot seem to touch the stone...");
                }
            }
            else
            {
                m.SendMessage("For some reason you don't seem to have a backpack...");
            }
        }
Beispiel #9
0
        /// <summary>
        /// Overrides the Double-Click option on the item. Supplies the
        /// player that double-clicks on the stone with appropriate gear
        /// based upon their skill levels.
        /// </summary>
        /// <param name="m">PlayerMobile to be supplied</param>
        public override void OnDoubleClick(Mobile m)
        {
            if (m.Backpack != null)
            {
                if (((m.X) == this.X || (m.X - 1) == this.X || (m.X + 1) == this.X) && ((m.Y) == this.Y || (m.Y - 1) == this.Y || (m.Y + 1) == this.Y))
                {
                    if (!Tourney)
                    {
                        Supply(new BagOfPots(8, 8, 4, 4, 5), m, typeof(BagOfPots));
                        for (int i = 1; i <= 5; i++)
                        {
                            TrapableContainer con = new Pouch();
                            con.TrapType = TrapType.MagicTrap;
                            con.TrapLevel = 1;
                            con.TrapPower = 1;

                            if (!m.AddToBackpack(con))
                                con.Delete();
                        }
                    }
                    else
                    {
                        for (int i = 1; i <= 10; i++)
                        {
                            Item item = new TotalRefreshPotion();

                            if (!m.AddToBackpack(item))
                                item.Delete();
                        }
                    }

                    if (m.Skills[SkillName.Magery].Value >= 50.0 || m.Str <= 50)
                    {
                        EquipArmor(new LeatherLegs(), true, m, typeof(LeatherLegs), m_EquipHue);
                        EquipArmor(new LeatherGorget(), true, m, typeof(LeatherGorget), m_EquipHue);
                        EquipArmor(new LeatherGloves(), true, m, typeof(LeatherGloves), m_EquipHue);
                        EquipArmor(new LeatherChest(), true, m, typeof(LeatherChest), m_EquipHue);
                        EquipArmor(new LeatherArms(), true, m, typeof(LeatherArms), m_EquipHue);
                        EquipArmor(new LeatherCap(), true, m, typeof(LeatherCap), m_EquipHue);
                    }
                    else
                    {
                        EquipArmor(new ChainLegs(), true, m, typeof(ChainLegs), m_EquipHue);
                        EquipArmor(new LeatherGorget(), true, m, typeof(LeatherGorget), m_EquipHue);
                        EquipArmor(new RingmailGloves(), true, m, typeof(RingmailGloves), m_EquipHue);
                        EquipArmor(new ChainChest(), true, m, typeof(ChainChest), m_EquipHue);
                        EquipArmor(new RingmailArms(), true, m, typeof(RingmailArms), m_EquipHue);
                        EquipArmor(new CloseHelm(), true, m, typeof(CloseHelm), m_EquipHue);
                    }

                    if (m.Skills[SkillName.Magery].Value >= 50.0)
                    {
                        Container pack = m.Backpack;
                        if (pack.FindItemByType(typeof(Spellbook)) == null)
                        {
                            Spellbook book = new Spellbook();
                            book.Content = ulong.MaxValue;
                            book.LootType = LootType.Regular;

                            if (!m.AddToBackpack(book))
                                book.Delete();
                        }

                        Supply(new BagOfReagents(50), m, typeof(BagOfReagents));
                    }

                    if (m.Skills[SkillName.Healing].Value >= 50.0 || m.Skills[SkillName.Veterinary].Value >= 50)
                    {
                        Supply(new Bandage(50), m, typeof(Bandage));
                    }

                    if (m.Skills[SkillName.Swords].Value >= 50.0)
                    {

                        EquipItem(new Katana(), true, m, typeof(Katana));
                        EquipItem(new Halberd(), false, m, typeof(Halberd));
                        EquipItem(new BattleAxe(), false, m, typeof(BattleAxe));
                    }

                    if (m.Skills[SkillName.Fencing].Value >= 50.0)
                    {

                        EquipItem(new Kryss(), true, m, typeof(Kryss));
                        EquipItem(new ShortSpear(), false, m, typeof(ShortSpear));
                        EquipItem(new Spear(), false, m, typeof(Spear));
                    }

                    if (m.Skills[SkillName.Macing].Value >= 50.0)
                    {
                        EquipItem(new Mace(), true, m, typeof(Mace));
                        EquipItem(new QuarterStaff(), false, m, typeof(QuarterStaff));
                        EquipItem(new WarHammer(), false, m, typeof(WarHammer));
                    }

                    if (m.Skills[SkillName.Archery].Value >= 50.0)
                    {

                        EquipItem(new Bow(), false, m, typeof(Bow));
                        EquipItem(new Crossbow(), false, m, typeof(Crossbow));
                        EquipItem(new HeavyCrossbow(), false, m, typeof(HeavyCrossbow));

                        Supply(new Arrow(50), m, typeof(Arrow));
                        Supply(new Bolt(50), m, typeof(Bolt));
                    }
                }
                else
                {
                    m.SendMessage("You reach out but cannot seem to touch the stone...");
                }
            }
            else
            {
                m.SendMessage("For some reason you don't seem to have a backpack...");
            }
        }
		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 );
		}
Beispiel #11
0
        private void AddItems(Container pack)
        {
            pack.DropItem(new BagOfReagents());
            pack.DropItem(new Spellbook(ulong.MaxValue));

            BaseWeapon weaps = new Halberd();
            weaps.Quality = WeaponQuality.Exceptional;
            pack.DropItem(weaps);

            weaps = new Katana();
            weaps.Quality = WeaponQuality.Exceptional;
            pack.DropItem(weaps);

            weaps = new ShortSpear();
            weaps.Quality = WeaponQuality.Exceptional;
            pack.DropItem(weaps);

            weaps = new WarMace();
            weaps.Quality = WeaponQuality.Exceptional;
            pack.DropItem(weaps);

            pack.DropItem(new GreaterPoisonPotion());
            pack.DropItem(new GreaterPoisonPotion());

            pack.DropItem(new GreaterHealPotion());
            pack.DropItem(new GreaterHealPotion());
            pack.DropItem(new GreaterHealPotion());
            pack.DropItem(new GreaterHealPotion());

            pack.DropItem(new GreaterCurePotion());
            pack.DropItem(new GreaterCurePotion());
            pack.DropItem(new GreaterCurePotion());

            pack.DropItem(new TotalRefreshPotion());
            pack.DropItem(new TotalRefreshPotion());

            pack.DropItem(new GreaterExplosionPotion());
            pack.DropItem(new GreaterExplosionPotion());
            pack.DropItem(new GreaterExplosionPotion());

            pack.DropItem(new Bandage(20));

            for(int i = 0; i < 3; i++)
            {
                TrapableContainer cont = new Pouch();
                cont.TrapType = TrapType.MagicTrap;
                cont.TrapPower = 1;
                cont.TrapLevel = 0;
                pack.DropItem(cont);
            }
        }
Beispiel #12
0
        public override void OnDoubleClick(Mobile from)
        {
            //Al:Unified checks and added pedantic visibility check.
            if (!from.InRange(GetWorldLocation(), 4))
            {
                from.SendLocalizedMessage(500446); // That is too far away.
                return;
            }
            else if ((!this.Visible) || !from.InLOS(this.GetWorldLocation()))
            {
                from.SendLocalizedMessage(502800); // You can't see that.
                return;
            }

            from.SendMessage("You have been given some supplies based on your skills.");

            // Ethereals
            // will just be given out, when GiveEthereals is true and the user does not have a GameEthereal nor is mounted.
            if (GiveEthereals)
            {
                Item eth = from.Backpack.FindItemByType(typeof(GameEthereal));
                if (eth == null && !from.Mounted)
                {
                    PackItem(from, new GameEthereal());
                }
            }

            //4 pouches
            for (int i = 0; i < 4; ++i)
            {
                Pouch p = new Pouch();
                //p.TrapType = TrapType.MagicTrap;
                //p.TrapPower = 1;
                //p.Hue = 0x25;
                PackItem(from, p);
            }

            //PackItem( from, new GreaterExplosionPotion() );
            //PackItem( from, new TotalRefreshPotion() );
            //PackItem( from, new GreaterCurePotion() );
            GiveLeatherArmor(from);

            Spellbook book = Spellbook.FindRegular(from);//Spellbook book = from.GetSpellbook( typeof( Spellbook ) ) as Spellbook;

            if (book != null)
            {
                if (book.Content != ulong.MaxValue)
                {
                    book.Content = ulong.MaxValue;
                }
            }
            else
            {
                book          = new Spellbook();
                book.Content  = ulong.MaxValue;//all spells
                book.LootType = LootType.Regular;
                book.Weight   = 11;
                PackItem(from, book);
            }

            if (from.Skills[SkillName.Magery].Value >= 50.0)
            {
                PackItem(from, new BagOfReagents(100));
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new MetalKiteShield());
                }
            }
            else
            {
                PackItem(from, new BagOfReagents(10));
                //for(int i=0;i<3;i++)
                //PackItem( from, new GreaterHealPotion() );
            }

            if (from.Skills[SkillName.Healing].Value >= 50.0)
            {
                PackItem(from, new Bandage(100));
            }

            if (from.Skills[SkillName.Fencing].Value >= 50.0)
            {
                PackItem(from, new Kryss());
                PackItem(from, new WarFork());
                PackItem(from, new ShortSpear());
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    PackItem(from, new MetalKiteShield());
                }
                else
                {
                    GiveItem(from, new Spear());
                }
            }

            if (from.Skills[SkillName.Swords].Value >= 50.0)
            {
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new MetalKiteShield());
                }

                if (from.Skills[SkillName.Lumberjacking].Value >= 50.0)
                {
                    GiveItem(from, new Hatchet());
                    PackItem(from, new LargeBattleAxe());
                }

                PackItem(from, new Halberd());
                GiveItem(from, new Katana());
            }

            if (from.Skills[SkillName.Macing].Value >= 50.0)
            {
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new MetalKiteShield());
                }
                GiveItem(from, new QuarterStaff());
                PackItem(from, new WarHammer());
                PackItem(from, new WarAxe());
            }

            if (from.Skills[SkillName.Archery].Value >= 50.0)
            {
                GiveItem(from, new Bow());
                PackItem(from, new Crossbow());
                PackItem(from, new HeavyCrossbow());

                PackItem(from, new Bolt(100));
                PackItem(from, new Arrow(100));
            }

            if (from.Skills[SkillName.Tailoring].Value >= 50.0)
            {
                PackItem(from, new SewingKit());
                PackItem(from, new Cloth(25));
                PackItem(from, new Leather(100));
            }

            if (from.Skills[SkillName.Blacksmith].Value >= 50.0)
            {
                PackItem(from, new Tongs());
                PackItem(from, new IronIngot(300));
            }

            if (from.Skills[SkillName.Poisoning].Value >= 50.0)
            {
                for (int i = 0; i < 3; i++)
                {
                    PackItem(from, new GreaterPoisonPotion());
                }
            }
        }
        public BagOfSpellBinding() : base()
        {
            #region Regents
            Pouch pouch = new Pouch();
            pouch.DropItem(new BlackPearl(1000));
            pouch.DropItem(new Bloodmoss(1000));
            pouch.DropItem(new Garlic(1000));
            pouch.DropItem(new Ginseng(1000));
            pouch.DropItem(new MandrakeRoot(1000));
            pouch.DropItem(new Nightshade(1000));
            pouch.DropItem(new SulfurousAsh(1000));
            pouch.DropItem(new SpidersSilk(1000));
            pouch.DropItem(new BatWing(1000));
            pouch.DropItem(new GraveDust(1000));
            pouch.DropItem(new DaemonBlood(1000));
            pouch.DropItem(new NoxCrystal(1000));
            pouch.DropItem(new PigIron(1000));
            DropItem(pouch);
            #endregion

            #region Clockwork
            pouch = new Pouch();

            ArcaneGem gem = new ArcaneGem();

            if (Core.ML)
            {
                gem.Amount = 1000;
            }

            pouch.DropItem(gem);

            for (int i = 0; i < 25; i++)
            {
                pouch.DropItem(new PowerCrystal());
            }

            DropItem(pouch);
            #endregion

            #region Weapons
            pouch = new Pouch();

            for (int i = 0; i < 10; i++)
            {
                pouch.DropItem(new GnarledStaff());
            }

            for (int i = 0; i < 10; i++)
            {
                pouch.DropItem(new Mace());
                pouch.DropItem(new WarMace());
                pouch.DropItem(new HammerPick());
                pouch.DropItem(new Scepter());
                pouch.DropItem(new WarHammer());
            }

            DropItem(pouch);
            #endregion

            #region Golems
            pouch = new Pouch();
            Pouch pouchtwo = new Pouch();
            // Blood Golem
            for (int i = 0; i < 10; i++)
            {
                pouchtwo.DropItem(new Head());
                pouchtwo.DropItem(new LeftArm());
                pouchtwo.DropItem(new RightArm());
                pouchtwo.DropItem(new LeftLeg());
                pouchtwo.DropItem(new RightLeg());
            }

            pouch.DropItem(pouchtwo);

            // Clay Golem
            pouchtwo = new Pouch();
            pouchtwo.DropItem(new FertileDirt(500));

            for (int i = 0; i < 40; i++)
            {
                pouchtwo.DropItem(new Pitcher(BeverageType.Water));
            }

            pouch.DropItem(pouchtwo);
            DropItem(pouch);
            #endregion

            #region Runebow
            pouch    = new Pouch();
            pouchtwo = new Pouch();

            for (int i = 0; i < 10; i++)
            {
                pouchtwo.DropItem(new Crossbow());
                pouchtwo.DropItem(new HeavyCrossbow());
                pouchtwo.DropItem(new RepeatingCrossbow());
            }

            pouch.DropItem(pouchtwo);
            pouch.DropItem(new ClockParts(10));
            pouch.DropItem(new SextantParts(10));
            pouch.DropItem(new Gears(50));
            pouch.DropItem(new Springs(50));
            pouch.DropItem(new IronIngot(100));
            DropItem(pouch);
            #endregion
        }
		public BagOfSpellBinding() : base()
		{
			#region Regents
			Pouch pouch = new Pouch();
			pouch.DropItem( new BlackPearl( 1000 ) );
			pouch.DropItem( new Bloodmoss( 1000 ) );
			pouch.DropItem( new Garlic( 1000 ) );
			pouch.DropItem( new Ginseng( 1000 ) );
			pouch.DropItem( new MandrakeRoot( 1000 ) );
			pouch.DropItem( new Nightshade( 1000 ) );
			pouch.DropItem( new SulfurousAsh( 1000 ) );
			pouch.DropItem( new SpidersSilk( 1000 ) );
			pouch.DropItem( new BatWing( 1000 ) );
			pouch.DropItem( new GraveDust( 1000 ) );
			pouch.DropItem( new DaemonBlood( 1000 ) );
			pouch.DropItem( new NoxCrystal( 1000 ) );
			pouch.DropItem( new PigIron( 1000 ) );
			DropItem( pouch );
			#endregion

			#region Clockwork
			pouch = new Pouch();

			ArcaneGem gem = new ArcaneGem();

			if ( Core.ML )
				gem.Amount = 1000;

			pouch.DropItem( gem );

			for ( int i = 0; i < 25; i++ )
				pouch.DropItem( new PowerCrystal() );

			DropItem( pouch );
			#endregion

			#region Weapons
			pouch = new Pouch();

			for ( int i = 0; i < 10; i++ )
				pouch.DropItem( new GnarledStaff() );

			for ( int i = 0; i < 10; i++ )
			{
				pouch.DropItem( new Mace() );
				pouch.DropItem( new WarMace() );
				pouch.DropItem( new HammerPick() );
				pouch.DropItem( new Scepter() );
				pouch.DropItem( new WarHammer() );
			}

			DropItem( pouch );
			#endregion

			#region Golems
			pouch = new Pouch();
			Pouch pouchtwo = new Pouch();
			// Blood Golem
			for ( int i = 0; i < 10; i++ )
			{
				pouchtwo.DropItem( new Head() );
				pouchtwo.DropItem( new LeftArm() );
				pouchtwo.DropItem( new RightArm() );
				pouchtwo.DropItem( new LeftLeg() );
				pouchtwo.DropItem( new RightLeg() );
			}

			pouch.DropItem( pouchtwo );

			// Clay Golem
			pouchtwo = new Pouch();
			pouchtwo.DropItem( new FertileDirt( 500 ) );

			for ( int i = 0; i < 40; i++ )
				pouchtwo.DropItem( new Pitcher( BeverageType.Water ) );

			pouch.DropItem( pouchtwo );
			DropItem( pouch );
			#endregion

			#region Runebow
			pouch = new Pouch();
			pouchtwo = new Pouch();

			for ( int i = 0; i < 10; i++ )
			{
				pouchtwo.DropItem( new Crossbow() );
				pouchtwo.DropItem( new HeavyCrossbow() );
				pouchtwo.DropItem( new RepeatingCrossbow() );
			}

			pouch.DropItem( pouchtwo );
			pouch.DropItem( new ClockParts( 10 ) );
			pouch.DropItem( new SextantParts( 10 ) );
			pouch.DropItem( new Gears( 50 ) );
			pouch.DropItem( new Springs( 50 ) );
			pouch.DropItem( new IronIngot( 100 ) );
			DropItem( pouch );
			#endregion

		}
        protected virtual void FinishEffect(Point3D p, Map map, Mobile from)
        {
            from.RevealingAction();

            from.ShilCheckSkill(SkillName.Fishing, points: 100);

            switch (Utility.Random(10))
            {
            case 0:
            case 1:
            case 2:
            {
                BaseCreature spawn = null;

                if (Utility.Random(11) > 9)
                {
                    spawn = new Kraken();
                }
                else if (Utility.Random(11) > 9)
                {
                    spawn = new Kraken();
                }
                else if (Utility.Random(11) > 9)
                {
                    spawn = new SeaSerpent();
                }

                if (spawn != null)
                {
                    from.SendFailureMessage("You caught something dangerous in your net!");
                    from.ShilCheckSkill(SkillName.Fishing, points: 100);
                    spawn.MoveToWorld(from.Location, from.Map);
                }
                else
                {
                    if (Utility.Random(6) == 2)
                    {
                        var sosBottle = new MessageInABottle();
                        from.AddToBackpack(sosBottle);
                    }
                    else
                    {
                        var pouch = new Pouch();
                        pouch.AddItem(new Gold(Utility.Random(100) + 250));
                        from.AddToBackpack(pouch);
                        from.SendSuccessMessage("You find an old backpack!");
                    }
                }
                break;
            }

            case 3:
            {
                var shell = GetRandomShell(from);
                from.AddToBackpack(shell);
                from.SendSuccessMessage("You find something valuable!");
                break;
            }

            case 4:
            case 5:
            {
                var magicFish = GetFish(from);
                if (magicFish == null)
                {
                    from.AddToBackpack(new Fish(Utility.RandomMinMax(6, 12)));
                    from.ShilCheckSkill(SkillName.Fishing, points: 100);
                }
                else
                {
                    magicFish.Amount = Utility.RandomMinMax(1, 2);
                    from.AddToBackpack(magicFish);
                    from.ShilCheckSkill(SkillName.Fishing, points: 150);
                }
                from.SendSuccessMessage("You caught some fish.");
                break;
            }

            case 6:
            {
                if (Utility.Random(10) > 8)
                {
                    from.AddToBackpack(new FishingTrophy1(from));
                    from.SendSuccessMessage("You catch a trophy!");
                }
                else if (Utility.Random(10) > 8)
                {
                    from.AddToBackpack(new FishingTrophy2(from));
                    from.SendSuccessMessage("You catch a trophy!");
                }
                else
                {
                    var bag = new Bag();
                    bag.AddItem(new Gold(Utility.Random(200) + 150));
                    from.AddToBackpack(bag);
                    from.SendSuccessMessage("You find an old bag!");
                }

                break;
            }

            case 7:
            case 8:
            {
                var remains = GetRemains(from);
                from.AddToBackpack(remains);
                from.SendSuccessMessage("You find human skeleton remains!");
                break;
            }

            case 9:
            {
                var seaSerpent = new SeaSerpent();
                Spawn(from.Location, from.Map, seaSerpent);
                from.SendFailureMessage("You did not catch anything, except...");
                break;
            }
            }

            Delete();
        }
Beispiel #16
0
        public override void OnDoubleClick(Mobile from)
        {
            if (!from.InLOS(this.GetWorldLocation()))
            {
                from.SendLocalizedMessage(502800);                   // You can't see that.
                return;
            }

            if (from.GetDistanceToSqrt(this.GetWorldLocation()) > 4)
            {
                from.SendLocalizedMessage(500446);                   // That is too far away.
                return;
            }

            from.SendMessage("You have been given some supplies based on your skills.");

            //4 pouches
            for (int i = 0; i < 4; ++i)
            {
                Pouch p = new Pouch();
                p.TrapType  = TrapType.MagicTrap;
                p.TrapPower = 1;
                p.Hue       = 0x25;
                PackItem(from, p);
            }

            PackItem(from, new GreaterExplosionPotion());
            PackItem(from, new TotalRefreshPotion());
            PackItem(from, new GreaterCurePotion());
            GiveLeatherArmor(from);

            if (from.Skills[SkillName.Magery].Value >= 50.0)
            {
                PackItem(from, new BagOfReagents(100));
                Spellbook book = Spellbook.FindRegular(from);                  //Spellbook book = from.GetSpellbook( typeof( Spellbook ) ) as Spellbook;
                if (book != null)
                {
                    if (book.Content != ulong.MaxValue)
                    {
                        book.Content = ulong.MaxValue;
                    }
                }
                else
                {
                    book         = new Spellbook();
                    book.Content = ulong.MaxValue;                    //all spells
                    GiveItem(from, book);
                }
            }
            else
            {
                for (int i = 0; i < 3; i++)
                {
                    PackItem(from, new GreaterHealPotion());
                }
            }

            if (from.Skills[SkillName.Healing].Value >= 50.0)
            {
                PackItem(from, new Bandage(100));
            }

            if (from.Skills[SkillName.Fencing].Value >= 50.0)
            {
                PackItem(from, new ShortSpear());
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new Kryss());
                    GiveItem(from, new MetalKiteShield());
                }
                else
                {
                    GiveItem(from, new Spear());
                }
            }

            if (from.Skills[SkillName.Swords].Value >= 50.0)
            {
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new MetalKiteShield());
                }

                if (from.Skills[SkillName.Lumberjacking].Value >= 50.0)
                {
                    GiveItem(from, new Hatchet());
                    PackItem(from, new LargeBattleAxe());
                }

                PackItem(from, new Halberd());
                GiveItem(from, new Katana());
            }

            if (from.Skills[SkillName.Macing].Value >= 50.0)
            {
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new MetalKiteShield());
                }
                GiveItem(from, new WarAxe());
                PackItem(from, new WarHammer());
            }

            if (from.Skills[SkillName.Archery].Value >= 50.0)
            {
                GiveItem(from, new Bow());
                PackItem(from, new Crossbow());
                PackItem(from, new HeavyCrossbow());

                PackItem(from, new Bolt(100));
                PackItem(from, new Arrow(100));
            }

            if (from.Skills[SkillName.Tailoring].Value >= 50.0)
            {
                PackItem(from, new SewingKit());
                PackItem(from, new Cloth(25));
                PackItem(from, new Leather(100));
            }

            if (from.Skills[SkillName.Blacksmith].Value >= 50.0)
            {
                PackItem(from, new Tongs());
                PackItem(from, new IronIngot(300));
            }

            if (from.Skills[SkillName.Poisoning].Value >= 50.0)
            {
                for (int i = 0; i < 5; i++)
                {
                    PackItem(from, new GreaterPoisonPotion());
                }
            }
        }
Beispiel #17
0
        public override void OnDoubleClick(Mobile from)
        {
            if (!from.InLOS(this.GetWorldLocation()))
            {
                from.SendLocalizedMessage(502800);                   // You can't see that.
                return;
            }

            if (from.GetDistanceToSqrt(this.GetWorldLocation()) > 4)
            {
                from.SendLocalizedMessage(500446);                   // That is too far away.
                return;
            }

            from.SendMessage("You have been given some supplies based on your skills.");

            //4 pouches
            for (int i = 0; i < 4; ++i)
            {
                Pouch p = new Pouch();
                p.TrapType  = TrapType.MagicTrap;
                p.TrapPower = 1;
                p.Hue       = 0x25;
                PackItem(from, p);
            }

            if (from.Skills[SkillName.Magery].Value >= 50.0)
            {
                GiveLeatherArmor(from);
            }
            else
            {
                GiveBoneArmor(from);
            }

            if (from.Skills[SkillName.Magery].Value >= 50.0)
            {
                PackItem(from, new BagOfReagents());
            }

            if (from.Skills[SkillName.Healing].Value >= 50.0)
            {
                PackItem(from, new Bandage(100));
            }

            if (from.Skills[SkillName.Fencing].Value >= 50.0)
            {
                PackItem(from, new ShortSpear());
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new Kryss());
                    GiveItem(from, new MetalKiteShield());
                }
                else
                {
                    GiveItem(from, new Spear());
                }
            }

            if (from.Skills[SkillName.Swords].Value >= 50.0)
            {
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new MetalKiteShield());
                }

                GiveItem(from, new Katana());
                GiveItem(from, new Halberd());
            }

            if (from.Skills[SkillName.Macing].Value >= 50.0)
            {
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new MetalKiteShield());
                }
                GiveItem(from, new WarAxe());
                GiveItem(from, new WarHammer());
            }

            if (from.Skills[SkillName.Archery].Value >= 50.0)
            {
                GiveItem(from, new HeavyCrossbow());
                GiveItem(from, new Crossbow());
                GiveItem(from, new Bow());

                PackItem(from, new Bolt(100));
                PackItem(from, new Arrow(100));
            }

            if (from.Skills[SkillName.Poisoning].Value >= 50.0)
            {
                for (int i = 0; i < 5; i++)
                {
                    PackItem(from, new GreaterPoisonPotion());
                }
            }

            PlayerMobile pm = (PlayerMobile)(from);

            Container bag      = new Bag();
            Container backpack = pm.Backpack;

            for (int i = 0; i < 20; i++)
            {
                GreaterCurePotion cure = new GreaterCurePotion();
                bag.DropItem(cure);
            }

            for (int i = 0; i < 20; i++)
            {
                GreaterHealPotion heal = new GreaterHealPotion();
                bag.DropItem(heal);
            }

            for (int i = 0; i < 20; i++)
            {
                TotalRefreshPotion refresh = new TotalRefreshPotion();
                bag.DropItem(refresh);
            }

            backpack.DropItem(bag);
        }