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