From ff52a6596b014b171a10de35779648e46b7a621b Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期一, 11 三月 2019 17:28:23 +0800 Subject: [PATCH] 6307 【后端】【2.0】多套装备开发单(洗练配置修改) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py | 84 ++++++++++++++++++------------------------ 1 files changed, 36 insertions(+), 48 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py index 91aef53..2177e5c 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py @@ -46,9 +46,7 @@ washType = GetEquipWashType(equipPlace) if not washType: return 0 - maxLVDict = IpyGameDataPY.GetFuncEvalCfg("EquipWashGroup%s" % washType, 2) - if not maxLVDict: - return 0 + equipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip) curEquip = equipPack.GetAt(equipPackindex) if not curEquip or curEquip.IsEmpty(): @@ -56,38 +54,29 @@ return 0 equipStar = ChEquip.GetEquipPartStarByRank(curPlayer, equipPackindex, curEquip) - minStarCfg = min(maxLVDict) - if equipStar < minStarCfg: - GameWorld.DebugLog("该装备位装备星数=%s < minStarCfg(%s),无法洗练!equipPackindex=%s" - % (equipStar, minStarCfg, equipPackindex)) + ipyData = IpyGameDataPY.GetIpyGameDataNotLog("ItemWashMax", washType, equipStar) + if ipyData: + return ipyData.GetLevelMax() + + ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('ItemWashMax', {'Type':washType}, True, False) + if not ipyDataList: return 0 - if equipStar in maxLVDict: - maxWashLV = maxLVDict[equipStar] - if not maxWashLV: - GameWorld.DebugLog("该装备位装备星数=%s,maxWashLV=%s,无法洗练!equipPackindex=%s" - % (equipStar, maxWashLV, equipPackindex)) - return 0 - return maxWashLV - maxStarCfg = max(maxLVDict) - if equipStar > maxStarCfg: - return maxLVDict[maxStarCfg] - # 默认返回当前部位洗练等级 - return curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipWashLV % equipPackindex) + 1 + maxStar = ipyDataList[-1].GetStar() + if equipStar > maxStar: + return ipyDataList[-1].GetLevelMax() + findMax = 0 + for ipyData in ipyDataList: + if equipStar >= ipyData.GetStar(): + findMax = ipyData.GetLevelMax() + return findMax + + -def GetEquipWashPlaceList(washType): - ## 获取洗练类型对应的所有装备位 - placeList = IpyGameDataPY.GetFuncEvalCfg("EquipWashGroup%s" % washType, 1) - if placeList: - return placeList - return [] def GetEquipWashType(equipPlace): ## 获取装备位对应的洗练类型 - for washType in range(1, Def_EquipWashMaxType + 1): - placeList = GetEquipWashPlaceList(washType) - if equipPlace in placeList: - return washType - return + return IpyGameDataPY.GetFuncEvalCfg('EquipWashGroup', 1, {}).get(equipPlace) + def GetEquipWashData(washType, washLV): return IpyGameDataPY.GetIpyGameData("EquipWash", washType, washLV) @@ -97,13 +86,12 @@ global g_allIndexList if not g_allIndexList: maxClasslv = IpyGameDataPY.GetFuncCfg('EquipMaxClasslv') - for washType in range(1, Def_EquipWashMaxType + 1): - for equipPlace in GetEquipWashPlaceList(washType): - for classLV in xrange(1, maxClasslv+1): - ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace) - if not ipyData: - continue - g_allIndexList.append(ipyData.GetGridIndex()) + for equipPlace in IpyGameDataPY.GetFuncEvalCfg('EquipWashGroup', 1, {}): + for classLV in xrange(1, maxClasslv+1): + ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace) + if not ipyData: + continue + g_allIndexList.append(ipyData.GetGridIndex()) return g_allIndexList #// A3 25 装备洗炼 #tagCMEquipXLAttrChange @@ -455,16 +443,16 @@ return def EquipWashSuccess(curPlayer): - succList = [ShareDefine.SuccType_EquipWashLV1,ShareDefine.SuccType_EquipWashLV2,ShareDefine.SuccType_EquipWashLV3] - for washType in range(1, Def_EquipWashMaxType + 1): - washTypeLV = 999 - placeList = GetEquipWashPlaceList(washType) - for equipPlace in placeList: - washLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipWashLV % equipPlace) + 1 - washTypeLV = min(washTypeLV, washLV) - - if not washTypeLV: - continue - PlayerSuccess.DoAddSuccessProgress(curPlayer, succList[washType-1], 1, [washTypeLV]) +# succList = [ShareDefine.SuccType_EquipWashLV1,ShareDefine.SuccType_EquipWashLV2,ShareDefine.SuccType_EquipWashLV3] +# for washType in range(1, Def_EquipWashMaxType + 1): +# washTypeLV = 999 +# placeList = GetEquipWashPlaceList(washType) +# for equipPlace in placeList: +# washLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipWashLV % equipPlace) + 1 +# washTypeLV = min(washTypeLV, washLV) +# +# if not washTypeLV: +# continue +# PlayerSuccess.DoAddSuccessProgress(curPlayer, succList[washType-1], 1, [washTypeLV]) return -- Gitblit v1.8.0