/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public static Item CreateMetalShield()
        {
            Item item = null;

            switch (Utility.RandomMinMax(0, 7))
            {
            case 0:         item = new BronzeShield();              item.Name = "shield";                   break;

            case 1:         item = new Buckler();                   item.Name = "buckler";                  break;

            case 2:         item = new MetalKiteShield();   item.Name = "kite shield";              break;

            case 3:         item = new HeaterShield();              item.Name = "large shield";             break;

            case 4:         item = new MetalShield();               item.Name = "small shield";             break;

            case 5:         item = new ChaosShield();               item.Name = "chaos shield";             break;

            case 6:         item = new OrderShield();               item.Name = "order shield";             break;

            case 7:         item = new RoyalShield();               item.Name = "royal shield";             break;
            }

            return(item);
        }
Example #2
0
        public Jailor() : base(AIType.AI_Melee, FightMode.Agressor, 10, 1, 0.45, 0.8)
        {
            Female = Utility.RandomBool();
            Body   = Female ? 401 : 400;
            Title  = "the jailor";
            Name   = NameList.RandomName(Female ? "female" : "male");
            Hue    = Utility.RandomSkinHue();
            SetStr(96, 110);
            SetDex(96, 110);
            SetInt(71, 85);
            Karma = Utility.RandomMinMax(13, -45);


            SetSkill(SkillName.Tactics, 75, 97.5);
            SetSkill(SkillName.MagicResist, 75, 97.5);
            SetSkill(SkillName.Parry, 75, 97.5);
            SetSkill(SkillName.Swords, 15, 37.5);
            SetSkill(SkillName.Macing, 15, 37.5);
            SetSkill(SkillName.Fencing, 15, 37.5);
            SetSkill(SkillName.Wrestling, 15, 37.5);


            Item item = null;

            if (!Female)
            {
                item     = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item     = AddRandomFacialHair(item.Hue);
                item     = new ChainChest();
                AddItem(item);
                item = new ChainLegs();
                AddItem(item);
                item = new BronzeShield();
                AddItem(item);
                item     = new Boots();
                item.Hue = Utility.RandomNeutralHue();
                AddItem(item);
                item = new VikingSword();
                AddItem(item);
                PackGold(15, 100);
            }
            else
            {
                item     = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item     = new ChainChest();
                AddItem(item);
                item = new ChainLegs();
                AddItem(item);
                item = new BronzeShield();
                AddItem(item);
                item     = new Boots();
                item.Hue = Utility.RandomNeutralHue();
                AddItem(item);
                item = new VikingSword();
                AddItem(item);
                PackGold(15, 100);
            }
        }
            public InternalSellInfo()
            {
                Add(typeof(LeatherCap), LeatherCap.GetSBSellValue());
                Add(typeof(LeatherGorget), LeatherGorget.GetSBSellValue());
                Add(typeof(LeatherArms), LeatherArms.GetSBSellValue());
                Add(typeof(LeatherGloves), LeatherGloves.GetSBSellValue());
                Add(typeof(LeatherChest), LeatherChest.GetSBSellValue());
                Add(typeof(FemaleLeatherChest), FemaleLeatherChest.GetSBSellValue());
                Add(typeof(LeatherBustier), LeatherBustier.GetSBSellValue());
                Add(typeof(LeatherLegs), LeatherLegs.GetSBSellValue());
                Add(typeof(LeatherSkirt), LeatherSkirt.GetSBSellValue());
                Add(typeof(LeatherShorts), LeatherShorts.GetSBSellValue());

                Add(typeof(StuddedCap), StuddedCap.GetSBSellValue());
                Add(typeof(StuddedGorget), StuddedGorget.GetSBSellValue());
                Add(typeof(StuddedArms), StuddedArms.GetSBSellValue());
                Add(typeof(StuddedGloves), StuddedGloves.GetSBSellValue());
                Add(typeof(StuddedChest), StuddedChest.GetSBSellValue());
                Add(typeof(FemaleStuddedChest), FemaleStuddedChest.GetSBSellValue());
                Add(typeof(StuddedBustier), StuddedBustier.GetSBSellValue());
                Add(typeof(StuddedLegs), StuddedLegs.GetSBSellValue());

                Add(typeof(RingmailHelm), RingmailHelm.GetSBSellValue());
                Add(typeof(RingmailGorget), RingmailGorget.GetSBSellValue());
                Add(typeof(RingmailArms), RingmailArms.GetSBSellValue());
                Add(typeof(RingmailGloves), RingmailGloves.GetSBSellValue());
                Add(typeof(RingmailChest), RingmailChest.GetSBSellValue());
                Add(typeof(RingmailLegs), RingmailLegs.GetSBSellValue());

                Add(typeof(ChainmailCoif), ChainmailCoif.GetSBSellValue());
                Add(typeof(ChainmailGorget), ChainmailGorget.GetSBSellValue());
                Add(typeof(ChainmailArms), ChainmailArms.GetSBSellValue());
                Add(typeof(ChainmailGloves), ChainmailGloves.GetSBSellValue());
                Add(typeof(ChainmailChest), ChainmailChest.GetSBSellValue());
                Add(typeof(ChainmailLegs), ChainmailLegs.GetSBSellValue());

                Add(typeof(PlateHelm), PlateHelm.GetSBSellValue());
                Add(typeof(PlateGorget), PlateGorget.GetSBSellValue());
                Add(typeof(PlateArms), PlateArms.GetSBSellValue());
                Add(typeof(PlateGloves), PlateGloves.GetSBSellValue());
                Add(typeof(PlateChest), PlateChest.GetSBSellValue());
                Add(typeof(FemalePlateChest), FemalePlateChest.GetSBSellValue());
                Add(typeof(PlateLegs), PlateLegs.GetSBSellValue());

                Add(typeof(Bascinet), Bascinet.GetSBSellValue());
                Add(typeof(CloseHelm), CloseHelm.GetSBSellValue());
                Add(typeof(NorseHelm), NorseHelm.GetSBSellValue());

                Add(typeof(Buckler), Buckler.GetSBSellValue());
                Add(typeof(MetalShield), MetalShield.GetSBSellValue());
                Add(typeof(BronzeShield), BronzeShield.GetSBSellValue());
                Add(typeof(MetalKiteShield), MetalKiteShield.GetSBSellValue());
                Add(typeof(HeaterShield), HeaterShield.GetSBSellValue());
            }
            public InternalBuyInfo()
            {
                Add(new GenericBuyInfo("Leather Cap", typeof(LeatherCap), LeatherCap.GetSBPurchaseValue(), 25, 7610, 0));
                Add(new GenericBuyInfo("Leather Gorget", typeof(LeatherGorget), LeatherGorget.GetSBPurchaseValue(), 25, 5063, 0));
                Add(new GenericBuyInfo("Leather Arms", typeof(LeatherArms), LeatherArms.GetSBPurchaseValue(), 25, 5061, 0));
                Add(new GenericBuyInfo("Leather Gloves", typeof(LeatherGloves), LeatherGloves.GetSBPurchaseValue(), 25, 5070, 0));
                Add(new GenericBuyInfo("Leather Chest", typeof(LeatherChest), LeatherChest.GetSBPurchaseValue(), 25, 5075, 0));
                Add(new GenericBuyInfo("Female Leather Chest", typeof(FemaleLeatherChest), FemaleLeatherChest.GetSBPurchaseValue(), 25, 7175, 0));
                Add(new GenericBuyInfo("Leather Bustier", typeof(LeatherBustier), LeatherBustier.GetSBPurchaseValue(), 25, 7179, 0));
                Add(new GenericBuyInfo("Leather Legs", typeof(LeatherLegs), LeatherLegs.GetSBPurchaseValue(), 25, 5074, 0));
                Add(new GenericBuyInfo("Leather Skirt", typeof(LeatherSkirt), LeatherSkirt.GetSBPurchaseValue(), 25, 7177, 0));
                Add(new GenericBuyInfo("Leather Shorts", typeof(LeatherShorts), LeatherShorts.GetSBPurchaseValue(), 25, 7169, 0));

                Add(new GenericBuyInfo("Studded Cap", typeof(StuddedCap), StuddedCap.GetSBPurchaseValue(), 25, 7610, 1507));
                Add(new GenericBuyInfo("Studded Gorget", typeof(StuddedGorget), StuddedGorget.GetSBPurchaseValue(), 25, 5078, 0));
                Add(new GenericBuyInfo("Studded Arms", typeof(StuddedArms), StuddedArms.GetSBPurchaseValue(), 25, 5076, 0));
                Add(new GenericBuyInfo("Studded Gloves", typeof(StuddedGloves), StuddedGloves.GetSBPurchaseValue(), 25, 5085, 0));
                Add(new GenericBuyInfo("Studded Chest", typeof(StuddedChest), StuddedChest.GetSBPurchaseValue(), 25, 5090, 0));
                Add(new GenericBuyInfo("Female Studded Chest", typeof(FemaleStuddedChest), FemaleStuddedChest.GetSBPurchaseValue(), 25, 7170, 0));
                Add(new GenericBuyInfo("Studded Bustier", typeof(StuddedBustier), StuddedBustier.GetSBPurchaseValue(), 25, 7181, 0));
                Add(new GenericBuyInfo("Studded Legs", typeof(StuddedLegs), StuddedLegs.GetSBPurchaseValue(), 25, 5089, 0));

                Add(new GenericBuyInfo("Ringmail Helm", typeof(RingmailHelm), RingmailHelm.GetSBPurchaseValue(), 25, 5131, 0));
                Add(new GenericBuyInfo("Ringmail Gorget", typeof(RingmailGorget), RingmailGorget.GetSBPurchaseValue(), 25, 5078, 1812));
                Add(new GenericBuyInfo("Ringmail Arms", typeof(RingmailArms), RingmailArms.GetSBPurchaseValue(), 25, 0x13EE, 0));
                Add(new GenericBuyInfo("Ringmail Gloves", typeof(RingmailGloves), RingmailGloves.GetSBPurchaseValue(), 25, 0x13eb, 0));
                Add(new GenericBuyInfo("Ringmail Chest", typeof(RingmailChest), RingmailChest.GetSBPurchaseValue(), 25, 0x13ec, 0));
                Add(new GenericBuyInfo("Ringmail Legs", typeof(RingmailLegs), RingmailLegs.GetSBPurchaseValue(), 25, 0x13F0, 0));

                Add(new GenericBuyInfo("Chainmail Coif", typeof(ChainmailCoif), ChainmailCoif.GetSBPurchaseValue(), 25, 0x13BB, 0));
                Add(new GenericBuyInfo("Chainmail Gorget", typeof(ChainmailGorget), ChainmailGorget.GetSBPurchaseValue(), 25, 5063, 2500));
                Add(new GenericBuyInfo("Chainmail Arms", typeof(ChainmailArms), ChainmailArms.GetSBPurchaseValue(), 25, 5103, 2500));
                Add(new GenericBuyInfo("Chainmail Gloves", typeof(ChainmailGloves), ChainmailGloves.GetSBPurchaseValue(), 25, 5106, 2500));
                Add(new GenericBuyInfo("Chainmail Chest", typeof(ChainmailChest), ChainmailChest.GetSBPurchaseValue(), 25, 0x13BF, 0));
                Add(new GenericBuyInfo("Chainmail Legs", typeof(ChainmailLegs), ChainmailLegs.GetSBPurchaseValue(), 25, 0x13BE, 0));

                Add(new GenericBuyInfo("Platemail Helm", typeof(PlateHelm), PlateHelm.GetSBPurchaseValue(), 25, 0x1412, 0));
                Add(new GenericBuyInfo("Platemail Gorget", typeof(PlateGorget), PlateGorget.GetSBPurchaseValue(), 25, 0x1413, 0));
                Add(new GenericBuyInfo("Platemail Arms", typeof(PlateArms), PlateArms.GetSBPurchaseValue(), 25, 0x1410, 0));
                Add(new GenericBuyInfo("Platemail Gloves", typeof(PlateGloves), PlateGloves.GetSBPurchaseValue(), 25, 0x1414, 0));
                Add(new GenericBuyInfo("Platemail PlateChest", typeof(PlateChest), PlateChest.GetSBPurchaseValue(), 25, 0x1415, 0));
                Add(new GenericBuyInfo("Female Plate Chest", typeof(FemalePlateChest), FemalePlateChest.GetSBPurchaseValue(), 25, 7173, 0));
                Add(new GenericBuyInfo("Platemail Legs", typeof(PlateLegs), PlateLegs.GetSBPurchaseValue(), 25, 0x1411, 0));

                Add(new GenericBuyInfo("Bascinet", typeof(Bascinet), Bascinet.GetSBPurchaseValue(), 25, 5132, 0));
                Add(new GenericBuyInfo("Close Helm", typeof(CloseHelm), CloseHelm.GetSBPurchaseValue(), 25, 5129, 0));
                Add(new GenericBuyInfo("Norse Helm", typeof(NorseHelm), NorseHelm.GetSBPurchaseValue(), 25, 5135, 0));

                Add(new GenericBuyInfo("Buckler", typeof(Buckler), Buckler.GetSBPurchaseValue(), 25, 0x1B73, 0));
                Add(new GenericBuyInfo("Metal Shield", typeof(MetalShield), MetalShield.GetSBPurchaseValue(), 25, 0x1B7B, 0));
                Add(new GenericBuyInfo("Bronze Shield", typeof(BronzeShield), BronzeShield.GetSBPurchaseValue(), 25, 0x1B72, 0));
                Add(new GenericBuyInfo("Metal Kite Shield", typeof(MetalKiteShield), MetalKiteShield.GetSBPurchaseValue(), 25, 0x1B74, 0));
                Add(new GenericBuyInfo("Heater Shield", typeof(HeaterShield), HeaterShield.GetSBPurchaseValue(), 25, 0x1B76, 0));
            }
