From edc3910a9d090e5df4deb2dbc37709a740375938 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 12 六月 2025 12:18:42 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(图鉴;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |   63 ++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 11 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 8244a79..3b1c8ad 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -58,12 +58,15 @@
 
                 "Hero":(
                         ("DWORD", "HeroID", 1),
-                        ("WORD", "HeroIndex", 0),
                         ("BYTE", "Country", 0),
                         ("BYTE", "Quality", 0),
                         ("list", "SkinNPCIDList", 0),
                         ("DWORD", "AtkSkillID", 0),
                         ("DWORD", "AngerSkillID", 0),
+                        ("WORD", "AtkInheritPer", 0),
+                        ("WORD", "DefInheritPer", 0),
+                        ("WORD", "HPInheritPer", 0),
+                        ("dict", "BatAttrDict", 0),
                         ),
 
                 "HeroTalent":(
@@ -93,6 +96,13 @@
                         ("BYTE", "AddStarUpper", 0),
                         ),
 
+                "HeroFetter":(
+                        ("WORD", "FetterID", 1),
+                        ("list", "HeroIDList", 0),
+                        ("list", "AttrIDList", 0),
+                        ("list", "AttrValueList", 0),
+                        ),
+
                 "HeroSkin":(
                         ("DWORD", "SkinNPCID", 1),
                         ("list", "WearAttrIDList", 0),
@@ -110,6 +120,10 @@
                         ("DWORD", "LVAddPer", 0),
                         ("DWORD", "BreakLVAddPer", 0),
                         ("DWORD", "StarAddPer", 0),
+                        ("list", "BookActAwardMoney", 0),
+                        ("DWORD", "BookInitAddPer", 0),
+                        ("DWORD", "BookStarAddPer", 0),
+                        ("DWORD", "BookBreakLVAddPer", 0),
                         ),
 
                 "HeroQualityBreak":(
@@ -2767,12 +2781,15 @@
         return
         
     def GetHeroID(self): return self.attrTuple[0] # 英雄ID DWORD
-    def GetHeroIndex(self): return self.attrTuple[1] #  记录索引 WORD
-    def GetCountry(self): return self.attrTuple[2] #  国家 BYTE
-    def GetQuality(self): return self.attrTuple[3] #  品质 BYTE
-    def GetSkinNPCIDList(self): return self.attrTuple[4] #  皮肤NPCID列表 list
-    def GetAtkSkillID(self): return self.attrTuple[5] # 普攻技能ID DWORD
-    def GetAngerSkillID(self): return self.attrTuple[6] # 怒气技能ID DWORD
+    def GetCountry(self): return self.attrTuple[1] #  国家 BYTE
+    def GetQuality(self): return self.attrTuple[2] #  品质 BYTE
+    def GetSkinNPCIDList(self): return self.attrTuple[3] #  皮肤NPCID列表 list
+    def GetAtkSkillID(self): return self.attrTuple[4] # 普攻技能ID DWORD
+    def GetAngerSkillID(self): return self.attrTuple[5] # 怒气技能ID DWORD
+    def GetAtkInheritPer(self): return self.attrTuple[6] # 攻击继承 WORD
+    def GetDefInheritPer(self): return self.attrTuple[7] # 防御继承 WORD
+    def GetHPInheritPer(self): return self.attrTuple[8] # 生命继承 WORD
+    def GetBatAttrDict(self): return self.attrTuple[9] # 其他战斗属性字典 {"属性ID":值, ...} dict
 
 # 武将星级天赋表
 class IPY_HeroTalent():
@@ -2816,6 +2833,18 @@
     def GetUnlockTalentSlot(self): return self.attrTuple[5] #  解锁第x槽位 BYTE
     def GetAddStarUpper(self): return self.attrTuple[6] #  增加星级上限 BYTE
 
+# 武将羁绊表
+class IPY_HeroFetter():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetFetterID(self): return self.attrTuple[0] # 羁绊ID WORD
+    def GetHeroIDList(self): return self.attrTuple[1] #  武将ID组合列表 list
+    def GetAttrIDList(self): return self.attrTuple[2] #  属性ID列表 list
+    def GetAttrValueList(self): return self.attrTuple[3] #  属性值列表 list
+
 # 武将皮肤表
 class IPY_HeroSkin():
     
@@ -2840,10 +2869,14 @@
     def GetUPCostItem(self): return self.attrTuple[1] #  升级消耗道具 list
     def GetInitTalentWeight(self): return self.attrTuple[2] #  初始天赋数权重 list
     def GetInitStarUpper(self): return self.attrTuple[3] #  初始星级上限 BYTE
-    def GetInitAddPer(self): return self.attrTuple[4] #  初始加成万分率 DWORD
-    def GetLVAddPer(self): return self.attrTuple[5] #  每等级加成 DWORD
-    def GetBreakLVAddPer(self): return self.attrTuple[6] #  每突破等级加成 DWORD
-    def GetStarAddPer(self): return self.attrTuple[7] #  每星级加成 DWORD
+    def GetInitAddPer(self): return self.attrTuple[4] #  上阵初始加成万分率 DWORD
+    def GetLVAddPer(self): return self.attrTuple[5] #  上阵每等级加成 DWORD
+    def GetBreakLVAddPer(self): return self.attrTuple[6] #  上阵每突破等级加成 DWORD
+    def GetStarAddPer(self): return self.attrTuple[7] #  上阵每星级加成 DWORD
+    def GetBookActAwardMoney(self): return self.attrTuple[8] #  图鉴激活奖励货币 类型|值 list
+    def GetBookInitAddPer(self): return self.attrTuple[9] #  图鉴初始加成 DWORD
+    def GetBookStarAddPer(self): return self.attrTuple[10] #  图鉴每星级加成 DWORD
+    def GetBookBreakLVAddPer(self): return self.attrTuple[11] #  图鉴每突破等级加成 DWORD
 
 # 武将品质突破表
 class IPY_HeroQualityBreak():
@@ -6881,6 +6914,7 @@
         self.__LoadFileData("HeroTalent", onlyCheck)
         self.__LoadFileData("HeroBreak", onlyCheck)
         self.__LoadFileData("HeroAwake", onlyCheck)
+        self.__LoadFileData("HeroFetter", onlyCheck)
         self.__LoadFileData("HeroSkin", onlyCheck)
         self.__LoadFileData("HeroQuality", onlyCheck)
         self.__LoadFileData("HeroQualityBreak", onlyCheck)
@@ -7416,6 +7450,13 @@
         self.CheckLoadData("HeroAwake")
         return self.ipyHeroAwakeCache[index]
 
+    def GetHeroFetterCount(self):
+        self.CheckLoadData("HeroFetter")
+        return self.ipyHeroFetterLen
+    def GetHeroFetterByIndex(self, index):
+        self.CheckLoadData("HeroFetter")
+        return self.ipyHeroFetterCache[index]
+
     def GetHeroSkinCount(self):
         self.CheckLoadData("HeroSkin")
         return self.ipyHeroSkinLen

--
Gitblit v1.8.0