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