public static List <PetAttribute> GetSkills(int petId, int effect) { List <PetAttribute> list = new List <PetAttribute>(); PetInfo onePet = PetEvoGlobal.GetOnePet(petId); if (onePet == null || onePet.petTalents == null) { return(list); } using (List <PetTalent> .Enumerator enumerator = onePet.petTalents.GetEnumerator()) { while (enumerator.MoveNext()) { PetTalent current = enumerator.get_Current(); ChongWuTianFu chongWuTianFuRow = PetEvoGlobal.GetChongWuTianFuRow(current.talentId); int skillLv = PetEvoGlobal.GetSkillLv(petId, current.talentId); if (chongWuTianFuRow != null) { if (skillLv != 0) { if (chongWuTianFuRow.effect == effect) { if (chongWuTianFuRow.effect == 10) { List <int> talentIds = PetEvoGlobal.GetTalentIds(petId, 15); List <int> talentIds2 = PetEvoGlobal.GetTalentIds(petId, 21); int num = -1; if (talentIds2.get_Count() > 0) { num = talentIds2.get_Item(0); } else if (talentIds.get_Count() > 0) { num = talentIds.get_Item(0); } if (num != -1) { ChongWuTianFu chongWuTianFuRow2 = PetEvoGlobal.GetChongWuTianFuRow(num); int num2 = chongWuTianFuRow2.parameter.get_Item(0); if (num2 == current.talentId) { for (int i = 0; i < chongWuTianFuRow2.parameter2.get_Count(); i++) { list.Add(new PetAttribute { petSkillId = chongWuTianFuRow2.parameter2.get_Item(i), petSkillLv = skillLv, petSkillSlot = chongWuTianFuRow.parameter2.get_Item(i) }); } continue; } } for (int j = 0; j < chongWuTianFuRow.parameter.get_Count(); j++) { list.Add(new PetAttribute { petSkillId = chongWuTianFuRow.parameter.get_Item(j), petSkillLv = skillLv, petSkillSlot = chongWuTianFuRow.parameter2.get_Item(j) }); } } else if (chongWuTianFuRow.effect == 12) { PetAttribute petAttribute = new PetAttribute { templateIds = PetEvoGlobal.GetAttributeTemplateIDs(chongWuTianFuRow.parameter, skillLv) }; list.Add(petAttribute); } else if (chongWuTianFuRow.effect == 13) { PetAttribute petAttribute2 = new PetAttribute { templateIds = chongWuTianFuRow.parameter, templateIds2 = PetEvoGlobal.GetAttributeTemplateIDs(chongWuTianFuRow.parameter2, skillLv) }; list.Add(petAttribute2); } else if (chongWuTianFuRow.effect == 14) { PetAttribute petAttribute3 = new PetAttribute { templateIds = chongWuTianFuRow.parameter, templateIds2 = PetEvoGlobal.GetAttributeTemplateIDs(chongWuTianFuRow.parameter2, skillLv) }; list.Add(petAttribute3); } else { Debug.LogError("!!! row.effect=" + chongWuTianFuRow.effect); } } } } } } return(list); }