예제 #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 );
        }
예제 #2
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);

            AddCampChests(gate);

            AddMobile(new Deathknight(), 15, 0, -2, 0);
            AddMobile(new KhaldunZealot(), 15, 0, 1, 0);
            AddMobile(new KhaldunSummoner(), 15, 0, -1, 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;
            bc.CantWalk = true;

            m_Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117);
            AddMobile(m_Prisoner, 2, -2, 0, 0);
        }
예제 #3
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 );
        }
예제 #4
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);
        }
예제 #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 );
        }
예제 #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 );
        }
예제 #7
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 );
			 AddCampChests();

             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 );
         }
         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 );
         }