Esempio n. 1
0
        public NewWarriorNoCriminalGuard()
            : base(AIType.AI_Melee)
        {
            SetStr(95, 150);
            SetDex(60, 110);
            SetInt(26, 50);

            SetHits(80, 110);
            SetMana(40);

            if (Utility.RandomBool())
            {
                new Horse().Rider = this;
            }

            SetResistance(ResistanceType.Physical, 30, 20);
            SetResistance(ResistanceType.Fire, 20, 25);
            SetResistance(ResistanceType.Cold, 20, 20);
            SetResistance(ResistanceType.Poison, 20, 30);

            SetSkill(SkillName.MagicResist, 50.0, 80.0);
            SetSkill(SkillName.Tactics, 80.0, 120.0);
            SetSkill(SkillName.Anatomy, 80.0, 120.0);
            SetSkill(SkillName.Healing, 50.0, 65.0);
            SetSkill(SkillName.Swords, 80.0, 120.0);
            SetSkill(SkillName.Parry, 80.0, 120.0);
            SetSkill(SkillName.Macing, 80.0, 120.0);
            SetSkill(SkillName.Fencing, 80.0, 120.0);

            Fame  = 1000;
            Karma = 10000;

            VirtualArmor = 25;

            AddItem(new Boots(Utility.RandomGreenHue()));
            AddItem(new Cloak(Utility.RandomGreenHue()));
            ChainChest chest = new ChainChest();

            chest.Hue = Utility.RandomGreenHue();
            AddItem(chest);
            ChainLegs legs = new ChainLegs();

            legs.Hue = Utility.RandomGreenHue();
            AddItem(legs);
            ChainHatsuburi head = new ChainHatsuburi();

            head.Hue = Utility.RandomGreenHue();
            AddItem(head);
            AddItem(new Bandage(30));

            switch (Utility.Random(19))
            {   //Swords
            case 0: AddItem(new Longsword());
                AddItem(new WoodenKiteShield());
                SetDamage(5, 18);
                SetResistance(ResistanceType.Physical, 50, 40);
                break;

            case 1: AddItem(new Cutlass());
                AddItem(new WoodenKiteShield());
                SetDamage(5, 15);
                SetResistance(ResistanceType.Physical, 50, 40);
                break;

            case 2: AddItem(new Broadsword());
                AddItem(new WoodenKiteShield());
                SetDamage(8, 18);
                SetResistance(ResistanceType.Physical, 50, 40);
                break;

            case 3: AddItem(new Axe());
                SetDamage(11, 19);
                break;

            case 4: AddItem(new Halberd());
                SetDamage(13, 22);
                break;

            case 5: AddItem(new Bardiche());
                SetDamage(11, 22);
                break;

            case 6: AddItem(new TwoHandedAxe());
                SetDamage(13, 23);
                break;

            //Maces
            case 7: AddItem(new Mace());
                AddItem(new WoodenKiteShield());
                SetDamage(6, 18);
                SetResistance(ResistanceType.Physical, 50, 40);
                break;

            case 8: AddItem(new Club());
                AddItem(new WoodenKiteShield());
                SetDamage(5, 14);
                SetResistance(ResistanceType.Physical, 50, 40);
                break;

            case 9: AddItem(new Maul());
                AddItem(new WoodenKiteShield());
                SetDamage(9, 18);
                SetResistance(ResistanceType.Physical, 50, 40);
                break;

            case 10: AddItem(new HammerPick());
                SetDamage(10, 22);
                break;

            case 11: AddItem(new WarHammer());
                SetDamage(13, 28);
                break;

            case 12: AddItem(new BlackStaff());
                SetDamage(11, 17);
                break;

            //Fencing
            case 13: AddItem(new Dagger());
                AddItem(new WoodenKiteShield());
                SetDamage(5, 13);
                SetResistance(ResistanceType.Physical, 50, 40);
                break;

            case 14: AddItem(new Kryss());
                AddItem(new WoodenKiteShield());
                SetDamage(6, 16);
                SetResistance(ResistanceType.Physical, 50, 40);
                break;

            case 15: AddItem(new WarFork());
                AddItem(new WoodenKiteShield());
                SetDamage(8, 18);
                SetResistance(ResistanceType.Physical, 50, 40);
                break;

            case 16: AddItem(new ShortSpear());
                SetDamage(11, 23);
                break;

            case 17: AddItem(new Spear());
                SetDamage(13, 24);
                break;

            case 18: AddItem(new Pike());
                SetDamage(13, 28);
                break;
            }
        }
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public static Item CreateMetalArmor(string gender)
        {
            Item item = null;

            int nType = Utility.RandomMinMax(0, 26);

            switch (nType)
            {
            case 0:         item = new ChainCoif();                 item.Name = "chainmail coif";           break;

            case 1:         item = new ChainChest();                item.Name = "chainmail tunic";          break;

            case 2:         item = new ChainLegs();                 item.Name = "chainmail leggings";       break;

            case 3:         item = new RingmailChest();             item.Name = "ringmail tunic";           break;

            case 4:         item = new RingmailLegs();              item.Name = "ringmail leggings";        break;

            case 5:         item = new RingmailArms();              item.Name = "ringmail sleeves";         break;

            case 6:         item = new RingmailGloves();    item.Name = "ringmail gloves";          break;

            case 7:         item = new PlateGorget();               item.Name = "platemail gorget";         break;

            case 8:         item = new PlateLegs();                 item.Name = "platemail leggings";       break;

            case 9:         item = new PlateArms();                 item.Name = "platemail arms";           break;

            case 10:        item = new PlateGloves();               item.Name = "platemail gauntlets";      break;

            case 11:        item = new PlateChest();                item.Name = "platemail tunic";
                if (gender == "female" || Utility.RandomMinMax(0, 3) == 1)
                {
                    item = new FemalePlateChest(); item.Name = "platemail tunic";
                }
                break;

            case 12:
            case 13:
                switch (Utility.RandomMinMax(0, 4))
                {
                case 0:         item = new PlateHelm();         item.Name = "platemail helm";   break;

                case 1:         item = new CloseHelm();         item.Name = "close helm";               break;

                case 2:         item = new Helmet();            item.Name = "helmet";                   break;

                case 3:         item = new NorseHelm();         item.Name = "norse helm";               break;

                case 4:         item = new Bascinet();          item.Name = "bascinet";                 break;
                }
                break;

            case 14: item = new ChainHatsuburi();                   item.Name = "chainmail hatsuburi";      break;

            case 15: item = new PlateHatsuburi();                   item.Name = "platemail hatsuburi";      break;

            case 16: item = new LightPlateJingasa();                item.Name = "platemail jingasa";        break;

            case 17: item = new HeavyPlateJingasa();                item.Name = "platemail jingasa";        break;

            case 18: item = new SmallPlateJingasa();                item.Name = "platemail jingasa";        break;

            case 19: item = new DecorativePlateKabuto();    item.Name = "platemail kabuto";         break;

            case 20: item = new PlateBattleKabuto();                item.Name = "platemail kabuto";         break;

            case 21: item = new StandardPlateKabuto();              item.Name = "platemail kabuto";         break;

            case 22: item = new PlateDo();                                  item.Name = "platemail do";                     break;

            case 23: item = new PlateHiroSode();                    item.Name = "platemail hiro sade";      break;

            case 24: item = new PlateSuneate();                             item.Name = "platemail suneate";        break;

            case 25: item = new PlateHaidate();                             item.Name = "platemail haidate";        break;

            case 26: item = new ChainHatsuburi();                   item.Name = "chainmail hatsuburi";      break;
            }

            return(item);
        }