Esempio n. 1
0
        public override void AddComponents()
        {
            IronGate gate = new IronGate( DoorFacing.EastCCW );
            m_Gate = gate;

            gate.KeyValue = Key.RandomValue();
            gate.Locked = true;

            AddItem( gate, -2, 1, 0 );

            MetalChest chest = new MetalChest();

            chest.ItemID = 0xE7C;
            chest.DropItem( new Key( KeyType.Iron, gate.KeyValue ) );

            TreasureMapChest.Fill( chest, 2 );

            AddItem( chest, 4, 4, 0 );

            AddMobile( new Gnoll(), 15, 0, -2, 0 );
            AddMobile( new Gnoll(), 15, 0,  1, 0 );
            AddMobile( new Gnoll(), 15, 0, -1, 0 );
            AddMobile( new Gnoll(), 15, 0,  0, 0 );

            switch ( Utility.Random( 2 ) )
            {
                case 0: m_Prisoner = new Noble(); break;
                case 1: m_Prisoner = new SeekerOfAdventure(); break;
            }

            m_Prisoner.YellHue = Utility.RandomList( 0x57, 0x67, 0x77, 0x87, 0x117 );

            AddMobile( m_Prisoner, 2, -2, 0, 0 );
        }
Esempio n. 2
0
        public override void AddComponents()
        {
            IronGate gate = new IronGate( DoorFacing.EastCCW );
            m_Gate = gate;

            gate.KeyValue = Key.RandomValue();
            gate.Locked = true;

            AddItem( gate, -2, 1, 0 );

            MetalChest chest = new MetalChest();

            chest.ItemID = 0xE7C;
            chest.DropItem( new Key( KeyType.Iron, gate.KeyValue ) );
            chest.LiftOverride = true;

            TreasureMapChest.FillOld( chest, 2 );

            AddItem( chest, 4, 4, 0 );

            AddMobile( new Ratman(), 15, 0, -2, 0 );
            AddMobile( new Ratman(), 15, 0, 1, 0 );
            AddMobile( new RatmanMage(), 15, 0, -1, 0 );
            AddMobile( new RatmanArcher(), 15, 0, 0, 0 );

            m_Prisoner = new BaseEscort();

            m_Prisoner.YellHue = Utility.RandomList( 0x57, 0x67, 0x77, 0x87, 0x117 );

            AddMobile( m_Prisoner, 2, -2, 0, 0 );
        }
Esempio n. 3
0
        private void AddCampChests(IronGate gate)
        {
            LockableContainer chest = null;

            chest = new MetalChest();

            chest.ItemID = 3708;
            chest.LiftOverride = true;

            TreasureMapChest.Fill(chest, 3);
            chest.DropItem(new Key(KeyType.Iron, gate.KeyValue));

            AddItem(chest, 4, 4, 1);

            LockableContainer crates = null;

            switch (Utility.Random(4))
            {
                case 0: crates = new SmallCrate(); break;
                case 1: crates = new MediumCrate(); break;
                case 2: crates = new LargeCrate(); break;
                default: crates = new LockableBarrel(); break;
            }

            crates.TrapType = TrapType.ExplosionTrap;
            crates.TrapPower = Utility.RandomMinMax(50, 70);
            crates.TrapLevel = 3;

            crates.RequiredSkill = 86;
            crates.LockLevel = 86;
            crates.MaxLockLevel = 126;
            crates.Locked = true;

            crates.DropItem(new Gold(Utility.RandomMinMax(100, 400)));
            crates.DropItem(new Arrow(10));
            crates.DropItem(new Bolt(10));

            crates.LiftOverride = true;

            if (Utility.RandomDouble() < 0.8)
            {
                switch (Utility.Random(4))
                {
                    case 0: crates.DropItem(new LesserCurePotion()); break;
                    case 1: crates.DropItem(new LesserExplosionPotion()); break;
                    case 2: crates.DropItem(new LesserHealPotion()); break;
                    default: crates.DropItem(new LesserPoisonPotion()); break;
                }
            }

            AddItem(crates, 2, 2, 0);
        }
Esempio n. 4
0
		public override void AddComponents()
		{
			m_Gate = new IronGate(DoorFacing.EastCCW) {
				KeyValue = Key.RandomValue(),
				Locked = true
			};

			AddItem(m_Gate, -2, 1, 0);

			m_Chest = new MetalChest {
				ItemID = 0xE7C,
				LiftOverride = true
			};

			m_Chest.DropItem(new Key(KeyType.Iron, m_Gate.KeyValue));

			AddItem(m_Chest, 4, 4, 0);

			AddMobile(new Lizardman(), 15, 0, -2, 0);
			AddMobile(new Lizardman(), 15, 0, -2, 0);
			AddMobile(new Lizardman(), 15, 0, -2, 0);
			AddMobile(new LizardWarrior(), 15, 0, 1, 0);
			AddMobile(new LizardMage(), 15, 0, -1, 0);
			AddMobile(new LizardMage(), 15, 0, -1, 0);
			AddMobile(new LizardArcher(), 15, 0, 0, 0);
			AddMobile(new LizardArcher(), 15, 0, 0, 0);

			switch (Utility.Random(2))
			{
				case 0:
					m_Prisoner = new Noble();
					break;
				case 1:
					m_Prisoner = new SeekerOfAdventure();
					break;
			}

			m_Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117);

			AddMobile(m_Prisoner, 2, -2, 0, 0);
		}
