コード例 #1
0
        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);
        }
コード例 #2
0
        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"));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }