5096 【主干】【BT2】【BT3】垃圾分类任务-杀怪获得脱机挂无效
| | |
| | | for dropID, dropCount in dropWordsCountDict.items():
|
| | | dropIDCountDict[dropID] = dropIDCountDict.get(dropID, 0) + dropCount
|
| | |
|
| | | # 垃圾分类
|
| | | giveGarbageItemList = PlayerActGarbageSorting.AddActGarbageTaskProgress(dropPlayer, ChConfig.Def_GarbageTask_KillNPC, killCount, isTJG=True)
|
| | | for dropID, dropCount, _ in giveGarbageItemList:
|
| | | dropIDCountDict[dropID] = dropIDCountDict.get(dropID, 0) + dropCount
|
| | | |
| | | auctionIDList = []
|
| | | if ipyDrop.GetAucionItemCanSell():
|
| | | for dropID in dropIDCountDict.keys():
|
| | |
| | | Sync_GarbageTaskInfo(curPlayer, actNum)
|
| | | return True
|
| | |
|
| | | def AddActGarbageTaskProgress(curPlayer, taskID, addValue=1, valueInfo=None):
|
| | | def AddActGarbageTaskProgress(curPlayer, taskID, addValue=1, valueInfo=None, isTJG=False):
|
| | | ## 增加垃圾收集任务进度
|
| | | # @param valueInfo: taskID 对应的自定义扩展信息值
|
| | | if addValue <= 0:
|
| | | return
|
| | |
|
| | | giveGarbageItemList = []
|
| | | for actInfo in PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_GarbageSorting, {}).values():
|
| | | actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
|
| | | if not actInfo.get(ShareDefine.ActKey_State):
|
| | |
| | |
|
| | | # 完成时自动产生垃圾
|
| | | if taskIpyData.GetAutoProduce():
|
| | | if __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData):
|
| | | giveItemList = __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData, isTJG)
|
| | | if giveItemList:
|
| | | giveGarbageItemList += giveItemList
|
| | | continue
|
| | |
|
| | | Sync_GarbageTaskInfo(curPlayer, actNum, taskID)
|
| | |
|
| | | return
|
| | | return giveGarbageItemList
|
| | |
|
| | | def __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData=None):
|
| | | def __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData=None, isTJG=False):
|
| | | ## 检查完成垃圾收集任务
|
| | |
|
| | | if not taskIpyData:
|
| | |
| | | # % (actNum, taskID, curValue, curFinishCount, updFinishCount))
|
| | | return
|
| | |
|
| | | #GameWorld.DebugLog("垃圾分类活动任务完成,给奖励! actNum=%s,taskID=%s,curValue=%s,curFinishCount=%s,addFinishCount=%s,updFinishCount=%s" |
| | | # % (actNum, taskID, curValue, curFinishCount, addFinishCount, updFinishCount))
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GarbageTaskFinishCount % (actNum, taskID), updFinishCount)
|
| | | |
| | | # 给垃圾收集奖励
|
| | | giveItemDict = {}
|
| | | rateList = taskIpyData.GetProduceGarbageRateList()
|
| | |
| | | giveItemDict[itemID] = [itemID, befItemCount + itemCount, isAuctionItem]
|
| | | giveItemList = giveItemDict.values()
|
| | |
|
| | | ItemControler.GivePlayerItemOrMail(curPlayer, giveItemList)
|
| | | if not giveItemList:
|
| | | return
|
| | |
|
| | | if not ItemControler.CheckPackSpaceEnough(curPlayer, giveItemList):
|
| | | return
|
| | | |
| | | #GameWorld.DebugLog("垃圾分类活动任务完成,给奖励! actNum=%s,taskID=%s,curValue=%s,curFinishCount=%s,addFinishCount=%s,updFinishCount=%s" |
| | | # % (actNum, taskID, curValue, curFinishCount, addFinishCount, updFinishCount))
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GarbageTaskFinishCount % (actNum, taskID), updFinishCount)
|
| | | |
| | | if not isTJG:
|
| | | for itemID, itemCnt, isAuctionItem in giveItemList:
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isAuctionItem, [])
|
| | | |
| | | Sync_GarbageTaskInfo(curPlayer, actNum, taskID)
|
| | | return True
|
| | | return giveItemList
|
| | |
|
| | | #// AA 14 垃圾分类活动分类垃圾 #tagCMActGarbageSorting
|
| | | #
|