From cbd1bd8a2a5670f4aa1f32fc894006966676ae2c Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 16 七月 2019 11:22:50 +0800
Subject: [PATCH] 7940 骑宠觉醒属性刷新

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py |   15 ++++++++++++++-
 1 files changed, 14 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 30f8c24..dee4a1b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
@@ -501,6 +501,7 @@
     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):
         #对应的任务限制未完成
@@ -528,6 +529,11 @@
                 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)
@@ -545,6 +551,8 @@
     # 保存计算值
     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):
@@ -1089,7 +1097,12 @@
     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
 

--
Gitblit v1.8.0