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