From b965081066ea579c45c73f08cd9cd61bc157ac9f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 09 五月 2019 11:15:45 +0800
Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(防范跨服妖王关闭线路时导致的报错)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
index cb5b84d..cca0faa 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
@@ -152,6 +152,9 @@
     #刷新所有属性
     playControl = PlayerControl.PlayerControl(curPlayer)
     playControl.RefreshPlayerAttrState()
+    
+    #装备的被动触发类技能
+    PassiveBuffEffMng.GetPassiveEffManager().RegistSuperEquipSkillDict(curPlayer)
     return True
 
 
@@ -168,6 +171,15 @@
 
     #if isRefreshEquipBuff:
     #    __RefreshPlayerAllEquipBuff(curPlayer)
+    
+    if classLV:
+        playerID = curPlayer.GetPlayerID()
+        if playerID not in PyGameData.g_equipChangeClassLVInfo:
+            PyGameData.g_equipChangeClassLVInfo[playerID] = []
+        classLVList = PyGameData.g_equipChangeClassLVInfo[playerID]
+        if classLV not in classLVList:
+            classLVList.append(classLV)
+            #GameWorld.DebugLog("添加装备缓存变更阶: classLV=%s, %s" % (classLV, classLVList), playerID)
     return
 
 ## 刷新所有装备对人物属性的改变
@@ -366,6 +378,9 @@
     #刷新所有属性
     playControl = PlayerControl.PlayerControl(curPlayer)
     playControl.RefreshPlayerAttrState()
+    
+    #装备的被动触发类技能
+    PassiveBuffEffMng.GetPassiveEffManager().RegistSuperEquipSkillDict(curPlayer)
     return
 
 
@@ -1188,6 +1203,17 @@
     maxStarLV = ItemCommon.GetItemMaxStar(curEquip)
     return min(GetEquipPartStar(curPlayer, equipPackindex), maxStarLV)
 
+def GetTotalEquipStars(curPlayer):
+    ##获取部位总星数
+    totalStar = 0
+    equipMaxClasslv = IpyGameDataPY.GetFuncCfg('EquipMaxClasslv')
+    for equipPlace in ChConfig.Pack_EquipPart_CanPlusStar.get(IPY_GameWorld.rptEquip, []):
+        for classlv in xrange(1, equipMaxClasslv+1):
+            ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classlv, equipPlace)
+            if not ipyData:
+                continue
+            totalStar +=GetEquipPartStar(curPlayer, ipyData.GetGridIndex())
+    return totalStar
 
 ## 通知公共部位星数
 def NotifyEquipPartStar(curPlayer, index=None):

--
Gitblit v1.8.0