Esempio n. 5
0
        public override void AddComponents()
        {
            IronGate gate = new IronGate( DoorFacing.EastCCW );
            m_Gate = gate;

            gate.KeyValue = Key.RandomValue();
            gate.Locked = true;

            AddItem( gate, -2, 1, 0 );

            MetalChest chest = new MetalChest();
            chest.Movable = false;
            chest.ItemID = 0xE7C; // metal chest facing East
            chest.DropItem( new Key( KeyType.Rusty, gate.KeyValue ) );
            LootPack.Average.Generate( chest );

            AddItem( chest, 4, 4, 0 );

            AddMobile( new Orc(), 15, 0, -2, 0 );
            AddMobile( new Orc(), 15, 0,  1, 0 );
            AddMobile( new Orc(), 15, 0,  1, 0 );
            AddMobile( new Orc(), 15, 0,  1, 0 );
            AddMobile( new Orc(), 15, 0,  1, 0 );
            AddMobile( new OrcishMage(), 15, 0, -1, 0 );
            AddMobile( new OrcCaptain(), 15, 0, -1, 0 );
            if ( Utility.RandomBool() )
                AddMobile( new OrcishLord(), 15, 0,  0, 0 );

            switch ( Utility.Random( 8 ) )
            {
                default:m_Prisoner = new Noble(); break;
                case 0: m_Prisoner = new SeekerOfAdventure(); break;
                case 1: m_Prisoner = new Messenger(); break;
                case 2: m_Prisoner = new Peasant(); break;
                case 3: m_Prisoner = new BrideGroom(); break;
            }

            m_Prisoner.YellHue = Utility.RandomList( 0x57, 0x67, 0x77, 0x87, 0x117 );

            AddMobile( m_Prisoner, 2, -2, 0, 0 );
        }
Esempio n. 6
0
        public override void AddComponents()
        {
            BaseCreature bc;

            IronGate gate = new IronGate( DoorFacing.EastCCW );
            m_Gate = gate;

            gate.KeyValue = Key.RandomValue();
            gate.Locked = true;

            AddItem( gate, -2, 1, 0 );

            MetalChest chest = new MetalChest();

            chest.ItemID = 0xE7C;
            chest.LiftOverride = true;
            chest.DropItem( new Key( KeyType.Iron, gate.KeyValue ) );

            /*TreasureMapChest.Fill( chest, 2 );*/

            AddItem( chest, 4, 4, 1 );

            AddMobile( new Orc(), 15, 0, -2, 0 );
            AddMobile( new Orc(), 15, 0,  1, 0 );
            AddMobile( new OrcishMage(), 15, 0, -1, 0 );
            AddMobile( new OrcCaptain(), 15, 0,  0, 0 );

            switch ( Utility.Random( 2 ) )
            {
                case 0: m_Prisoner = new Noble(); break;
                case 1: m_Prisoner = new SeekerOfAdventure(); break;
            }

            bc = (BaseCreature)m_Prisoner;
            bc.IsPrisoner = true;
            m_Prisoner.YellHue = Utility.RandomList( 0x57, 0x67, 0x77, 0x87, 0x117 );

            AddMobile( m_Prisoner, 2, -2, 0, 0 );
        }
