| | |
| | | totalEquipStars = ChEquip.GetTotalEquipStars(curPlayer)
|
| | |
|
| | | if not costEquipCnt:
|
| | | curRate = suitTotalRate / 2
|
| | | curRate = 100
|
| | | else:
|
| | | singleSuitRate = float(suitTotalRate) / costEquipCnt
|
| | | curRate = 0 #成功概率
|
| | |
|
| | | for i, index in enumerate(clientData.CostEquipIndex):
|
| | |
| | | if equipID != clientData.CostEquipID[i]:
|
| | | GameWorld.ErrLog(' 装备升星 客户端发的物品索引与实际物品ID不对应 index=%s,eatItemID=%s,wantEatItemID=%s' % (index, equipID, clientData.CostEquipID[i]))
|
| | | return result
|
| | | if costEquip.GetItemColor() not in costEquipColorList:
|
| | | itemColor = costEquip.GetItemColor()
|
| | | equipPlace = costEquip.GetEquipPlace()
|
| | | if itemColor not in costEquipColorList:
|
| | | return result
|
| | | if costEquip.GetEquipPlace() not in costEquipPlaceList:
|
| | | if equipPlace not in costEquipPlaceList:
|
| | | return result
|
| | | if isJobLimit and not ItemCommon.CheckJob(curPlayer, costEquip):
|
| | | return result
|
| | | delEquipIndexList.append(index)
|
| | | isSuite = costEquip.GetSuiteID()
|
| | | addRate = singleSuitRate if isSuite else singleSuitRate / 2
|
| | | curRate += addRate
|
| | | |
| | | ipyData = IpyGameDataPY.GetIpyGameData('EquipStarUpRate', ItemCommon.GetItemClassLV(costEquip), |
| | | itemColor, equipPlace, isSuite
|
| | | )
|
| | | if not ipyData:
|
| | | return
|
| | | curRate += ipyData.GetRate()
|
| | | if totalEquipStars < IpyGameDataPY.GetFuncCfg('EquipStarCustomized'):
|
| | | curRate = 100
|
| | | if curRate <= 0:
|