From 783f0435fafdc0ab6480ff572cf9b11aeedbc138 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 23 一月 2026 17:35:02 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(PrintFightPower命令支持刷属性指定属性明细,调整输出)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |   35 ++++++++++++++++++++++++++++++-----
 1 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 4ed6ad9..1cbd2e2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -146,6 +146,12 @@
                         ("DWORD", "FightPower", 0),
                         ),
 
+                "PresetUnlock":(
+                        ("BYTE", "PresetType", 1),
+                        ("BYTE", "UnlockType", 0),
+                        ("DWORD", "UnlockValue", 0),
+                        ),
+
                 "Hero":(
                         ("DWORD", "HeroID", 1),
                         ("char", "Name", 0),
@@ -612,6 +618,7 @@
                         ("DWORD", "DefBase", 0),
                         ("DWORD", "HPBase", 0),
                         ("DWORD", "AtkSpeedBase", 0),
+                        ("dict", "BatAttrBaseDict", 0),
                         ),
 
                 "MGGuayuQuality":(
@@ -620,7 +627,6 @@
                         ("float", "DefPlus", 0),
                         ("float", "HPPlus", 0),
                         ("float", "AtkSpeedPlus", 0),
-                        ("BYTE", "AttrLibCnt", 0),
                         ("list", "AttrRange", 0),
                         ("dict", "AttrRangeDict", 0),
                         ),
@@ -2440,6 +2446,17 @@
     def GetBuffRetain(self): return self.attrTuple[40] # Buff保留规则 BYTE
     def GetFightPower(self): return self.attrTuple[41] # 技能战斗力 DWORD
 
+# 预设解锁
+class IPY_PresetUnlock():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetPresetType(self): return self.attrTuple[0] # 预设类型 BYTE
+    def GetUnlockType(self): return self.attrTuple[1] #  解锁类型 BYTE
+    def GetUnlockValue(self): return self.attrTuple[2] #  解锁所需值 DWORD
+
 # 武将表
 class IPY_Hero():
     
@@ -3126,7 +3143,8 @@
     def GetAtkBase(self): return self.attrTuple[2] # 攻击基础值 DWORD
     def GetDefBase(self): return self.attrTuple[3] # 防御基础值 DWORD
     def GetHPBase(self): return self.attrTuple[4] # 生命基础值 DWORD
-    def GetAtkSpeedBase(self): return self.attrTuple[5] # 先攻基础值 DWORD
+    def GetAtkSpeedBase(self): return self.attrTuple[5] # 先攻基础值 DWORD
+    def GetBatAttrBaseDict(self): return self.attrTuple[6] # 其他战斗属性基础值字典,{属性ID:基础值, ...} dict
 
 # 卦玉品质表
 class IPY_MGGuayuQuality():
@@ -3140,9 +3158,8 @@
     def GetDefPlus(self): return self.attrTuple[2] # 防御加成 float
     def GetHPPlus(self): return self.attrTuple[3] # 生命加成 float
     def GetAtkSpeedPlus(self): return self.attrTuple[4] # 先攻加成 float
-    def GetAttrLibCnt(self): return self.attrTuple[5] # 库属性条数 BYTE
-    def GetAttrRange(self): return self.attrTuple[6] # 通用属性范围,下限|上限 list
-    def GetAttrRangeDict(self): return self.attrTuple[7] # 指定属性范围字典,{指定属性ID:[范围下限, 上限], ...} dict
+    def GetAttrRange(self): return self.attrTuple[5] # 其他属性通用加成范围,下限|上限 list
+    def GetAttrRangeDict(self): return self.attrTuple[6] # 其他指定属性加成范围字典,{指定属性ID:[范围下限, 上限], ...} dict
 
 # 卦玉类型表
 class IPY_MGGuayuType():
@@ -5782,6 +5799,7 @@
         self.__LoadFileData("NPC", onlyCheck)
         self.__LoadFileData("NPCStronger", onlyCheck)
         self.__LoadFileData("Skill", onlyCheck)
+        self.__LoadFileData("PresetUnlock", onlyCheck)
         self.__LoadFileData("Hero", onlyCheck)
         self.__LoadFileData("HeroTalent", onlyCheck)
         self.__LoadFileData("HeroBreak", onlyCheck)
@@ -6268,6 +6286,13 @@
         self.CheckLoadData("Skill")
         return self.ipySkillCache[index]
 
+    def GetPresetUnlockCount(self):
+        self.CheckLoadData("PresetUnlock")
+        return self.ipyPresetUnlockLen
+    def GetPresetUnlockByIndex(self, index):
+        self.CheckLoadData("PresetUnlock")
+        return self.ipyPresetUnlockCache[index]
+
     def GetHeroCount(self):
         self.CheckLoadData("Hero")
         return self.ipyHeroLen

--
Gitblit v1.8.0