Exemplo n.º 1
0
        public void AbilityIsNotQualifiedIfNotExceedingScore()
        {
            var pre = new AbilityPrerequisite(AbilityScoreTypes.Intelligence, 13);
            var c   = CharacterTestTemplates.AverageBob();

            c.AbilityScores.SetScore(AbilityScoreTypes.Intelligence, 11);
            Assert.False(pre.IsQualified(c.Components));
        }
Exemplo n.º 2
0
        public CutYourLosses()
        {
            var strength = new AbilityPrerequisite(new Dictionary <Attributes, int> {
                { Attributes.Strength, 13 }
            });
            var acrobatics = new SkillRankPrerequisite(Skills.Acrobatics, 1);

            Prerequisite = new ComplexPrerequisite(strength, acrobatics);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Parses the yaml and find prerequisites
        /// </summary>
        /// <param name="yaml">Yaml Node to parse </param>
        private void ParseYaml(YamlNodeWrapper yaml)
        {
            foreach (var prereq in yaml.Children())
            {
                Prerequisite newreq = null;

                // TODO: This seems clunky and weird
                foreach (var key in this.prerequisiteKeyNames)
                {
                    var val = prereq.GetStringOptional(key);
                    if (val != null)
                    {
                        switch (key)
                        {
                        case "ability":
                            newreq = new AbilityPrerequisite(val);
                            break;

                        case "baseattackbonus":
                            newreq = new BaseAttackBonusPrerequisite(val);
                            break;

                        case "casterlevel":
                            newreq = new CasterLevelPrerequisite(val);
                            break;

                        case "classfeature":
                            newreq = new ClassFeaturePrerequisite(val);
                            break;

                        case "classlevel":
                            newreq = new ClassLevelPrerequisite(val);
                            break;

                        case "feat":
                            newreq = new FeatPrerequisite(val);
                            break;

                        case "proficiency":
                            newreq = new ProficiencyPrerequisite(val);
                            break;

                        case "race":
                            newreq = new RacePrerequisite(val);
                            break;

                        case "skillranks":
                            newreq = new SkillRankPrerequisite(val);
                            break;
                        }

                        break;
                    }
                }

                if (newreq != null)
                {
                    this.Add(newreq);
                }
            }
        }