From 063c37a60dfad1fad8e31ee235e0d69c3ae35481 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 12 一月 2023 17:12:08 +0800 Subject: [PATCH] 9762 【BT8】【后端】藏宝阁(古宝特殊效果属性支持) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py | 26 +++++++++++++++++++++++++- 1 files changed, 25 insertions(+), 1 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py index 926e4fd..ca0e5b0 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py @@ -404,6 +404,8 @@ allAttrListSkin = [{} for _ in range(4)] allAttrListTrain = [{} for _ in range(4)] + customAttrDictSkin = {} + horseSpeed = 0 # 坐骑功能增加的速度值,骑乘时才有效果 horseLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HorserLV) # 等阶培养属性 @@ -436,6 +438,7 @@ # 幻化属性 initFPAdd = 0 #初始战力 + horseSkinQualityAttrInfo = {} for index in xrange(ipyDataMgr.GetHorseSkinPlusCount()): skinPlusIpyData = ipyDataMgr.GetHorseSkinPlusByIndex(index) if not CheckHorseSkinState(curPlayer, skinPlusIpyData): @@ -459,6 +462,17 @@ for attrID, attrValue in skinIpyData.GetAttrInfo().items(): PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrListSkin) + hIpyData = IpyGameDataPY.GetIpyGameData("Horse", horseID) + if hIpyData: + quality = hIpyData.GetQuality() + if quality not in horseSkinQualityAttrInfo: + horseSkinQualityAttrInfo[quality] = {} + qualityAttrDict = horseSkinQualityAttrInfo[quality] + for i, attrID in enumerate(attrTypeList): + attrValue = attrValueList[i] + qualityAttrDict[attrID] = qualityAttrDict.get(attrID, 0) + attrValue + customAttrDictSkin["horseSkinQualityAttrInfo"] = horseSkinQualityAttrInfo + # 新培养属性 for index in xrange(ipyDataMgr.GetHorseTrainCount()): trainIpyData = ipyDataMgr.GetHorseTrainByIndex(index) @@ -507,10 +521,20 @@ # 保存计算值 PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Horse, allAttrList) PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_HorseSoul, allAttrListHorseSoul) - PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_HorseSkin, allAttrListSkin) + PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_HorseSkin, allAttrListSkin, customAttrDict=customAttrDictSkin) PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_HorseTarin, allAttrListTrain) return +def GetHorseSkinActCount(curPlayer): + horseSkinActCount = 0 + ipyDataMgr = IpyGameDataPY.IPY_Data() + for index in xrange(ipyDataMgr.GetHorseSkinPlusCount()): + skinPlusIpyData = ipyDataMgr.GetHorseSkinPlusByIndex(index) + if not CheckHorseSkinState(curPlayer, skinPlusIpyData): + continue + horseSkinActCount += 1 + return horseSkinActCount + #// A5 27 坐骑提升 #tagCMHorseUp # #struct tagCMHorseUp -- Gitblit v1.8.0