public TreasureChestLevel1() : base(Utility.RandomList(0xE3C, 0xE3E, 0x9a9))
 {
     RequiredSkill = 52;
     LockLevel     = this.RequiredSkill - Utility.Random(1, 10);
     MaxLockLevel  = this.RequiredSkill;
     TrapType      = TrapType.MagicTrap;
     TrapPower     = 1 * Utility.Random(1, 25);
     DropItem(new Gold(30, 100));
     DropItem(Loot.RandomWeapon());
     DropItem(Loot.RandomArmorOrShield());
     DropItem(LootNew.RandomClothing());
     DropItem(Loot.RandomJewelry());
     DropItem(new Bolt(10));
     for (int i = 1; i > 1; i--)
     {
         Item GemLoot = Loot.RandomGem();
         GemLoot.Amount = Utility.Random(1, 3);
         DropItem(GemLoot);
     }
 }
        public TreasureChestLevel4() : base(Utility.RandomList(0xe40, 0xe42, 0x9ab))
        {
            RequiredSkill = 92;
            LockLevel     = this.RequiredSkill - Utility.Random(1, 10);
            MaxLockLevel  = this.RequiredSkill;
            TrapType      = TrapType.MagicTrap;
            TrapPower     = 4 * Utility.Random(1, 25);
            DropItem(new Gold(200, 400));
            for (int i = Utility.Random(1, 4); i > 1; i--)
            {
                Item ReagentLoot = Loot.RandomReagent();
                ReagentLoot.Amount = Utility.Random(6, 12);
                DropItem(ReagentLoot);
            }
            for (int i = Utility.Random(1, 4); i > 1; i--)
            {
                Item ScrollLoot = Loot.RandomScroll(0, 47, SpellbookType.Regular);
                ScrollLoot.Amount = Utility.Random(8, 16);
                DropItem(ScrollLoot);
            }
            DropItem(new BlankScroll(Utility.Random(1, 4)));
            for (int i = Utility.Random(1, 4); i > 1; i--)
            {
                Item PotionLoot = Loot.RandomPotion();
                DropItem(PotionLoot);
            }
            for (int i = Utility.Random(1, 4); i > 1; i--)
            {
                Item GemLoot = Loot.RandomGem();
                GemLoot.Amount = Utility.Random(6, 12);
                DropItem(GemLoot);
            }
            for (int i = Utility.Random(1, 4); i > 1; i--)
            {
                DropItem(LootNew.RandomWand());
            }

            // Magical ArmorOrWeapon
            for (int i = Utility.Random(1, 4); i > 1; i--)
            {
                Item item = Loot.RandomArmorOrShieldOrWeapon();

                if (item is BaseWeapon)
                {
                    BaseWeapon weapon = (BaseWeapon)item;
                    weapon.DamageLevel     = (WeaponDamageLevel)Utility.Random(4);
                    weapon.AccuracyLevel   = (WeaponAccuracyLevel)Utility.Random(4);
                    weapon.DurabilityLevel = (WeaponDurabilityLevel)Utility.Random(4);
                    weapon.Quality         = WeaponQuality.Regular;
                }
                else if (item is BaseArmor)
                {
                    BaseArmor armor = (BaseArmor)item;
                    armor.ProtectionLevel = (ArmorProtectionLevel)Utility.Random(4);
                    armor.Durability      = (ArmorDurabilityLevel)Utility.Random(4);
                    armor.Quality         = ArmorQuality.Regular;
                }

                DropItem(item);
            }
            // End
            for (int i = Utility.Random(1, 2); i > 1; i--)
            {
                DropItem(LootNew.RandomClothing());
            }
            for (int i = Utility.Random(1, 2); i > 1; i--)
            {
                DropItem(Loot.RandomJewelry());
            }
            DropItem(new MagicCrystalBall());
// Magic clothing (not implemented)
// Magic jewelry (not implemented)
        }