From 8debc2ea91c321eb92df47bb685fc9510ccc95bf Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 14 一月 2026 17:28:32 +0800
Subject: [PATCH] 302 【公会】BOSS讨伐-服务端(布阵不受最大层数限制,最大层数仅对实际效果层数有效;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyTaofa.py |   88 ++++++++++++++++++++++---------------------
 1 files changed, 45 insertions(+), 43 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyTaofa.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyTaofa.py
index 23cf5e2..5c9595b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyTaofa.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyTaofa.py
@@ -145,45 +145,45 @@
     PlayerFamily.SendFamilyActionInfo(curPlayer, familyID, ActionType)
     return
 
-def RefreshFamilyBuZhenInfo(family):
-    ## 刷新公会公共布阵信息
-    familyID = family.GetID()
-    curTime = int(time.time())
-    bzDuration = IpyGameDataPY.GetFuncCfg("FamilyTaofaBuzhen", 4) * 60 # 有效时长秒
-    maxLayer = IpyGameDataPY.GetFuncCfg("FamilyTaofaBuzhen", 3)
-    
-    gLayer = 0
-    gEndTime = 0
-    gActionData = None
-    familyAction = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, ActionType)
-    for index in range(0, familyAction.Count()):
-        actionData = familyAction.At(index)
-        dataID = GetFAPlayerID(actionData)
-        if dataID == ActionGlobalID:
-            gActionData = actionData
-            continue
-        bzTime = GetFABuzhenTime(actionData)
-        if not bzTime:
-            continue
-        endTime = bzTime + bzDuration
-        if endTime <= curTime:
-            continue
-        
-        if not maxLayer or gLayer < maxLayer:
-            gLayer += 1
-            
-        if gEndTime < endTime:
-            gEndTime = endTime
-            
-    GameWorld.DebugLog("刷新公会公共布阵信息: familyID=%s,gLayer=%s,gEndTime=%s" % (familyID, gLayer, GameWorld.ChangeTimeNumToStr(gEndTime)))
-    if not gActionData:
-        gActionData = familyAction.AddAction()
-        SetFAPlayerID(gActionData, ActionGlobalID)
-        
-    SetFABuzhenEndTime(gActionData, gEndTime)
-    SetFABuzhenLayer(gActionData, gLayer)
-    PlayerFamily.SendFamilyAction(gActionData)
-    return
+#def RefreshFamilyBuZhenInfo(family):
+#    ## 刷新公会公共布阵信息
+#    familyID = family.GetID()
+#    curTime = int(time.time())
+#    bzDuration = IpyGameDataPY.GetFuncCfg("FamilyTaofaBuzhen", 4) * 60 # 有效时长秒
+#    maxLayer = IpyGameDataPY.GetFuncCfg("FamilyTaofaBuzhen", 3)
+#    
+#    gLayer = 0
+#    gEndTime = 0
+#    gActionData = None
+#    familyAction = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, ActionType)
+#    for index in range(0, familyAction.Count()):
+#        actionData = familyAction.At(index)
+#        dataID = GetFAPlayerID(actionData)
+#        if dataID == ActionGlobalID:
+#            gActionData = actionData
+#            continue
+#        bzTime = GetFABuzhenTime(actionData)
+#        if not bzTime:
+#            continue
+#        endTime = bzTime + bzDuration
+#        if endTime <= curTime:
+#            continue
+#        
+#        if not maxLayer or gLayer < maxLayer:
+#            gLayer += 1
+#            
+#        if gEndTime < endTime:
+#            gEndTime = endTime
+#            
+#    GameWorld.DebugLog("刷新公会公共布阵信息: familyID=%s,gLayer=%s,gEndTime=%s" % (familyID, gLayer, GameWorld.ChangeTimeNumToStr(gEndTime)))
+#    if not gActionData:
+#        gActionData = familyAction.AddAction()
+#        SetFAPlayerID(gActionData, ActionGlobalID)
+#        
+#    SetFABuzhenEndTime(gActionData, gEndTime)
+#    SetFABuzhenLayer(gActionData, gLayer)
+#    PlayerFamily.SendFamilyAction(gActionData)
+#    return
 
 def RefreshPlayerAwardBoxCnt(family, curPlayer=None, unSyncIDList=[]):
     ## 刷新玩家可领取的宝箱数
@@ -322,11 +322,11 @@
         return
     gLayer, gActionData = GetFamilyBuzhenLayer(familyID)
     bzDuration = IpyGameDataPY.GetFuncCfg("FamilyTaofaBuzhen", 4) * 60 # 有效时长秒
-    maxLayer = IpyGameDataPY.GetFuncCfg("FamilyTaofaBuzhen", 3)
     gEndTime = int(time.time()) + bzDuration # 直接覆盖更新
-    if not maxLayer or gLayer < maxLayer:
-        gLayer += 1
-        
+    gLayer += 1 # 布阵不限制次数,直接加
+    #if not maxLayer or gLayer < maxLayer:
+    #    gLayer += 1
+    
     GameWorld.DebugLog("公会讨伐布阵: gLayer=%s,gEndTime=%s" % (gLayer, GameWorld.ChangeTimeNumToStr(gEndTime)), playerID)
     # 公共信息
     SetFABuzhenEndTime(gActionData, gEndTime)
@@ -369,6 +369,8 @@
     
     # 计算属性
     gLayer, _ = GetFamilyBuzhenLayer(familyID)
+    maxLayer = IpyGameDataPY.GetFuncCfg("FamilyTaofaBuzhen", 3)
+    gLayer = min(gLayer, maxLayer) # 限制生效的最大布阵层数
     fightPower = PlayerControl.GetFightPower(curPlayer)
     superRate = IpyGameDataPY.GetFuncCfg("FamilyTaofaBuzhen", 1)
     superRatio = IpyGameDataPY.GetFuncCfg("FamilyTaofaAtk", 3) # 暴击伤害倍值

--
Gitblit v1.8.0