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