xdh
2018-12-06 b18f4c3d01b89c7f5c539e28f7780884da952cee
5257 【后端】【1.3】【1.3.100】符印解锁判断优化
3个文件已修改
29 ■■■■■ 已修改文件
PySysDB/PySysDBPY.h 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRune.py 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBPY.h
@@ -160,7 +160,8 @@
struct tagRune
{
    DWORD        _ID;    //编号ID
    list        AttrType;    //全身强化激活属性类型
    list        AttrType;    //属性类型
    DWORD        TowerID;    //解锁符印塔编号
};
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():
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