示例#1
0
        public void AddLevel16AllSkillsAreClassSkills()
        {
            var bard = CharacterTestTemplates.BardyBard().WithSkills(
                new string[] {
                "Perception",
                "Climb"
            });

            var jack = new JackOfAllTrades();

            bard.Add(jack);
            bard.SetLevel(16);
            jack.LeveledUp(bard.Components);
            Assert.True(bard.SkillRanks.GetSkill("Perception").ClassSkill);
            Assert.True(bard.SkillRanks.GetSkill("Climb").ClassSkill);
        }
示例#2
0
        internal void Save(XmlTextWriter writer)
        {
            writer.WriteStartElement("newskills");

            writer.WriteElementString("skillptsmax", SkillPointsMaximum.ToString(CultureInfo.InvariantCulture));
            writer.WriteElementString("skillgrpsmax", SkillGroupPointsMaximum.ToString(CultureInfo.InvariantCulture));
            writer.WriteElementString("uneducated", Uneducated.ToString());
            writer.WriteElementString("uncouth", Uncouth.ToString());
            writer.WriteElementString("schoolofhardknocks", SchoolOfHardKnocks.ToString());
            writer.WriteElementString("collegeeducation", CollegeEducation.ToString());
            writer.WriteElementString("jackofalltrades", JackOfAllTrades.ToString());
            writer.WriteElementString("techschool", TechSchool.ToString());
            writer.WriteElementString("linguist", Linguist.ToString());

            writer.WriteStartElement("skills");
            foreach (Skill skill in Skills)
            {
                skill.WriteTo(writer);
            }
            writer.WriteEndElement();
            writer.WriteStartElement("knoskills");
            foreach (KnowledgeSkill knowledgeSkill in KnowledgeSkills)
            {
                knowledgeSkill.WriteTo(writer);
            }
            writer.WriteEndElement();

            writer.WriteStartElement("skilljackknowledgeskills");
            foreach (KnowledgeSkill objSkill in KnowsoftSkills)
            {
                objSkill.WriteTo(writer);
            }
            writer.WriteEndElement();

            writer.WriteStartElement("groups");
            foreach (SkillGroup skillGroup in SkillGroups)
            {
                skillGroup.WriteTo(writer);
            }
            writer.WriteEndElement();
            writer.WriteEndElement();
        }
示例#3
0
        public void AtTenthLevelCanUseAllSkills()
        {
            var bard = CharacterTestTemplates.BardyBard().WithSkills(
                new string[] {
                "Training 1",
                "Training 2"
            }
                );

            bard.SkillRanks.GetSkill("Training 1").Skill.RequireTraining(true);
            bard.SkillRanks.GetSkill("Training 2").Skill.RequireTraining(true);
            var jack = new JackOfAllTrades();

            bard.Add(jack);

            bard.SetLevel(9);
            Assert.False(bard.SkillRanks.GetSkill("Training 1").AbleToUse);
            Assert.False(bard.SkillRanks.GetSkill("Training 2").AbleToUse);
            bard.SetLevel(10);
            jack.LeveledUp(bard.Components);
            Assert.True(bard.SkillRanks.GetSkill("Training 1").AbleToUse);
            Assert.True(bard.SkillRanks.GetSkill("Training 2").AbleToUse);
        }