Esempio n. 1
0
        public ZuluuNative() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = "a zuluu";
            Hue  = 0x89D;

            if (this.Female = Utility.RandomBool())
            {
                Body = 0x191;
                Item cloth9 = new FemaleLeatherChest();
                cloth9.Hue  = 0xB9A;
                cloth9.Name = "Zuluu Tunic";
                AddItem(cloth9);
            }
            else
            {
                Body = 0x190;
            }

            HairHue = 0x96C;

            SetStr(216, 235);
            SetDex(206, 225);
            SetInt(71, 85);

            SetDamage(23, 27);

            SetDamageType(ResistanceType.Physical, 100);

            SetSkill(SkillName.Fencing, 70.0, 102.5);
            SetSkill(SkillName.Macing, 70.0, 102.5);
            SetSkill(SkillName.Poisoning, 70.0, 102.5);
            SetSkill(SkillName.MagicResist, 67.5, 100.0);
            SetSkill(SkillName.Swords, 70.0, 102.5);
            SetSkill(SkillName.Tactics, 70.0, 102.5);

            Fame         = 3100;
            Karma        = -3100;
            VirtualArmor = 20;

            PackItem(new Bandage(Utility.RandomMinMax(1, 15)));

            AddItem(new Spear());

            Item cloth1 = new SavageArms();

            cloth1.Hue  = 0xB9A;
            cloth1.Name = "Zuluu Guantlets";
            AddItem(cloth1);
            Item cloth2 = new SavageLegs();

            cloth2.Hue  = 0xB9A;
            cloth2.Name = "Zuluu Leggings";
            AddItem(cloth2);
            Item cloth3 = new TribalMask();

            cloth3.Hue  = 0xB9A;
            cloth3.Name = "Zuluu Tribal Mask";
            AddItem(cloth3);
            Item cloth4 = new LeatherSkirt();

            cloth4.Hue   = 0xB9A;
            cloth4.Name  = "Zuluu Skirt";
            cloth4.Layer = Layer.Waist;
            AddItem(cloth4);

            if (Utility.RandomMinMax(1, 10) == 1)
            {
                SwampDragon pet = new SwampDragon();
                pet.Hue      = 2006;
                pet.Name     = "a forest dragyn";
                pet.Rider    = this;
                ActiveSpeed  = 0.1;
                PassiveSpeed = 0.2;
            }
        }
