From 4263dbe6adb69acd0c6814f647d9cbdbc6a61e00 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 13 六月 2024 16:13:56 +0800
Subject: [PATCH] 10178 【越南】【香港】【主干】挂机奖励(集字活动、垃圾分类活动支持掉落活动物品; 终身卡免费领取快速挂机收益;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py |   38 ++++++++++++++++++++++++++++++++++----
 1 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py
index a27282c..123b6c9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py
@@ -20,6 +20,9 @@
 import PlayerControl
 import ChPyNetSendPack
 import PlayerWorldAverageLv
+import PlayerActGarbageSorting
+import PlayerActCollectWords
+import PlayerGoldInvest
 import FormulaControl
 import NetPackCommon
 import IpyGameDataPY
@@ -294,6 +297,16 @@
             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
 
@@ -320,7 +333,7 @@
             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)
@@ -366,9 +379,26 @@
     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
 

--
Gitblit v1.8.0