Example #1
0
        /// <summary>
        /// Generates the random character.
        /// </summary>
        /// <returns>The random character.</returns>
        public CharacterSheet GenerateRandomCharacter()
        {
            var skillGen = new SkillPointGenerator();

            var character = this.CreateLevel0();

            this.SelectClass(character);
            character.AddFeat(Feat.GetQualifyingFeats(character).ToList().ChooseOne());

            // var levelUpGen = new LevelUpGenerator (new HitPointGenerator());
            // levelUpGen.BringCharacterToLevel(character, UnityEngine.Random.Range (1, 21));
            // levelUpGen.BringCharacterToLevel(character, 1);

            // Assign Skill Points
            skillGen.AssignSkillPointsRandomly(character);

            // Get some gear!
            var equip = new EquipMeleeAndRangedWeapon(this.weaponGateway);

            equip.AssignWeapons(character.Inventory, character.Offense.WeaponProficiencies);

            var equipArmor = new PurchaseInitialArmor(this.armorGateway);

            equipArmor.PurchaseArmorAndShield(character.Inventory, character.Defense.ArmorProficiencies);

            return(character);
        }