Esempio n. 2
0
        public ChaosDragoonElite()
            : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.15, 0.4)
        {
            Body = 0x190;
            Hue  = Race.Human.RandomSkinHue();

            SetStr(276, 350);
            SetDex(66, 90);
            SetInt(126, 150);

            SetHits(276, 350);

            SetDamage(29, 34);

            SetDamageType(ResistanceType.Physical, 100);

            /*SetResistance(ResistanceType.Physical, 45, 55);
             * SetResistance(ResistanceType.Fire, 15, 25);
             * SetResistance(ResistanceType.Cold, 50);
             * SetResistance(ResistanceType.Poison, 25, 35);
             * SetResistance(ResistanceType.Energy, 25, 35);*/

            SetSkill(SkillName.Tactics, 80.1, 100.0);
            SetSkill(SkillName.MagicResist, 100.1, 110.0);
            SetSkill(SkillName.Anatomy, 80.1, 100.0);
            SetSkill(SkillName.Magery, 85.1, 100.0);
            SetSkill(SkillName.EvalInt, 85.1, 100.0);
            SetSkill(SkillName.Swords, 72.5, 95.0);
            SetSkill(SkillName.Fencing, 85.1, 100);
            SetSkill(SkillName.Macing, 85.1, 100);

            Fame  = 8000;
            Karma = -8000;

            CraftResource res = CraftResource.None;

            res = Utility.Random(6) switch
            {
                0 => CraftResource.BlackScales,
                1 => CraftResource.RedScales,
                2 => CraftResource.BlueScales,
                3 => CraftResource.YellowScales,
                4 => CraftResource.GreenScales,
                5 => CraftResource.WhiteScales,
                _ => res
            };

            var melee = Utility.Random(3) switch
            {
                0 => (BaseWeapon) new Kryss(),
                1 => new Broadsword(),
                2 => new Katana(),
                _ => null
            };

            melee.Movable = false;
            AddItem(melee);

            DragonChest Tunic = new DragonChest();

            Tunic.Resource = res;
            Tunic.Movable  = false;
            AddItem(Tunic);

            DragonLegs Legs = new DragonLegs();

            Legs.Resource = res;
            Legs.Movable  = false;
            AddItem(Legs);

            DragonArms Arms = new DragonArms();

            Arms.Resource = res;
            Arms.Movable  = false;
            AddItem(Arms);

            DragonGloves Gloves = new DragonGloves();

            Gloves.Resource = res;
            Gloves.Movable  = false;
            AddItem(Gloves);

            DragonHelm Helm = new DragonHelm();

            Helm.Resource = res;
            Helm.Movable  = false;
            AddItem(Helm);

            ChaosShield shield = new ChaosShield();

            shield.Movable = false;
            AddItem(shield);

            AddItem(new Boots(0x455));
            AddItem(new Shirt(Utility.RandomMetalHue()));

            int amount = Utility.RandomMinMax(1, 3);

            switch (res)
            {
            case CraftResource.BlackScales:
                AddItem(new BlackScales(amount));
                break;

            case CraftResource.RedScales:
                AddItem(new RedScales(amount));
                break;

            case CraftResource.BlueScales:
                AddItem(new BlueScales(amount));
                break;

            case CraftResource.YellowScales:
                AddItem(new YellowScales(amount));
                break;

            case CraftResource.GreenScales:
                AddItem(new GreenScales(amount));
                break;

            case CraftResource.WhiteScales:
                AddItem(new WhiteScales(amount));
                break;
            }

            res = Utility.Random(9) switch
            {
                0 => CraftResource.DullCopper,
                1 => CraftResource.ShadowIron,
                2 => CraftResource.Copper,
                3 => CraftResource.Bronze,
                4 => CraftResource.Gold,
                5 => CraftResource.Agapite,
                6 => CraftResource.Verite,
                7 => CraftResource.Valorite,
                8 => CraftResource.Iron,
                _ => res
            };

            SwampDragon mt = new SwampDragon();

            mt.HasBarding      = true;
            mt.BardingResource = res;
            mt.BardingHP       = mt.BardingMaxHP;
            mt.Rider           = this;
        }
