Exemplo n.º 1
0
        private static List <SkillInfo> ReadSkillInfos(D2Unit p, ISkillReader skillReader)
        {
            var skills = new List <SkillInfo>();

            foreach (var skill in skillReader.EnumerateSkills(p))
            {
                var skillData = skillReader.ReadSkillData(skill);
                var skillInfo = new SkillInfo
                {
                    Id     = skillData.SkillId,
                    Points = skillReader.GetTotalNumberOfSkillPoints(skill),
                };
                skills.Add(skillInfo);
            }
            return(skills);
        }
Exemplo n.º 2
0
        private static bool MatchesStartingSkills(D2Unit p, ISkillReader skillReader)
        {
            int skillCount = 0;

            foreach (D2Skill skill in skillReader.EnumerateSkills(p))
            {
                var   skillData = skillReader.ReadSkillData(skill);
                Skill skillId   = (Skill)skillData.SkillId;
                if (!StartingSkills[(CharacterClass)p.eClass].ContainsKey(skillId))
                {
                    return(false);
                }

                if (StartingSkills[(CharacterClass)p.eClass][skillId] != skillReader.GetTotalNumberOfSkillPoints(skill))
                {
                    return(false);
                }
                skillCount++;
            }

            return(skillCount == StartingSkills[(CharacterClass)p.eClass].Count);
        }