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));
            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. 2
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);
        }
Esempio n. 3
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            if (!Summoned && !NoKillAwards && DemonKnight.CheckArtifactChance(this))
            {
                DemonKnight.DistributeArtifact(this);
            }

            if (0.2 > Utility.RandomDouble())
            {
                int  r    = Utility.Random(100);
                Item drop = null;

                if (r > 70)
                {
                    drop = new BloodPentagramPart(Utility.Random(5));
                }
                else if (r > 60)
                {
                    drop = new MetalChest();
                }
                else if (r > 50)
                {
                    drop = new DecorativeAxeNorthDeed();
                }
                else if (r > 40)
                {
                    drop = new BrownBearRugSouthDeed();
                }
                else if (r > 30)
                {
                    drop = new BrownBearRugEastDeed();
                }
                else if (r > 20)
                {
                    drop = new StackedArrows();
                }
                else if (r > 10)
                {
                    drop = new BronzeIngots();
                }
                else if (r > 5)
                {
                    drop = new StackedShafts();
                }
                else if (r > 1)
                {
                    drop = new RareFeathers();
                }
                else
                {
                    drop = new ClothingBlessDeed();
                }

                c.DropItem(drop);
            }
        }
Esempio n. 4
0
        public override bool OnBeforeDeath()
        {
            Item item = null;

            switch (Utility.Random(8))
            {
            case 0:
                item      = new SpecialLeggings();
                item.Name = "Azothu's Leggings";
                break;          // Leggings

            case 1:
                item      = new SpecialArms();
                item.Name = "Azothu's Arms";
                break;          // arms

            case 2:
                item      = new SpecialTunic();
                item.Name = "Azothu's Tunic";
                break;          // Chest

            case 3:
                item      = new SpecialArmor();
                item.Name = "Azothu's Armor";
                break;          // Female Chest

            case 4:
                item      = new SpecialGorget();
                item.Name = "Azothu's Gorget";
                break;          // gorget

            case 5:
                item      = new SpecialGloves();
                item.Name = "Azothu's Gloves";
                break;          // gloves

            case 6:
                item      = new SpecialHelm();
                item.Name = "Azothu's Helm";
                break;          // helm

            case 7:
                item      = new MetalChest();
                item.Name = "Azothu's Locker";
                break;          // helm
            }

            if (item != null)
            {
                item.Hue = 0x84A;
                PackItem(item);
            }

            return(base.OnBeforeDeath());
        }
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()
        {
            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. 7
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);
        }
Esempio n. 8
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadEncodedInt();

            switch (version)
            {
            case 1:
                m_Chest  = reader.ReadItem <MetalChest>();
                m_Filled = reader.ReadBool();
                goto case 0;

            case 0:
            {
                m_Prisoner = reader.ReadMobile();
                m_Gate     = reader.ReadItem <BaseDoor>();
            }
            break;
            }
        }
Esempio n. 9
0
        public void BuildChest()
        {
            m_MetalChest         = new MetalChest();
            m_MetalChest.Name    = "Dead Man's Chest";
            m_MetalChest.Hue     = Utility.RandomMetalHue();
            m_MetalChest.Movable = false;

            // level 5 chest logic
            m_MetalChest.RequiredSkill = 100;
            m_MetalChest.LockLevel     = m_MetalChest.RequiredSkill - 10;
            m_MetalChest.MaxLockLevel  = m_MetalChest.RequiredSkill + 40;

            // reset the trap
            m_MetalChest.TrapEnabled = true;
            m_MetalChest.TrapPower   = 5 * 25;                  // level 5
            m_MetalChest.TrapLevel   = 5;
            m_MetalChest.Locked      = true;
            m_MetalChest.TrapType    = Utility.RandomBool() ? TrapType.PoisonTrap : TrapType.ExplosionTrap;

            // setup timmed release logic
            string[] lines = new string[4];
            lines[0] = "Movable true";
            lines[1] = "TrapEnabled false";
            lines[2] = "TrapPower 0";
            lines[3] = "Locked true";

            // the chest will become movable in 10-25 minutes
            DateTime SetTime = DateTime.Now + TimeSpan.FromMinutes(Utility.RandomMinMax(10, 25));

            new TimedSet(m_MetalChest, SetTime, lines).MoveItemToIntStorage();

            // add loot
            FillChest();

            // move the chest to world;
            m_MetalChest.MoveToWorld(Location, Map);
        }
Esempio n. 10
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);
        }
