Exemplo n.º 1
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 GoblinArcher(), 15, 0, -2, 0);
            AddMobile(new ArmoredGoblinArcher(), 15, 0, 1, 0);
            AddMobile(new GoblinScout(), 15, 0, -1, 0);
            AddMobile(new GoblinWarrior(), 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;
            bc.CantWalk   = true;

            m_Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117);
            AddMobile(m_Prisoner, 2, -2, 0, 0);
        }
Exemplo 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);
        }
Exemplo n.º 3
0
        private void AddCampChests(IronGate gate)
        {
            LockableContainer chest = null;

            chest = new MetalChest();

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

            TreasureMapChest.Fill(chest, 1);
            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(30, 40);
            crates.TrapLevel = 2;

            crates.RequiredSkill = 76;
            crates.LockLevel     = 66;
            crates.MaxLockLevel  = 116;
            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);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
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 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);

            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);
        }
Exemplo n.º 6
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 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;
            }

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

            AddMobile(m_Prisoner, 2, -2, 0, 0);
        }
Exemplo n.º 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);

            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);
        }
Exemplo n.º 8
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);
        }
Exemplo n.º 9
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();

            //UOSI x= -2 puts these guys in the cage. I removed the - from all the 2's in this switch statement. They were all -2.
            //Wander ranges increased.
            //Added camp type setter.
            if (m_CampType == 4)
            {
                m_CampType = Utility.Random(4);
            }

            switch (m_CampType)
            {
            case 0:
            {
                AddMobile(new Orc(), 2, 2, 0, 0);
                AddMobile(new OrcishMage(), 2, 1, 0, 0);
                AddMobile(new OrcishLord(), 2, 2, 0, 0);
                AddMobile(new OrcCaptain(), 2, 1, 0, 0);
                AddMobile(new Orc(), 2, -1, 0, 0);
                AddMobile(new OrcChopper(), 2, 2, 0, 0);
                Camp = CampType.Orc;
            } break;

            case 1:
            {
                AddMobile(new Ratman(), 2, 2, 0, 0);
                AddMobile(new Ratman(), 2, 1, 0, 0);
                AddMobile(new RatmanMage(), 2, 2, 0, 0);
                AddMobile(new Ratman(), 2, 1, 0, 0);
                AddMobile(new RatmanArcher(), 2, -1, 0, 0);
                AddMobile(new Ratman(), 2, 2, 0, 0);
                Camp = CampType.Ratman;
            } break;

            case 2:
            {
                AddMobile(new Lizardman(), 2, 2, 0, 0);
                AddMobile(new Lizardman(), 2, 1, 0, 0);
                AddMobile(new Lizardman(), 2, 2, 0, 0);
                AddMobile(new Lizardman(), 2, 1, 0, 0);
                AddMobile(new Lizardman(), 2, -1, 0, 0);
                AddMobile(new Lizardman(), 2, 2, 0, 0);
                Camp = CampType.Lizardman;
            } break;

            case 3:
            {
                AddMobile(new Brigand(), 2, 2, 0, 0);
                AddMobile(new Brigand(), 2, 1, 0, 0);
                AddMobile(new Brigand(), 2, 2, 0, 0);
                AddMobile(new Brigand(), 2, 1, 0, 0);
                AddMobile(new Brigand(), 2, -1, 0, 0);
                AddMobile(new Brigand(), 2, 2, 0, 0);
                Camp = CampType.Brigand;
            } break;
            }

            //UOSI - added 'this' to the constructor for these two, which SHOULD flag them as camp prisoners.
            switch (Utility.Random(2))
            {
            case 0: Prisoner = new Noble(this); break;

            case 1: Prisoner = new SeekerOfAdventure(this); break;
            }

            //Prisoner.IsPrisoner = true;
            Prisoner.CantWalk = true;


            Prisoner.YellHue = Utility.RandomList(0x57, 0x67, 0x77, 0x87, 0x117);
            //UOSI - Switched his wander range for his xOffset so he'll appear in the cage
            AddMobile(Prisoner, 0, -2, 0, 0);
        }