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); }
public int GetSkillExperience(ExperienceSkill sk) { if ((Gender & GenderFlags.Mage | GenderFlags.Fighter) == 0) { return(0); } return(Experience[(int)sk]); }
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); } } } }
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()); }
public int GetSkill(ExperienceSkill sk) { int exp = GetSkillExperience(sk); return(GetSkillFromExperience(exp)); }
public void SetSkill(ExperienceSkill sk, int value) { int exp = value > 0 ? (int)((Mathf.Pow(1.1f, value) - 1f) * 1000f) : 0; SetSkillExperience(sk, exp, false); }