Esempio n. 3
0
        public ChaosDragoonElite()
            : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.15, 0.4)
        {
            this.Name = "a chaos dragoon elite";
            this.Body = 0x190;
            this.Hue  = Utility.RandomSkinHue();

            this.SetStr(276, 350);
            this.SetDex(66, 90);
            this.SetInt(126, 150);

            this.SetHits(276, 350);

            this.SetDamage(29, 34);

            this.SetDamageType(ResistanceType.Physical, 100);

            /*SetResistance(ResistanceType.Physical, 45, 55);
             * SetResistance(ResistanceType.Fire, 15, 25);
             * SetResistance(ResistanceType.Cold, 50);
             * SetResistance(ResistanceType.Poison, 25, 35);
             * SetResistance(ResistanceType.Energy, 25, 35);*/

            this.SetSkill(SkillName.Tactics, 80.1, 100.0);
            this.SetSkill(SkillName.MagicResist, 100.1, 110.0);
            this.SetSkill(SkillName.Anatomy, 80.1, 100.0);
            this.SetSkill(SkillName.Magery, 85.1, 100.0);
            this.SetSkill(SkillName.EvalInt, 85.1, 100.0);
            this.SetSkill(SkillName.Swords, 72.5, 95.0);
            this.SetSkill(SkillName.Fencing, 85.1, 100);
            this.SetSkill(SkillName.Macing, 85.1, 100);

            this.Fame  = 8000;
            this.Karma = -8000;

            CraftResource res = CraftResource.None;

            switch (Utility.Random(6))
            {
            case 0:
                res = CraftResource.BlackScales;
                break;

            case 1:
                res = CraftResource.RedScales;
                break;

            case 2:
                res = CraftResource.BlueScales;
                break;

            case 3:
                res = CraftResource.YellowScales;
                break;

            case 4:
                res = CraftResource.GreenScales;
                break;

            case 5:
                res = CraftResource.WhiteScales;
                break;
            }

            BaseWeapon melee = null;

            switch (Utility.Random(3))
            {
            case 0:
                melee = new Kryss();
                break;

            case 1:
                melee = new Broadsword();
                break;

            case 2:
                melee = new Katana();
                break;
            }

            melee.Movable = false;
            this.AddItem(melee);

            DragonChest Tunic = new DragonChest();

            Tunic.Resource = res;
            Tunic.Movable  = false;
            this.AddItem(Tunic);

            DragonLegs Legs = new DragonLegs();

            Legs.Resource = res;
            Legs.Movable  = false;
            this.AddItem(Legs);

            DragonArms Arms = new DragonArms();

            Arms.Resource = res;
            Arms.Movable  = false;
            this.AddItem(Arms);

            DragonGloves Gloves = new DragonGloves();

            Gloves.Resource = res;
            Gloves.Movable  = false;
            this.AddItem(Gloves);

            DragonHelm Helm = new DragonHelm();

            Helm.Resource = res;
            Helm.Movable  = false;
            this.AddItem(Helm);

            ChaosShield shield = new ChaosShield();

            shield.Movable = false;
            this.AddItem(shield);

            this.AddItem(new Boots(0x455));
            this.AddItem(new Shirt(Utility.RandomMetalHue()));

            int amount = Utility.RandomMinMax(1, 3);

            switch (res)
            {
            case CraftResource.BlackScales:
                this.AddItem(new BlackScales(amount));
                break;

            case CraftResource.RedScales:
                this.AddItem(new RedScales(amount));
                break;

            case CraftResource.BlueScales:
                this.AddItem(new BlueScales(amount));
                break;

            case CraftResource.YellowScales:
                this.AddItem(new YellowScales(amount));
                break;

            case CraftResource.GreenScales:
                this.AddItem(new GreenScales(amount));
                break;

            case CraftResource.WhiteScales:
                this.AddItem(new WhiteScales(amount));
                break;
            }
            switch (Utility.Random(9))
            {
            case 0:
                res = CraftResource.DullCopper;
                break;

            case 1:
                res = CraftResource.ShadowIron;
                break;

            case 2:
                res = CraftResource.Copper;
                break;

            case 3:
                res = CraftResource.Bronze;
                break;

            case 4:
                res = CraftResource.Gold;
                break;

            case 5:
                res = CraftResource.Agapite;
                break;

            case 6:
                res = CraftResource.Verite;
                break;

            case 7:
                res = CraftResource.Valorite;
                break;

            case 8:
                res = CraftResource.Iron;
                break;
            }

            SwampDragon mt = new SwampDragon();

            mt.HasBarding      = true;
            mt.BardingResource = res;
            mt.BardingHP       = mt.BardingMaxHP;
            mt.Rider           = this;
        }
