5257 【后端】【1.3】【1.3.100】符印解锁判断优化
| | |
| | | struct tagRune
|
| | | {
|
| | | DWORD _ID; //编号ID
|
| | | list AttrType; //全身强化激活属性类型
|
| | | list AttrType; //属性类型
|
| | | DWORD TowerID; //解锁符印塔编号
|
| | | };
|
| | |
|
| | |
|
| | |
| | | "Rune":(
|
| | | ("DWORD", "ID", 1),
|
| | | ("list", "AttrType", 0),
|
| | | ("DWORD", "TowerID", 0),
|
| | | ),
|
| | |
|
| | | "EquipWash":(
|
| | |
| | | |
| | | 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(): |
| | |
| | |
|
| | | ## 获取符印是否已解锁
|
| | | 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
|
| | |
|