Example #5
0
        public MilitiaFighter() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            InitStats(40, 30, 5);
            Title = "the Militia Fighter";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

            Female = false;
            Body   = 0x190;
            Name   = NameList.RandomName("male");

            Utility.AssignRandomHair(this);
            Utility.AssignRandomFacialHair(this, HairHue);

            AddItem(new ThighBoots(0x1BB));
            AddItem(new LeatherChest());
            AddItem(new LeatherArms());
            AddItem(new LeatherLegs());
            AddItem(new LeatherCap());
            AddItem(new LeatherGloves());
            AddItem(new LeatherGorget());

            Item weapon;

            switch (Utility.Random(6))
            {
            case 0: weapon = new Broadsword(); break;

            case 1: weapon = new Cutlass(); break;

            case 2: weapon = new Katana(); break;

            case 3: weapon = new Longsword(); break;

            case 4: weapon = new Scimitar(); break;

            default: weapon = new VikingSword(); break;
            }
            weapon.Movable = false;
            AddItem(weapon);

            Item shield = new BronzeShield
            {
                Movable = false
            };

            AddItem(shield);

            SetSkill(SkillName.Swords, 20.0);
        }
Example #6
0
        public MilitiaFighter() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            InitStats(40, 30, 5);
            Title = "the Militia Fighter";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Race.Human.RandomSkinHue();

            Female = false;
            Body   = 0x190;
            Name   = NameList.RandomName("male");

            Utility.AssignRandomHair(this);
            Utility.AssignRandomFacialHair(this, HairHue);

            AddItem(new ThighBoots(0x1BB));
            AddItem(new LeatherChest());
            AddItem(new LeatherArms());
            AddItem(new LeatherLegs());
            AddItem(new LeatherCap());
            AddItem(new LeatherGloves());
            AddItem(new LeatherGorget());

            var weapon = Utility.Random(6) switch
            {
                0 => (Item) new Broadsword(),
                1 => new Cutlass(),
                2 => new Katana(),
                3 => new Longsword(),
                4 => new Scimitar(),
                _ => new VikingSword()
            };

            weapon.Movable = false;
            AddItem(weapon);

            Item shield = new BronzeShield();

            shield.Movable = false;
            AddItem(shield);

            SetSkill(SkillName.Swords, 20.0);
        }
