| | |
| | | def CrossServerMsg_LuckyCloudBuyNum(curPlayer, msgData):
|
| | |
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | _, roundID, buyCount = msgData
|
| | | _, roundID, buyCount, awardItemList = msgData
|
| | |
|
| | | # 消耗钱及奖励必须执行,增加次数需同一个轮次ID
|
| | | playerRoundID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LuckyCloudBuy_RoundID)
|
| | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyCloudBuy_BuyCount, updBuyCount)
|
| | | GameWorld.Log(" 更新幸运云购购买次数: updBuyCount=%s" % (updBuyCount), playerID)
|
| | |
|
| | | baseAwardList = IpyGameDataPY.GetFuncEvalCfg("LuckyCloudBuyAward", 1) # 固定奖励列表
|
| | | randAwardList = IpyGameDataPY.GetFuncEvalCfg("LuckyCloudBuyAward", 2) # 随机饼图奖励列表
|
| | | awardItemDict = {}
|
| | | for _ in range(buyCount):
|
| | | |
| | | itemList = []
|
| | | itemList += baseAwardList
|
| | | randItemInfo = GameWorld.GetResultByRandomList(randAwardList)
|
| | | if randItemInfo:
|
| | | itemList.append(randItemInfo)
|
| | | |
| | | for itemID, itemCount, isAuctionItem in itemList:
|
| | | if itemID not in awardItemDict:
|
| | | awardItemDict[itemID] = [itemID, itemCount, isAuctionItem]
|
| | | else:
|
| | | awardItemDict[itemID] = [itemID, itemCount + awardItemDict[itemID][1], isAuctionItem]
|
| | | |
| | | awardItemList = awardItemDict.values()
|
| | | GameWorld.Log(" 结算幸运云购购买奖励: awardItemList=%s" % str(awardItemList), playerID)
|
| | | ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["LuckyCloudBuy", False, {}])
|
| | |
|