public static string UpdateSkillPet(int Level, int TemplateID) { PetTemplateInfo petTemplateInfo = PetMgr.FindPetTemplate(TemplateID); if (petTemplateInfo == null) { PetMgr.log.Error("Pet not found: " + TemplateID); return(""); } List <int> petSkillByKindID = PetMgr.GetPetSkillByKindID(petTemplateInfo.KindID, Level); string text = petSkillByKindID[0] + ",0"; for (int i = 1; i < petSkillByKindID.Count; i++) { object obj = text; text = string.Concat(new object[] { obj, "|", petSkillByKindID[i], ",", i }); } return(text); }
public static List <int> GetPetSkillByKindID(int KindID, int lv) { int num = Convert.ToInt32(PetMgr.FindConfig("MaxLevel").Value); List <int> list = new List <int>(); List <string> list2 = new List <string>(); PetSkillTemplateInfo[] petSkillByKindID = PetMgr.GetPetSkillByKindID(KindID); int num2 = (lv > num) ? num : lv; for (int i = 1; i <= num2; i++) { PetSkillTemplateInfo[] array = petSkillByKindID; for (int j = 0; j < array.Length; j++) { PetSkillTemplateInfo petSkillTemplateInfo = array[j]; if (petSkillTemplateInfo.MinLevel == i) { string[] array2 = petSkillTemplateInfo.DeleteSkillIDs.Split(new char[] { ',' }); string[] array3 = array2; for (int k = 0; k < array3.Length; k++) { string item = array3[k]; list2.Add(item); } list.Add(petSkillTemplateInfo.SkillID); } } } foreach (string current in list2) { if (!string.IsNullOrEmpty(current)) { int item2 = int.Parse(current); list.Remove(item2); } } list.Sort(); return(list); }