Example #7
0
        public MilitiaFighter() : base(AIType.AI_Melee, FightMode.All | FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            InitStats(40, 30, 5);
            Title = "the Militia Fighter";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

            Female = false;
            Body   = 0x190;
            Name   = NameList.RandomName("male");

            Item hair = new Item(Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2049, 0x204A));

            hair.Hue     = Utility.RandomHairHue();
            hair.Layer   = Layer.Hair;
            hair.Movable = false;
            AddItem(hair);

            Item beard = new Item(Utility.RandomList(0x203E, 0x203F, 0x2040, 0x2041, 0x204B, 0x204C, 0x204D));

            beard.Hue     = hair.Hue;
            beard.Layer   = Layer.FacialHair;
            beard.Movable = false;
            AddItem(beard);

            AddItem(new ThighBoots(0x1BB));
            AddItem(new LeatherChest());
            AddItem(new LeatherArms());
            AddItem(new LeatherLegs());
            AddItem(new LeatherCap());
            AddItem(new LeatherGloves());
            AddItem(new LeatherGorget());

            Item weapon;

            switch (Utility.Random(6))
            {
            case 0: weapon = new Broadsword(); break;

            case 1: weapon = new Cutlass(); break;

            case 2: weapon = new Katana(); break;

            case 3: weapon = new Longsword(); break;

            case 4: weapon = new Scimitar(); break;

            default: weapon = new VikingSword(); break;
            }
            weapon.Movable = false;
            AddItem(weapon);

            Item shield = new BronzeShield();

            shield.Movable = false;
            AddItem(shield);

            SetSkill(SkillName.Swords, 20.0);
        }
