From ea6dff19b5877d55473d445788e1a2ff5789f6b9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 17 三月 2026 10:01:57 +0800
Subject: [PATCH] 526 【挑战】PVP群英榜-后端(战斗日志Value1增加存储ServerID;群英榜单10的UserData增加Json格式存储FightPower;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py |   46 ++++++++++++++++++++++++++--------------------
 1 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py
index 67867c2..e7cd5d8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py
@@ -16,10 +16,14 @@
 #-------------------------------------------------------------------------------
 
 import GameWorld
+import PlayerGubao
 import ItemControler
 import PlayerBeauty
 import FBCommon
+import PlayerSuccess
+import ShareDefine
 import PlayerTask
+import PlayerHJG
 import ChConfig
 
 def OnTurnFightRequest(curPlayer, mapID, funcLineID, tagType, tagID, valueList):
@@ -31,13 +35,12 @@
     
     return True, funcLineID
 
-def OnTurnFightOver(curPlayer, turnFight, mapID, funcLineID, overMsg):
-    ## 回合战斗结束
-    
+def OnTurnFightAward(curPlayer, guid, mapID, funcLineID, winFaction, statMsg, dateStr, reqData, awardDict):
+    ## 回合战斗结算奖励
     if not curPlayer:
         return
     
-    isWin = turnFight.isWin
+    isWin = winFaction == ChConfig.Def_FactionA
     
     if not isWin:
         return
@@ -48,20 +51,7 @@
     
     itemList = FBCommon.GetPassAwardList(mapID, funcLineID)
     GameWorld.DebugLog("过关奖励: mapID=%s,funcLineID=%s,itemList=%s" % (mapID, funcLineID, itemList))
-    overMsg.update({FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList)})
-    
-    turnFight.awardData = [itemList]
-    return
-
-def OnTurnFightAward(curPlayer, turnFight, mapID, funcLineID, awardData):
-    ## 回合战斗结算奖励
-    if not curPlayer:
-        return
-    
-    if not awardData:
-        return
-    
-    itemList = awardData[0]
+    awardDict.update({FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList)})
     
     # 首通不扣次数
     FBCommon.AddEnterFBCount(curPlayer, mapID, isFree=True)
@@ -69,6 +59,8 @@
     ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Zhanchui", False, {}], isNotifyAward=False)
     
     PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_FBZhanchui)
+    #PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_OSAFBZhanchui, 1)
+    __onFBAward(curPlayer)
     return
     
 def OnPlayerFBSweepAsk(curPlayer, mapID, lineID, sweepCnt, dataEx):
@@ -83,10 +75,17 @@
     itemList += FBCommon.GetSweepAwardList(mapID, lineID, sweepCnt)
     GameWorld.DebugLog("白骨盈野扫荡: mapID=%s,lineID=%s,sweepCnt=%s,itemList=%s" % (mapID, lineID, sweepCnt, itemList))
     
+    isBind = ItemControler.GetIsBindValue(srcSign=ChConfig.ItemSrcSign_BeautyEff)
     exItemCount, exItemID = PlayerBeauty.GetBeautyEffInfo(curPlayer, PlayerBeauty.EffType_FBZhanchuiItemEx) # 扫荡额外物品奖励
     if exItemCount and exItemID:
-        itemList += [[exItemID, exItemCount, 1]] # 标记是红颜效果额外获得的
+        itemList += [[exItemID, exItemCount, isBind]] # 标记是红颜效果额外获得的
         GameWorld.DebugLog("红颜额外增加扫荡物品奖励: exItemID=%s, exItemCount=%s, itemList=%s" % (exItemID, exItemCount, itemList))
+        
+    isBind = ItemControler.GetIsBindValue(srcSign=ChConfig.ItemSrcSign_TitleEff)
+    exItemCount, exItemID = PlayerHJG.GetTitleEffInfo(curPlayer, PlayerHJG.TitleEff_FBZhanchuiItemEx) # 扫荡额外物品奖励
+    if exItemCount and exItemID:
+        itemList += [[exItemID, exItemCount, isBind]] # 标记是称号效果额外获得的
+        GameWorld.DebugLog("称号额外增加扫荡物品奖励: exItemID=%s, exItemCount=%s, itemList=%s" % (exItemID, exItemCount, itemList))
         
     ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Zhanchui", False, {}], isNotifyAward=False)
     
@@ -95,9 +94,16 @@
     for itemInfo in itemList:
         itemDict = {"ItemID":itemInfo[0], "Count":itemInfo[1]}
         if len(itemInfo) > 2:
-            itemDict['BeautyEx'] = itemInfo[2]
+            itemDict['IsBind'] = itemInfo[2]
         jsonItemList.append(itemDict)
     overDict = {FBCommon.Over_itemInfo:jsonItemList, FBCommon.Over_isSweep:1}
     FBCommon.NotifyFBOver(curPlayer, mapID, lineID, isPass, overDict)
     
+    PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_OSAFBZhanchui, 1)
+    __onFBAward(curPlayer)
     return True
+
+def __onFBAward(curPlayer):
+    ## 过关、扫荡都算
+    PlayerGubao.AddGubaoSpecEffLayer(curPlayer, PlayerGubao.GubaoEffType_Zhanchui, 1)
+    return

--
Gitblit v1.8.0