From 75dac27b4e1d2cc22f7ca6356d258eb47f7e9e38 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 07 一月 2026 17:56:09 +0800
Subject: [PATCH] 412 【挑战】定军阁-服务端(定军阁功能专享属性支持;优化主阵容属性支持专有功能属性,不影响通用主阵容属性、战力,专享阵容与主阵容相同,只是属性、战力可能不一样;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py |   43 ++++++++++++++++---------------------------
 1 files changed, 16 insertions(+), 27 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
index 65e75c9..a105e8b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
@@ -1549,10 +1549,12 @@
 def OnPlayerFBQuickPass(curPlayer, mapID, lineID):
     '''副本快速过关验证
     @param mapID: 数据地图ID
-    @param lineID: 目标关卡线路ID,可一次性跳多关,由前端发包决定
-    @return: (bossID, quickCnt) 或  None
-    @note: bossID 目标NPCID - 目标关卡所需要挑战的主NPCID,一般是boss,用于验证战力是否满足快速过关
-    @note: quickCnt 本次总共跳过几关 - 默认1
+    @param lineID: 目标关卡线路ID,可一次性跳多关,根据功能由前端发包决定或后端直接决定
+    @return: (lineID, quickCnt, quickFightPower, quickData) 或  None
+    @note: lineID 由后端决定的快速过关到哪,如果前端决定的则直接返回 lineID
+    @note: quickCnt 本次总共跳过几关 
+    @note: quickFightPower 目标阵容战力,用于验证战力是否满足快速过关
+    @note: quickData 扩展数据,功能自定义,传给 OnPlayerFBQuickPassResult
     '''
     do_FBLogic_ID = __GetFBLogic_MapID(mapID)
     
@@ -1564,7 +1566,7 @@
     
     return callFunc(curPlayer, mapID, lineID)
 
-def OnPlayerFBQuickPassResult(curPlayer, mapID, lineID):
+def OnPlayerFBQuickPassResult(curPlayer, mapID, lineID, quickData):
     '''副本快速过关结果
     '''
     do_FBLogic_ID = __GetFBLogic_MapID(mapID)
@@ -1574,7 +1576,7 @@
     if callFunc == None:
         return
 
-    return callFunc(curPlayer, mapID, lineID)
+    return callFunc(curPlayer, mapID, lineID, quickData)
 
 #---------------------------------------------------------------------
 
@@ -2234,19 +2236,6 @@
     
     return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList)
 
-def GetFBPlayerLineupID(curPlayer, mapID, funcLineID):
-    ## 获取玩家使用的攻防阵容ID
-    # @return: 攻击方阵容ID, 防守方阵容ID
-    do_FBLogic_ID = __GetFBLogic_MapID(mapID)
-    
-    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "GetFBPlayerLineupID"))
-    
-    if callFunc == None:
-        # 默认不限制
-        return ShareDefine.Lineup_Main, ShareDefine.Lineup_Main
-    
-    return callFunc(curPlayer, mapID, funcLineID)
-
 def GetFBNPCLineupInfo(curPlayer, mapID, funcLineID):
     ## 获取NPC阵容相关
     # @return: npcLineupIDList, strongerLV, difficulty
@@ -2258,7 +2247,7 @@
     
     return callFunc(curPlayer, mapID, funcLineID)
 
-def GetFBNPCInitAttr(curPlayer, turnFight, npcObj):
+def GetFBNPCInitAttr(turnFight, npcObj):
     ## 获取副本指定NPC初始化属性
     do_FBLogic_ID = __GetFBLogic_MapID(turnFight.mapID)
     
@@ -2266,9 +2255,9 @@
     if callFunc == None:
         return
     
-    return callFunc(curPlayer, turnFight, npcObj)
+    return callFunc(turnFight, npcObj)
 
-def OnFBNPCKilledBefore(curPlayer, turnFight, gameObj, killer=None, useSkill=None):
+def OnFBNPCKilledBefore(turnFight, gameObj, killer=None, useSkill=None):
     ## 副本NPC被击杀前处理,一般用于处理一些不被击杀的副本NPC逻辑
     # @return: 可否被正常击杀
     do_FBLogic_ID = __GetFBLogic_MapID(turnFight.mapID)
@@ -2278,7 +2267,7 @@
         # 不需要逻辑时默认可被正常击杀
         return True
     
-    return callFunc(curPlayer, turnFight, gameObj, killer, useSkill)
+    return callFunc(turnFight, gameObj, killer, useSkill)
 
 def OnPlayerLineupAttackResult(curPlayer, atkObj, killObjList, useSkill, mapID, funcLineID):
     ## 回合战斗主动发起的玩家阵容攻击结果额外处理 ,一般处理副本相关的掉落、奖励等
@@ -2291,7 +2280,7 @@
         
     return
 
-def OnTurnFightOver(curPlayer, turnFight, mapID, funcLineID, overMsg):
+def OnTurnFightOver(turnFight, mapID, funcLineID, overMsg):
     ## 回合战斗结束
     
     do_FBLogic_ID = __GetFBLogic_MapID(mapID)
@@ -2301,9 +2290,9 @@
     if callFunc == None:
         return
     
-    return callFunc(curPlayer, turnFight, mapID, funcLineID, overMsg)
+    return callFunc(turnFight, mapID, funcLineID, overMsg)
 
-def OnTurnFightAward(curPlayer, turnFight, mapID, funcLineID, awardData):
+def OnTurnFightAward(curPlayer, guid, mapID, funcLineID, winFaction, statMsg, dateStr, reqData, awardDict):
     ## 回合战斗结算奖励
     
     do_FBLogic_ID = __GetFBLogic_MapID(mapID)
@@ -2313,4 +2302,4 @@
     if callFunc == None:
         return
     
-    return callFunc(curPlayer, turnFight, mapID, funcLineID, awardData)
+    return callFunc(curPlayer, guid, mapID, funcLineID, winFaction, statMsg, dateStr, reqData, awardDict)

--
Gitblit v1.8.0