Example #8
0
        public Mercenary()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            this.Title = "the Mercenary";

            this.SpeechHue = Utility.RandomDyedHue();

            this.Hue = Utility.RandomSkinHue();

            this.Female = false;
            this.Body   = 0x190;
            this.Name   = NameList.RandomName("male");

            Utility.AssignRandomHair(this);
            Utility.AssignRandomFacialHair(this, this.HairHue);

            this.AddItem(new ThighBoots(0x1BB));
            this.AddItem(new LeatherChest());
            this.AddItem(new LeatherArms());
            this.AddItem(new LeatherLegs());
            this.AddItem(new LeatherCap());
            this.AddItem(new LeatherGloves());
            this.AddItem(new LeatherGorget());

            Item weapon;

            switch (Utility.Random(6))
            {
            case 0:
                weapon = new Broadsword();
                break;

            case 1:
                weapon = new Cutlass();
                break;

            case 2:
                weapon = new Katana();
                break;

            case 3:
                weapon = new Longsword();
                break;

            case 4:
                weapon = new Scimitar();
                break;

            default:
                weapon = new VikingSword();
                break;
            }
            weapon.Movable = false;
            this.AddItem(weapon);

            Item shield = new BronzeShield();

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

            this.SetStr(150);
            this.SetDex(100);
            this.SetInt(25);

            this.SetHits(150);

            this.SetDamage(8, 15);

            this.SetDamageType(ResistanceType.Physical, 100);

            this.SetResistance(ResistanceType.Physical, 50, 60);
            this.SetResistance(ResistanceType.Fire, 45, 55);
            this.SetResistance(ResistanceType.Cold, 50, 60);
            this.SetResistance(ResistanceType.Poison, 40, 50);
            this.SetResistance(ResistanceType.Energy, 45, 55);

            this.SetSkill(SkillName.MagicResist, 65.1, 80.0);
            this.SetSkill(SkillName.Anatomy, 65.1, 80.0);
            this.SetSkill(SkillName.Healing, 65.1, 80.0);
            this.SetSkill(SkillName.Swords, 65.1, 80.0);
            this.SetSkill(SkillName.Tactics, 65.1, 80.0);
            this.SetSkill(SkillName.Parry, 65.1, 80.0);

            this.Fame  = 3000;
            this.Karma = 3000;

            this.VirtualArmor = 25;

            new InternalTimer(this).Start();
        }
Example #9
0
        public MadSorceress() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.2)
        {
            Hue  = 33770;
            Body = 401;

            SetStr(175, 275);
            SetDex(80, 95);
            SetInt(250, 300);

            SetHits(250, 325);
            SetMana(350, 450);

            SetDamage(7, 12);

            SetSkill(SkillName.Tactics, 95.7, 98.4);
            SetSkill(SkillName.MagicResist, 77.4, 87.7);
            SetSkill(SkillName.Magery, 98.4, 99.7);
            SetSkill(SkillName.Parry, 97.4, 98.7);
            SetSkill(SkillName.Wrestling, 89.4, 95.7);
            SetSkill(SkillName.EvalInt, 75.4, 80.7);

            Fame  = 8000;
            Karma = -8000;

            VirtualArmor = 10;
            Female       = true;

            Item BronzeShield = new BronzeShield();

            BronzeShield.Movable = false;
            BronzeShield.Hue     = 1156;
            EquipItem(BronzeShield);

            Item WizardsHat = new WizardsHat();

            WizardsHat.Movable = false;
            WizardsHat.Hue     = 1153;
            EquipItem(WizardsHat);

            Item LeatherGloves = new LeatherGloves();

            LeatherGloves.Movable = false;
            LeatherGloves.Hue     = 1153;
            EquipItem(LeatherGloves);

            Item Robe = new Robe();

            Robe.Movable = false;
            Robe.Hue     = 1156;
            EquipItem(Robe);

            Item Sandals = new Sandals();

            Sandals.Movable = false;
            Sandals.Hue     = 1153;
            EquipItem(Sandals);

            Item GoldEarrings = new GoldEarrings();

            GoldEarrings.Movable = false;
            GoldEarrings.Hue     = 1153;
            EquipItem(GoldEarrings);

            Item GoldNecklace = new GoldNecklace();

            GoldNecklace.Movable = false;
            GoldNecklace.Hue     = 1153;
            EquipItem(GoldNecklace);

            HairItemID = 0x203C;
            HairHue    = 1156;

            int gems = Utility.RandomMinMax(1, 5);

            for (int i = 0; i < gems; ++i)
            {
                PackGem();
            }

            switch (Utility.Random(6))
            {
            case 0: PackItem(new BlackPearl(Utility.RandomMinMax(10, 15))); break;

            case 1: PackItem(new MandrakeRoot(Utility.RandomMinMax(10, 15))); break;

            case 2: PackItem(new SulfurousAsh(Utility.RandomMinMax(10, 15))); break;
            }

            PackGold(200, 250);
            PackScroll(1, 8);
            PackSlayer();

            switch (Utility.Random(10))
            {
            case 0: PackItem(new MortarPestle()); break;

            case 1: PackItem(new GreaterExplosionPotion()); break;
            }

            switch (Utility.Random(2))
            {
            case 0: PackWeapon(0, 5); break;

            case 1: PackArmor(0, 5); break;
            }

            switch (Utility.Random(3))
            {
            case 0: PackWeapon(0, 5); break;

            case 1: PackArmor(0, 5); break;
            }

            switch (Utility.Random(4))
            {
            case 0: PackWeapon(1, 5); break;

            case 1: PackArmor(1, 5); break;
            }
        }
