From b69e96ca763f96a697351e2c6cd570018d7f4605 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 23 五月 2022 17:00:29 +0800
Subject: [PATCH] 9415 【BT】【后端】古神战场(增加战场结算信息流向记录)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py
index 7394c7e..f913e86 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py
@@ -24,6 +24,7 @@
 import PlayerActivity
 import GameWorldProcess
 import NPCCustomRefresh
+import DataRecordPack
 import PlayerControl
 import ShareDefine
 import SkillCommon
@@ -86,6 +87,7 @@
 class BattleWorld():
     
     def __init__(self):
+        self.startTime = int(time.time())
         self.hmNum = 0
         self.callOpenPlayerInfo = {} # 本场次购买召集的玩家信息 {playerID:faction, ...}
         self.superItemInfo = [] # 大奖信息 [物品ID,个数,是否拍品]
@@ -1662,6 +1664,12 @@
         allCallPlayerIDList.extend(callTeam["callPlayerIDList"])
     GameWorld.Log("zoneID=%s,hmNum=%s,allCallPlayerIDList=%s" % (zoneID, hmNum, allCallPlayerIDList), fbPropertyID)
     
+    gameWorld = GameWorld.GetGameWorld()
+    drDict = {"mapID":GameWorld.GetMap().GetMapID(), "realMapID":gameWorld.GetRealMapID(), "copyMapID":gameWorld.GetCopyMapID(), 
+              "zoneID":zoneID, "funcLineID":funcLineID, "fbPropertyID":fbPropertyID, "hmNum":hmNum, 
+              "superItemInfo":worldObj.superItemInfo, "finalSuperItemPlayerID":finalSuperItemPlayerID, 
+              "crystalFactionInfo":worldObj.crystalFactionInfo, "callTeamInfo":callTeamInfo, 
+              "winnerFaction":winnerFaction, "fightTimeTotal":(int(time.time()) - worldObj.startTime)}
     factionInfoList = []
     for faction in [ShareDefine.CampType_Justice, ShareDefine.CampType_Evil]:
         factionObj = GetBattleFactionObj(faction)
@@ -1701,6 +1709,7 @@
             scoreKingObj = GetBattlePlayerObj(scoreKingID)
             scoreKingName = scoreKingObj.name
             
+        drPlayerList = []
         for rank, battleObj in enumerate(factionObj.battlePlayerSortList, 1):
             playerID = battleObj.playerID
             score = battleObj.score
@@ -1734,6 +1743,10 @@
                           factionBuffCollCnt, personBuffCollCnt, crystalCollCnt, wallCollCnt]
             battlePlayerList.append(playerInfo)
             
+            drPlayerList.append({"playerID":playerID, "accID":battleObj.accID, "fightPower":battleObj.fightPower, 
+                                 "score":score, "auraScore":auraScore, "wallCollCnt":wallCollCnt, 
+                                 "superItemAwardCnt":superItemAwardCnt, "superItemContribution":battleObj.superItemContribution})
+            
             player = copyMapMgr.FindPlayerByID(playerID)
             if not player:
                 continue
@@ -1743,6 +1756,11 @@
             overDict.update({FBCommon.Over_rank:rank, "score":score, "highScoreToday":highScoreToday, "onlineTimes":onlineTimes, "faction":faction})
             FBCommon.NotifyFBOver(player, ChConfig.Def_FBMapID_CrossBattlefield, lineID, isWinner, overDict)
             
+        drFactionInfo = {"faction":faction, "score":factionObj.score, "hurtBossPlayerDict":factionObj.hurtBossPlayerDict, 
+                         "superItemProgress":factionObj.superItemProgress, "superItemPlayerID":factionObj.superItemPlayerID, 
+                         "drPlayerList":drPlayerList}
+        drDict["faction_%s" % faction] = drFactionInfo
+        
     GameWorld.Log("本场最终结算积分王: scoreKingID=%s" % scoreKingID, fbPropertyID)
             
     # 同步GameServer 比赛结果
@@ -1750,6 +1768,9 @@
     msgInfo = str([hmNum, fbPropertyID, zoneID, funcLineID, winnerFaction, superItemInfo, finalSuperItemPlayerID, finalSuperItemPlayerName, superItemPlayerIDList, scoreKingID, scoreKingName, battlePlayerList])
     GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "CrossBattlefieldOver", msgInfo, len(msgInfo))
     
+    # 记录流向
+    DataRecordPack.SendEventPack("CrossBattlefieldOver", drDict)
+    
     FBCommon.SetFBStep(FB_Step_LeaveTime, tick)
     return
 

--
Gitblit v1.8.0