Exemplo n.º 1
0
    public int SetSkillExperience(ExperienceSkill sk, int value, bool message)
    {
        if ((Gender & GenderFlags.Mage | GenderFlags.Fighter) == 0)
        {
            return(0);
        }
        int oldexp = Experience[(int)sk];
        int newexp = (Experience[(int)sk] = value);

        UpdateItems();
        if (oldexp < newexp)
        {
            int oldskill = GetSkillFromExperience(oldexp);
            int newskill = GetSkillFromExperience(newexp);
            if (NetworkManager.IsServer)
            {
                Server.NotifyHumanLevelUp(this, sk, newexp, message);
            }
            if (oldskill < newskill &&
                Player == MapLogic.Instance.ConsolePlayer &&
                message)
            {
                int skillIndex = (int)sk;
                if ((Gender & GenderFlags.Mage) != 0)
                {
                    skillIndex += 5;
                }
                MapViewChat.Instance.AddChatMessage(Player.AllColorsSystem, Locale.Main[130 + skillIndex]);
            }
        }
        return(newexp);
    }
Exemplo n.º 2
0
 public int GetSkillExperience(ExperienceSkill sk)
 {
     if ((Gender & GenderFlags.Mage | GenderFlags.Fighter) == 0)
     {
         return(0);
     }
     return(Experience[(int)sk]);
 }
Exemplo n.º 3
0
        public void UpdateInstructorCourses(RandyPowellContext context,
                                            string[] selectedSkills, Experience experienceToUpdate)
        {
            if (selectedSkills == null)
            {
                experienceToUpdate.ExperienceSkills = new List <ExperienceSkill>();
                return;
            }

            var selectedSkillsHS = new HashSet <string>(selectedSkills);
            var experienceSkills = new HashSet <int>
                                       (experienceToUpdate.ExperienceSkills.Select(c => c.SkillId));

            foreach (var skill in context.Skill)
            {
                if (selectedSkillsHS.Contains(skill.ID.ToString()))
                {
                    if (!experienceSkills.Contains(skill.ID))
                    {
                        experienceToUpdate.ExperienceSkills.Add(
                            new ExperienceSkill
                        {
                            ExperienceId = experienceToUpdate.ID,
                            SkillId      = skill.ID,
                            Skill        = skill,
                            Experience   = experienceToUpdate
                        });
                    }
                }
                else
                {
                    if (experienceSkills.Contains(skill.ID))
                    {
                        ExperienceSkill skillToRemove
                            = experienceToUpdate
                              .ExperienceSkills
                              .SingleOrDefault(i => i.SkillId == skill.ID);
                        context.Remove(skillToRemove);
                    }
                }
            }
        }
Exemplo n.º 4
0
        public async Task <IActionResult> OnPostAsync(string[] selectedSkills)
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }
            var newExperience = new Experience();

            if (selectedSkills != null)
            {
                newExperience.ExperienceSkills = new List <ExperienceSkill>();
                foreach (var skill in selectedSkills)
                {
                    var skillToAdd = new ExperienceSkill
                    {
                        SkillId = int.Parse(skill)
                    };
                    newExperience.ExperienceSkills.Add(skillToAdd);
                }
            }
            if (await TryUpdateModelAsync <Experience>(
                    newExperience,
                    "Experience"))
            {
                _context.Experience.Add(newExperience);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }
            PopulateAssignedCourseData(_context, newExperience);

            //_context.Experience.Add(Experience);
            //await _context.SaveChangesAsync();

            return(Page());
        }
Exemplo n.º 5
0
    public int GetSkill(ExperienceSkill sk)
    {
        int exp = GetSkillExperience(sk);

        return(GetSkillFromExperience(exp));
    }
Exemplo n.º 6
0
    public void SetSkill(ExperienceSkill sk, int value)
    {
        int exp = value > 0 ? (int)((Mathf.Pow(1.1f, value) - 1f) * 1000f) : 0;

        SetSkillExperience(sk, exp, false);
    }