Пример #1
0
        public void SettingAProfessionsSkillAsClassSkillSetsAllProfessionsSkills()
        {
            _skillList.Add(new Skill("Profession (Bouncer)", AbilityScoreTypes.Intelligence, false));
            _skillList.Add(new Skill("Profession (Turnip Farmer)", AbilityScoreTypes.Intelligence, false));
            var ranks = new SkillRanks(_skillList, new AbilityScores());

            ranks.SetClassSkill("Profession");
            Assert.True(ranks.GetSkill("Profession (Bouncer)").ClassSkill);
            Assert.True(ranks.GetSkill("Profession (Turnip Farmer)").ClassSkill);
        }
Пример #2
0
        public void SettingACraftSkillAsClassSkillSetsAllCraftSkills()
        {
            _skillList.Add(new Skill("Craft (Shoes)", AbilityScoreTypes.Intelligence, false));
            _skillList.Add(new Skill("Craft (Jewelry)", AbilityScoreTypes.Intelligence, false));
            var ranks = new SkillRanks(_skillList, new AbilityScores());

            ranks.SetClassSkill("Craft");
            Assert.True(ranks.GetSkill("Craft (Shoes)").ClassSkill);
            Assert.True(ranks.GetSkill("Craft (Jewelry)").ClassSkill);
        }
Пример #3
0
        public void IfAssigningToClassSkillsOnlyUseOneCraftSkill()
        {
            var strategy = new WeightedOptionTable <string>();

            //Set Knowledge (Arcana) as a class skill
            availableSkills.Add(new Skill("Craft (Pottery)", AbilityScoreTypes.Intelligence, false));
            availableSkills.Add(new Skill("Craft (Jewelry)", AbilityScoreTypes.Intelligence, false));

            //Assign two points, should go all to one skill
            for (int i = 0; i < 1000; i++)
            {
                var skillRanks = new SkillRanks(availableSkills, new AbilityScores());
                skillRanks.SetClassSkill("Craft (Pottery)");
                skillRanks.SetClassSkill("Craft (Jewelry)");

                distributor.AssignSkillPoints(skillRanks, strategy, 2, 2);
                Assert.True(skillRanks.GetSkills().Any(x => x.Ranks == 2));
            }
        }
Пример #4
0
        public void SettingAPerformSkillAsClassSkillSetsAllPerformSkills()
        {
            _skillList.Add(new Skill("Perform (Debate)", AbilityScoreTypes.Intelligence, false));
            _skillList.Add(new Skill("Perform (Art)", AbilityScoreTypes.Intelligence, false));
            var ranks = new SkillRanks(_skillList, new AbilityScores());

            ranks.SetClassSkill("Perform");
            Assert.True(ranks.GetSkill("Perform (Debate)").ClassSkill);
            Assert.True(ranks.GetSkill("Perform (Art)").ClassSkill);
        }
Пример #5
0
        public void IfAllPreferredSkillsAreMaxedAssignAPointToRemainingClassSkills()
        {
            var strategy = new WeightedOptionTable <string>();

            strategy.AddEntry("Climb", 1);

            //Set Knowledge (Arcana) as a class skill
            skills.SetClassSkill("Knowledge (Arcana)");

            distributor.AssignSkillPoints(skills, strategy, 2, 1);
            Assert.Equal(1, skills.GetSkill("Climb").Ranks);
            Assert.Equal(1, skills.GetSkill("Knowledge (Arcana)").Ranks);
        }