Esempio n. 11
0
        public override Item Construct(Type type, Mobile from)
        {
            if (type == typeof(TreasureMap))
            {
                int level;
                //if ( from is PlayerMobile && ((PlayerMobile)from).Young && from.Map == Map.Trammel && TreasureMap.IsInHavenIsland( from ) )
                //	level = 0;
                //else
                level = 1;

                return(new TreasureMap(level, /*from.Map == Map.Felucca ?*/ Map.Felucca /* : Map.Trammel*/));
            }
            else if (type == typeof(MessageInABottle))
            {
                return(new MessageInABottle(/*from.Map == Map.Felucca ?*/ Map.Felucca /* : Map.Trammel*/));
            }

            Container pack = from.Backpack;

            if (pack != null)
            {
                List <SOS> messages = pack.FindItemsByType <SOS>();

                for (int i = 0; i < messages.Count; ++i)
                {
                    SOS sos = messages[i];

                    if (from.Map == sos.TargetMap && from.InRange(sos.TargetLocation, 60))
                    {
                        Item preLoot = null;

                        switch (Utility.Random(8))
                        {
                        case 0:                                 // Body parts
                        {
                            int[] list = new int[]
                            {
                                0x1CDD, 0x1CE5,                                                // arm
                                0x1CE0, 0x1CE8,                                                // torso
                                0x1CE1, 0x1CE9,                                                // head
                                0x1CE2, 0x1CEC                                                 // leg
                            };

                            preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            break;
                        }

                        case 1:                                 // Bone parts
                        {
                            int[] list = new int[]
                            {
                                0x1AE0, 0x1AE1, 0x1AE2, 0x1AE3, 0x1AE4,                         // skulls
                                0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, // bone piles
                                0x1B15, 0x1B16                                                  // pelvis bones
                            };

                            preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            break;
                        }

                        case 2:                                 // Paintings and portraits
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0xE9F, 10));
                            break;
                        }

                        case 3:                                 // Pillows
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0x13A4, 11));
                            break;
                        }

                        case 4:                                 // Shells
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0xFC4, 9));
                            break;
                        }

                        case 5:                                 //Hats
                        {
                            if (Utility.RandomBool())
                            {
                                preLoot = new SkullCap();
                            }
                            else
                            {
                                preLoot = new TricorneHat();
                            }

                            break;
                        }

                        case 6:                                 // Misc
                        {
                            int[] list = new int[]
                            {
                                0x1EB5,                                                // unfinished barrel
                                0xA2A,                                                 // stool
                                0xC1F,                                                 // broken clock
                                0x1047, 0x1048,                                        // globe
                                0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4                         // barrel staves
                            };

                            if (Utility.Random(list.Length + 1) == 0)
                            {
                                preLoot = new Candelabra();
                            }
                            else
                            {
                                preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            }

                            break;
                        }
                        }

                        if (preLoot != null)
                        {
                            if (preLoot is IShipwreckedItem)
                            {
                                ((IShipwreckedItem)preLoot).IsShipwreckedItem = true;
                            }

                            return(preLoot);
                        }

                        LockableContainer chest = null;

                        switch (Utility.Random(3))
                        {
                        case 0: chest = new MetalGoldenChest(); break;

                        case 1: chest = new MetalChest(); break;

                        default:
                        case 2: chest = new WoodenChest(); break;
                        }

                        if (sos.IsAncient)
                        {
                            int hue = 1150;

                            if (0.20 > Utility.RandomDouble())
                            {
                                switch (Utility.Random((chest is WoodenChest) ? 6 : 14))
                                {
                                case 0: hue = 1193; break;

                                case 1: hue = 1281; break;

                                case 2: hue = 1190; break;

                                case 3: hue = 1165; break;

                                case 4: hue = 1160; break;

                                case 5: hue = 1126; break;

                                case 6: hue = CraftResources.GetInfo(CraftResource.Valorite).Hue; break;

                                case 7: hue = CraftResources.GetInfo(CraftResource.Verite).Hue; break;

                                case 8: hue = CraftResources.GetInfo(CraftResource.Agapite).Hue; break;

                                case 9: hue = CraftResources.GetInfo(CraftResource.Gold).Hue; break;

                                case 10: hue = CraftResources.GetInfo(CraftResource.Bronze).Hue; break;

                                case 11: hue = CraftResources.GetInfo(CraftResource.Copper).Hue; break;

                                case 12: hue = CraftResources.GetInfo(CraftResource.ShadowIron).Hue; break;

                                case 13: hue = CraftResources.GetInfo(CraftResource.DullCopper).Hue; break;
                                }
                            }

                            chest.Hue = hue;
                        }
                        else if ((chest is MetalChest || chest is MetalGoldenChest) && (0.5 * sos.Level) >= Utility.RandomDouble())
                        {
                            int           randhue  = Utility.Random(120);
                            CraftResource resource = CraftResource.None;

                            if (randhue >= 118)
                            {
                                resource = CraftResource.Valorite;
                            }
                            else if (randhue >= 115)
                            {
                                resource = CraftResource.Verite;
                            }
                            else if (randhue >= 110)
                            {
                                resource = CraftResource.Agapite;
                            }
                            else if (randhue >= 100)
                            {
                                resource = CraftResource.Gold;
                            }
                            else if (randhue >= 90)
                            {
                                resource = CraftResource.Bronze;
                            }
                            else if (randhue >= 70)
                            {
                                resource = CraftResource.Copper;
                            }
                            else if (randhue >= 40)
                            {
                                resource = CraftResource.ShadowIron;
                            }
                            else
                            {
                                resource = CraftResource.DullCopper;
                            }

                            chest.Hue = CraftResources.GetInfo(resource).Hue;
                        }

                        int soslevel = Math.Max(1, Math.Max(4, sos.Level));

                        TreasureMapChest.Fill(chest, soslevel);

                        if (sos.IsAncient)
                        {
                            chest.DropItem(new FabledFishingNet());
                        }
                        else
                        {
                            chest.DropItem(new SpecialFishingNet());
                        }

                        chest.Movable           = true;
                        chest.Locked            = false;
                        chest.Name              = "treasure chest";
                        chest.IsShipwreckedItem = true;

                        if (sos.Level > 0)
                        {
                            chest.TrapType  = TrapType.ExplosionTrap;
                            chest.TrapPower = soslevel * Utility.RandomMinMax(5, 15);
                            chest.TrapLevel = 0;
                        }
                        else
                        {
                            chest.TrapType  = TrapType.None;
                            chest.TrapPower = 0;
                            chest.TrapLevel = 0;
                        }

                        sos.Delete();

                        return(chest);
                    }
                }
            }

            return(base.Construct(type, from));
        }
Esempio n. 12
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);
        }
Esempio n. 13
0
        public override void AddComponents()
        {
            Item item = new Item(0xFAC);

            item.Movable = false;
            AddItem(item, 0, 0, 0);               // fire pit
            item         = new Item(0xDE3);
            item.Movable = false;
            AddItem(item, 0, 0, 0);               // camp fire
            item         = new Item(0x974);
            item.Movable = false;
            AddItem(item, 0, 0, 1);               // cauldron

            for (int i = 0; i < 2; i++)
            {
                LockableContainer cont = null;

                switch (Utility.Random(3))
                {
                case 0:
                    cont = new MetalChest();
                    break;

                case 1:
                    cont = new WoodenChest();
                    break;

                case 2:
                    cont = new SmallCrate();
                    break;
                }

                cont.Movable = false;
                cont.Locked  = true;

                cont.TrapType    = TrapType.ExplosionTrap;
                cont.TrapPower   = Utility.RandomMinMax(30, 40);
                cont.TrapLevel   = 2;
                cont.TrapEnabled = true;

                cont.RequiredSkill = 76;
                cont.LockLevel     = 66;
                cont.MaxLockLevel  = 116;

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

                if (Utility.RandomDouble() < 0.8)
                {
                    switch (Utility.Random(4))
                    {
                    case 0:
                        cont.DropItem(new LesserCurePotion());
                        break;

                    case 1:
                        cont.DropItem(new LesserExplosionPotion());
                        break;

                    case 2:
                        cont.DropItem(new LesserHealPotion());
                        break;

                    case 3:
                        cont.DropItem(new LesserPoisonPotion());
                        break;
                    }
                }

                if (Utility.RandomDouble() < 0.5)
                {
                    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);
                    }

                    cont.DropItem(item);
                }

                AddItem(cont, Utility.RandomMinMax(-5, 5), Utility.RandomMinMax(-5, 5), 0);
            }

            m_Prisoner = new BaseEscort();

            for (int i = 0; i < 4; i++)
            {
                Point3D loc = GetRandomSpawnPoint(5);

                AddMobile(new Brigand(), 6, 0, 0, 0);
            }

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

            switch (Utility.Random(3))
            {
            case 0: chest = new MetalChest(); break;

            case 1: chest = new MetalGoldenChest(); break;

            default: chest = new WoodenChest(); break;
            }

            chest.LiftOverride = true;

            TreasureMapChest.Fill(chest, 1);

            AddItem(chest, -2, 2, 0);

            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 Server.Currency.Copper(Utility.RandomMinMax(100, 200)));
            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. 15
0
        private void AddCampChests()
        {
            LockableContainer chest = null;

            switch (Utility.Random(3))
            {
            case 0:
                chest = new MetalChest();
                break;

            case 1:
                chest = new MetalGoldenChest();
                break;

            default:
                chest = new WoodenChest();
                break;
            }

            chest.LiftOverride = true;

            TreasureMapChest.Fill(chest, Utility.Random(10, 40), Utility.Random(1, 2), false, Map.SerpentIsle); //UOSI draws random values for level and luck

            this.AddItem(chest, -2, 2, 0);

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

            this.AddItem(crates, 2, -2, 0);
        }
