| | |
| | | giveCnt = 0
|
| | | if perDecomposeCnt and updDecomposeCnt >= perDecomposeCnt:
|
| | | 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 minItemID or cnt < minCnt:
|
| | | minCnt = cnt
|
| | | minItemID = itemid
|
| | | |
| | | giveItemIDDict = {}
|
| | | for _ in xrange(giveCnt):
|
| | | itmeID = GameWorld.GetResultByRandomList(awardRateList)
|
| | | if not itmeID:
|
| | | continue
|
| | | if itmeID in resetItemIDList and minItemID: #给玩家拥有最少的材料
|
| | | itmeID = minItemID
|
| | | |
| | | giveItemIDDict[itmeID] = giveItemIDDict.get(itmeID, 0) + 1
|
| | | if giveItemIDDict:
|
| | | for giveItemID, itemCnt in giveItemIDDict.items():
|
| | |
| | | DataRecordPack.DR_ClassUpSystem(curPlayer, "EquipDecomposeUp", updLV, saveDataDict)
|
| | |
|
| | | #EventReport.WriteEvent__lv(curPlayer, LV, updLV, Exp, updExp)
|
| | | # 整理背包
|
| | | tick = GameWorld.GetGameWorld().GetTick()
|
| | | ItemControler.ResetItem(curPlayer, IPY_GameWorld.rptItem, 0, 0, tick)
|
| | | return len(drDelItemList), giveCnt
|
| | |
|
| | | ##获取可以吞噬的物品信息
|