| | |
| | | import PlayerControl
|
| | | import ChPyNetSendPack
|
| | | import PlayerWorldAverageLv
|
| | | import PlayerActGarbageSorting
|
| | | import PlayerActCollectWords
|
| | | import PlayerGoldInvest
|
| | | import FormulaControl
|
| | | import NetPackCommon
|
| | | import IpyGameDataPY
|
| | |
| | | itemID, itemCount = itemInfo
|
| | | itemDict[itemID] = itemDict.get(itemID, 0) + itemCount
|
| | |
|
| | | # 集字掉落
|
| | | dropWordsCountDict = PlayerActCollectWords.OnGetGuajiAwardItemDict(curPlayer, awardSeconds, isQuick)
|
| | | for itemID, dropCount in dropWordsCountDict.items():
|
| | | itemDict[itemID] = itemDict.get(itemID, 0) + dropCount
|
| | | |
| | | # 垃圾回收
|
| | | giveGarbageItemList = PlayerActGarbageSorting.OnGetGuajiAwardItemDict(curPlayer, awardSeconds, isQuick)
|
| | | for itemID, dropCount in giveGarbageItemList.items():
|
| | | itemDict[itemID] = itemDict.get(itemID, 0) + dropCount
|
| | | |
| | | GameWorld.DebugLog(" itemDict=%s" % (itemDict), playerID)
|
| | | return addExp, moneyDict, itemDict
|
| | |
|
| | |
| | | GameWorld.DebugLog("快速挂机收益次数已达每日上限! quickCountToday=%s" % quickCountToday, playerID)
|
| | | return
|
| | |
|
| | | if quickCountToday >= quickCountFree:
|
| | | if quickCountToday >= quickCountFree and not PlayerGoldInvest.GetInvestState(curPlayer, ChConfig.InvestType_Life):
|
| | | todayBuyCount = quickCountToday - quickCountFree # 今日已购买次数
|
| | | costMoneyType = IpyGameDataPY.GetFuncCfg("GuajiQuick", 3)
|
| | | costMoneyList = IpyGameDataPY.GetFuncEvalCfg("GuajiQuick", 4)
|
| | |
| | | for moneyType, moneyValue in moneyDict.items():
|
| | | PlayerControl.GiveMoney(curPlayer, moneyType, moneyValue, "Guaji")
|
| | |
|
| | | giveItemList = [[itemID, itemCount, 0] for itemID, itemCount in itemDict.items()]
|
| | | ItemControler.GivePlayerItemOrMail(curPlayer, giveItemList, event=["Guaji", False, {}])
|
| | | |
| | | # 分背包放入
|
| | | packTypeItemDict = {}
|
| | | for itemID, itemCount in itemDict.items():
|
| | | itemData = GameWorld.GetGameData().GetItemByTypeID(itemID)
|
| | | if not itemData:
|
| | | continue
|
| | | packType = ChConfig.GetItemPackType(itemData)
|
| | | if packType not in packTypeItemDict:
|
| | | packTypeItemDict[packType] = []
|
| | | giveItemList = packTypeItemDict[packType]
|
| | | giveItemList.append([itemID, itemCount, 0])
|
| | | |
| | | for packType, giveItemList in packTypeItemDict.items():
|
| | | # 垃圾分类背包直接放入
|
| | | if packType == ShareDefine.rptGarbage:
|
| | | for itemID, itemCount, isAuctionItem in giveItemList:
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isAuctionItem, [packType], event=["Guaji", False, {}])
|
| | | else:
|
| | | ItemControler.GivePlayerItemOrMail(curPlayer, giveItemList, event=["Guaji", False, {}])
|
| | | |
| | | Sync_GuajiAward(curPlayer, 1, awardSeconds, exp, moneyDict, itemDict)
|
| | | return
|
| | |
|