Esempio n. 7
0
        public override void AddComponents()
        {
            BaseCreature bc;

            AddItem(new Static(0xFAC), 0, 0, 0); // fire pit
            AddItem(new Static(0xDE3), 0, 0, 0); // camp fire
            AddItem(new Static(0x974), 0, 0, 1); // cauldron

            // Chest
            MetalChest chest = new MetalChest();

            switch (Utility.Random(3))
            {
                case 0: chest.ItemID = 0x9AB; break; // MetalChest
                case 1: chest.ItemID = 0xe43; break; // WoodenChest
                case 2: chest.ItemID = 0x9A9; break; // SmallCrate
            }

            chest.Movable = false;
            chest.Locked = true;
            chest.TrapType = TrapType.ExplosionTrap;
            chest.TrapPower = Utility.RandomMinMax(30, 40);
            chest.TrapLevel = 2;
            chest.RequiredSkill = 76;
            chest.LockLevel = 66;
            chest.MaxLockLevel = 116;
            chest.DropItem(new Gold(Utility.RandomMinMax(100, 400)));
            chest.DropItem(new Arrow(10));
            chest.DropItem(new Bolt(10));

            if (Utility.RandomDouble() < 0.8)
            {
                switch (Utility.Random(4))
                {
                    case 0: chest.DropItem(new LesserCurePotion()); break;
                    case 1: chest.DropItem(new LesserExplosionPotion()); break;
                    case 2: chest.DropItem(new LesserHealPotion()); break;
                    case 3: chest.DropItem(new LesserPoisonPotion()); break;
                }
            }

            if (Utility.RandomDouble() < 0.5)
            {
                Item item = Loot.RandomArmorOrShieldOrWeapon();

                if (item is BaseWeapon)
                    BaseRunicTool.ApplyAttributesTo((BaseWeapon)item, false, 0, Utility.RandomMinMax(1, 5), 10, 100);
                else if (item is BaseArmor)
                    BaseRunicTool.ApplyAttributesTo((BaseArmor)item, false, 0, Utility.RandomMinMax(1, 5), 10, 100);

                chest.DropItem(item);
            }

            AddItem(chest, 1, 1, 1);

            // Brigands
            AddMobile(new Brigand(), 15, 0, -2, 0);
            AddMobile(new Brigand(), 15, 0, 1, 0);
            AddMobile(new Brigand(), 15, 0, -1, 0);
            AddMobile(new Brigand(), 15, 0, 0, 0);
            AddMobile(new Brigand(), 15, 0, -1, 0);
            AddMobile(new Brigand(), 15, 0, 0, 0);

            // prisioner
            switch (Utility.Random(2))
            {
                case 0: m_Prisoner = new Noble(); break;
                case 1: m_Prisoner = new SeekerOfAdventure(); break;
            }

            bc = (BaseCreature)m_Prisoner;
            bc.IsPrisoner = true;
            m_Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117);

            AddMobile(m_Prisoner, 2, -2, 0, 0);
        }
         public override void AddComponents()
         {
             IronGate gate = new IronGate( DoorFacing.EastCCW );
             m_Gate = gate;

             gate.KeyValue = Key.RandomValue();
             gate.Locked = false;

             AddItem( gate, -2, 1, 0 );

             MetalChest chest = new MetalChest();

             chest.ItemID = 0xE7C;
             chest.LiftOverride = true;
             chest.DropItem( new Key( KeyType.Iron, gate.KeyValue ) );

             TreasureMapChest.Fill(chest, 3);  //<---------Loot

             AddItem( chest, 4, 4, 1 ); //<------z +1 to hover over static
             switch (Utility.Random(4))
             {
                 case 0: 
                     {
                         AddMobile(new Orc(), 15, 0, -2, 0);
                         AddMobile(new OrcishMage(), 15, 0, 1, 0);
                         AddMobile(new OrcishLord(), 15, 0, -2, 0);
                         AddMobile(new OrcCaptain(), 15, 0, 1, 0);
                         AddMobile(new Orc(), 15, 0, -1, 0);
                         AddMobile(new OrcChopper(), 15, 0, -2, 0);
                     }break;
                 
                 case 1:
                     {
                         AddMobile(new Ratman(), 15, 0, -2, 0);
                         AddMobile(new Ratman(), 15, 0, 1, 0);
                         AddMobile(new RatmanMage(), 15, 0, -2, 0);
                         AddMobile(new Ratman(), 15, 0, 1, 0);
                         AddMobile(new RatmanArcher(), 15, 0, -1, 0);
                         AddMobile(new Ratman(), 15, 0, -2, 0);
                     } break;

                 case 2:
                     {
                         AddMobile(new Lizardman(), 15, 0, -2, 0);
                         AddMobile(new Lizardman(), 15, 0, 1, 0);
                         AddMobile(new Lizardman(), 15, 0, -2, 0);
                         AddMobile(new Lizardman(), 15, 0, 1, 0);
                         AddMobile(new Lizardman(), 15, 0, -1, 0);
                         AddMobile(new Lizardman(), 15, 0, -2, 0);
                     } break;

                      case 3:
                     {
                         AddMobile(new Brigand(), 15, 0, -2, 0);
                         AddMobile(new Brigand(), 15, 0, 1, 0);
                         AddMobile(new Brigand(), 15, 0, -2, 0);
                         AddMobile(new Brigand(), 15, 0, 1, 0);
                         AddMobile(new Brigand(), 15, 0, -1, 0);
                         AddMobile(new Brigand(), 15, 0, -2, 0);
                     } break;
             }
             
             switch ( Utility.Random( 2 ) )
             {
                 case 0: m_Prisoner = new Noble(); break;
                 case 1: m_Prisoner = new SeekerOfAdventure(); break;
             }

             m_Prisoner.YellHue = Utility.RandomList( 0x57, 0x67, 0x77, 0x87, 0x117 );

             AddMobile( m_Prisoner, 2, -2, 0, 0 );
         }