Esempio n. 16
0
        public override void GenerateLoot()
        {
            if (Utility.Random(100) <= 20)
            {
                int hue = Utility.RandomMinMax(1, 1001);

                Sandals sandals = new Sandals();

                sandals.Hue = hue;

                PackItem(sandals);
            }

            if (Utility.Random(100) <= 10)
            {
                int hue = Utility.RandomMinMax(1, 1001);

                Sandals sandals = new Sandals();

                sandals.Hue = hue;

                PackItem(sandals);
            }

            if (Utility.Random(100) <= 5)
            {
                int hue = Utility.RandomMinMax(1, 1001);

                Sandals sandals = new Sandals();

                sandals.Hue = hue;

                PackItem(sandals);
            }

            if (Utility.Random(100) <= 5)
            {
                int hue = Utility.RandomMinMax(1201, 1255);

                Sandals sandals = new Sandals();

                sandals.Hue = hue;

                PackItem(sandals);
            }

            if (Utility.Random(100) <= 2)
            {
                int hue = Utility.RandomMinMax(2101, 2130);

                Sandals sandals = new Sandals();

                sandals.Hue = hue;

                PackItem(sandals);
            }


            if (Utility.Random(100) <= 1)
            {
                int hue = 2936;

                Sandals sandals = new Sandals();

                sandals.Hue = hue;

                PackItem(sandals);
            }

            if (Utility.Random(1000) <= 2)
            {
                int     hue;
                Sandals sandals = new Sandals();

                switch (Utility.Random(7))
                {
                case 0: hue = 1155; break;

                case 1: hue = 1156; break;

                case 2: hue = 1157; break;

                case 3: hue = 1158; break;

                case 4: hue = 1160; break;

                case 5: hue = 1172; break;

                default: hue = 1175; break;
                }

                sandals.Hue = hue;
                PackItem(sandals);
            }

            if (Utility.Random(1000) <= 2)
            {
                int     hue;
                Sandals sandals = new Sandals();

                switch (Utility.Random(5))
                {
                case 0: hue = 1176; break;

                case 1: hue = 1171; break;

                case 2: hue = 1159; break;

                case 3: hue = 1170; break;

                default: hue = 1161; break;
                }

                sandals.Hue = hue;
                PackItem(sandals);
            }


            double chance = Utility.RandomDouble();

            if (chance <= 0.10)
            {
                Seed seed;

                PlantType type;
                switch (Utility.Random(17))
                {
                case 0: type = PlantType.CampionFlowers; break;

                case 1: type = PlantType.Poppies; break;

                case 2: type = PlantType.Snowdrops; break;

                case 3: type = PlantType.Bulrushes; break;

                case 4: type = PlantType.Lilies; break;

                case 5: type = PlantType.PampasGrass; break;

                case 6: type = PlantType.Rushes; break;

                case 7: type = PlantType.ElephantEarPlant; break;

                case 8: type = PlantType.Fern; break;

                case 9: type = PlantType.PonytailPalm; break;

                case 10: type = PlantType.SmallPalm; break;

                case 11: type = PlantType.CenturyPlant; break;

                case 12: type = PlantType.WaterPlant; break;

                case 13: type = PlantType.SnakePlant; break;

                case 14: type = PlantType.PricklyPearCactus; break;

                case 15: type = PlantType.BarrelCactus; break;

                default: type = PlantType.TribarrelCactus; break;
                }

                PlantHue hue;
                switch (Utility.Random(19))
                {
                case 0: hue = PlantHue.Plain; break;

                case 1: hue = PlantHue.Red; break;

                case 2: hue = PlantHue.Blue; break;

                case 3: hue = PlantHue.Yellow; break;

                case 4: hue = PlantHue.BrightRed; break;

                case 5: hue = PlantHue.BrightBlue; break;

                case 6: hue = PlantHue.BrightYellow; break;

                case 7: hue = PlantHue.Purple; break;

                case 8: hue = PlantHue.Green; break;

                case 9: hue = PlantHue.Orange; break;

                case 10: hue = PlantHue.BrightPurple; break;

                case 11: hue = PlantHue.BrightGreen; break;

                case 12: hue = PlantHue.BrightOrange; break;

                case 13: hue = PlantHue.Black; break;

                case 14: hue = PlantHue.White; break;

                case 15: hue = PlantHue.Pink; break;

                case 16: hue = PlantHue.Magenta; break;

                case 17: hue = PlantHue.Aqua; break;

                default: hue = PlantHue.FireRed; break;
                }

                seed = new Seed(type, hue, false);
                PackItem(seed);

                if (Utility.Random(500) == 1)
                {
                    PackItem(new BlackDyeTub());
                }

                if (Utility.Random(100) < 15)
                {
                    Item item;

                    switch (Utility.Random(111))
                    {
                    case 0: item = new Tapestry6W(); break;

                    case 1: item = new MetalChest(); break;

                    case 2: item = new MetalGoldenChest(); break;

                    case 3: item = new MetalBox(); break;

                    case 4: item = new AniLargeVioletFlask(); break;

                    case 5: item = new AniRedRibbedFlask(); break;

                    case 6: item = new AniSmallBlueFlask(); break;

                    case 7: item = new BlueBeaker(); break;

                    case 8: item = new BlueCurvedFlask(); break;

                    case 9: item = new EmptyVial(); break;

                    case 10: item = new EmptyVialsWRack(); break;

                    case 11: item = new LargeFlask(); break;

                    case 12: item = new LargeVioletFlask(); break;

                    //case 13: item = new HourGlass(); break;
                    //case 14: item = new HourGlassAni(); break;
                    case 15: item = new DecorativeDAxeWest(); break;

                    case 16: item = new DecorativeDAxeNorth(); break;

                    case 17: item = new DecorativeBowWest(); break;

                    case 18: item = new DecorativeBowNorth(); break;

                    case 19: item = new DecorativeAxeWest(); break;

                    case 20: item = new DecorativeAxeNorth(); break;

                    case 21: item = new DecorativeShieldSword2West(); break;

                    case 22: item = new DecorativeShieldSword2North(); break;

                    case 23: item = new DecorativeShieldSword1West(); break;

                    case 24: item = new DecorativeShieldSword1North(); break;

                    case 25: item = new DecorativeShield11(); break;

                    case 26: item = new DecorativeShield10(); break;

                    case 27: item = new DecorativeShield9(); break;

                    case 28: item = new DecorativeShield8(); break;

                    case 29: item = new DecorativeShield7(); break;

                    case 30: item = new DecorativeShield6(); break;

                    case 31: item = new DecorativeShield5(); break;

                    case 32: item = new DecorativeShield4(); break;

                    case 33: item = new DecorativeShield3(); break;

                    case 34: item = new DecorativeShield2(); break;

                    case 35: item = new DecorativeShield1(); break;

                    case 36: item = new Whip(); break;

                    case 37: item = new SilverWire(); break;

                    case 38: item = new Rope(); break;

                    case 39: item = new PaintsAndBrush(); break;

                    case 40: item = new IronWire(); break;

                    case 41: item = new GoldWire(); break;

                    case 42: item = new CopperWire(); break;

                    case 43: item = new WoodDebris(); break;

                    case 44: item = new RuinedPainting(); break;

                    case 45: item = new RuinedFallenChairB(); break;

                    case 46: item = new FullVialsWRack(); break;

                    case 47: item = new FullJar(); break;

                    case 48: item = new FullJars2(); break;

                    case 49: item = new FullJars3(); break;

                    case 50: item = new FullJars4(); break;

                    case 51: item = new GreenBeaker(); break;

                    case 52: item = new GreenBottle(); break;

                    case 53: item = new VioletStemmedBottle(); break;

                    case 54: item = new SpinningHourglass(); break;

                    case 55: item = new ArcheryButte(); break;

                    case 56: item = new PhillipsWoodenSteed(); break;

                    case 57: item = new PileOfGlacialSnow(); break;

                    case 58: item = new RedPoinsettia(); break;

                    case 59: item = new RoseOfTrinsic(); break;

                    case 60: item = new RaiseSwitch(); break;

                    case 61: item = new SpecialFishingNet(); break;

                    case 62: item = new SpecialHairDye(); break;

                    case 63: item = new SpecialBeardDye(); break;

                    case 64: item = new SnowPile(); break;

                    case 65: item = new StatueEast2(); break;

                    case 66: item = new StatuePegasus2(); break;

                    case 67: item = new StatueSouth2(); break;

                    case 68: item = new StatueSouthEast(); break;

                    case 69: item = new StatuetteDyeTub(); break;

                    case 70: item = new StatueWest(); break;

                    case 71: item = new TapestryOfSosaria(); break;

                    case 72: item = new WhitePoinsettia(); break;

                    case 73: item = new WindChimes(); break;

                    case 74: item = new ZoogiFungus(); break;

                    case 75: item = new RuinedFallenChairA(); break;

                    case 76: item = new RuinedDrawers(); break;

                    case 77: item = new RuinedClock(); break;

                    case 78: item = new RuinedChair(); break;

                    case 79: item = new RuinedBooks(); break;

                    case 80: item = new RuinedBookcase(); break;

                    case 81: item = new RuinedArmoire(); break;

                    case 82: item = new SmallStretchedHideSouthDeed(); break;

                    case 83: item = new SmallStretchedHideEastDeed(); break;

                    case 84: item = new PolarBearRugSouthDeed(); break;

                    case 85: item = new PolarBearRugEastDeed(); break;

                    case 86: item = new MediumStretchedHideSouthDeed(); break;

                    case 87: item = new MediumStretchedHideEastDeed(); break;

                    case 88: item = new LightFlowerTapestrySouthDeed(); break;

                    case 89: item = new LightFlowerTapestryEastDeed(); break;

                    case 90: item = new DarkFlowerTapestrySouthDeed(); break;

                    case 91: item = new DarkFlowerTapestryEastDeed(); break;

                    case 92: item = new BrownBearRugSouthDeed(); break;

                    case 93: item = new BrownBearRugEastDeed(); break;

                    case 94: item = new WallSconce(); break;

                    case 95: item = new WallTorch(); break;

                    case 96: item = new CandleShort(); break;

                    case 97: item = new CandleLarge(); break;

                    case 98: item = new DecorativeSwordNorth(); break;

                    case 99: item = new DecorativeSwordWest(); break;

                    case 100: item = new Tapestry1N(); break;

                    case 101: item = new Tapestry2N(); break;

                    case 102: item = new Tapestry2W(); break;

                    case 103: item = new Tapestry3N(); break;

                    case 104: item = new Tapestry3W(); break;

                    case 105: item = new Tapestry4N(); break;

                    case 106: item = new Tapestry4W(); break;

                    case 107: item = new Tapestry5N(); break;

                    case 108: item = new Tapestry5W(); break;

                    case 109: item = new Tapestry6N(); break;

                    default: item = new CandleSkull(); break;
                    }

                    item.LootType = LootType.Regular;
                    item.Movable  = true;
                    PackItem(item);
                }

                if (Utility.Random(100) < 10)
                {
                    Item item;

                    switch (Utility.Random(111))
                    {
                    case 0: item = new Tapestry6W(); break;

                    case 1: item = new MetalChest(); break;

                    case 2: item = new MetalGoldenChest(); break;

                    case 3: item = new MetalBox(); break;

                    case 4: item = new AniLargeVioletFlask(); break;

                    case 5: item = new AniRedRibbedFlask(); break;

                    case 6: item = new AniSmallBlueFlask(); break;

                    case 7: item = new BlueBeaker(); break;

                    case 8: item = new BlueCurvedFlask(); break;

                    case 9: item = new EmptyVial(); break;

                    case 10: item = new EmptyVialsWRack(); break;

                    case 11: item = new LargeFlask(); break;

                    case 12: item = new LargeVioletFlask(); break;

                    //case 13: item = new HourGlass(); break;
                    //case 14: item = new HourGlassAni(); break;
                    case 15: item = new DecorativeDAxeWest(); break;

                    case 16: item = new DecorativeDAxeNorth(); break;

                    case 17: item = new DecorativeBowWest(); break;

                    case 18: item = new DecorativeBowNorth(); break;

                    case 19: item = new DecorativeAxeWest(); break;

                    case 20: item = new DecorativeAxeNorth(); break;

                    case 21: item = new DecorativeShieldSword2West(); break;

                    case 22: item = new DecorativeShieldSword2North(); break;

                    case 23: item = new DecorativeShieldSword1West(); break;

                    case 24: item = new DecorativeShieldSword1North(); break;

                    case 25: item = new DecorativeShield11(); break;

                    case 26: item = new DecorativeShield10(); break;

                    case 27: item = new DecorativeShield9(); break;

                    case 28: item = new DecorativeShield8(); break;

                    case 29: item = new DecorativeShield7(); break;

                    case 30: item = new DecorativeShield6(); break;

                    case 31: item = new DecorativeShield5(); break;

                    case 32: item = new DecorativeShield4(); break;

                    case 33: item = new DecorativeShield3(); break;

                    case 34: item = new DecorativeShield2(); break;

                    case 35: item = new DecorativeShield1(); break;

                    case 36: item = new Whip(); break;

                    case 37: item = new SilverWire(); break;

                    case 38: item = new Rope(); break;

                    case 39: item = new PaintsAndBrush(); break;

                    case 40: item = new IronWire(); break;

                    case 41: item = new GoldWire(); break;

                    case 42: item = new CopperWire(); break;

                    case 43: item = new WoodDebris(); break;

                    case 44: item = new RuinedPainting(); break;

                    case 45: item = new RuinedFallenChairB(); break;

                    case 46: item = new FullVialsWRack(); break;

                    case 47: item = new FullJar(); break;

                    case 48: item = new FullJars2(); break;

                    case 49: item = new FullJars3(); break;

                    case 50: item = new FullJars4(); break;

                    case 51: item = new GreenBeaker(); break;

                    case 52: item = new GreenBottle(); break;

                    case 53: item = new VioletStemmedBottle(); break;

                    case 54: item = new SpinningHourglass(); break;

                    case 55: item = new ArcheryButte(); break;

                    case 56: item = new PhillipsWoodenSteed(); break;

                    case 57: item = new PileOfGlacialSnow(); break;

                    case 58: item = new RedPoinsettia(); break;

                    case 59: item = new RoseOfTrinsic(); break;

                    case 60: item = new RaiseSwitch(); break;

                    case 61: item = new SpecialFishingNet(); break;

                    case 62: item = new SpecialHairDye(); break;

                    case 63: item = new SpecialBeardDye(); break;

                    case 64: item = new SnowPile(); break;

                    case 65: item = new StatueEast2(); break;

                    case 66: item = new StatuePegasus2(); break;

                    case 67: item = new StatueSouth2(); break;

                    case 68: item = new StatueSouthEast(); break;

                    case 69: item = new StatuetteDyeTub(); break;

                    case 70: item = new StatueWest(); break;

                    case 71: item = new TapestryOfSosaria(); break;

                    case 72: item = new WhitePoinsettia(); break;

                    case 73: item = new WindChimes(); break;

                    case 74: item = new ZoogiFungus(); break;

                    case 75: item = new RuinedFallenChairA(); break;

                    case 76: item = new RuinedDrawers(); break;

                    case 77: item = new RuinedClock(); break;

                    case 78: item = new RuinedChair(); break;

                    case 79: item = new RuinedBooks(); break;

                    case 80: item = new RuinedBookcase(); break;

                    case 81: item = new RuinedArmoire(); break;

                    case 82: item = new SmallStretchedHideSouthDeed(); break;

                    case 83: item = new SmallStretchedHideEastDeed(); break;

                    case 84: item = new PolarBearRugSouthDeed(); break;

                    case 85: item = new PolarBearRugEastDeed(); break;

                    case 86: item = new MediumStretchedHideSouthDeed(); break;

                    case 87: item = new MediumStretchedHideEastDeed(); break;

                    case 88: item = new LightFlowerTapestrySouthDeed(); break;

                    case 89: item = new LightFlowerTapestryEastDeed(); break;

                    case 90: item = new DarkFlowerTapestrySouthDeed(); break;

                    case 91: item = new DarkFlowerTapestryEastDeed(); break;

                    case 92: item = new BrownBearRugSouthDeed(); break;

                    case 93: item = new BrownBearRugEastDeed(); break;

                    case 94: item = new WallSconce(); break;

                    case 95: item = new WallTorch(); break;

                    case 96: item = new CandleShort(); break;

                    case 97: item = new CandleLarge(); break;

                    case 98: item = new DecorativeSwordNorth(); break;

                    case 99: item = new DecorativeSwordWest(); break;

                    case 100: item = new Tapestry1N(); break;

                    case 101: item = new Tapestry2N(); break;

                    case 102: item = new Tapestry2W(); break;

                    case 103: item = new Tapestry3N(); break;

                    case 104: item = new Tapestry3W(); break;

                    case 105: item = new Tapestry4N(); break;

                    case 106: item = new Tapestry4W(); break;

                    case 107: item = new Tapestry5N(); break;

                    case 108: item = new Tapestry5W(); break;

                    case 109: item = new Tapestry6N(); break;

                    default: item = new CandleSkull(); break;
                    }

                    item.LootType = LootType.Regular;
                    item.Movable  = true;
                    PackItem(item);
                }
            }
        }
