From 5c1ecb8765c16468299dba0d62cc003e7d3769d7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 23 一月 2026 17:22:34 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(PrintFightPower命令支持刷属性指定属性明细)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py | 7 +++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py | 11 +++++++++--
2 files changed, 16 insertions(+), 2 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 a4b2391..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
@@ -33,6 +33,7 @@
olPlayer = PlayerOnline.GetOnlinePlayer(curPlayer)
if not msgList:
+ GameWorld.DebugAnswer(curPlayer, "重刷计算属性: PrintFightPower calc [明细]")
GameWorld.DebugAnswer(curPlayer, "PrintFightPower [预设方案 专享属性地图ID]")
GameWorld.DebugAnswer(curPlayer, "主公战力: %s" % PlayerControl.GetFightPower(curPlayer))
@@ -61,6 +62,12 @@
return
+ 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()
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
index f1f1396..6d0e74e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
@@ -40,6 +40,8 @@
import time
+g_calcDetail = 0
+
class LineupHero():
## 阵容武将,注意:同一个武将在不同阵容中可能属性不一样
@@ -1086,8 +1088,13 @@
attrValue = FormulaControl.Eval("baseAttrFormula", baseAttrFormula, attrParamDict, toInt=False, ndigits=3)
else:
attrValue = FormulaControl.Eval("otherAttrFormula", otherAttrFormula, attrParamDict, toInt=False, ndigits=3)
- #GameWorld.DebugLog(" attrID=%s,attrValue=%s,attrParamDict=%s" % (attrID, attrValue, attrParamDict))
-
+ if g_calcDetail and attrValue > 0:
+ calcParamDict = {}
+ for k, v in attrParamDict.items():
+ if v > 0:
+ calcParamDict[k] = v
+ GameWorld.DebugLog(" heroID=%s,attrID=%s,attrValue=%s,attrParamDict=%s" % (heroID, attrID, attrValue, calcParamDict))
+
attrIpyData = IpyGameDataPY.GetIpyGameData("PlayerAttr", attrID)
attrName = attrIpyData.GetParameter() if attrIpyData else "%s" % attrID
attrRatioName = "%sRatio" % attrName
--
Gitblit v1.8.0