| | |
| | | Def_PDict_Horser_Exp = "Horser_Exp_%d" # 坐骑经验
|
| | | Def_PDict_Horser_Multiple = "Horser_Multiple" # 坐骑下次升阶暴击倍数
|
| | | #骑宠觉醒
|
| | | Def_PDict_HorsePetSkinData = "HorsePetSkinData%d_%s" #觉醒等级*100+外观索引 参数(类型,关联ID)
|
| | | Def_PDict_HorsePetSkinExp = "HorsePetSkinExp%d_%s" #经验 参数(类型,关联ID)
|
| | | Def_PDict_HorsePetSkinData = "HorsePetSkinData%d_%s" #觉醒等级*100+外观索引 参数(类型,关联ID) 1-坐骑 2-灵宠
|
| | | Def_PDict_HorsePetSkinExp = "HorsePetSkinExp%d_%s" #经验 参数(类型,关联ID) 1-坐骑 2-灵宠
|
| | | # 符印
|
| | | Def_PDict_Rune_HoleOpenState = "Rune_HoleOpenState" # 符印解锁状态
|
| | | Def_PDict_Rune_Data = "Rune_Data_%s" # 符印镶嵌数据, 参数(第几孔)
|
| | |
| | | Def_CalcAttrFunc_Coat, # ʱװ 36
|
| | | Def_CalcAttrFunc_LingQi, # 灵器 37
|
| | | Def_CalcAttrFunc_LingQiAttr, # 灵器属性 38
|
| | | ) = range(39)
|
| | | Def_CalcAttrFunc_HorseSkin, # 坐骑觉醒 39
|
| | | Def_CalcAttrFunc_PetSkin, # 灵宠觉醒 40
|
| | | ) = range(41)
|
| | |
|
| | | # 技能功能点列表 - 默认不算战力,不享受百分比加成,技能功能点暂时配置,之后优化技能属性逻辑后可去掉
|
| | | CalcAttrFuncSkillList = [Def_CalcAttrFunc_HorseSkill, Def_CalcAttrFunc_PetSkill, Def_CalcAttrFunc_DogzBattleSkill]
|
| | |
| | | ShareDefine.Def_MFPType_Stone:[Def_CalcAttrFunc_Stone],
|
| | | ShareDefine.Def_MFPType_LingQi:[Def_CalcAttrFunc_LingQi, Def_CalcAttrFunc_LingQiAttr],
|
| | | ShareDefine.Def_MFPType_Wash:[Def_CalcAttrFunc_Wash],
|
| | | ShareDefine.Def_MFPType_Pet:[Def_CalcAttrFunc_Pet, Def_CalcAttrFunc_PetSign, Def_CalcAttrFunc_PetSkill],
|
| | | ShareDefine.Def_MFPType_Pet:[Def_CalcAttrFunc_Pet, Def_CalcAttrFunc_PetSign, Def_CalcAttrFunc_PetSkill, Def_CalcAttrFunc_PetSkin],
|
| | | ShareDefine.Def_MFPType_PetSoul:[Def_CalcAttrFunc_PetSoul],
|
| | | ShareDefine.Def_MFPType_Horse:[Def_CalcAttrFunc_Horse, Def_CalcAttrFunc_HorseSkill],
|
| | | ShareDefine.Def_MFPType_Horse:[Def_CalcAttrFunc_Horse, Def_CalcAttrFunc_HorseSkill, Def_CalcAttrFunc_HorseSkin],
|
| | | ShareDefine.Def_MFPType_HorseSoul:[Def_CalcAttrFunc_HorseSoul],
|
| | | ShareDefine.Def_MFPType_Prestige:[Def_CalcAttrFunc_Prestige],
|
| | | ShareDefine.Def_MFPType_GodWeapon:[Def_CalcAttrFunc_GodWeapon],
|
| | |
| | | ChConfig.Def_CalcAttrFunc_MagicWeapon2:"魔族法宝属性",
|
| | | ChConfig.Def_CalcAttrFunc_MagicWeapon3:"仙族法宝属性",
|
| | | ChConfig.Def_CalcAttrFunc_MagicWeapon4:"王者法宝属性",
|
| | | ChConfig.Def_CalcAttrFunc_HorseSkin:"坐骑觉醒", |
| | | ChConfig.Def_CalcAttrFunc_PetSkin:"灵宠觉醒", |
| | | }
|
| | |
|
| | | GameWorld.DebugAnswer(curPlayer, "PrintFightPower 模块类型(可选)")
|
| | |
| | | allAttrList = [{} for _ in range(4)]
|
| | | allAttrListHorseSoul = [{} for _ in range(4)]
|
| | | skillAttrList = [{} for _ in range(4)]
|
| | | allAttrListSkin = [{} for _ in range(4)]
|
| | | # 判断玩家是否可以升级马匹
|
| | | if isCheckOpen and not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Horse):
|
| | | #对应的任务限制未完成
|
| | |
| | | maxSpeed = max(maxSpeed, attrValueList[i])
|
| | | continue
|
| | | PlayerControl.CalcAttrDict_Type(attrID, attrValueList[i], allAttrList)
|
| | | skinData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HorsePetSkinData % (1, horseID), 0)
|
| | | skinIpyData = IpyGameDataPY.GetIpyGameDataNotLog('HorsePetSkin', 1, horseID, skinData/100)
|
| | | if skinIpyData:
|
| | | for attrID, attrValue in skinIpyData.GetAttrInfo().items():
|
| | | PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrListSkin)
|
| | |
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Horse, skillFPEx+initFPAdd)
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_HorseSkill, skillAttrList)
|
| | |
| | | # 保存计算值
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Horse, allAttrList)
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_HorseSoul, allAttrListHorseSoul)
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_HorseSkin, allAttrListSkin)
|
| | | |
| | | return
|
| | |
|
| | | def __CalcHorseSkillAttr(curPlayer, allAttrList):
|
| | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HorsePetSkinExp % (skintype, horsePetID), updExp)
|
| | | if curSkinIndex != updSkinIndex:
|
| | | __DoHorsePetSkinChange(curPlayer, skintype, horsePetID, updSkinIndex)
|
| | | if updSkinLV != curSkinLV:
|
| | | if skintype == 1:
|
| | | RefreshHorseAttr(curPlayer)
|
| | | else:
|
| | | PlayerPet.RefreshPetItemAddAttr(curPlayer, True)
|
| | |
|
| | | SyncHorsePetSkinData(curPlayer, [[skintype, horsePetID]])
|
| | | return
|
| | |
| | | allAttrListPetSign = [{} for _ in range(4)] # 属性含 特殊的技能属性(因为签到技能属性成长,战力也是成长的,所以不能放技能中算战力,暂时放魂石中)
|
| | | allAttrListPetSoul = [{} for _ in range(4)]
|
| | | skillAttrList = [{} for _ in range(4)]
|
| | | |
| | | allAttrListPetSkin = [{} for _ in range(4)]
|
| | | totalMinAtk, totalMaxAtk = GetPetAtkValue(curPlayer)
|
| | | PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_PetMinAtk, totalMinAtk, allAttrListPet)
|
| | | PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_PetMaxAtk, totalMaxAtk, allAttrListPet)
|
| | |
| | | continue
|
| | | SkillShell.CalcBuffEffAttr(curPlayer, curEffect, skillAttrList)
|
| | |
|
| | | |
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Pet, allAttrListPet)
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetSoul, allAttrListPetSoul)
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetSign, allAttrListPetSign)
|
| | |
| | | if not petIpyData:
|
| | | continue
|
| | | initFPAdd += petIpyData.GetInitFightPower()
|
| | | #觉醒战力
|
| | | skinData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HorsePetSkinData % (2, petItemNPCID), 0)
|
| | | skinIpyData = IpyGameDataPY.GetIpyGameDataNotLog('HorsePetSkin', 2, petItemNPCID, skinData/100)
|
| | | if skinIpyData:
|
| | | for attrID, attrValue in skinIpyData.GetAttrInfo().items():
|
| | | PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrListPetSkin)
|
| | | PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetSkin, allAttrListPetSkin)
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Pet, initFPAdd)
|
| | | # GameWorld.DebugLog("宠物榜NPCID: %s, petDict=%s" % (billPetNPCID, str(billPetDict)))
|
| | | return
|