From 7c12351394b2f17bcc5b25ca58455f143119ca93 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 10 十一月 2025 11:34:03 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(主线战斗额外功能逻辑提到B425标记外处理并同步;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Tianzi.py |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Tianzi.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Tianzi.py
index e3abe52..f5d9a48 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Tianzi.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Tianzi.py
@@ -27,6 +27,7 @@
 import ShareDefine
 import PlayerMail
 import DBDataMgr
+import TurnSkill
 import ObjPool
 
 def OnDay():
@@ -90,7 +91,7 @@
         return {}
     return __getBossAttrDict(ipyDataList[0])
 
-def OnFBNPCKilledBefore(curPlayer, turnFight, gameObj, killer):
+def OnFBNPCKilledBefore(curPlayer, turnFight, gameObj, killer=None, useSkill=None):
     ## 副本NPC被击杀前处理,一般用于处理一些不被击杀的副本NPC逻辑
     # @return: 可否被正常击杀
     
@@ -120,11 +121,12 @@
         GameWorld.Log("天子考验全部血条被击杀! totalHPMax=%s,statDefValueTotal=%s" % (totalHPMax, statDefValueTotal))
         return True
     
-    gameObj.SetMaxHP(ipyDataNow.GetMaxHP(), True)
-    gameObj.SetHP(hp, True)
+    gameObj.SetMaxHP(ipyDataNow.GetMaxHP(), False)
+    gameObj.SetHP(hp, False)
     GameWorld.DebugLog("更新NPC血条: hpNum=%s,hp=%s/%s, statDefValueTotal=%s" % (hpNum, gameObj.GetHP(), gameObj.GetMaxHP(), statDefValueTotal))
+    TurnSkill.Sync_HPRefresh(turnFight, gameObj)
     turnFight.SetDict("hpNum", hpNum)
-    turnFight.syncHelp({"hpNum":hpNum})
+    #turnFight.syncHelp({"hpNum":hpNum})
     gameObj.UpdInitBatAttr(__getBossAttrDict(ipyDataNow))
     return False
 
@@ -179,10 +181,24 @@
         #更新榜单
         PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_Tianzi, todayHurtEx, todayHurt)
         
-    itemList = __getTianziAwardList(todayHurt, bossID)
+    itemList = __getTianziAwardList(totalHurt, bossID)
+    overMsg.update({FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList), "totalHurt":totalHurt, "todayHurtTotal":todayHurtTotal})
+    
+    turnFight.awardData = [lineID, bossID, itemList]
+    return
+
+def OnTurnFightAward(curPlayer, turnFight, mapID, funcLineID, awardData):
+    ## 回合战斗结算奖励
+    if not curPlayer:
+        return
+    
+    if not awardData:
+        return
+    
+    lineID, bossID, itemList = awardData
+    
     FBCommon.AddEnterFBCount(curPlayer, mapID)
     ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Tianzi", False, {}], isNotifyAward=False)
-    overMsg.update({FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList), "totalHurt":totalHurt, "todayHurtTotal":todayHurtTotal})
     SyncTianziInfo(curPlayer, lineID, bossID)
     return
 

--
Gitblit v1.8.0