public void CreateRandomBonusBasedOnClass(int ClassID, string ClassModID = "") { ClassModID = MainMod.mod.Name; ClassBase cb = MainMod.GetClass(ClassID, ClassModID); if (cb.SkillList.Count == 0) { return; } ClassSkillInfo csi = cb.SkillList[Main.rand.Next(cb.SkillList.Count)]; SkillID = csi.SkillID; SkillModID = csi.SkillMod; SkillLevelBonus = Main.rand.Next(1, MaxSkillLevelBonus + 1); }
public void ResetSkill(ClassSkillInfo csi) { for (int s = 0; s < Skills.Count; s++) { if (Skills[s].ID == csi.SkillID && Skills[s].ModID == csi.SkillMod) { int LevelsToRemove = Skills[s].RealLevel - csi.FreeLevel; if (LevelsToRemove > 0) { Skills[s].RealLevel -= LevelsToRemove; SkillPoint += LevelsToRemove; return; } } } }
public int AddSkill(int ID, string ModID = "", int FreeLevel = 0) { if (ModID == "") { ModID = "TerraClasses"; } ClassSkillInfo csi = new ClassSkillInfo() { SkillID = ID, SkillMod = ModID, FreeLevel = FreeLevel }; int SkillPos = SkillList.Count; SkillList.Add(csi); return(SkillPos); }
public void AddRequirement(int SkillPosition, int SkillLevel) { if (SkillList.Count == 0) { return; } ClassSkillInfo csi = SkillList[SkillList.Count - 1]; for (int i = 0; i < 3; i++) { if (csi.SkillReqPosition[i] == -1) { csi.SkillReqPosition[i] = SkillPosition; csi.SkillLevel[i] = SkillLevel; return; } } }
public void ResetSkill(int SkillID, string SkillModID = "") { if (SkillModID == "") { SkillModID = MainMod.mod.Name; } ClassBase cb = GetClass; ClassSkillInfo csi = null; for (int cs = 0; cs < cb.SkillList.Count; cs++) { if (cb.SkillList[cs].SkillID == SkillID && cb.SkillList[cs].SkillMod == SkillModID) { csi = cb.SkillList[cs]; break; } } if (csi == null) { return; } ResetSkill(csi); }