Example #10
0
        public Mercenary() : base(AIType.AI_Melee, FightMode.Agressor, 10, 1, 0.45, 0.8)
        {
            Female = Utility.RandomBool();
            Body   = Female ? 401 : 400;
            Title  = "the mercenary";
            Name   = NameList.RandomName(Female ? "female" : "male");
            Hue    = Utility.RandomSkinHue();
            SetStr(25, 88);
            SetDex(25, 88);
            SetInt(37, 49);
            Karma = Utility.RandomMinMax(13, -45);


            SetSkill(SkillName.Tactics, 45, 67.5);
            SetSkill(SkillName.MagicResist, 45, 67.5);
            SetSkill(SkillName.Parry, 45, 67.5);
            SetSkill(SkillName.Swords, 45, 67.5);
            SetSkill(SkillName.Macing, 45, 67.5);
            SetSkill(SkillName.Fencing, 45, 67.5);
            SetSkill(SkillName.Wrestling, 45, 67.5);
            SetSkill(SkillName.ArmsLore, 42.5, 65);


            Item item = null;

            if (!Female)
            {
                item     = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item     = AddRandomFacialHair(item.Hue);
                switch (Utility.Random(5))
                {
                case 0: item = new PlateChest(); break;

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

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

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

                case 4:
                default: item = new LeatherChest(); break;
                }
                AddItem(item);
                switch (Utility.Random(5))
                {
                case 0: item = new PlateLegs(); break;

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

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

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

                case 4:
                default: item = new LeatherLegs(); break;
                }
                AddItem(item);
                switch (Utility.Random(4))
                {
                case 0: item = new PlateArms(); break;

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

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

                case 3:
                default: item = new LeatherArms(); break;
                }
                AddItem(item);
                switch (Utility.Random(3))
                {
                case 0: item = new PlateGloves(); break;

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

                case 2:
                default: item = new LeatherGloves(); break;
                }
                AddItem(item);
                switch (Utility.Random(6))
                {
                case 0: item = new PlateHelm(); break;

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

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

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

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

                case 5:
                default: item = new Helmet(); break;
                }
                AddItem(item);
                switch (Utility.Random(7))
                {
                case 0: item = new BronzeShield(); break;

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

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

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

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

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

                case 6:
                default: item = new WoodenShield(); break;
                }
                AddItem(item);
                switch (Utility.Random(4))
                {
                case 0: item = new PlateGorget(); break;

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

                default:
                case 2: item = new LeatherGorget(); break;
                }
                AddItem(item);
                item = Loot.RandomWeapon();
                AddItem(item);
                PackGold(15, 100);
            }
            else
            {
                item     = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                switch (Utility.Random(5))
                {
                case 0: item = new PlateChest(); break;

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

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

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

                case 4:
                default: item = new LeatherChest(); break;
                }
                AddItem(item);
                switch (Utility.Random(5))
                {
                case 0: item = new PlateLegs(); break;

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

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

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

                case 4:
                default: item = new LeatherLegs(); break;
                }
                AddItem(item);
                switch (Utility.Random(3))
                {
                case 0: item = new PlateGloves(); break;

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

                case 2:
                default: item = new LeatherGloves(); break;
                }
                AddItem(item);
                switch (Utility.Random(6))
                {
                case 0: item = new PlateHelm(); break;

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

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

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

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

                case 5:
                default: item = new Helmet(); break;
                }
                AddItem(item);
                switch (Utility.Random(7))
                {
                case 0: item = new BronzeShield(); break;

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

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

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

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

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

                case 6:
                default: item = new WoodenShield(); break;
                }
                AddItem(item);
                switch (Utility.Random(4))
                {
                case 0: item = new PlateGorget(); break;

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

                default:
                case 2: item = new LeatherGorget(); break;
                }
                AddItem(item);
                item = Loot.RandomWeapon();
                AddItem(item);
                PackGold(15, 100);
            }
        }
            public InternalBuyInfo()
            {
                //Tools
                Add(new GenericBuyInfo("Tongs", typeof(Tongs), Tongs.GetSBPurchaseValue(), 50, 0xFBB, 0));
                Add(new GenericBuyInfo("Smith's Hammer", typeof(SmithHammer), SmithHammer.GetSBPurchaseValue(), 50, 0x13E3, 0));

                //Armor
                Add(new GenericBuyInfo("Ringmail Helm", typeof(RingmailHelm), RingmailHelm.GetSBPurchaseValue(), 25, 5131, 0));
                Add(new GenericBuyInfo("Ringmail Gorget", typeof(RingmailGorget), RingmailGorget.GetSBPurchaseValue(), 25, 5078, 1812));
                Add(new GenericBuyInfo("Ringmail Arms", typeof(RingmailArms), RingmailArms.GetSBPurchaseValue(), 25, 0x13EE, 0));
                Add(new GenericBuyInfo("Ringmail Gloves", typeof(RingmailGloves), RingmailGloves.GetSBPurchaseValue(), 25, 0x13eb, 0));
                Add(new GenericBuyInfo("Ringmail Chest", typeof(RingmailChest), RingmailChest.GetSBPurchaseValue(), 25, 0x13ec, 0));
                Add(new GenericBuyInfo("Ringmail Legs", typeof(RingmailLegs), RingmailLegs.GetSBPurchaseValue(), 25, 0x13F0, 0));

                Add(new GenericBuyInfo("Chainmail Coif", typeof(ChainmailCoif), ChainmailCoif.GetSBPurchaseValue(), 25, 0x13BB, 0));
                Add(new GenericBuyInfo("Chainmail Gorget", typeof(ChainmailGorget), ChainmailGorget.GetSBPurchaseValue(), 25, 5063, 2500));
                Add(new GenericBuyInfo("Chainmail Arms", typeof(ChainmailArms), ChainmailArms.GetSBPurchaseValue(), 25, 5103, 2500));
                Add(new GenericBuyInfo("Chainmail Gloves", typeof(ChainmailGloves), ChainmailGloves.GetSBPurchaseValue(), 25, 5106, 2500));
                Add(new GenericBuyInfo("Chainmail Chest", typeof(ChainmailChest), ChainmailChest.GetSBPurchaseValue(), 25, 0x13BF, 0));
                Add(new GenericBuyInfo("Chainmail Legs", typeof(ChainmailLegs), ChainmailLegs.GetSBPurchaseValue(), 25, 0x13BE, 0));

                Add(new GenericBuyInfo("Platemail Helm", typeof(PlateHelm), PlateHelm.GetSBPurchaseValue(), 25, 0x1412, 0));
                Add(new GenericBuyInfo("Platemail Gorget", typeof(PlateGorget), PlateGorget.GetSBPurchaseValue(), 25, 0x1413, 0));
                Add(new GenericBuyInfo("Platemail Arms", typeof(PlateArms), PlateArms.GetSBPurchaseValue(), 25, 0x1410, 0));
                Add(new GenericBuyInfo("Platemail Gloves", typeof(PlateGloves), PlateGloves.GetSBPurchaseValue(), 25, 0x1414, 0));
                Add(new GenericBuyInfo("Platemail PlateChest", typeof(PlateChest), PlateChest.GetSBPurchaseValue(), 25, 0x1415, 0));
                Add(new GenericBuyInfo("Female Plate Chest", typeof(FemalePlateChest), FemalePlateChest.GetSBPurchaseValue(), 25, 7173, 0));
                Add(new GenericBuyInfo("Platemail Legs", typeof(PlateLegs), PlateLegs.GetSBPurchaseValue(), 25, 0x1411, 0));

                Add(new GenericBuyInfo("Bascinet", typeof(Bascinet), Bascinet.GetSBPurchaseValue(), 25, 5132, 0));
                Add(new GenericBuyInfo("Close Helm", typeof(CloseHelm), CloseHelm.GetSBPurchaseValue(), 25, 5129, 0));
                Add(new GenericBuyInfo("Norse Helm", typeof(NorseHelm), NorseHelm.GetSBPurchaseValue(), 25, 5135, 0));

                Add(new GenericBuyInfo("Buckler", typeof(Buckler), Buckler.GetSBPurchaseValue(), 25, 0x1B73, 0));
                Add(new GenericBuyInfo("Metal Shield", typeof(MetalShield), MetalShield.GetSBPurchaseValue(), 25, 0x1B7B, 0));
                Add(new GenericBuyInfo("Bronze Shield", typeof(BronzeShield), BronzeShield.GetSBPurchaseValue(), 25, 0x1B72, 0));
                Add(new GenericBuyInfo("Metal Kite Shield", typeof(MetalKiteShield), MetalKiteShield.GetSBPurchaseValue(), 25, 0x1B74, 0));
                Add(new GenericBuyInfo("Heater Shield", typeof(HeaterShield), HeaterShield.GetSBPurchaseValue(), 25, 0x1B76, 0));

                //Weapons
                Add(new GenericBuyInfo("Dagger", typeof(Dagger), Dagger.GetSBPurchaseValue(), 25, 0xF52, 0));
                Add(new GenericBuyInfo("Kryss", typeof(Kryss), Kryss.GetSBPurchaseValue(), 25, 0x1401, 0));
                Add(new GenericBuyInfo("War Fork", typeof(WarFork), WarFork.GetSBPurchaseValue(), 25, 0x1405, 0));
                Add(new GenericBuyInfo("Short Spear", typeof(ShortSpear), ShortSpear.GetSBPurchaseValue(), 25, 0x1403, 0));
                Add(new GenericBuyInfo("Pitchfork", typeof(Pitchfork), Pitchfork.GetSBPurchaseValue(), 25, 0xE87, 0));
                Add(new GenericBuyInfo("Spear", typeof(Spear), Spear.GetSBPurchaseValue(), 25, 0xF62, 0));

                Add(new GenericBuyInfo("Hammer Pick", typeof(HammerPick), HammerPick.GetSBPurchaseValue(), 25, 0x143D, 0));
                Add(new GenericBuyInfo("War Axe", typeof(WarAxe), WarAxe.GetSBPurchaseValue(), 25, 0x13B0, 0));
                Add(new GenericBuyInfo("Mace", typeof(Mace), Mace.GetSBPurchaseValue(), 25, 0xF5C, 0));
                Add(new GenericBuyInfo("Maul", typeof(Maul), Maul.GetSBPurchaseValue(), 25, 0x143B, 0));
                Add(new GenericBuyInfo("WarHammer", typeof(WarHammer), WarHammer.GetSBPurchaseValue(), 25, 0x1439, 0));
                Add(new GenericBuyInfo("War Mace", typeof(WarMace), WarMace.GetSBPurchaseValue(), 25, 0x1407, 0));

                Add(new GenericBuyInfo("Butcher Knife", typeof(ButcherKnife), ButcherKnife.GetSBPurchaseValue(), 25, 0x13F6, 0));
                Add(new GenericBuyInfo("Skinning Knife", typeof(SkinningKnife), SkinningKnife.GetSBPurchaseValue(), 25, 0xEC4, 0));
                Add(new GenericBuyInfo("Cleaver", typeof(Cleaver), Cleaver.GetSBPurchaseValue(), 25, 0xEC3, 0));
                Add(new GenericBuyInfo("Cutlass", typeof(Cutlass), Cutlass.GetSBPurchaseValue(), 25, 0x1441, 0));
                Add(new GenericBuyInfo("Katana", typeof(Katana), Katana.GetSBPurchaseValue(), 25, 0x13FF, 0));
                Add(new GenericBuyInfo("Scimitar", typeof(Scimitar), Scimitar.GetSBPurchaseValue(), 25, 0x13B6, 0));
                Add(new GenericBuyInfo("Broadsword", typeof(Broadsword), Broadsword.GetSBPurchaseValue(), 25, 0xF5E, 0));
                Add(new GenericBuyInfo("Longsword", typeof(Longsword), Longsword.GetSBPurchaseValue(), 25, 0xF61, 0));
                Add(new GenericBuyInfo("Viking Sword", typeof(VikingSword), VikingSword.GetSBPurchaseValue(), 25, 0x13B9, 0));
                Add(new GenericBuyInfo("Axe", typeof(Axe), Axe.GetSBPurchaseValue(), 25, 0xF49, 0));
                Add(new GenericBuyInfo("Battle Axe", typeof(BattleAxe), BattleAxe.GetSBPurchaseValue(), 25, 0xF47, 0));
                Add(new GenericBuyInfo("Double Axe", typeof(DoubleAxe), DoubleAxe.GetSBPurchaseValue(), 25, 0xF4B, 0));
                Add(new GenericBuyInfo("Executioner's Axe", typeof(ExecutionersAxe), ExecutionersAxe.GetSBPurchaseValue(), 25, 0xF45, 0));
                Add(new GenericBuyInfo("Large Battle Axe", typeof(LargeBattleAxe), LargeBattleAxe.GetSBPurchaseValue(), 25, 0x13FB, 0));
                Add(new GenericBuyInfo("Two-Handed Axe", typeof(TwoHandedAxe), TwoHandedAxe.GetSBPurchaseValue(), 25, 0x1443, 0));
                Add(new GenericBuyInfo("Bardiche", typeof(Bardiche), Bardiche.GetSBPurchaseValue(), 25, 0xF4D, 0));
                Add(new GenericBuyInfo("Halberd", typeof(Halberd), Halberd.GetSBPurchaseValue(), 25, 0x143E, 0));
            }
            public InternalSellInfo()
            {
                //Tools
                Add(typeof(Tongs), Tongs.GetSBSellValue());
                Add(typeof(SmithHammer), SmithHammer.GetSBSellValue());

                //Armor
                Add(typeof(RingmailHelm), RingmailHelm.GetSBSellValue());
                Add(typeof(RingmailGorget), RingmailGorget.GetSBSellValue());
                Add(typeof(RingmailArms), RingmailArms.GetSBSellValue());
                Add(typeof(RingmailGloves), RingmailGloves.GetSBSellValue());
                Add(typeof(RingmailChest), RingmailChest.GetSBSellValue());
                Add(typeof(RingmailLegs), RingmailLegs.GetSBSellValue());

                Add(typeof(ChainmailCoif), ChainmailCoif.GetSBSellValue());
                Add(typeof(ChainmailGorget), ChainmailGorget.GetSBSellValue());
                Add(typeof(ChainmailArms), ChainmailArms.GetSBSellValue());
                Add(typeof(ChainmailGloves), ChainmailGloves.GetSBSellValue());
                Add(typeof(ChainmailChest), ChainmailChest.GetSBSellValue());
                Add(typeof(ChainmailLegs), ChainmailLegs.GetSBSellValue());

                Add(typeof(PlateHelm), PlateHelm.GetSBSellValue());
                Add(typeof(PlateGorget), PlateGorget.GetSBSellValue());
                Add(typeof(PlateArms), PlateArms.GetSBSellValue());
                Add(typeof(PlateGloves), PlateGloves.GetSBSellValue());
                Add(typeof(PlateChest), PlateChest.GetSBSellValue());
                Add(typeof(FemalePlateChest), FemalePlateChest.GetSBSellValue());
                Add(typeof(PlateLegs), PlateLegs.GetSBSellValue());

                Add(typeof(Bascinet), Bascinet.GetSBSellValue());
                Add(typeof(CloseHelm), CloseHelm.GetSBSellValue());
                Add(typeof(NorseHelm), NorseHelm.GetSBSellValue());

                Add(typeof(Buckler), Buckler.GetSBSellValue());
                Add(typeof(MetalShield), MetalShield.GetSBSellValue());
                Add(typeof(BronzeShield), BronzeShield.GetSBSellValue());
                Add(typeof(MetalKiteShield), MetalKiteShield.GetSBSellValue());
                Add(typeof(HeaterShield), HeaterShield.GetSBSellValue());

                //Weapons
                Add(typeof(Dagger), Dagger.GetSBSellValue());
                Add(typeof(Kryss), Kryss.GetSBSellValue());
                Add(typeof(WarFork), WarFork.GetSBSellValue());
                Add(typeof(ShortSpear), ShortSpear.GetSBSellValue());
                Add(typeof(Pitchfork), Pitchfork.GetSBSellValue());
                Add(typeof(Spear), Spear.GetSBSellValue());

                Add(typeof(HammerPick), HammerPick.GetSBSellValue());
                Add(typeof(WarAxe), WarAxe.GetSBSellValue());
                Add(typeof(Mace), Mace.GetSBSellValue());
                Add(typeof(Maul), Maul.GetSBSellValue());
                Add(typeof(WarHammer), WarHammer.GetSBSellValue());
                Add(typeof(WarMace), WarMace.GetSBSellValue());

                Add(typeof(ButcherKnife), ButcherKnife.GetSBSellValue());
                Add(typeof(SkinningKnife), SkinningKnife.GetSBSellValue());
                Add(typeof(Cleaver), Cleaver.GetSBSellValue());
                Add(typeof(Cutlass), Cutlass.GetSBSellValue());
                Add(typeof(Katana), Katana.GetSBSellValue());
                Add(typeof(Scimitar), Scimitar.GetSBSellValue());
                Add(typeof(Broadsword), Broadsword.GetSBSellValue());
                Add(typeof(Longsword), Longsword.GetSBSellValue());
                Add(typeof(VikingSword), VikingSword.GetSBSellValue());
                Add(typeof(Axe), Axe.GetSBSellValue());
                Add(typeof(BattleAxe), BattleAxe.GetSBSellValue());
                Add(typeof(DoubleAxe), DoubleAxe.GetSBSellValue());
                Add(typeof(ExecutionersAxe), ExecutionersAxe.GetSBSellValue());
                Add(typeof(LargeBattleAxe), LargeBattleAxe.GetSBSellValue());
                Add(typeof(TwoHandedAxe), TwoHandedAxe.GetSBSellValue());
                Add(typeof(Bardiche), Bardiche.GetSBSellValue());
                Add(typeof(Halberd), Halberd.GetSBSellValue());
            }
        public BlizzardKnight() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = "a blizzard knight";
            Body        = 0x190;
            BaseSoundID = 263;

            SetStr(326, 355);
            SetDex(166, 185);
            SetInt(71, 95);

            SetHits(438, 511);

            SetDamage(12, 18);

            SetDamageType(ResistanceType.Physical, 30);
            SetDamageType(ResistanceType.Cold, 70);

            SetResistance(ResistanceType.Physical, 50);
            SetResistance(ResistanceType.Fire, 0);
            SetResistance(ResistanceType.Cold, 100);
            SetResistance(ResistanceType.Poison, 25);
            SetResistance(ResistanceType.Energy, 25);

            SetSkill(SkillName.Anatomy, 35.0, 55.5);
            SetSkill(SkillName.Swords, 70.2, 80.0);
            SetSkill(SkillName.Tactics, 80.1, 100.0);
            SetSkill(SkillName.Wrestling, 80.1, 100.0);

            Fame  = 18000;
            Karma = -18000;

            AddItem(new LightSource());

            Lance weapon = new Lance();

            weapon.Hue     = 1152;
            weapon.Movable = false;
            AddItem(weapon);

            BronzeShield shield = new BronzeShield();

            shield.Hue     = 1152;
            shield.Movable = false;
            AddItem(shield);

            CloseHelm helm = new CloseHelm();

            helm.Hue     = 1152;
            helm.Movable = false;
            AddItem(helm);

            PlateArms arms = new PlateArms();

            arms.Hue     = 1152;
            arms.Movable = false;
            AddItem(arms);

            PlateGloves gloves = new PlateGloves();

            gloves.Hue     = 1152;
            gloves.Movable = false;
            AddItem(gloves);

            PlateChest tunic = new PlateChest();

            tunic.Hue     = 1152;
            tunic.Movable = false;
            AddItem(tunic);

            PlateLegs legs = new PlateLegs();

            legs.Hue     = 1152;
            legs.Movable = false;
            AddItem(legs);

            new IceBeetle().Rider = this;

            Container pack = new Backpack();

            pack.DropItem(new Gold(Utility.RandomMinMax(13, 28)));
            pack.DropItem(Loot.RandomArmor());
            pack.DropItem(Loot.RandomArmor());

            if (Utility.RandomDouble() < 0.05)
            {
                BaseArmor armor = Loot.RandomArmor(true);
                BaseRunicTool.ApplyAttributesTo(armor, 5, 15, 30);

                pack.DropItem(armor);
            }

            Container bag = new Bag();

            bag.DropItem(new Gold(Utility.RandomMinMax(35, 75)));
            bag.DropItem(new TurquoiseCustom(Utility.RandomMinMax(2, 4)));
            bag.DropItem(new DiamondDust(Utility.RandomMinMax(9, 18)));
            bag.DropItem(Loot.RandomPotion());
            bag.DropItem(Loot.RandomGem());
            bag.DropItem(Loot.RandomGem());

            if (Utility.RandomDouble() < 0.05)
            {
                BaseArmor armor = Loot.RandomArmor(true);
                BaseRunicTool.ApplyAttributesTo(armor, 5, 15, 20);

                armor.Attributes.WeaponDamage = 5;

                bag.DropItem(armor);
            }

            if (Utility.RandomDouble() < 0.05)
            {
                BaseJewel jewel = new GoldRing();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(jewel, 4, 15, 20);
                }

                jewel.Hue = 1152;
                jewel.Attributes.WeaponDamage = 7;
                jewel.Resistances.Cold        = 10;

                bag.DropItem(jewel);
            }

            pack.DropItem(bag);

            PackItem(pack);
        }