| | |
| | | awardRateList = IpyGameDataPY.GetFuncEvalCfg('EquipDecomposeAward', 2)
|
| | | resetItemIDList = IpyGameDataPY.GetFuncEvalCfg('EquipDecomposeAward', 3)
|
| | | giveCnt = updDecomposeCnt/perDecomposeCnt
|
| | | minCnt, minItemID = 0, 0
|
| | | for itemid in resetItemIDList:
|
| | | cnt = ItemControler.FindPlayerItemCountByItemID(curPlayer, IPY_GameWorld.rptItem, itemid)
|
| | | cnt += ItemControler.FindPlayerItemCountByItemID(curPlayer, IPY_GameWorld.rptWarehouse, itemid)
|
| | | if not minCnt or cnt < minCnt:
|
| | | minCnt = cnt
|
| | | minItemID = itemid
|
| | | |
| | | giveItemIDDict = {}
|
| | | for _ in xrange(giveCnt):
|
| | | itmeID = GameWorld.GetResultByRandomList(awardRateList)
|
| | | if not itmeID:
|
| | | continue
|
| | | if itmeID in resetItemIDList: #给玩家拥有最少的材料
|
| | | minCnt, rItemID = 0, 0
|
| | | for itemid in resetItemIDList:
|
| | | cnt = ItemControler.FindPlayerItemCountByItemID(curPlayer, IPY_GameWorld.rptItem, itemid)
|
| | | cnt += ItemControler.FindPlayerItemCountByItemID(curPlayer, IPY_GameWorld.rptWarehouse, itemid)
|
| | | if cnt and not minCnt or cnt < minCnt:
|
| | | minCnt = cnt
|
| | | rItemID = itemid
|
| | | if rItemID:
|
| | | itmeID = rItemID
|
| | | if itmeID in resetItemIDList and minItemID: #给玩家拥有最少的材料
|
| | | itmeID = minItemID
|
| | |
|
| | | giveItemIDDict[itmeID] = giveItemIDDict.get(itmeID, 0) + 1
|
| | | if giveItemIDDict:
|