Esempio n. 17
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);
        }
        private Item CreateItem(int ItemID)         // Create the appropriate item class - Defaults to a Static Item
        {
            Item item = null;

            switch (ItemID)
            {
                #region MobileSaver
            case 0x0001:                     // Now used for Mobile Importing.
            {
                item = new Static(0x1);
                break;
            }

                #endregion
            case 0x1F19:                     // Add any unwanted items here.
            case 0x0FB7:                     // TODO: Boat parts: planks, tillerman, etc.
                break;



            case 0x0FB1:                      //forge
                item = new SmallForgeAddon();
                break;

            case 0x0FAF:                      //anvil east
                item = new AnvilEastAddon();
                break;

            case 0x0FB0:                      //anvil south
                item = new AnvilSouthAddon();
                break;

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

            case 0x1922:                     //FlourMill East
                item = new FlourMillEastAddon();
                break;

            case 0x1920:
            case 0x1924: break;              //Don't add those items since the addon has them.

            case 0x192E:                     //FlourMill South
                item = new FlourMillSouthAddon();
                break;

            case 0x192C:
            case 0x1930: break;              //Don't add those items since the addon has them.

            case 0x1060:                     //Loom East
                item = new LoomEastAddon();
                break;

            case 0x105F: break;              //Don't add those items since the addon has them.

            case 0x1061:                     //Loom South
                item = new LoomSouthAddon();
                break;

            case 0x1062: break;              //Don't add those items since the addon has them.

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

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


            // Housing Metal Doors
            case 0x679:
                item = new NorthWestDoor();
                break;

            case 0x67B:
                item = new NorthEastDoor();
                break;

            case 0x675:
                item = new SouthWestDoor();
                break;

            case 0x677:
                item = new SouthEastDoor();
                break;

            case 0x683:
                item = new WestNorthDoor();
                break;

            case 0x681:
                item = new WestSouthDoor();
                break;

            case 0x67F:
                item = new EastNorthDoor();
                break;

            case 0x67D:
                item = new EastSouthDoor();
                break;

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

            case 0x0685:                     // Barred Metal Doors
                item = new BarredMetalDoor(DoorFacing.WestCW);
                break;

            case 0x0687:
                item = new BarredMetalDoor(DoorFacing.EastCCW);
                break;

            case 0x068D:
                item = new BarredMetalDoor(DoorFacing.SouthCW);
                break;

            case 0x068F:
                item = new BarredMetalDoor(DoorFacing.NorthCCW);
                break;

            case 0x0695:                     // Rattan Doors
                item = new RattanDoor(DoorFacing.WestCW);
                break;

            case 0x0697:
                item = new RattanDoor(DoorFacing.EastCCW);
                break;

            case 0x069D:
                item = new RattanDoor(DoorFacing.SouthCW);
                break;

            case 0x069F:
                item = new RattanDoor(DoorFacing.NorthCCW);
                break;

            case 0x06A5:                     // Dark Wood Doors
                item = new DarkWoodDoor(DoorFacing.WestCW);
                break;

            case 0x06A7:
                item = new DarkWoodDoor(DoorFacing.EastCCW);
                break;

            case 0x06AD:
                item = new DarkWoodDoor(DoorFacing.SouthCW);
                break;

            case 0x06AF:
                item = new DarkWoodDoor(DoorFacing.NorthCCW);
                break;

            case 0x06B5:                     // Medium Wood Doors
                item = new MediumWoodDoor(DoorFacing.WestCW);
                break;

            case 0x06B7:
                item = new MediumWoodDoor(DoorFacing.EastCCW);
                break;

            case 0x06BD:
                item = new MediumWoodDoor(DoorFacing.SouthCW);
                break;

            case 0x06BF:
                item = new MediumWoodDoor(DoorFacing.NorthCCW);
                break;

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

            case 0x06D5:                     // Light Wood Doors
                item = new LightWoodDoor(DoorFacing.WestCW);
                break;

            case 0x06D7:
                item = new LightWoodDoor(DoorFacing.EastCCW);
                break;

            case 0x06DD:
                item = new LightWoodDoor(DoorFacing.SouthCW);
                break;

            case 0x06DF:
                item = new LightWoodDoor(DoorFacing.NorthCCW);
                break;

            case 0x06E5:                     // Strong Wood Doors
                item = new StrongWoodDoor(DoorFacing.WestCW);
                break;

            case 0x06E7:
                item = new StrongWoodDoor(DoorFacing.EastCCW);
                break;

            case 0x06ED:
                item = new StrongWoodDoor(DoorFacing.SouthCW);
                break;

            case 0x06EF:
                item = new StrongWoodDoor(DoorFacing.NorthCCW);
                break;

            case 0x2A05:                     //South facing West half Paper door (SE)
                item = new SWPaperSEDoor();
                break;

            case 0x2A07:                     //South facing East half Paper door (SE)
                item = new SEPaperSEDoor();
                break;

            case 0x2A09:                     //East facing South half Paper door (SE)
                item = new ESPaperSEDoor();
                break;

            case 0x2A0B:                     //East facing North half Paper door (SE)
                item = new ENPaperSEDoor();
                break;

            case 0x2A0D:                     //South facing West half Cloth door (SE)
                item = new SWClothSEDoor();
                break;

            case 0x2A0F:                     //South facing East half Cloth door (SE)
                item = new SEClothSEDoor();
                break;

            case 0x2A11:                     //East facing South half Cloth door (SE)
                item = new ESClothSEDoor();
                break;

            case 0x2A13:                     //East facing North half Cloth door (SE)
                item = new ENClothSEDoor();
                break;

            case 0x2A16:                     //South facing West half Wooden door (SE)
                item = new SWWoodenSEDoor();
                break;

            case 0x2A17:                     //South facing East half Wooden door (SE)
                item = new SEWoodenSEDoor();
                break;

            case 0x2A19:                     //East facing South half Wooden door (SE)
                item = new ESWoodenSEDoor();
                break;

            case 0x2A1B:                     //East facing North half Wooden door (SE)
                item = new ENWoodenSEDoor();
                break;



            case 0xE77:                     //Barrel
                item         = new Barrel();
                item.Movable = false;
                break;

            case 0xE7F:                     //Keg
                item         = new Keg();
                item.Movable = false;
                break;

            case 0xE7A:                     //PicnicBasket
                item         = new PicnicBasket();
                item.Movable = false;
                break;

            case 0x990:                     //Basket
                item         = new Basket();
                item.Movable = false;
                break;

            case 0x9AA:                     //WoodenBox (0xE7D)
                item         = new WoodenBox();
                item.Movable = false;
                break;

            case 0xE7D:                     //WoodenBox (0xE7D)
                item         = new WoodenBox();
                item.Movable = false;
                item.ItemID  = 0xE7D;
                break;

            case 0x9A9:                     //SmallCrate (0xE7E)
                item         = new SmallCrate();
                item.Movable = false;
                break;

            case 0xE7E:                     //SmallCrate (0xE7E)
                item         = new SmallCrate();
                item.Movable = false;
                item.ItemID  = 0xE7E;
                break;

            case 0xE3F:                     //MediumCrate (0xE3E)
                item         = new MediumCrate();
                item.Movable = false;
                break;

            case 0xE3E:                     //MediumCrate (0xE3E)
                item         = new MediumCrate();
                item.Movable = false;
                item.ItemID  = 0xE3E;
                break;

            case 0xE3D:                     //LargeCrate (0xE3C)
                item         = new LargeCrate();
                item.Movable = false;
                break;

            case 0xE3C:                     //LargeCrate (0xE3C)
                item         = new LargeCrate();
                item.Movable = false;
                item.ItemID  = 0xE3C;
                break;

            case 0x9A8:                     //MetalBox (0xE80)
                item         = new MetalBox();
                item.Movable = false;
                break;

            case 0xE80:                     //MetalBox (0xE80)
                item         = new MetalBox();
                item.Movable = false;
                item.ItemID  = 0xE80;
                break;

            case 0x9AB:                     //MetalChest (0xE7C)
                item         = new MetalChest();
                item.Movable = false;
                break;

            case 0xE7C:                     //MetalChest (0xE7C)
                item         = new MetalChest();
                item.Movable = false;
                item.ItemID  = 0xE7C;
                break;

            case 0xE41:                     //MetalGoldenChest (0xE40)
                item         = new MetalGoldenChest();
                item.Movable = false;
                break;

            case 0xE40:                     //MetalGoldenChest (0xE40)
                item         = new MetalGoldenChest();
                item.Movable = false;
                item.ItemID  = 0xE40;
                break;

            case 0xe43:                     //WoodenChest (0xe42)
                item         = new WoodenChest();
                item.Movable = false;
                break;

            case 0xe42:                     //WoodenChest (0xe42)
                item         = new WoodenChest();
                item.Movable = false;
                item.ItemID  = 0xe42;
                break;

            case 0x280B:                     //PlainWoodenChest (0x280C)
                item         = new PlainWoodenChest();
                item.Movable = false;
                break;

            case 0x280C:                     //PlainWoodenChest (0x280C)
                item         = new PlainWoodenChest();
                item.Movable = false;
                item.ItemID  = 0x280C;
                break;

            case 0x280D:                     //OrnateWoodenChest (0x280E)
                item         = new OrnateWoodenChest();
                item.Movable = false;
                break;

            case 0x280E:                     //OrnateWoodenChest (0x280E)
                item         = new OrnateWoodenChest();
                item.Movable = false;
                item.ItemID  = 0x280E;
                break;

            case 0x280F:                     //GildedWoodenChest (0x2810)
                item         = new GildedWoodenChest();
                item.Movable = false;
                break;

            case 0x2810:                     //GildedWoodenChest (0x2810)
                item         = new GildedWoodenChest();
                item.Movable = false;
                item.ItemID  = 0x2810;
                break;

            case 0x2811:                     //WoodenFootLocker (0x2812)
                item         = new WoodenFootLocker();
                item.Movable = false;
                break;

            case 0x2812:                     //WoodenFootLocker (0x2812)
                item         = new WoodenFootLocker();
                item.Movable = false;
                item.ItemID  = 0x2812;
                break;

            case 0x2813:                     //FinishedWoodenChest (0x2814)
                item         = new FinishedWoodenChest();
                item.Movable = false;
                break;

            case 0x2814:                     //FinishedWoodenChest (0x2814)
                item         = new FinishedWoodenChest();
                item.Movable = false;
                item.ItemID  = 0x2814;
                break;

            case 0x2815:                     //TallCabinet (0x2816)
                item         = new TallCabinet();
                item.Movable = false;
                break;

            case 0x2816:                     //TallCabinet (0x2816)
                item         = new TallCabinet();
                item.Movable = false;
                item.ItemID  = 0x2816;
                break;

            case 0x2817:                     //ShortCabinet (0x2818)
                item         = new ShortCabinet();
                item.Movable = false;
                break;

            case 0x2818:                     //ShortCabinet (0x2818)
                item         = new ShortCabinet();
                item.Movable = false;
                item.ItemID  = 0x2818;
                break;

            case 0x2857:                     //RedArmoire (0x2858)
                item         = new RedArmoire();
                item.Movable = false;
                break;

            case 0x2858:                     //RedArmoire (0x2858)
                item         = new RedArmoire();
                item.Movable = false;
                item.ItemID  = 0x2858;
                break;

            case 0x285D:                     //CherryArmoire (0x285E)
                item         = new CherryArmoire();
                item.Movable = false;
                break;

            case 0x285E:                     //CherryArmoire (0x285E)
                item         = new CherryArmoire();
                item.Movable = false;
                item.ItemID  = 0x285E;
                break;

            case 0x285B:                     //MapleArmoire (0x285C)
                item         = new MapleArmoire();
                item.Movable = false;
                break;

            case 0x285C:                     //MapleArmoire (0x285C)
                item         = new MapleArmoire();
                item.Movable = false;
                item.ItemID  = 0x285C;
                break;

            case 0x2859:                     //ElegantArmoire (0x285A)
                item         = new ElegantArmoire();
                item.Movable = false;
                break;

            case 0x285A:                     //ElegantArmoire (0x285A)
                item         = new ElegantArmoire();
                item.Movable = false;
                item.ItemID  = 0x285A;
                break;

            case 0xA97:                     //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
                item         = new FullBookcase();
                item.Movable = false;
                break;

            case 0xA99:                     //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
                item         = new FullBookcase();
                item.Movable = false;
                item.ItemID  = 0xa99;
                break;

            case 0xA98:                     //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
                item         = new FullBookcase();
                item.Movable = false;
                item.ItemID  = 0xa98;
                break;

            case 0xA9a:                     //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
                item         = new FullBookcase();
                item.Movable = false;
                item.ItemID  = 0xa9a;
                break;

            case 0xA9b:                     //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
                item         = new FullBookcase();
                item.Movable = false;
                item.ItemID  = 0xa9b;
                break;

            case 0xA9c:                     //FullBookcase (0xa97, 0xa99, 0xa98, 0xa9a, 0xa9b, 0xa9c)
                item         = new FullBookcase();
                item.Movable = false;
                item.ItemID  = 0xa9c;
                break;

            case 0xA9D:                     //EmptyBookcase (0xa9e)
                item         = new EmptyBookcase();
                item.Movable = false;
                break;

            case 0xa9e:                     //EmptyBookcase (0xa9e)
                item         = new EmptyBookcase();
                item.Movable = false;
                item.ItemID  = 0xa9e;
                break;

            case 0xA2C:                     //Drawer (0xa34)
                item         = new Drawer();
                item.Movable = false;
                break;

            case 0xa34:                     //Drawer (0xa34)
                item         = new Drawer();
                item.Movable = false;
                item.ItemID  = 0xa34;
                break;

            case 0xA30:                     //FancyDrawer (0xa38)
                item         = new FancyDrawer();
                item.Movable = false;
                break;

            case 0xa38:                     //FancyDrawer (0xa38)
                item         = new FancyDrawer();
                item.Movable = false;
                item.ItemID  = 0xa38;
                break;

            case 0xA4F:                     //Armoire (0xa53)
                item         = new Armoire();
                item.Movable = false;
                break;

            case 0xa53:                     //Armoire (0xa53)
                item         = new Armoire();
                item.Movable = false;
                item.ItemID  = 0xa53;
                break;

            case 0xA4D:                     //FancyArmoire (0xa51)
                item         = new FancyArmoire();
                item.Movable = false;
                break;

            case 0xa51:                     //FancyArmoire (0xa51)
                item         = new FancyArmoire();
                item.Movable = false;
                item.ItemID  = 0xa51;
                break;



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

            return(item);
        }
Esempio n. 19
0
        public override void AddComponents()
        {
            AddItem(new Item(0xFAC), 0, 0, 0);                 // fire pit
            AddItem(new Item(0xDE3), 0, 0, 0);                 // camp fire
            AddItem(new Item(0x974), 0, 0, 1);                 // cauldron

            for (int i = 0; i < 2; i++)
            {
                LockableContainer cont = null;

                switch (Utility.Random(3))
                {
                case 0: cont = new MetalChest(); break;

                case 1: cont = new WoodenChest(); break;

                case 2: cont = new SmallCrate(); break;
                }

                cont.Movable = false;
                cont.Locked  = true;

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

                if (Utility.RandomDouble() < 0.8)
                {
                    switch (Utility.Random(4))
                    {
                    case 0: cont.DropItem(new LesserCurePotion()); break;

                    case 1: cont.DropItem(new LesserExplosionPotion()); break;

                    case 2: cont.DropItem(new LesserHealPotion()); break;

                    case 3: cont.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);
                    }

                    cont.DropItem(item);
                }

                Point3D loc = GetRandomSpawnPoint(3);

                AddItem(cont, loc.X, loc.Y, loc.Z);
            }

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

            case 1: m_Prisoner = new SeekerOfAdventure(); break;
            }

            for (int i = 0; i < 4; i++)
            {
                Point3D loc = GetRandomSpawnPoint(5);

                AddMobile(Camper, 6, loc.X, loc.Y, loc.Z);
            }

            Point3D p = GetRandomSpawnPoint(3);

            AddMobile(m_Prisoner, 0, p.X, p.Y, p.Z);
            Console.WriteLine(Location.ToString());
        }
