From 750ff5ee6204bb088713b0ce10d53d05f22679e0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 16 一月 2026 19:32:27 +0800
Subject: [PATCH] 438 【方案】方案预设-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py |   51 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 35 insertions(+), 16 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py
index 7c97088..a4b2391 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py
@@ -16,7 +16,9 @@
 #-------------------------------------------------------------------------------
 
 import GameWorld
+import PlayerPreset
 import PlayerControl
+import IpyGameDataPY
 import PlayerOnline
 import ShareDefine
 import ChConfig
@@ -30,32 +32,49 @@
 def OnExec(curPlayer, msgList):
     
     olPlayer = PlayerOnline.GetOnlinePlayer(curPlayer)
-    
     if not msgList:
-        GameWorld.DebugAnswer(curPlayer, "PrintFightPower [阵容ID 专享属性地图ID]")
+        GameWorld.DebugAnswer(curPlayer, "PrintFightPower [预设方案 专享属性地图ID]")
         GameWorld.DebugAnswer(curPlayer, "主公战力: %s" % PlayerControl.GetFightPower(curPlayer))
-        for lineupID in ShareDefine.LineupList:
-            lineup = olPlayer.GetLineup(lineupID)
-            GameWorld.DebugAnswer(curPlayer, "阵容(%s)总战力: %s" % (lineupID, lineup.fightPower))
-            if lineupID == ShareDefine.Lineup_Main:
+        
+        batPresetIDList = []
+        for batPresetType in ShareDefine.BatPresetList:
+            batPresetName = ShareDefine.BatPresetName.get(batPresetType, "")
+            batPresetName = "%s(%s)" % (batPresetName, batPresetType)
+            batPresetID = PlayerPreset.GetBatPresetID(curPlayer, batPresetType)
+            lineup = olPlayer.GetPresetLineup(batPresetID)
+            GameWorld.DebugAnswer(curPlayer, "%s-方案(%s)战力: %s" % (batPresetName, batPresetID, lineup.fightPower))
+            if batPresetType == ShareDefine.BatPreset_Main:
                 for exclusiveMapID in ChConfig.ExclusiveBatAttrMapIDList:
-                    exclusiveLineup = olPlayer.GetLineup(lineupID, exclusiveMapID=exclusiveMapID)
-                    GameWorld.DebugAnswer(curPlayer, "阵容(%s-%s)总战力: %s" % (lineupID, exclusiveLineup.exclusiveMapID, exclusiveLineup.fightPower))
+                    exclusiveLineup = olPlayer.GetPresetLineup(batPresetID, exclusiveMapID=exclusiveMapID)
+                    GameWorld.DebugAnswer(curPlayer, "    地图(%s)战力: %s" % (exclusiveLineup.exclusiveMapID, exclusiveLineup.fightPower))
+            if batPresetID not in batPresetIDList:
+                batPresetIDList.append(batPresetID)
+                
+        # 其他
+        for batPresetID in olPlayer.GetBatPresetIDList():
+            if batPresetID in batPresetIDList:
+                continue
+            if not PlayerPreset.GetFuncPresetIDState(curPlayer, batPresetID):
+                continue
+            lineup = olPlayer.GetPresetLineup(batPresetID)
+            GameWorld.DebugAnswer(curPlayer, "其他方案(%s)战力: %s" % (batPresetID, lineup.fightPower))
+            
         return
     
-    lineupID = msgList[0]
+    batPresetID = msgList[0]
     exclusiveMapID = msgList[1] if len(msgList) > 1 else 0
-    if lineupID not in ShareDefine.LineupList:
-        GameWorld.DebugAnswer(curPlayer, "阵容(%s)不存在.")
+    batPresetIDList = olPlayer.GetBatPresetIDList()
+    if batPresetID not in batPresetIDList:
+        GameWorld.DebugAnswer(curPlayer, "没有该战斗预设方案属性!%s" % batPresetID)
         return
     if exclusiveMapID not in ChConfig.ExclusiveBatAttrMapIDList:
-        exclusiveMapID
+        exclusiveMapID = 0
     GameWorld.DebugAnswer(curPlayer, "-------------------")
-    lineup = olPlayer.GetLineup(lineupID, exclusiveMapID=exclusiveMapID)    
-    GameWorld.DebugAnswer(curPlayer, "【阵容 - %s】明细总战力: %s" % (lineupID, lineup.fightPower))
+    lineup = olPlayer.GetPresetLineup(batPresetID, exclusiveMapID=exclusiveMapID)    
+    GameWorld.DebugAnswer(curPlayer, "【方案 - %s】战力: %s" % (batPresetID, lineup.fightPower))
     if exclusiveMapID:
-        GameWorld.DebugAnswer(curPlayer, "功能地图专属阵容地图ID:%s" % exclusiveMapID)
-    
+        GameWorld.DebugAnswer(curPlayer, "地图专属方案地图ID:%s" % exclusiveMapID)
+        
     for calcIndex in ChConfig.Def_CalcAttrList:
         calcName = ChConfig.CalcAttrName.get(calcIndex, "%s" % calcIndex)
         attrDict = olPlayer.GetCalcAttr(calcIndex)

--
Gitblit v1.8.0