From 54b3ca452de08e8cf5723a0715cc0c3853c2df3a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 01 十二月 2018 16:35:48 +0800
Subject: [PATCH] 2549 【BUG】【1.3】玩家登录时过天处理离线期间所获得的助战仙缘币异常

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_QueenRelics.py |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_QueenRelics.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_QueenRelics.py
index d816e94..2eb05d4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_QueenRelics.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_QueenRelics.py
@@ -376,6 +376,10 @@
     FBCommon.NotifyFBHelp(curPlayer, lineID, fbHelpDict)
     return
 
+def DoFB_Npc_KillNPC(attacker, curNPC, tick):
+    __FBNPCOnKilled(curNPC, tick)
+    return
+
 ##玩家杀死NPC
 # @param curPlayer:玩家实例
 # @param curNPC:当前被杀死的NPC
@@ -383,6 +387,10 @@
 # @return 返回值无意义
 # @remarks 玩家主动离开副本.
 def DoFB_Player_KillNPC(curPlayer, curNPC, tick):
+    __FBNPCOnKilled(curNPC, tick)
+    return
+
+def __FBNPCOnKilled(curNPC, tick):
     curNPCID = curNPC.GetNPCID()
     gameFB = GameWorld.GetGameFB()
     killNPCCount = gameFB.GetGameFBDictByKey(FBKey_KillNPCCount % curNPCID) + 1
@@ -488,7 +496,6 @@
             EventShell.EventRespons_PassQueenRelecs(curPlayer, lineID, grade)
             #任务
             EventShell.EventRespons_FBEvent(curPlayer, "queenrelics_pass")
-        FBCommon.NotifyFBOver(curPlayer, dataMapID, lineID, isPass, overDict)
         
         # 记录结算到的线路层,记录值+1
         updRewardLine = lineID + 1
@@ -500,7 +507,8 @@
                 GameWorld.DebugLog("首次结算奖励,增加挑战次数!", playerID)
                 needSyncFBData = True
                 FBCommon.AddEnterFBCount(curPlayer, dataMapID)
-                FBHelpBattle.DoSingleFBAddXianyuanCoin(curPlayer, mapID, lineID)
+                addXianyuanCoin, reason = FBHelpBattle.DoFBAddXianyuanCoin(curPlayer, mapID, lineID)
+                overDict[FBCommon.Over_xianyuanCoin] = [addXianyuanCoin, reason]
             else:
                 GameWorld.DebugLog("副本中过天,不增加挑战次数!", playerID)
             PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_QueenRelicsEx, 1)
@@ -513,6 +521,8 @@
             
         if needSyncFBData:
             FBCommon.Sync_FBPlayerFBInfoData(curPlayer, dataMapID) # 同步信息
+            
+        FBCommon.NotifyFBOver(curPlayer, dataMapID, lineID, isPass, overDict)
     return
 
 def __GivePlayerQueenRelicsReward(curPlayer, dataMapID, rewardLineID, curLineID, passGrade, maxGrade, rewardRateList):

--
Gitblit v1.8.0