From 783f0435fafdc0ab6480ff572cf9b11aeedbc138 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 23 一月 2026 17:35:02 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(PrintFightPower命令支持刷属性指定属性明细,调整输出)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py |   38 ++++++++++++++++++++++++++++++--------
 1 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
index dbbb24a..93d6805 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
@@ -140,6 +140,14 @@
     GameWorld.GetGameWorld().EventShell_SendEventEx(eventTypeStr, len(eventTypeStr), dataStr, len(dataStr))
     return
 
+def DR_Reload(reloadType):
+    ## 重读流向
+    GroupName = GameWorld.GetServerGroupName()
+    ServerID = GameWorld.GetGameWorld().GetServerID()
+    dataDict = {"GroupName":GroupName, "ServerID":ServerID, "ReloadType":reloadType}
+    SendEventPack("Reload", dataDict, checkBatServer=False)
+    return
+
 ## 登陆
 #  @param curPlayer 玩家实例
 #  @return: None
@@ -247,6 +255,14 @@
     SendEventPack("CTGOK", dataDict, curPlayer)
     return
 
+def DR_FixVersion(curPlayer, fixName, fixDict):
+    ## 修正玩家数据版本流向
+    dataDict = {'PlayerID':curPlayer.GetPlayerID(), "PlayerName":curPlayer.GetPlayerName(), 
+                'AccID':curPlayer.GetAccID()}
+    dataDict.update(fixDict)
+    SendEventPack("FixVersion_%s" % fixName, dataDict, curPlayer)
+    return
+
 ## 玩家升级
 #  @param curPlayer: 玩家实例
 #  @param playerLV: 玩家等级
@@ -273,8 +289,9 @@
 
 def DR_MainLevelPass(curPlayer, lvID):
     ## 主线关卡过关
+    treeLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLV)
     dataDict = {'PlayerID':curPlayer.GetPlayerID(), 'PlayerName':curPlayer.GetPlayerName(), 
-                'AccID':curPlayer.GetAccID(), 'lvID':lvID}
+                'AccID':curPlayer.GetAccID(), 'lvID':lvID, 'treeLV':treeLV}
     SendEventPack("MainLevelPass", dataDict, curPlayer)
     return
 
@@ -286,17 +303,22 @@
     SendEventPack("FBPass_%s" % mapID, dataDict, curPlayer)
     return
 
-def DR_FightStat(reqPlayerID, mapID, funcLineID, isWin, turnNum, turnMax, heroCount, costTime, statInfo, drLineupInfo):
+def DR_FightStat(reqPlayerID, mapID, funcLineID, isWin, turnNum, turnMax, heroCount, costTime, statInfo, drLineupInfo, guid):
     ## 战斗统计
     dataDict = {'PlayerID':reqPlayerID, 'mapID':mapID, 'funcLineID':funcLineID, 'isWin':isWin, 
-                'turnNum':turnNum, 'turnMax':turnMax, 'heroCount':heroCount, 'costTime':costTime}
+                'turnNum':turnNum, 'turnMax':turnMax, 'heroCount':heroCount, 'costTime':costTime, 'guid':guid}
     SendEventPack("FightTime", dataDict, checkBatServer=False)
     
-    #战斗失败的记录明细信息
-    if not isWin:
-        failDRDict = {"statInfo":statInfo, "drLineupInfo":drLineupInfo}
-        failDRDict.update(dataDict)
-        SendEventPack("FightFail_%s" % mapID, failDRDict, checkBatServer=False)
+    #战斗过关记录明细信息
+    if isWin:
+        mapPassDict = IpyGameDataPY.GetFuncEvalCfg("BattleRecord", 1, {})
+        if mapID in mapPassDict:
+            drLineID = mapPassDict[mapID]
+            if funcLineID >= drLineID:
+                failDRDict = {"statInfo":statInfo, "drLineupInfo":drLineupInfo}
+                failDRDict.update(dataDict)
+                SendEventPack("FightPass_%s" % mapID, failDRDict, checkBatServer=False)
+                #SendEventPack("FightFail_%s" % mapID, failDRDict, checkBatServer=False)
     return
 
 ##累计登陆礼包

--
Gitblit v1.8.0