Esempio n. 4
0
        public ChaosDragoonElite()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.15, 0.4)
        {
            Name = "a chaos dragoon elite";
            Body = 0x190;
            Hue  = Utility.RandomSkinHue();

            SetStr(276, 350);
            SetDex(66, 90);
            SetInt(126, 150);

            SetDamage(26, 28);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 45, 55);
            SetResistance(ResistanceType.Fire, 15, 25);
            SetResistance(ResistanceType.Cold, 50);
            SetResistance(ResistanceType.Poison, 25, 35);
            SetResistance(ResistanceType.Energy, 25, 35);

            SetSkill(SkillName.Tactics, 80.1, 100.0);
            SetSkill(SkillName.MagicResist, 100.1, 110.0);
            SetSkill(SkillName.Anatomy, 80.1, 100.0);
            SetSkill(SkillName.EvalInt, 85.1, 100.0);
            SetSkill(SkillName.Magery, 85.1, 100.0);

            SetSkill(SkillName.Fencing, 85.1, 100.0);

            Fame  = 8000;
            Karma = -8000;

            ChaosDragoon.InitOutfit(this);

            CraftResource res = CraftResource.None;

            switch (Utility.Random(9))
            {
            case 0:
                res = CraftResource.DullCopper;
                break;

            case 1:
                res = CraftResource.ShadowIron;
                break;

            case 2:
                res = CraftResource.Copper;
                break;

            case 3:
                res = CraftResource.Bronze;
                break;

            case 4:
                res = CraftResource.Gold;
                break;

            case 5:
                res = CraftResource.Agapite;
                break;

            case 6:
                res = CraftResource.Verite;
                break;

            case 7:
                res = CraftResource.Valorite;
                break;

            case 8:
                res = CraftResource.None;
                break;
            }

            SwampDragon mount = new SwampDragon();

            if (res != CraftResource.None)
            {
                mount.HasBarding      = true;
                mount.BardingResource = res;
                mount.BardingHP       = mount.BardingMaxHP;
            }

            mount.Rider = this;

            AddItem(new Gold(400, 500));
            AddItem(new Shirt(Utility.RandomDyedHue()));
            PackMagicItems(1, 3);
        }
Esempio n. 5
0
        public ChaosDragoonElite()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.15, 0.4)
        {
            Name = "a chaos dragoon elite";
            Body = 0x190;
            Hue = Utility.RandomSkinHue();

            SetStr( 276, 350 );
            SetDex( 66, 90 );
            SetInt( 126, 150 );

            SetDamage( 26, 28 );

            SetDamageType( ResistanceType.Physical, 100 );

            SetResistance( ResistanceType.Physical, 45, 55 );
            SetResistance( ResistanceType.Fire, 15, 25 );
            SetResistance( ResistanceType.Cold, 50 );
            SetResistance( ResistanceType.Poison, 25, 35 );
            SetResistance( ResistanceType.Energy, 25, 35 );

            SetSkill( SkillName.Tactics, 80.1, 100.0 );
            SetSkill( SkillName.MagicResist, 100.1, 110.0 );
            SetSkill( SkillName.Anatomy, 80.1, 100.0 );
            SetSkill( SkillName.EvalInt, 85.1, 100.0 );
            SetSkill( SkillName.Magery, 85.1, 100.0 );

            SetSkill( SkillName.Fencing, 85.1, 100.0 );

            Fame = 8000;
            Karma = -8000;

            ChaosDragoon.InitOutfit( this );

            CraftResource res = CraftResource.None;

            switch ( Utility.Random( 9 ) )
            {
                case 0:
                    res = CraftResource.DullCopper;
                    break;
                case 1:
                    res = CraftResource.ShadowIron;
                    break;
                case 2:
                    res = CraftResource.Copper;
                    break;
                case 3:
                    res = CraftResource.Bronze;
                    break;
                case 4:
                    res = CraftResource.Gold;
                    break;
                case 5:
                    res = CraftResource.Agapite;
                    break;
                case 6:
                    res = CraftResource.Verite;
                    break;
                case 7:
                    res = CraftResource.Valorite;
                    break;
                case 8:
                    res = CraftResource.None;
                    break;
            }

            SwampDragon mount = new SwampDragon();

            if ( res != CraftResource.None )
            {
                mount.HasBarding = true;
                mount.BardingResource = res;
                mount.BardingHP = mount.BardingMaxHP;
            }

            mount.Rider = this;

            AddItem( new Gold( 400, 500 ) );
            AddItem( new Shirt( Utility.RandomDyedHue() ) );
            PackMagicItems( 1, 3 );
        }
