From 1579f778ac32e4a62e830f52611715c5c7c5a307 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 04 七月 2019 11:48:21 +0800 Subject: [PATCH] 7803 【2.0.200】【后端】灵根升品显示特效 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 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 045797c..ed46c5d 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py @@ -4144,12 +4144,15 @@ ShareDefine.Def_Effect_Fire:[lambda curObj:GetFire(curObj), lambda curObj, value:SetFireQualityLV(curObj, value), lambda curObj:GetFireQualityLV(curObj)], ShareDefine.Def_Effect_Earth:[lambda curObj:GetEarth(curObj), lambda curObj, value:SetEarthQualityLV(curObj, value), lambda curObj:GetEarthQualityLV(curObj)], } + hasChange_Qualitylv = False #灵根品级是否有变更 lingGenQualityAttrList = [{} for _ in range(4)] for pointAttrID, pointFuncInfo in pointValueInfo.items(): pointValue = pointFuncInfo[0](curPlayer) befPQLV = pointFuncInfo[2](curPlayer) pointFuncInfo[1](curPlayer, 0) if not pointValue: + if 0 != befPQLV: + hasChange_Qualitylv = True continue ipyData = IpyGameDataPY.GetIpyGameData("RolePoint", pointAttrID) if not ipyData: @@ -4173,6 +4176,8 @@ else: break pointFuncInfo[1](curPlayer, curPQLV) + if curPQLV != befPQLV: + hasChange_Qualitylv = True if not curPQLV: continue pqAttrInfoDict = ipyData.GetPointQualityAttrDict().get(str(curPlayer.GetJob()), {}) @@ -4189,7 +4194,7 @@ curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Role, pointFightPowerEx) SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_RoleBase, allAttrList) SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_LingGenQuailty, lingGenQualityAttrList) - return + return hasChange_Qualitylv #--------------------------------------------------------------------- def NotifyAllState(self, playerStateDict): @@ -4452,7 +4457,7 @@ CalcNoLineEffect.ChangePlayerAttrInNoLineEffectList(curPlayer, baseAttrNolineDict) # 功能有加基础属性值,这里再重新刷新一下基础属性, 基础属性会影响战斗属性, 每次都刷新角色基础属性 - self.CalcRoleBaseAttr(curPlayer) + hasChange_Qualitylv = self.CalcRoleBaseAttr(curPlayer) roleBaseAttrInfo, roleInsidePerAttrDict = GetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_RoleBase) lingGenQualityAttrList, lingGenQualityInsidePerAttrDict = GetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_LingGenQuailty) funcAttrInfoList[ChConfig.Def_CalcAttrFunc_RoleBase] = roleBaseAttrInfo @@ -4629,6 +4634,10 @@ if beforePointList[i] != afterPointList[i]: diffPointAttrList.append(attrID) SkillShell.RefreshElementSkillByAttr(curPlayer, diffPointAttrList) + if hasChange_Qualitylv: + #灵根品级变化处理 + ChEquip.ChangeEquipfacadeByLingGen(curPlayer) + # 更新开服活动灵根数据 OpenServerCampaign.UpdOpenServerCampaignLingGenData(curPlayer) -- Gitblit v1.8.0