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 | 254 +++++++++++++++++++++++---------------------------
1 files changed, 116 insertions(+), 138 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index a6eecb9..25013fb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -137,6 +137,7 @@
("list", "BuffStateLimit", 0),
("BYTE", "CurBuffState", 0),
("WORD", "LastTime", 0),
+ ("BYTE", "LastTimeType", 0),
("BYTE", "LayerCnt", 0),
("BYTE", "LayerMax", 0),
("DWORD", "BuffRepeat", 0),
@@ -303,6 +304,8 @@
("float", "WuFinalDamPerDefRatio", 0),
("float", "QunFinalDamPerRatio", 0),
("float", "QunFinalDamPerDefRatio", 0),
+ ("float", "PVPDamPerRatio", 0),
+ ("float", "PVPDamPerDefRatio", 0),
),
"MainChapter":(
@@ -496,6 +499,7 @@
("DWORD", "LimitMissionID", 0),
("WORD", "LimitOpenDay", 0),
("char", "MailKey", 0),
+ ("list", "AwardList", 0),
),
"ItemCompound":(
@@ -791,20 +795,41 @@
("list", "LVUPNeedItemInfo", 0),
),
- "Shentong":(
- ("BYTE", "ShentongID", 1),
- ("WORD", "NeedGubaoID", 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),
),
- "ShentongLV":(
- ("BYTE", "ShentongID", 1),
- ("BYTE", "ShentongClassLV", 1),
- ("BYTE", "ShentongLV", 1),
- ("list", "LVLightNeedItem", 0),
- ("list", "LVAttrTypeList", 0),
- ("list", "LVAttrValueList", 0),
- ("DWORD", "LVSkillID", 0),
- ("DWORD", "FightPowerEx", 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":(
@@ -901,7 +926,8 @@
("DWORD", "ADID", 1),
("BYTE", "ADCntMax", 0),
("list", "ADAwardItemList", 0),
- ("DWORD", "ADMapID", 0),
+ ("BYTE", "ADAwardType", 0),
+ ("DWORD", "ADAwardValue", 0),
),
"Success":(
@@ -1013,7 +1039,7 @@
("BYTE", "TaskType", 1),
("list", "TaskConds", 0),
("DWORD", "NeedValue", 0),
- ("BYTE", "AwardLiveness", 0),
+ ("list", "AwardItemList", 0),
),
"DailyLivenessReward":(
@@ -1196,25 +1222,6 @@
("dict", "Reward", 0),
("BYTE", "VIPLimit", 0),
("list", "VIPAward", 0),
- ),
-
- "Invest":(
- ("WORD", "ID", 1),
- ("BYTE", "Type", 0),
- ("BYTE", "NeedDay", 0),
- ("WORD", "NeedLV", 0),
- ("DWORD", "NeedNPCID", 0),
- ("dict", "Reward", 0),
- ),
-
- "XBXZ":(
- ("DWORD", "ID", 1),
- ("BYTE", "Type", 0),
- ("DWORD", "NeedCnt", 0),
- ("list", "Condition", 0),
- ("WORD", "MWID", 0),
- ("list", "AwardItem", 0),
- ("list", "Money", 0),
),
"TreasureSet":(
@@ -1526,11 +1533,6 @@
("DWORD", "Weight", 0),
("DWORD", "Mark", 0),
("BYTE", "Rare", 0),
- ),
-
- "FunctionForecast":(
- ("DWORD", "FuncID", 1),
- ("dict", "Award", 0),
),
"EmojiPack":(
@@ -2367,11 +2369,12 @@
def GetBuffStateLimit(self): return self.attrTuple[32] # Buff状态限制组 list
def GetCurBuffState(self): return self.attrTuple[33] # Buff状态值 BYTE
def GetLastTime(self): return self.attrTuple[34] # 持续时间 WORD
- def GetLayerCnt(self): return self.attrTuple[35] # Buff层数 BYTE
- def GetLayerMax(self): return self.attrTuple[36] # 最大层数 BYTE
- def GetBuffRepeat(self): return self.attrTuple[37] # Buff叠加规则 DWORD
- def GetDispersedLimit(self): return self.attrTuple[38] # 驱散限制 BYTE
- def GetFightPower(self): return self.attrTuple[39] # 技能战斗力 DWORD
+ def GetLastTimeType(self): return self.attrTuple[35] # 持续时间规则 BYTE
+ def GetLayerCnt(self): return self.attrTuple[36] # Buff层数 BYTE
+ def GetLayerMax(self): return self.attrTuple[37] # 最大层数 BYTE
+ def GetBuffRepeat(self): return self.attrTuple[38] # Buff叠加规则 DWORD
+ def GetDispersedLimit(self): return self.attrTuple[39] # 驱散限制 BYTE
+ def GetFightPower(self): return self.attrTuple[40] # 技能战斗力 DWORD
# 武将表
class IPY_Hero():
@@ -2602,7 +2605,9 @@
def GetWuFinalDamPerRatio(self): return self.attrTuple[38] # float
def GetWuFinalDamPerDefRatio(self): return self.attrTuple[39] # float
def GetQunFinalDamPerRatio(self): return self.attrTuple[40] # float
- def GetQunFinalDamPerDefRatio(self): return self.attrTuple[41] # float
+ def GetQunFinalDamPerDefRatio(self): return self.attrTuple[41] # float
+ def GetPVPDamPerRatio(self): return self.attrTuple[42] # float
+ def GetPVPDamPerDefRatio(self): return self.attrTuple[43] # float
# 主线章节表
class IPY_MainChapter():
@@ -2885,7 +2890,8 @@
def GetLimiRealmLV(self): return self.attrTuple[2] # 需要境界等级 WORD
def GetLimitMissionID(self): return self.attrTuple[3] # 需要完成的任务ID DWORD
def GetLimitOpenDay(self): return self.attrTuple[4] # 开服第几天开启 WORD
- def GetMailKey(self): return self.attrTuple[5] # 邮件 char
+ def GetMailKey(self): return self.attrTuple[5] # 邮件 char
+ def GetAwardList(self): return self.attrTuple[6] # 奖励列表[[物品ID,个数], ...] list
# 合成表
class IPY_ItemCompound():
@@ -3340,31 +3346,57 @@
def GetLessEqualLV(self): return self.attrTuple[1] # 小于等于等级 BYTE
def GetLVUPNeedItemInfo(self): return self.attrTuple[2] # 升级所需物品 [[物品ID,个数], ...] list
-# 神通表
-class IPY_Shentong():
+# 红颜表
+class IPY_Beauty():
def __init__(self):
self.attrTuple = None
return
- def GetShentongID(self): return self.attrTuple[0] # 神通ID BYTE
- def GetNeedGubaoID(self): return self.attrTuple[1] # 解锁所需古宝ID WORD
+ 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_ShentongLV():
+# 红颜品质升级表
+class IPY_BeautyQualityLV():
def __init__(self):
self.attrTuple = None
return
- def GetShentongID(self): return self.attrTuple[0] # 神通ID BYTE
- def GetShentongClassLV(self): return self.attrTuple[1] # 神通阶级 BYTE
- def GetShentongLV(self): return self.attrTuple[2] # 神通等级 BYTE
- def GetLVLightNeedItem(self): return self.attrTuple[3] # 点亮该级所需物品 [[物品ID,个数], ...] list
- def GetLVAttrTypeList(self): return self.attrTuple[4] # 该级属性类型列表 list
- def GetLVAttrValueList(self): return self.attrTuple[5] # 该级属性值列表 list
- def GetLVSkillID(self): return self.attrTuple[6] # 该级职业通用技能ID DWORD
- def GetFightPowerEx(self): return self.attrTuple[7] # 附加战力 DWORD
+ 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():
@@ -3506,7 +3538,8 @@
def GetADID(self): return self.attrTuple[0] # DWORD
def GetADCntMax(self): return self.attrTuple[1] # 每日次数 BYTE
def GetADAwardItemList(self): return self.attrTuple[2] # 广告奖励物品列表 list
- def GetADMapID(self): return self.attrTuple[3] # 对应副本ID,默认给该副本1次次数 DWORD
+ def GetADAwardType(self): return self.attrTuple[3] # 奖励类型 BYTE
+ def GetADAwardValue(self): return self.attrTuple[4] # 类型对应值 DWORD
# 成就表
class IPY_Success():
@@ -3673,7 +3706,7 @@
def GetTaskType(self): return self.attrTuple[1] # 任务类型 BYTE
def GetTaskConds(self): return self.attrTuple[2] # 任务条件[...] list
def GetNeedValue(self): return self.attrTuple[3] # 所需任务值 DWORD
- def GetAwardLiveness(self): return self.attrTuple[4] # 奖励活跃度 BYTE
+ def GetAwardItemList(self): return self.attrTuple[4] # 奖励物品列表 list
# 每日活跃奖励表
class IPY_DailyLivenessReward():
@@ -3946,35 +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_Invest():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetID(self): return self.attrTuple[0] # ID WORD
- def GetType(self): return self.attrTuple[1] # 投资类型 BYTE
- def GetNeedDay(self): return self.attrTuple[2] # 需要天数 BYTE
- def GetNeedLV(self): return self.attrTuple[3] # 需要等级 WORD
- def GetNeedNPCID(self): return self.attrTuple[4] # 需要NPCID DWORD
- def GetReward(self): return self.attrTuple[5] # 奖励 {"key":[[物品ID,个数,是否绑定],...], ...} dict
-
-# 仙宝寻主表
-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():
@@ -4446,16 +4450,6 @@
def GetWeight(self): return self.attrTuple[6] # 权重 DWORD
def GetMark(self): return self.attrTuple[7] # 排序用标识 DWORD
def GetRare(self): return self.attrTuple[8] # 珍稀值 BYTE
-
-# 功能预告表
-class IPY_FunctionForecast():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetFuncID(self): return self.attrTuple[0] # 功能ID DWORD
- def GetAward(self): return self.attrTuple[1] # 属性类型 dict
# 表情包表
class IPY_EmojiPack():
@@ -5701,8 +5695,9 @@
self.__LoadFileData("GubaoResonance", onlyCheck)
self.__LoadFileData("GubaoStar", onlyCheck)
self.__LoadFileData("GubaoLV", onlyCheck)
- self.__LoadFileData("Shentong", onlyCheck)
- self.__LoadFileData("ShentongLV", 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)
@@ -5741,8 +5736,6 @@
self.__LoadFileData("CTGSelectItem", onlyCheck)
self.__LoadFileData("FirstCharge", onlyCheck)
self.__LoadFileData("LVAward", onlyCheck)
- self.__LoadFileData("Invest", onlyCheck)
- self.__LoadFileData("XBXZ", onlyCheck)
self.__LoadFileData("TreasureSet", onlyCheck)
self.__LoadFileData("TreasureHouse", onlyCheck)
self.__LoadFileData("TreasureItemLib", onlyCheck)
@@ -5775,7 +5768,6 @@
self.__LoadFileData("ActFlashSale", onlyCheck)
self.__LoadFileData("ActWishingWell", onlyCheck)
self.__LoadFileData("WishingWell", onlyCheck)
- self.__LoadFileData("FunctionForecast", onlyCheck)
self.__LoadFileData("EmojiPack", onlyCheck)
self.__LoadFileData("ActRechargePrize", onlyCheck)
self.__LoadFileData("RechargePrizeTemplate", onlyCheck)
@@ -6568,19 +6560,26 @@
self.CheckLoadData("GubaoLV")
return self.ipyGubaoLVCache[index]
- def GetShentongCount(self):
- self.CheckLoadData("Shentong")
- return self.ipyShentongLen
- def GetShentongByIndex(self, index):
- self.CheckLoadData("Shentong")
- return self.ipyShentongCache[index]
+ def GetBeautyCount(self):
+ self.CheckLoadData("Beauty")
+ return self.ipyBeautyLen
+ def GetBeautyByIndex(self, index):
+ self.CheckLoadData("Beauty")
+ return self.ipyBeautyCache[index]
- def GetShentongLVCount(self):
- self.CheckLoadData("ShentongLV")
- return self.ipyShentongLVLen
- def GetShentongLVByIndex(self, index):
- self.CheckLoadData("ShentongLV")
- return self.ipyShentongLVCache[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")
@@ -6848,20 +6847,6 @@
self.CheckLoadData("LVAward")
return self.ipyLVAwardCache[index]
- def GetInvestCount(self):
- self.CheckLoadData("Invest")
- return self.ipyInvestLen
- def GetInvestByIndex(self, index):
- self.CheckLoadData("Invest")
- return self.ipyInvestCache[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")
return self.ipyTreasureSetLen
@@ -7085,13 +7070,6 @@
def GetWishingWellByIndex(self, index):
self.CheckLoadData("WishingWell")
return self.ipyWishingWellCache[index]
-
- def GetFunctionForecastCount(self):
- self.CheckLoadData("FunctionForecast")
- return self.ipyFunctionForecastLen
- def GetFunctionForecastByIndex(self, index):
- self.CheckLoadData("FunctionForecast")
- return self.ipyFunctionForecastCache[index]
def GetEmojiPackCount(self):
self.CheckLoadData("EmojiPack")
--
Gitblit v1.8.0