Esempio n. 6
0
        public ChaosDragoonElite()
            : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.15, 0.4)
        {
            Name = "a chaos dragoon elite";
            Body = 0x190;
            Hue = Utility.RandomSkinHue();

            SetStr(276, 350);
            SetDex(66, 90);
            SetInt(126, 150);

            SetHits(276, 350);

            SetDamage(29, 34);

            SetDamageType(ResistanceType.Physical, 100);

            /*SetResistance(ResistanceType.Physical, 45, 55);
            SetResistance(ResistanceType.Fire, 15, 25);
            SetResistance(ResistanceType.Cold, 50);
            SetResistance(ResistanceType.Poison, 25, 35);
            SetResistance(ResistanceType.Energy, 25, 35);*/

            SetSkill(SkillName.Tactics, 80.1, 100.0);
            SetSkill(SkillName.MagicResist, 100.1, 110.0);
            SetSkill(SkillName.Anatomy, 80.1, 100.0);
            SetSkill(SkillName.Magery, 85.1, 100.0);
            SetSkill(SkillName.EvalInt, 85.1, 100.0);
            SetSkill(SkillName.Swords, 72.5, 95.0);
            SetSkill(SkillName.Fencing, 85.1, 100);
            SetSkill(SkillName.Macing, 85.1, 100);

            Fame = 8000;
            Karma = -8000;

            var res = CraftResource.None;

            switch (Utility.Random(6))
            {
                case 0:
                    res = CraftResource.BlackScales;
                    break;
                case 1:
                    res = CraftResource.RedScales;
                    break;
                case 2:
                    res = CraftResource.BlueScales;
                    break;
                case 3:
                    res = CraftResource.YellowScales;
                    break;
                case 4:
                    res = CraftResource.GreenScales;
                    break;
                case 5:
                    res = CraftResource.WhiteScales;
                    break;
            }

            BaseWeapon melee = null;

            switch (Utility.Random(3))
            {
                case 0:
                    melee = new Kryss();
                    break;
                case 1:
                    melee = new Broadsword();
                    break;
                case 2:
                    melee = new Katana();
                    break;
            }

            melee.Movable = false;
            AddItem(melee);

            var Tunic = new DragonChest();
            Tunic.Resource = res;
            Tunic.Movable = false;
            AddItem(Tunic);

            var Legs = new DragonLegs();
            Legs.Resource = res;
            Legs.Movable = false;
            AddItem(Legs);

            var Arms = new DragonArms();
            Arms.Resource = res;
            Arms.Movable = false;
            AddItem(Arms);

            var Gloves = new DragonGloves();
            Gloves.Resource = res;
            Gloves.Movable = false;
            AddItem(Gloves);

            var Helm = new DragonHelm();
            Helm.Resource = res;
            Helm.Movable = false;
            AddItem(Helm);

            var shield = new ChaosShield();
            shield.Movable = false;
            AddItem(shield);

            AddItem(new Boots(0x455));
            AddItem(new Shirt(Utility.RandomMetalHue()));

            var amount = Utility.RandomMinMax(1, 3);

            switch (res)
            {
                case CraftResource.BlackScales:
                    AddItem(new BlackScales(amount));
                    break;
                case CraftResource.RedScales:
                    AddItem(new RedScales(amount));
                    break;
                case CraftResource.BlueScales:
                    AddItem(new BlueScales(amount));
                    break;
                case CraftResource.YellowScales:
                    AddItem(new YellowScales(amount));
                    break;
                case CraftResource.GreenScales:
                    AddItem(new GreenScales(amount));
                    break;
                case CraftResource.WhiteScales:
                    AddItem(new WhiteScales(amount));
                    break;
            }
            switch (Utility.Random(9))
            {
                case 0:
                    res = CraftResource.DullCopper;
                    break;
                case 1:
                    res = CraftResource.ShadowIron;
                    break;
                case 2:
                    res = CraftResource.Copper;
                    break;
                case 3:
                    res = CraftResource.Bronze;
                    break;
                case 4:
                    res = CraftResource.Gold;
                    break;
                case 5:
                    res = CraftResource.Agapite;
                    break;
                case 6:
                    res = CraftResource.Verite;
                    break;
                case 7:
                    res = CraftResource.Valorite;
                    break;
                case 8:
                    res = CraftResource.Iron;
                    break;
            }

            var mt = new SwampDragon();
            mt.HasBarding = true;
            mt.BardingResource = res;
            mt.BardingHP = mt.BardingMaxHP;
            mt.Rider = this;
        }
