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); }
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); }
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)); } }
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); }
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); }