|  |  |  | 
|---|
|  |  |  | return 0 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | equipStar = ChEquip.GetEquipPartStarByRank(curPlayer, equipPackindex, curEquip) | 
|---|
|  |  |  | ipyData = IpyGameDataPY.GetIpyGameDataNotLog("ItemWashMax", washType, equipStar) | 
|---|
|  |  |  | if ipyData: | 
|---|
|  |  |  | return ipyData.GetLevelMax() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('ItemWashMax', {'Type':washType}, True, False) | 
|---|
|  |  |  | if not ipyDataList: | 
|---|
|  |  |  | ipyData = IpyGameDataPY.InterpolationSearch('ItemWashMax', 'Star', equipStar, {'Type':washType}) | 
|---|
|  |  |  | if not ipyData: | 
|---|
|  |  |  | return 0 | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | return ipyData.GetLevelMax() | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | return | 
|---|
|  |  |  | equipPlace = ipyData.GetEquipPlace() | 
|---|
|  |  |  | classLV = ipyData.GetClassLV() | 
|---|
|  |  |  | washLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipWashLV % equipPlace) + 1 | 
|---|
|  |  |  | washLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipWashLV % equipPackindex) + 1 | 
|---|
|  |  |  | maxWashLV = GetEquipWashMaxLV(curPlayer, equipPackindex, equipPlace) | 
|---|
|  |  |  | GameWorld.DebugLog("确认洗练结果: classLV=%s, equipPlace=%s,isSave=%s,washLV=%s,maxWashLV=%s" | 
|---|
|  |  |  | % (classLV, equipPlace, isSave, washLV, maxWashLV), playerID) | 
|---|
|  |  |  | 
|---|
|  |  |  | def CalcAttr_EquipWash(curPlayer, equipIndex, equipPlace, allAttrList): | 
|---|
|  |  |  | ## 装备位洗练属性 | 
|---|
|  |  |  | washLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipWashLV % equipIndex) + 1 | 
|---|
|  |  |  | maxWashLV = GetEquipWashMaxLV(curPlayer, equipIndex, equipPlace) | 
|---|
|  |  |  | washLV = min(washLV, maxWashLV) | 
|---|
|  |  |  | washType = GetEquipWashType(equipPlace) | 
|---|
|  |  |  | if washType is None: | 
|---|
|  |  |  | return | 
|---|
|  |  |  | 
|---|
|  |  |  | #GameWorld.DebugLog("装备位属性: equipPlace=%s,washLV=%s" % (equipPlace, washLV)) | 
|---|
|  |  |  | for attrNum in range(1, Def_EquipWashMaxAttrCount + 1): | 
|---|
|  |  |  | attrID = getattr(washData, "GetAttrType%s" % attrNum)() | 
|---|
|  |  |  | maxValue = getattr(washData, "GetAttrMax%s" % attrNum)() | 
|---|
|  |  |  | attrValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipWashValue % (equipIndex, attrNum)) | 
|---|
|  |  |  | attrValue = min(attrValue, maxValue) | 
|---|
|  |  |  | #GameWorld.DebugLog("    attrNum=%s,attrID=%s, attrValue=%s" % (attrNum, attrID, attrValue)) | 
|---|
|  |  |  | if attrValue: | 
|---|
|  |  |  | PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrList) | 
|---|