Esempio n. 7
0
        public ZuluuWitchDoctor() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = "a zuluu witch doctor";
            Hue  = 0x89D;

            if (this.Female = Utility.RandomBool())
            {
                Body = 0x191;
                Item cloth9 = new FemaleLeatherChest();
                cloth9.Hue  = 0xB9A;
                cloth9.Name = "Zuluu Tunic";
                AddItem(cloth9);
            }
            else
            {
                Body = 0x190;
            }

            HairHue = 0x96C;

            SetStr(146, 165);
            SetDex(71, 130);
            SetInt(381, 405);

            SetDamage(14, 22);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 30, 40);
            SetResistance(ResistanceType.Fire, 20, 30);
            SetResistance(ResistanceType.Cold, 20, 30);
            SetResistance(ResistanceType.Poison, 20, 30);
            SetResistance(ResistanceType.Energy, 40, 50);

            SetSkill(SkillName.EvalInt, 87.5, 100.0);
            SetSkill(SkillName.Fencing, 72.5, 85.0);
            SetSkill(SkillName.Macing, 82.5, 105.0);
            SetSkill(SkillName.Magery, 82.5, 95.0);
            SetSkill(SkillName.Meditation, 87.5, 100.0);
            SetSkill(SkillName.MagicResist, 87.5, 100.0);
            SetSkill(SkillName.Swords, 72.5, 85.0);
            SetSkill(SkillName.Tactics, 72.5, 85.0);
            SetSkill(SkillName.Wrestling, 72.5, 85.0);

            Fame         = 4200;
            Karma        = -4200;
            VirtualArmor = 10;

            PackReg(10, 15);
            PackItem(new Bandage(Utility.RandomMinMax(1, 15)));

            AddItem(new WildStaff());

            Item cloth1 = new SavageArms();

            cloth1.Hue  = 0xB9A;
            cloth1.Name = "Zuluu Guantlets";
            AddItem(cloth1);
            Item cloth2 = new SavageLegs();

            cloth2.Hue  = 0xB9A;
            cloth2.Name = "Zuluu Leggings";
            AddItem(cloth2);
            Item cloth3 = new HornedTribalMask();

            cloth3.Hue  = 0xB9A;
            cloth3.Name = "Zuluu Tribal Mask";
            AddItem(cloth3);
            Item cloth4 = new LeatherSkirt();

            cloth4.Hue   = 0xB9A;
            cloth4.Name  = "Zuluu Skirt";
            cloth4.Layer = Layer.Waist;
            AddItem(cloth4);

            if (Utility.RandomMinMax(1, 12) == 1)
            {
                SwampDragon pet = new SwampDragon();
                pet.Hue      = 2006;
                pet.Name     = "a forest dragyn";
                pet.Rider    = this;
                ActiveSpeed  = 0.1;
                PassiveSpeed = 0.2;
            }
        }
