From 3ac863ebc8f55dd0838b4ee2f9d0c39234af25eb Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 09 二月 2026 10:46:00 +0800
Subject: [PATCH] 358 【内政】红颜系统-服务端(修改游历体力为DWORD;红颜时装升级改为使用背包物品;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py |   56 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 45 insertions(+), 11 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..18ee1b6 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,56 @@
 def OnExec(curPlayer, msgList):
     
     olPlayer = PlayerOnline.GetOnlinePlayer(curPlayer)
-    
     if not msgList:
-        GameWorld.DebugAnswer(curPlayer, "PrintFightPower [阵容ID]")
+        GameWorld.DebugAnswer(curPlayer, "重刷计算属性: PrintFightPower calc [明细]")
+        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)不存在.")
+    if msgList[0] == "calc":
+        GameWorld.DebugAnswer(curPlayer, "重刷计算属性详见地图日志")
+        PlayerOnline.g_calcDetail = msgList[1] if len(msgList) > 1 else 0
+        PlayerOnline.GetOnlinePlayer(curPlayer).RefreshRoleAttr()
         return
     
+    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