From a075f7841fb2d0a3b32bf10c8bc2df5bf02d6acb Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 14 十二月 2025 14:24:28 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(贾诩所有技能;5022效果支持配置buff额外属性计算方式;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
index 0b7f4e6..dbbb24a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
@@ -119,8 +119,12 @@
 # @param eventTypeStr: 事件类型标识
 # @param dataDict: 事件字典
 # @return None
-def SendEventPack(eventTypeStr, dataDict, curPlayer=None):
-
+def SendEventPack(eventTypeStr, dataDict, curPlayer=None, checkBatServer=True):
+    
+    if checkBatServer and GameWorld.IsBattleServer():
+        GameWorld.DebugLogEx("战斗服务器暂不做流向记录")
+        return
+    
     if curPlayer:
         if not GameWorld.IsNormalPlayer(curPlayer):
             return
@@ -179,6 +183,13 @@
                 'LoginTime':str(loginTime), 'LogoutTime':str(logoutTime)}
     #发送封包
     SendEventPack("LogInOut", dataDict, curPlayer)
+    return
+
+def DR_OnlineTimeToday(curPlayer, onlineTime):
+    ## 今日累计在线时长
+    dataDict = {'PlayerID':curPlayer.GetPlayerID(), 'PlayerName':curPlayer.GetPlayerName(), 
+                'AccID':curPlayer.GetAccID(), 'OnlineTime':onlineTime}
+    SendEventPack("OnlineTimeToday", dataDict)
     return
 
 ## 新增第一次登陆
@@ -275,6 +286,19 @@
     SendEventPack("FBPass_%s" % mapID, dataDict, curPlayer)
     return
 
+def DR_FightStat(reqPlayerID, mapID, funcLineID, isWin, turnNum, turnMax, heroCount, costTime, statInfo, drLineupInfo):
+    ## 战斗统计
+    dataDict = {'PlayerID':reqPlayerID, 'mapID':mapID, 'funcLineID':funcLineID, 'isWin':isWin, 
+                'turnNum':turnNum, 'turnMax':turnMax, 'heroCount':heroCount, 'costTime':costTime}
+    SendEventPack("FightTime", dataDict, checkBatServer=False)
+    
+    #战斗失败的记录明细信息
+    if not isWin:
+        failDRDict = {"statInfo":statInfo, "drLineupInfo":drLineupInfo}
+        failDRDict.update(dataDict)
+        SendEventPack("FightFail_%s" % mapID, failDRDict, checkBatServer=False)
+    return
+
 ##累计登陆礼包
 def DR_LoginDayAward(curPlayer, dayIndex):
     dataDict = {'PlayerID':curPlayer.GetPlayerID(), 

--
Gitblit v1.8.0