public void CreatesTheModifierForASkill() { var token = new SkillModifierToken(new string[] { "Climb" }, 2, "trait"); var skill = new Skill("Climb", AbilityScoreTypes.Strength, false); var modifier = token.CreateModifier(skill); Assert.Equal("Climb", modifier.StatisticName); Assert.Equal(2, modifier.Modifier); Assert.Equal("trait", modifier.ModifierType); }
public void CreatesAModifierToASkillThatMatchesTheToken() { var character = CharacterTestTemplates.AverageBob().WithSkills(new string[] { "Climb", "Appraise" }); var modifier = new SkillModifierToken(new string[] { "Climb" }, 2, "trait"); character.Add(modifier); var step = new ProcessSkillModifierToken(); step.ExecuteStep(character); Assert.Equal(2, character.SkillRanks.GetScore("Climb")); }
public void CanQualifyWithARangeOfSkillsIfNameIsInQuotes() { var yaml = @"--- skills: [Climb, ""%Craft%""] modifier: 2 modifier-type: racial"; var token = new SkillModifierToken(yaml.ParseYaml()); var skill = new Skill("Craft (Shoes)", AbilityScoreTypes.Intelligence, false); Assert.True(token.Qualifies(skill)); }
public void HasSomeSkillsThatCanHaveTheTokenAppliedTo() { var yaml = @"--- skills: [Appraise, Climb] modifier: 2 modifier-type: racial"; var token = new SkillModifierToken(yaml.ParseYaml()); var skill = new Skill("Appraise", AbilityScoreTypes.Intelligence, false); var somethignElse = new Skill("Foobar", AbilityScoreTypes.Charisma, false); Assert.True(token.Qualifies(skill)); Assert.False(token.Qualifies(somethignElse)); }