|  |  | 
 |  |  |     ItemCommon.ReduceItem(curPlayer, itemPack, itemList, needItemCnt, False, ChConfig.ItemDel_Pet)
 | 
 |  |  |         
 | 
 |  |  |     EventShell.EventRespons_OnActivatePet(curPlayer, petNPCID)
 | 
 |  |  |     PlayerControl.WorldNotify(0, 'GetPet', [curPlayer.GetName(), petNPCID])
 | 
 |  |  |     sysMark = ipyData.GetUnlockSys() or 'GetPet'
 | 
 |  |  |     PlayerControl.WorldNotify(0, sysMark, [curPlayer.GetName(), petNPCID])
 | 
 |  |  |     rolePet = curPlayer.GetPetMgr().GetFightPet()
 | 
 |  |  |     if not rolePet:
 | 
 |  |  |         petItemIndex = GetPetDataItemIndexByNPCID(curPlayer, petNPCID)
 | 
 |  |  | 
 |  |  |         petIpyData = GetPetIpydata(petNPCID)
 | 
 |  |  |         petSkillList = petIpyData.GetSkillID()
 | 
 |  |  |         petSkillUnLockList = petIpyData.GetSkillUnLock()
 | 
 |  |  |         sysMarkList = petIpyData.GetSkillUnLockSys()
 | 
 |  |  |         learnSkillList = []
 | 
 |  |  |         for i, skillid in enumerate(petSkillList):
 | 
 |  |  |             limitPetClassLV = petSkillUnLockList[i] # 学习此技能所需宠物阶级
 | 
 |  |  | 
 |  |  |                 #被动技能不学
 | 
 |  |  |                 learnSkillList.append(skillid)
 | 
 |  |  |             #广播
 | 
 |  |  |             PlayerControl.WorldNotify(0, 'PetUpLv', [playerName, petNPCID, limitPetClassLV, skillid])
 | 
 |  |  |             sysMark = sysMarkList[i] if i < len(sysMarkList) else 'PetUpLv'
 | 
 |  |  |             PlayerControl.WorldNotify(0, sysMark, [playerName, petNPCID, limitPetClassLV, skillid])
 | 
 |  |  | 
 | 
 |  |  |         if not learnSkillList and updClassLV + 1 == maxClassLV:
 | 
 |  |  |             PlayerControl.WorldNotify(0, 'PetUpLvMax', [playerName, petNPCID])
 |