| | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_EquipDecomposeCnt, updDecomposeCnt%perDecomposeCnt)
|
| | | jsonItemList = []
|
| | | giveCnt = 0
|
| | | if updDecomposeCnt >= perDecomposeCnt:
|
| | | awardList = IpyGameDataPY.GetFuncCfg('EquipDecomposeAward', 2)
|
| | | if not awardList:
|
| | | return len(drDelItemList), giveCnt
|
| | | if perDecomposeCnt and updDecomposeCnt >= perDecomposeCnt:
|
| | | awardRateList = IpyGameDataPY.GetFuncEvalCfg('EquipDecomposeAward', 2)
|
| | | giveCnt = updDecomposeCnt/perDecomposeCnt
|
| | | giveItemIDDict = {}
|
| | | for _ in xrange(giveCnt):
|
| | | itmeID = random.choice(awardList)
|
| | | itmeID = GameWorld.GetResultByRandomList(awardRateList)
|
| | | if not itmeID:
|
| | | continue
|
| | | giveItemIDDict[itmeID] = giveItemIDDict.get(itmeID, 0) + 1
|
| | | for giveItemID, itemCnt in giveItemIDDict.items(): |
| | | jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1]))
|
| | | needSpace = len(giveItemIDDict)
|
| | | packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
|
| | | if packSpace < needSpace:
|
| | | prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()]
|
| | | PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList)
|
| | | else:
|
| | | for giveItemID, itemCnt in giveItemIDDict.items():
|
| | | ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, 0, [IPY_GameWorld.rptItem])
|
| | | if giveItemIDDict:
|
| | | for giveItemID, itemCnt in giveItemIDDict.items(): |
| | | jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1]))
|
| | | needSpace = len(giveItemIDDict)
|
| | | packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
|
| | | if packSpace < needSpace:
|
| | | prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()]
|
| | | PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList)
|
| | | else:
|
| | | for giveItemID, itemCnt in giveItemIDDict.items():
|
| | | ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, 0, [IPY_GameWorld.rptItem])
|
| | |
|
| | | #同步客户端
|
| | | Sync_EDLVInfo(curPlayer, jsonItemList)
|