| | |
| | | import IpyGameDataPY
|
| | | import PlayerAttrFruit
|
| | | import GameMap
|
| | | import OpenServerCampaign
|
| | | import PlayerMagicWeapon
|
| | | import PassiveBuffEffMng
|
| | | import CalcNoLineEffect
|
| | |
| | | #---通知客户端---
|
| | | #rolePet.Sync_PetInfo()
|
| | | #刷新技能栏
|
| | | rolePet.Sync_SkillList()
|
| | | #rolePet.Sync_SkillList()
|
| | |
|
| | | #---收到"宠物出战"请求---
|
| | | #检查是否可出战
|
| | |
| | | PetControl.DoLogic_PlayerPetLearnSkillList(rolePet, learnSkillList)
|
| | | RefreshPetItemAddAttr(curPlayer, True)
|
| | | SetPetSkillFightPower(curPlayer) # 技能战力重算
|
| | | |
| | | # 开服活动数据
|
| | | OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_PetLV, GetTotalPetLV(curPlayer))
|
| | | return True
|
| | |
|
| | |
|
| | |
| | |
|
| | | SetPetSkillFightPower(curPlayer) # 技能战力重算
|
| | | RefreshPetItemAddAttr(curPlayer, True)
|
| | |
|
| | | |
| | | # 开服活动数据
|
| | | OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_PetLV, GetTotalPetLV(curPlayer))
|
| | | |
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_PetClassLV, 1, [petNPCID, updClassLV + 1])
|
| | | extraInfoDict = {"petItemIndex":PetItemIndex, "petNPCID":petNPCID}
|
| | | extraInfoDict.update(eval(petDataItem.GetUserData()))
|
| | | DataRecordPack.DR_ClassUpSystem(curPlayer, "PetClassUp", updClassLV, extraInfoDict)
|
| | |
|
| | | #EventReport.WriteEvent_pet_class(curPlayer, petNpcData.GetName(), classLV, petClassExp, updClassLV, newClassExp)
|
| | | |
| | | return
|
| | |
|
| | |
|
| | | def GetTotalPetLV(curPlayer):
|
| | | totalPetLV = 0
|
| | | petPackIndex = ShareDefine.rptPet
|
| | | petPack = curPlayer.GetItemManager().GetPack(petPackIndex)
|
| | | for i in range(petPack.GetCount()):
|
| | | petItem = petPack.GetAt(i)
|
| | | if petItem.IsEmpty():
|
| | | continue |
| | | petItemNPCID = petItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID)
|
| | | classLV = petItem.GetUserAttr(ShareDefine.Def_IudetPet_ClassLV) + 1
|
| | | petIpyData = GetPetIpydata(petItemNPCID)
|
| | | if not petIpyData:
|
| | | continue
|
| | | totalPetLV += classLV
|
| | | return totalPetLV
|
| | |
|
| | | ## 刷新宠物数据物品增加的属性
|
| | | def RefreshPetItemAddAttr(curPlayer, isUpdBillboard):
|
| | |
| | | PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_PetMaxAtk, totalMaxAtk, allAttrListPet)
|
| | | totalSignNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalSignNum) # 总签到天数
|
| | | # 果实给人物加属性, 魂石果实算附加属性层,单独计算
|
| | | PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListPetSoul, ShareDefine.Def_AttrFruitFunc_Pet)
|
| | | fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListPetSoul, ShareDefine.Def_AttrFruitFunc_Pet)
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_PetSoul, fightPowerEx)
|
| | |
|
| | | #灵兽技能给人物加的属性
|
| | | learnSkillList, passiveSkillList = GetPetLearnSkill(curPlayer)
|