Esempio n. 20
0
        public override void AddComponents()
        {
            this.AddItem(new Item(0xFAC), 0, 0, 0); // fire pit
            this.AddItem(new Item(0xDE3), 0, 0, 0); // camp fire
            this.AddItem(new Item(0x974), 0, 0, 1); // cauldron

            for (int i = 0; i < 2; i++)
            {
                LockableContainer cont = null;

                switch (Utility.Random(3))
                {
                case 0:
                    cont = new MetalChest();
                    break;

                case 1:
                    cont = new WoodenChest();
                    break;

                case 2:
                    cont = new SmallCrate();
                    break;
                }

                cont.Movable = false;
                cont.Locked  = true;

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

                if (Utility.RandomDouble() < 0.8)
                {
                    switch (Utility.Random(4))
                    {
                    case 0:
                        cont.DropItem(new LesserCurePotion());
                        break;

                    case 1:
                        cont.DropItem(new LesserExplosionPotion());
                        break;

                    case 2:
                        cont.DropItem(new LesserHealPotion());
                        break;

                    case 3:
                        cont.DropItem(new LesserPoisonPotion());
                        break;
                    }
                }

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

                Point3D loc = this.GetRandomSpawnPoint(3);

                this.AddItem(cont, loc.X, loc.Y, loc.Z);
            }

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

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

            for (int i = 0; i < 4; i++)
            {
                Point3D loc = this.GetRandomSpawnPoint(5);

                this.AddMobile(this.Camper, 6, loc.X, loc.Y, loc.Z);
            }

            Point3D p = this.GetRandomSpawnPoint(3);

            this.AddMobile(this.m_Prisoner, 0, p.X, p.Y, p.Z);
        }
