From c27a8dc916fd7a2033062c6c77dd45a1ecd77aae Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 14 一月 2019 13:58:19 +0800
Subject: [PATCH] 2867 【1.5】进入聚魂副本后,下线,半小时后上线发送一封没有物品的聚魂满背包邮件

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GatherSoul.py |   46 ++++++++++++++++++++++++----------------------
 1 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GatherSoul.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GatherSoul.py
index 7a8ecac..8c624ad 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GatherSoul.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GatherSoul.py
@@ -571,32 +571,34 @@
     curPlayer = FBCommon.GetCurSingleFBPlayer()
     if not curPlayer:
         #奖励直接发邮件
-        PlayerControl.SendMailByKey('JHBagFull2', [ownerID], totalItemList)
+        if totalItemList:
+            PlayerControl.SendMailByKey('JHBagFull2', [ownerID], totalItemList)
         
         GameWorldProcess.CloseFB(tick)
         return
-    needPackSpaceDict = {}
-    for itemID, itemCnt, isBind in totalItemList:
-        curItem = GameWorld.GetGameData().GetItemByTypeID(itemID)
-        if not curItem:
-            return
-        packType = ChConfig.GetItemPackType(curItem.GetType())
-        needSpace = ItemControler.GetItemNeedPackCount(packType, curItem, itemCnt)
-        needPackSpaceDict[packType] = needPackSpaceDict.get(packType, 0) + needSpace
-        
-    isSendMail = False #是否背包不足
-    for packType, needSpace in needPackSpaceDict.items():
-        if needSpace > ItemCommon.GetItemPackSpace(curPlayer, packType, needSpace):
-            isSendMail = True
-            break
-
-    if isSendMail:
-        PlayerControl.SendMailByKey('JHBagFull2', [curPlayer.GetPlayerID()], totalItemList)
-        GameWorld.DebugLog("背包空间不够,发送邮件: mailItemList=%s" % str(totalItemList), curPlayer.GetPlayerID())
-    else:
+    if totalItemList:
+        needPackSpaceDict = {}
         for itemID, itemCnt, isBind in totalItemList:
-            ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [],
-                                            event=["GatherSoulFB", False, {}])
+            curItem = GameWorld.GetGameData().GetItemByTypeID(itemID)
+            if not curItem:
+                return
+            packType = ChConfig.GetItemPackType(curItem.GetType())
+            needSpace = ItemControler.GetItemNeedPackCount(packType, curItem, itemCnt)
+            needPackSpaceDict[packType] = needPackSpaceDict.get(packType, 0) + needSpace
+            
+        isSendMail = False #是否背包不足
+        for packType, needSpace in needPackSpaceDict.items():
+            if needSpace > ItemCommon.GetItemPackSpace(curPlayer, packType, needSpace):
+                isSendMail = True
+                break
+    
+        if isSendMail:
+            PlayerControl.SendMailByKey('JHBagFull2', [curPlayer.GetPlayerID()], totalItemList)
+            GameWorld.DebugLog("背包空间不够,发送邮件: mailItemList=%s" % str(totalItemList), curPlayer.GetPlayerID())
+        else:
+            for itemID, itemCnt, isBind in totalItemList:
+                ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [],
+                                                event=["GatherSoulFB", False, {}])
             
     fbCfg = GetGatherSoulFBCfg()
     costTime = tick - GameWorld.GetGameWorld().GetOpenFBTick()

--
Gitblit v1.8.0