| | |
| | | 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():
|
| | |
| | | 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)
|
| | |
| | | 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
|
| | |
| | | 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
|
| | |
|