Esempio n. 21
0
        public override void GenerateLoot()
        {
            if (Utility.Random(100) < 20)
            {
                Lantern lantern = new Lantern();
                lantern.Hue = Utility.RandomMinMax(2113, 2118);
                PackItem(lantern);
            }

            if (Utility.Random(100) < 10)
            {
                Item item;

                switch (Utility.Random(111))
                {
                case 0: item = new Tapestry6W(); break;

                case 1: item = new MetalChest(); break;

                case 2: item = new MetalGoldenChest(); break;

                case 3: item = new MetalBox(); break;

                case 4: item = new AniLargeVioletFlask(); break;

                case 5: item = new AniRedRibbedFlask(); break;

                case 6: item = new AniSmallBlueFlask(); break;

                case 7: item = new BlueBeaker(); break;

                case 8: item = new BlueCurvedFlask(); break;

                case 9: item = new EmptyVial(); break;

                case 10: item = new EmptyVialsWRack(); break;

                case 11: item = new LargeFlask(); break;

                case 12: item = new LargeVioletFlask(); break;

                //case 13: item = new HourGlass(); break;
                //case 14: item = new HourGlassAni(); break;
                case 15: item = new DecorativeDAxeWest(); break;

                case 16: item = new DecorativeDAxeNorth(); break;

                case 17: item = new DecorativeBowWest(); break;

                case 18: item = new DecorativeBowNorth(); break;

                case 19: item = new DecorativeAxeWest(); break;

                case 20: item = new DecorativeAxeNorth(); break;

                case 21: item = new DecorativeShieldSword2West(); break;

                case 22: item = new DecorativeShieldSword2North(); break;

                case 23: item = new DecorativeShieldSword1West(); break;

                case 24: item = new DecorativeShieldSword1North(); break;

                case 25: item = new DecorativeShield11(); break;

                case 26: item = new DecorativeShield10(); break;

                case 27: item = new DecorativeShield9(); break;

                case 28: item = new DecorativeShield8(); break;

                case 29: item = new DecorativeShield7(); break;

                case 30: item = new DecorativeShield6(); break;

                case 31: item = new DecorativeShield5(); break;

                case 32: item = new DecorativeShield4(); break;

                case 33: item = new DecorativeShield3(); break;

                case 34: item = new DecorativeShield2(); break;

                case 35: item = new DecorativeShield1(); break;

                case 36: item = new Whip(); break;

                case 37: item = new SilverWire(); break;

                case 38: item = new Rope(); break;

                case 39: item = new PaintsAndBrush(); break;

                case 40: item = new IronWire(); break;

                case 41: item = new GoldWire(); break;

                case 42: item = new CopperWire(); break;

                case 43: item = new WoodDebris(); break;

                case 44: item = new RuinedPainting(); break;

                case 45: item = new RuinedFallenChairB(); break;

                case 46: item = new FullVialsWRack(); break;

                case 47: item = new FullJar(); break;

                case 48: item = new FullJars2(); break;

                case 49: item = new FullJars3(); break;

                case 50: item = new FullJars4(); break;

                case 51: item = new GreenBeaker(); break;

                case 52: item = new GreenBottle(); break;

                case 53: item = new VioletStemmedBottle(); break;

                case 54: item = new SpinningHourglass(); break;

                case 55: item = new ArcheryButte(); break;

                case 56: item = new PhillipsWoodenSteed(); break;

                case 57: item = new PileOfGlacialSnow(); break;

                case 58: item = new RedPoinsettia(); break;

                case 59: item = new RoseOfTrinsic(); break;

                case 60: item = new RaiseSwitch(); break;

                case 61: item = new SpecialFishingNet(); break;

                case 62: item = new SpecialHairDye(); break;

                case 63: item = new SpecialBeardDye(); break;

                case 64: item = new SnowPile(); break;

                case 65: item = new StatueEast2(); break;

                case 66: item = new StatuePegasus2(); break;

                case 67: item = new StatueSouth2(); break;

                case 68: item = new StatueSouthEast(); break;

                case 69: item = new StatuetteDyeTub(); break;

                case 70: item = new StatueWest(); break;

                case 71: item = new TapestryOfSosaria(); break;

                case 72: item = new WhitePoinsettia(); break;

                case 73: item = new WindChimes(); break;

                case 74: item = new ZoogiFungus(); break;

                case 75: item = new RuinedFallenChairA(); break;

                case 76: item = new RuinedDrawers(); break;

                case 77: item = new RuinedClock(); break;

                case 78: item = new RuinedChair(); break;

                case 79: item = new RuinedBooks(); break;

                case 80: item = new RuinedBookcase(); break;

                case 81: item = new RuinedArmoire(); break;

                case 82: item = new SmallStretchedHideSouthDeed(); break;

                case 83: item = new SmallStretchedHideEastDeed(); break;

                case 84: item = new PolarBearRugSouthDeed(); break;

                case 85: item = new PolarBearRugEastDeed(); break;

                case 86: item = new MediumStretchedHideSouthDeed(); break;

                case 87: item = new MediumStretchedHideEastDeed(); break;

                case 88: item = new LightFlowerTapestrySouthDeed(); break;

                case 89: item = new LightFlowerTapestryEastDeed(); break;

                case 90: item = new DarkFlowerTapestrySouthDeed(); break;

                case 91: item = new DarkFlowerTapestryEastDeed(); break;

                case 92: item = new BrownBearRugSouthDeed(); break;

                case 93: item = new BrownBearRugEastDeed(); break;

                case 94: item = new WallSconce(); break;

                case 95: item = new WallTorch(); break;

                case 96: item = new CandleShort(); break;

                case 97: item = new CandleLarge(); break;

                case 98: item = new DecorativeSwordNorth(); break;

                case 99: item = new DecorativeSwordWest(); break;

                case 100: item = new Tapestry1N(); break;

                case 101: item = new Tapestry2N(); break;

                case 102: item = new Tapestry2W(); break;

                case 103: item = new Tapestry3N(); break;

                case 104: item = new Tapestry3W(); break;

                case 105: item = new Tapestry4N(); break;

                case 106: item = new Tapestry4W(); break;

                case 107: item = new Tapestry5N(); break;

                case 108: item = new Tapestry5W(); break;

                case 109: item = new Tapestry6N(); break;

                default: item = new CandleSkull(); break;
                }

                item.LootType = LootType.Regular;
                item.Movable  = true;
                PackItem(item);
            }
        }
