From efb45afae0f9f1f8471ef89505fd6a68d03d1ed9 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期日, 28 四月 2019 13:47:16 +0800
Subject: [PATCH] 6607 【2.0】【后端】技能升级功能改版(点数变更刷新修改)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index b92939b..5d406a6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -4345,6 +4345,8 @@
         beforeMaxHP = curPlayer.GetMaxHP()
         beforeMoveSpeedValue = GetSpeedValue(curPlayer)
         beforeMaxProDef = GetMaxProDef(curPlayer)
+        #[金木水火土]
+        beforePointList = [GetMetal(curPlayer), GetWood(curPlayer), GetWater(curPlayer), GetFire(curPlayer), GetEarth(curPlayer)]
         #构建玩家刷新通知客户端字典, 缓存[索引, 数值]
         playerStateDict = {}
         for index in xrange(1, ChConfig.Def_Calc_AllAttrType_MAX):
@@ -4551,7 +4553,17 @@
         
         #通知基础属性
         self.__SyncBaseAttr(curPlayer, baseAttrList)
-        
+        #五行灵根变更需要处理的逻辑
+        afterPointList = [GetMetal(curPlayer), GetWood(curPlayer), GetWater(curPlayer), GetFire(curPlayer), GetEarth(curPlayer)]
+        if beforePointList !=afterPointList:
+            diffPointAttrList = []
+            for i, attrID in enumerate([ShareDefine.Def_Effect_Metal, ShareDefine.Def_Effect_Wood, ShareDefine.Def_Effect_Water,
+                           ShareDefine.Def_Effect_Fire, ShareDefine.Def_Effect_Earth]):
+                if beforePointList[i] != afterPointList[i]:
+                    diffPointAttrList.append(attrID)
+            SkillShell.RefreshElementSkillByAttr(curPlayer, diffPointAttrList)
+                
+             
         # 同步前端战力,因为有 SetFightPower 所以累加战力放在这里所有刷新及计算处理完后才处理,才能正常触发set同步前端
         self.SendModuleFightPowerPack(curPlayer, mfpDict)
         billFuncCnt = len(PyGameData.g_refreshAttrBillboardFunc) # 只处理固定次数,防止死循环

--
Gitblit v1.8.0