// Get a List of Skills corresponding to the Job
        public static List <SkillMetadata> GetJobSkills(Job job = Job.None)
        {
            List <SkillMetadata> jobSkill = new List <SkillMetadata>();
            List <int>           gmSkills = SkillTreeOrdered.GetListOrdered(Job.GameMaster);

            if (Job.GameMaster == job)
            {
                foreach (int skillId in gmSkills)
                {
                    jobSkill.Add(skill[skillId]);
                    jobSkill.First(skill => skill.SkillId == skillId).CurrentLevel = 1;
                }
                return(jobSkill);
            }

            foreach (KeyValuePair <int, SkillMetadata> skills in skill)
            {
                if (skills.Value.Job == (int)job)
                {
                    jobSkill.Add(skills.Value);
                }
                else if (skills.Value.SkillId == 20000001) // Swiming
                {
                    jobSkill.Add(skills.Value);
                    skills.Value.CurrentLevel = 1;
                }
                else if (skills.Value.SkillId == 20000011) // Climbing walls
                {
                    jobSkill.Add(skills.Value);
                    skills.Value.CurrentLevel = 1;
                }
            }
            return(jobSkill);
        }
示例#2
0
        public static List <SkillMetadata> GetJobSkills(Job job = Job.None)
        {
            List <SkillMetadata> jobSkill = new List <SkillMetadata>();
            int jobCode = ((Convert.ToInt32(job) / 100) + 100) * 100000; // 10X0000 10100000

            foreach (KeyValuePair <int, SkillMetadata> skills in skill)
            {
                if (skills.Value.SkillId > jobCode && skills.Value.SkillId < jobCode + 400)
                {
                    jobSkill.Add(skills.Value);
                    int[] defaultSkills = SkillTreeOrdered.GetDefaultLearnedSkill(job);
                    for (int i = 0; i < defaultSkills.Length; i++)
                    {
                        if (skills.Value.SkillId == defaultSkills[i])
                        {
                            skills.Value.Learned = 1;
                        }
                    }
                }
                else if (skills.Value.SkillId == 20000001) // Swiming
                {
                    jobSkill.Add(skills.Value);
                    skills.Value.Learned = 1;
                }
                else if (skills.Value.SkillId == 20000011) // Climbing walls
                {
                    jobSkill.Add(skills.Value);
                    skills.Value.Learned = 1;
                }
            }
            return(jobSkill);
        }
示例#3
0
 public SkillTab(Job job)
 {
     Id       = 0x000032DF995949B9; // temporary hard coded id
     Name     = "Build";
     Skills   = SkillMetadataStorage.GetJobSkills(job);
     Order    = SkillTreeOrdered.GetListOrdered(job);
     SkillJob = AddOnDictionary();
 }
示例#4
0
        }                                                              // TODO: fill using database

        public SkillTab(Job job)
        {
            Id          = 0x000032DF995949B9; // temporary hard coded id
            Name        = "Build";
            Order       = SkillTreeOrdered.GetListOrdered(job);
            SkillJob    = AddOnDictionary(job);
            SkillLevels = SkillJob.ToDictionary(x => x.Key, x => (int)x.Value.Learned);
        }
示例#5
0
 public SkillTab(Job job)
 {
     Id          = GuidGenerator.Long();
     Name        = "";
     Order       = SkillTreeOrdered.GetListOrdered(job);
     SkillJob    = AddOnDictionary(job);
     SkillLevels = SkillJob.ToDictionary(x => x.Key, x => (int)x.Value.Learned);
 }
示例#6
0
 public void GenerateSkills(Job job)
 {
     Order    = SkillTreeOrdered.GetListOrdered(job);
     SkillJob = AddOnDictionary(job);
 }