Esempio n. 22
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                Item item = null;
                switch (Utility.Random(8))
                {
                case 0:
                    item      = new SpecialLeggings();
                    item.Name = "Azothu's Leggings";
                    break;                              // Leggings

                case 1:
                    item      = new SpecialArms();
                    item.Name = "Azothu's Arms";
                    break;                              // arms

                case 2:
                    item      = new SpecialTunic();
                    item.Name = "Azothu's Tunic";
                    break;                              // Chest

                case 3:
                    item      = new SpecialArmor();
                    item.Name = "Azothu's Armor";
                    break;                              // Female Chest

                case 4:
                    item      = new SpecialGorget();
                    item.Name = "Azothu's Gorget";
                    break;                              // gorget

                case 5:
                    item      = new SpecialGloves();
                    item.Name = "Azothu's Gloves";
                    break;                              // gloves

                case 6:
                    item      = new SpecialHelm();
                    item.Name = "Azothu's Helm";
                    break;                              // helm

                case 7:
                    item      = new MetalChest();
                    item.Name = "Azothu's Locker";
                    break;                              // helm
                }

                if (item != null)
                {
                    item.Hue = 0x84A;
                    PackItem(item);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // ai special
                    if (Spawning)
                    {
                        PackGold(0);
                    }
                    else
                    {
                    }
                }
                else
                {                       // Standard RunUO
                                        // ai special
                }
            }
        }