From b18f4c3d01b89c7f5c539e28f7780884da952cee Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 06 十二月 2018 13:50:18 +0800
Subject: [PATCH] 5257 【后端】【1.3】【1.3.100】符印解锁判断优化

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRune.py |   19 ++++---------------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py     |    7 +++++--
 PySysDB/PySysDBPY.h                                                                      |    3 ++-
 3 files changed, 11 insertions(+), 18 deletions(-)

diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index fe91079..e9b8833 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -160,7 +160,8 @@
 struct tagRune
 {
 	DWORD		_ID;	//编号ID
-	list		AttrType;	//全身强化激活属性类型
+	list		AttrType;	//属性类型
+	DWORD		TowerID;	//解锁符印塔编号
 };
 
 
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 87f794c..1f76954 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -151,6 +151,7 @@
                 "Rune":(
                         ("DWORD", "ID", 1),
                         ("list", "AttrType", 0),
+                        ("DWORD", "TowerID", 0),
                         ),
 
                 "EquipWash":(
@@ -1379,11 +1380,13 @@
     
     def __init__(self):
         self.ID = 0
-        self.AttrType = []
+        self.AttrType = []
+        self.TowerID = 0
         return
         
     def GetID(self): return self.ID # 编号ID
-    def GetAttrType(self): return self.AttrType # 全身强化激活属性类型
+    def GetAttrType(self): return self.AttrType # 属性类型
+    def GetTowerID(self): return self.TowerID # 解锁符印塔编号
 
 # 洗练表
 class IPY_EquipWash():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRune.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRune.py
index 112bad0..8880a52 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRune.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRune.py
@@ -205,21 +205,10 @@
 
 ## 获取符印是否已解锁
 def GetIsOpenByRuneID(curPlayer, itemid):
-    itemData = GameWorld.GetGameData().GetItemByTypeID(itemid)
-    if not itemData:
-        return
-    curPassLV = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_TrialTower_PassLV)
-    curEff = itemData.GetEffectByIndex(0)
-    curRuneType = curEff.GetEffectID()
-    floorCnt = IpyGameDataPY.GetFuncCfg('TowerRuneType', 2)
-    towerRuneTypeDict = IpyGameDataPY.GetFuncEvalCfg('TowerRuneType')
-    floorList = [int(i) for i in towerRuneTypeDict]
-    floorList.sort()
-    for floor in floorList:
-        typeList = towerRuneTypeDict[str(floor)]
-        if curRuneType in typeList:
-            floorkey = (int(floor) - 1)*100+ floorCnt if int(floor) > 1 else 0
-            return curPassLV >= floorkey
+    ipyData = GetRuneIpyData(itemid)
+    if ipyData:
+        curPassLV = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_TrialTower_PassLV)
+        return curPassLV >= ipyData.GetTowerID()
     # 没配置限制层数解锁的默认解锁
     return True
 

--
Gitblit v1.8.0