Esempio n. 8
0
        public ChaosDragoonElite()
            : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.15, 0.4)
        {
            Name = "a chaos dragoon elite";
            Body = 0x190;
            Hue  = Utility.RandomSkinHue();

            SetStr(276, 350);
            SetDex(66, 90);
            SetInt(126, 150);

            SetHits(276, 350);

            SetDamage(29, 34);

            SetDamageType(ResistanceType.Physical, 100);

            /*SetResistance(ResistanceType.Physical, 45, 55);
             * SetResistance(ResistanceType.Fire, 15, 25);
             * SetResistance(ResistanceType.Cold, 50);
             * SetResistance(ResistanceType.Poison, 25, 35);
             * SetResistance(ResistanceType.Energy, 25, 35);*/

            SetSkill(SkillName.Tactics, 80.1, 100.0);
            SetSkill(SkillName.MagicResist, 100.1, 110.0);
            SetSkill(SkillName.Anatomy, 80.1, 100.0);
            SetSkill(SkillName.Magery, 85.1, 100.0);
            SetSkill(SkillName.EvalInt, 85.1, 100.0);
            SetSkill(SkillName.Swords, 72.5, 95.0);
            SetSkill(SkillName.Fencing, 85.1, 100);
            SetSkill(SkillName.Macing, 85.1, 100);

            Fame  = 8000;
            Karma = -8000;

            CraftResource res = CraftResource.None;

            switch (Utility.Random(6))
            {
            case 0:
                res = CraftResource.BlackScales;
                break;

            case 1:
                res = CraftResource.RedScales;
                break;

            case 2:
                res = CraftResource.BlueScales;
                break;

            case 3:
                res = CraftResource.YellowScales;
                break;

            case 4:
                res = CraftResource.GreenScales;
                break;

            case 5:
                res = CraftResource.WhiteScales;
                break;
            }

            BaseWeapon melee = null;

            switch (Utility.Random(3))
            {
            case 0:
                melee = new Kryss();
                break;

            case 1:
                melee = new Broadsword();
                break;

            case 2:
                melee = new Katana();
                break;
            }

            if (melee != null)
            {
                melee.Movable = false;
                AddItem(melee);
            }

            DragonChest tunic = new DragonChest
            {
                Resource = res,
                Movable  = false
            };

            AddItem(tunic);

            DragonLegs legs = new DragonLegs
            {
                Resource = res,
                Movable  = false
            };

            AddItem(legs);

            DragonArms arms = new DragonArms
            {
                Resource = res,
                Movable  = false
            };

            AddItem(arms);

            DragonGloves gloves = new DragonGloves
            {
                Resource = res,
                Movable  = false
            };

            AddItem(gloves);

            DragonHelm helm = new DragonHelm
            {
                Resource = res,
                Movable  = false
            };

            AddItem(helm);

            ChaosShield shield = new ChaosShield
            {
                Movable = false
            };

            AddItem(shield);

            AddItem(new Boots(0x455));
            AddItem(new Shirt(Utility.RandomMetalHue()));

            int amount = Utility.RandomMinMax(1, 3);

            switch (res)
            {
            case CraftResource.BlackScales:
                AddItem(new BlackScales(amount));
                break;

            case CraftResource.RedScales:
                AddItem(new RedScales(amount));
                break;

            case CraftResource.BlueScales:
                AddItem(new BlueScales(amount));
                break;

            case CraftResource.YellowScales:
                AddItem(new YellowScales(amount));
                break;

            case CraftResource.GreenScales:
                AddItem(new GreenScales(amount));
                break;

            case CraftResource.WhiteScales:
                AddItem(new WhiteScales(amount));
                break;
            }
            switch (Utility.Random(9))
            {
            case 0:
                res = CraftResource.DullCopper;
                break;

            case 1:
                res = CraftResource.ShadowIron;
                break;

            case 2:
                res = CraftResource.Copper;
                break;

            case 3:
                res = CraftResource.Bronze;
                break;

            case 4:
                res = CraftResource.Gold;
                break;

            case 5:
                res = CraftResource.Agapite;
                break;

            case 6:
                res = CraftResource.Verite;
                break;

            case 7:
                res = CraftResource.Valorite;
                break;

            case 8:
                res = CraftResource.Iron;
                break;
            }

            SwampDragon mt = new SwampDragon
            {
                HasBarding      = true,
                BardingResource = res
            };

            mt.BardingHP = mt.BardingMaxHP;
            mt.Rider     = this;

            SetSpecialAbility(SpecialAbility.DragonBreath);
        }