From 7a88478e06c7384d90b6808a317a1dbc2bb98710 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 19 一月 2026 19:27:06 +0800
Subject: [PATCH] 423 【内政】命格系统-服务端(命格额外属性条数修改为由感悟层级决定;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py |   51 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 39 insertions(+), 12 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 83ec071..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,24 +32,49 @@
 def OnExec(curPlayer, msgList):
     
     olPlayer = PlayerOnline.GetOnlinePlayer(curPlayer)
-    
     if not msgList:
-        GameWorld.DebugAnswer(curPlayer, "PrintFightPower [阵容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))
+        
+        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.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]
-    if lineupID not in ShareDefine.LineupList:
-        GameWorld.DebugAnswer(curPlayer, "阵容(%s)不存在.")
+    batPresetID = msgList[0]
+    exclusiveMapID = msgList[1] if len(msgList) > 1 else 0
+    batPresetIDList = olPlayer.GetBatPresetIDList()
+    if batPresetID not in batPresetIDList:
+        GameWorld.DebugAnswer(curPlayer, "没有该战斗预设方案属性!%s" % batPresetID)
         return
-    
+    if exclusiveMapID not in ChConfig.ExclusiveBatAttrMapIDList:
+        exclusiveMapID = 0
     GameWorld.DebugAnswer(curPlayer, "-------------------")
-    lineup = olPlayer.GetLineup(lineupID)    
-    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)
+        
     for calcIndex in ChConfig.Def_CalcAttrList:
         calcName = ChConfig.CalcAttrName.get(calcIndex, "%s" % calcIndex)
         attrDict = olPlayer.GetCalcAttr(calcIndex)

--
Gitblit v1.8.0