| | |
| | | totalPetLV += classLV
|
| | | return totalPetLV
|
| | |
|
| | | def GetTotalPetCount(curPlayer):
|
| | | totalPetCount = 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)
|
| | | petIpyData = GetPetIpydata(petItemNPCID)
|
| | | if not petIpyData:
|
| | | continue
|
| | | totalPetCount += 1
|
| | | return totalPetCount
|
| | |
|
| | | def IsPetMaxLV(curPlayer, petNPCID):
|
| | | petItem = GetPetDataItemByNPCID(curPlayer, petNPCID)
|
| | | if not petItem:
|
| | |
| | | skillAttrList = [{} for _ in range(4)]
|
| | | allAttrListPetSkin = [{} for _ in range(4)]
|
| | | allAttrListTrain = [{} for _ in range(4)]
|
| | | totalMinAtk, totalMaxAtk = GetPetAtkValue(curPlayer)
|
| | | customAttrDictPet = {}
|
| | | totalMinAtk, totalMaxAtk, qualityAttrInfo = GetPetAtkValue(curPlayer)
|
| | | customAttrDictPet["petQualityAttrInfo"] = qualityAttrInfo
|
| | | PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_PetMinAtk, totalMinAtk, allAttrListPet)
|
| | | PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_PetMaxAtk, totalMaxAtk, allAttrListPet)
|
| | | totalSignNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalSignNum) # 总签到天数
|
| | |
| | |
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetTarin, allAttrListTrain)
|
| | |
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Pet, allAttrListPet)
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Pet, allAttrListPet, customAttrDict=customAttrDictPet)
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetSoul, allAttrListPetSoul)
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetSign, allAttrListPetSign)
|
| | |
|
| | |
| | |
|
| | | ## 获取灵兽出战时的攻击力
|
| | | def GetPetAtkValue(curPlayer):
|
| | | qualityAttrInfo = {}
|
| | | if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Pet):
|
| | | #GameWorld.DebugLog(' 宠物功能未开启')
|
| | | return 0, 0
|
| | | return 0, 0, qualityAttrInfo
|
| | |
|
| | | classAddAtk = 0
|
| | | petPackIndex = ShareDefine.rptPet
|
| | |
| | | petItemNPCID = packItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID)
|
| | | classlv = packItem.GetUserAttr(ShareDefine.Def_IudetPet_ClassLV)
|
| | | classIpyData = IpyGameDataPY.GetIpyGameData("PetClassCost", petItemNPCID, classlv + 1)
|
| | | classAddAtk += (classIpyData.GetAtkAdd() if classIpyData else 0)
|
| | | atkAdd = classIpyData.GetAtkAdd() if classIpyData else 0
|
| | | classAddAtk += atkAdd
|
| | | |
| | | petIpyData = GetPetIpydata(petItemNPCID)
|
| | | if petIpyData:
|
| | | quality = petIpyData.GetQuality()
|
| | | if quality not in qualityAttrInfo:
|
| | | qualityAttrInfo[quality] = {}
|
| | | qualityAttrDict = qualityAttrInfo[quality]
|
| | | qualityAttrDict[ShareDefine.Def_Effect_PetAtk] = qualityAttrDict.get(ShareDefine.Def_Effect_PetAtk, 0) + atkAdd
|
| | | |
| | | totalMinAtk = classAddAtk
|
| | | totalMaxAtk = classAddAtk
|
| | | return totalMinAtk, totalMaxAtk
|
| | | return totalMinAtk, totalMaxAtk, qualityAttrInfo
|
| | |
|
| | | def OnPlayerPetLogin(curPlayer):
|
| | | ## 登录处理
|