From caba629e01f8f603b8e05f588688c40e82eb6c88 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 21 十一月 2025 16:44:33 +0800
Subject: [PATCH] 358 【内政】红颜系统-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |  146 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 113 insertions(+), 33 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index c16c9d1..25013fb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -795,6 +795,43 @@
                         ("list", "LVUPNeedItemInfo", 0),
                         ),
 
+                "Beauty":(
+                        ("WORD", "BeautyID", 1),
+                        ("BYTE", "BeautyQuality", 0),
+                        ("BYTE", "UnlockWay", 0),
+                        ("DWORD", "UnlockValue", 0),
+                        ("BYTE", "UnlockNeedCnt", 0),
+                        ("list", "TalentAttrIDList", 0),
+                        ("list", "TalentAttrValueList", 0),
+                        ("list", "TalentPerLVAddList", 0),
+                        ("BYTE", "EffType", 0),
+                        ("BYTE", "EffTypeValue", 0),
+                        ("BYTE", "EffValue", 0),
+                        ("DWORD", "EffPerLVAdd", 0),
+                        ),
+
+                "BeautyQualityLV":(
+                        ("BYTE", "BeautyQuality", 1),
+                        ("WORD", "BeautyLV", 1),
+                        ("WORD", "LVNeedExp", 0),
+                        ("list", "AttrIDList", 0),
+                        ("list", "AttrValueList", 0),
+                        ("list", "AwardItemList", 0),
+                        ),
+
+                "BeautySkin":(
+                        ("WORD", "SkinID", 0),
+                        ("WORD", "BeautyID", 1),
+                        ("BYTE", "UnlockWay", 0),
+                        ("DWORD", "UnlockValue", 0),
+                        ("BYTE", "UnlockNeedCnt", 0),
+                        ("BYTE", "UpNeedCnt", 0),
+                        ("BYTE", "StarMax", 0),
+                        ("list", "AttrIDList", 0),
+                        ("list", "InitAttrValueList", 0),
+                        ("list", "AttrPerStarAddList", 0),
+                        ),
+
                 "PlayerLV":(
                         ("WORD", "LV", 1),
                         ("DWORD", "Exp", 0),
@@ -1185,16 +1222,6 @@
                         ("dict", "Reward", 0),
                         ("BYTE", "VIPLimit", 0),
                         ("list", "VIPAward", 0),
-                        ),
-
-                "XBXZ":(
-                        ("DWORD", "ID", 1),
-                        ("BYTE", "Type", 0),
-                        ("DWORD", "NeedCnt", 0),
-                        ("list", "Condition", 0),
-                        ("WORD", "MWID", 0),
-                        ("list", "AwardItem", 0),
-                        ("list", "Money", 0),
                         ),
 
                 "TreasureSet":(
@@ -3319,6 +3346,58 @@
     def GetLessEqualLV(self): return self.attrTuple[1] # 小于等于等级 BYTE
     def GetLVUPNeedItemInfo(self): return self.attrTuple[2] # 升级所需物品 [[物品ID,个数], ...] list
 
+# 红颜表
+class IPY_Beauty():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetBeautyID(self): return self.attrTuple[0] # 红颜ID WORD
+    def GetBeautyQuality(self): return self.attrTuple[1] # 品质 BYTE
+    def GetUnlockWay(self): return self.attrTuple[2] # 解锁方式 BYTE
+    def GetUnlockValue(self): return self.attrTuple[3] # 解锁方式值 DWORD
+    def GetUnlockNeedCnt(self): return self.attrTuple[4] # 解锁所需个数 BYTE
+    def GetTalentAttrIDList(self): return self.attrTuple[5] # 天赋属性ID列表 list
+    def GetTalentAttrValueList(self): return self.attrTuple[6] # 天赋属性初始值 list
+    def GetTalentPerLVAddList(self): return self.attrTuple[7] # 天赋属性每级成长 list
+    def GetEffType(self): return self.attrTuple[8] # 天赋效果类型 BYTE
+    def GetEffTypeValue(self): return self.attrTuple[9] # 效果类型值 BYTE
+    def GetEffValue(self): return self.attrTuple[10] # 效果初始值 BYTE
+    def GetEffPerLVAdd(self): return self.attrTuple[11] # 天赋效果每级成长 DWORD
+
+# 红颜品质升级表
+class IPY_BeautyQualityLV():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetBeautyQuality(self): return self.attrTuple[0] # BYTE
+    def GetBeautyLV(self): return self.attrTuple[1] # WORD
+    def GetLVNeedExp(self): return self.attrTuple[2] # 升到本级所需经验 WORD
+    def GetAttrIDList(self): return self.attrTuple[3] # 本级属性ID列表 list
+    def GetAttrValueList(self): return self.attrTuple[4] # 本级属性值列表 list
+    def GetAwardItemList(self): return self.attrTuple[5] # 本级奖励 list
+
+# 红颜时装表
+class IPY_BeautySkin():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetSkinID(self): return self.attrTuple[0] # 时装ID WORD
+    def GetBeautyID(self): return self.attrTuple[1] # WORD
+    def GetUnlockWay(self): return self.attrTuple[2] # 解锁方式 BYTE
+    def GetUnlockValue(self): return self.attrTuple[3] # 解锁方式值 DWORD
+    def GetUnlockNeedCnt(self): return self.attrTuple[4] # 解锁所需个数 BYTE
+    def GetUpNeedCnt(self): return self.attrTuple[5] # 升级所需个数 BYTE
+    def GetStarMax(self): return self.attrTuple[6] # 最高星级 BYTE
+    def GetAttrIDList(self): return self.attrTuple[7] # 属性ID列表 list
+    def GetInitAttrValueList(self): return self.attrTuple[8] # 初始属性值列表 list
+    def GetAttrPerStarAddList(self): return self.attrTuple[9] # 每星加成值列表 list
+
 # 玩家等级表
 class IPY_PlayerLV():
     
@@ -3900,21 +3979,6 @@
     def GetReward(self): return self.attrTuple[3] # 奖励 {"职业":[[物品ID,个数],...], ...} dict
     def GetVIPLimit(self): return self.attrTuple[4] # 需要VIP几 BYTE
     def GetVIPAward(self): return self.attrTuple[5] # vip奖励[[物品ID,个数],...] list
-
-# 仙宝寻主表
-class IPY_XBXZ():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetID(self): return self.attrTuple[0] # ID DWORD
-    def GetType(self): return self.attrTuple[1] # 类型 BYTE
-    def GetNeedCnt(self): return self.attrTuple[2] # 需要数量 DWORD
-    def GetCondition(self): return self.attrTuple[3] # 条件 list
-    def GetMWID(self): return self.attrTuple[4] # 法宝ID WORD
-    def GetAwardItem(self): return self.attrTuple[5] # 奖励物品列表 list
-    def GetMoney(self): return self.attrTuple[6] # 金钱 list
 
 # 寻宝设定表
 class IPY_TreasureSet():
@@ -5631,6 +5695,9 @@
         self.__LoadFileData("GubaoResonance", onlyCheck)
         self.__LoadFileData("GubaoStar", onlyCheck)
         self.__LoadFileData("GubaoLV", onlyCheck)
+        self.__LoadFileData("Beauty", onlyCheck)
+        self.__LoadFileData("BeautyQualityLV", onlyCheck)
+        self.__LoadFileData("BeautySkin", onlyCheck)
         self.__LoadFileData("PlayerLV", onlyCheck)
         self.__LoadFileData("SpecMapPlayerAttrFormat", onlyCheck)
         self.__LoadFileData("GMAttr", onlyCheck)
@@ -5669,7 +5736,6 @@
         self.__LoadFileData("CTGSelectItem", onlyCheck)
         self.__LoadFileData("FirstCharge", onlyCheck)
         self.__LoadFileData("LVAward", onlyCheck)
-        self.__LoadFileData("XBXZ", onlyCheck)
         self.__LoadFileData("TreasureSet", onlyCheck)
         self.__LoadFileData("TreasureHouse", onlyCheck)
         self.__LoadFileData("TreasureItemLib", onlyCheck)
@@ -6494,6 +6560,27 @@
         self.CheckLoadData("GubaoLV")
         return self.ipyGubaoLVCache[index]
 
+    def GetBeautyCount(self):
+        self.CheckLoadData("Beauty")
+        return self.ipyBeautyLen
+    def GetBeautyByIndex(self, index):
+        self.CheckLoadData("Beauty")
+        return self.ipyBeautyCache[index]
+
+    def GetBeautyQualityLVCount(self):
+        self.CheckLoadData("BeautyQualityLV")
+        return self.ipyBeautyQualityLVLen
+    def GetBeautyQualityLVByIndex(self, index):
+        self.CheckLoadData("BeautyQualityLV")
+        return self.ipyBeautyQualityLVCache[index]
+
+    def GetBeautySkinCount(self):
+        self.CheckLoadData("BeautySkin")
+        return self.ipyBeautySkinLen
+    def GetBeautySkinByIndex(self, index):
+        self.CheckLoadData("BeautySkin")
+        return self.ipyBeautySkinCache[index]
+
     def GetPlayerLVCount(self):
         self.CheckLoadData("PlayerLV")
         return self.ipyPlayerLVLen
@@ -6759,13 +6846,6 @@
     def GetLVAwardByIndex(self, index):
         self.CheckLoadData("LVAward")
         return self.ipyLVAwardCache[index]
-
-    def GetXBXZCount(self):
-        self.CheckLoadData("XBXZ")
-        return self.ipyXBXZLen
-    def GetXBXZByIndex(self, index):
-        self.CheckLoadData("XBXZ")
-        return self.ipyXBXZCache[index]
 
     def GetTreasureSetCount(self):
         self.CheckLoadData("TreasureSet")

--
Gitblit v1.8.0