public bool ModifyRank(bool isLevelUp) { var result = true; if (isLevelUp && Rank != 4) { var currentSkillLevel = TotalSkillModifiers.Where(x => x.Id == Rank).FirstOrDefault(); //finds the current aptidude TotalSkillModifiers.Remove(currentSkillLevel); //removes this Rank += 1; TotalSkillModifiers.Add(World.GetSkillLevelsById(Rank)); //Replace with the next level up. //TotalSkillModifiers.Add(World.SkillLevelsList.FirstOrDefault(x => x.Id == Rank)); result = true; } else { //return a warning? you cannot level up any further result = false; } if (!isLevelUp && Rank != 0) { var currentSkillLevel = TotalSkillModifiers.Where(x => x.Id == Rank).FirstOrDefault(); //finds the current aptidude TotalSkillModifiers.Remove(currentSkillLevel); //removes this Rank -= 1; TotalSkillModifiers.Add(World.GetSkillLevelsById(Rank)); //Replace with the next level up. //TotalSkillModifiers.Add(World.SkillLevelsList.FirstOrDefault(x => x.Id == Rank)); result = true; } return(result); }
public void SetRankToZero() { Rank = 0; foreach (var mod in TotalSkillModifiers.ToList()) { if (mod.ModType == "Rank" && mod.Id != 0) { TotalSkillModifiers.Remove(mod); } } }