From a166d721a3d7ff6cd2339983214e718c7a6a0ffe Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 11 六月 2025 11:00:36 +0800 Subject: [PATCH] 121 【武将】武将系统-服务端(武将招募;武将背包;武将养成系统;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 242 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 242 insertions(+), 0 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py index c1e5011..8244a79 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py @@ -56,6 +56,75 @@ ("BYTE", "OPLimitInAct", 0), ), + "Hero":( + ("DWORD", "HeroID", 1), + ("WORD", "HeroIndex", 0), + ("BYTE", "Country", 0), + ("BYTE", "Quality", 0), + ("list", "SkinNPCIDList", 0), + ("DWORD", "AtkSkillID", 0), + ("DWORD", "AngerSkillID", 0), + ), + + "HeroTalent":( + ("DWORD", "TalentID", 1), + ("BYTE", "AttrID", 0), + ("DWORD", "AttrValue", 0), + ("DWORD", "InitWeight", 0), + ("DWORD", "WashWeight", 0), + ("DWORD", "AweakWeight", 0), + ), + + "HeroBreak":( + ("DWORD", "HeroID", 1), + ("BYTE", "BreakLV", 0), + ("list", "AttrIDList", 0), + ("list", "AttrValueList", 0), + ("DWORD", "SkillID", 0), + ), + + "HeroAwake":( + ("DWORD", "HeroID", 1), + ("BYTE", "AwakeLV", 0), + ("list", "AttrIDList", 0), + ("list", "AttrValueList", 0), + ("DWORD", "SkillID", 0), + ("BYTE", "UnlockTalentSlot", 0), + ("BYTE", "AddStarUpper", 0), + ), + + "HeroSkin":( + ("DWORD", "SkinNPCID", 1), + ("list", "WearAttrIDList", 0), + ("list", "WearAttrValueList", 0), + ("list", "AllBatAttrIDList", 0), + ("list", "AllBatAttrValueList", 0), + ), + + "HeroQuality":( + ("DWORD", "Quality", 1), + ("list", "UPCostItem", 0), + ("list", "InitTalentWeight", 0), + ("BYTE", "InitStarUpper", 0), + ("DWORD", "InitAddPer", 0), + ("DWORD", "LVAddPer", 0), + ("DWORD", "BreakLVAddPer", 0), + ("DWORD", "StarAddPer", 0), + ), + + "HeroQualityBreak":( + ("DWORD", "Quality", 1), + ("DWORD", "BreakLV", 1), + ("WORD", "LVMax", 0), + ("list", "UPCostItem", 0), + ), + + "HeroQualityAwake":( + ("DWORD", "Quality", 1), + ("DWORD", "AwakeLV", 1), + ("list", "UPCostItem", 0), + ), + "Dienstgrad":( ("DWORD", "ID", 1), ("WORD", "Type", 0), @@ -2689,6 +2758,115 @@ def GetSortType(self): return self.attrTuple[5] # 队伍列表排序方案 BYTE def GetSortReverse(self): return self.attrTuple[6] # 是否倒序 BYTE def GetOPLimitInAct(self): return self.attrTuple[7] # 活动期间限制队伍操作 BYTE + +# 武将表 +class IPY_Hero(): + + def __init__(self): + self.attrTuple = None + 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 + +# 武将星级天赋表 +class IPY_HeroTalent(): + + def __init__(self): + self.attrTuple = None + return + + def GetTalentID(self): return self.attrTuple[0] # 天赋ID DWORD + def GetAttrID(self): return self.attrTuple[1] # 属性ID BYTE + def GetAttrValue(self): return self.attrTuple[2] # 属性值 DWORD + def GetInitWeight(self): return self.attrTuple[3] # 初始权重 DWORD + def GetWashWeight(self): return self.attrTuple[4] # 洗炼权重 DWORD + def GetAweakWeight(self): return self.attrTuple[5] # 觉醒权重 DWORD + +# 武将突破潜能表 +class IPY_HeroBreak(): + + def __init__(self): + self.attrTuple = None + return + + def GetHeroID(self): return self.attrTuple[0] # 英雄ID DWORD + def GetBreakLV(self): return self.attrTuple[1] # 突破等级 BYTE + def GetAttrIDList(self): return self.attrTuple[2] # 属性ID列表 list + def GetAttrValueList(self): return self.attrTuple[3] # 属性值列表 list + def GetSkillID(self): return self.attrTuple[4] # 激活技能ID DWORD + +# 武将觉醒天赋表 +class IPY_HeroAwake(): + + def __init__(self): + self.attrTuple = None + return + + def GetHeroID(self): return self.attrTuple[0] # 英雄ID DWORD + def GetAwakeLV(self): return self.attrTuple[1] # 觉醒等级 BYTE + def GetAttrIDList(self): return self.attrTuple[2] # 属性ID列表 list + def GetAttrValueList(self): return self.attrTuple[3] # 属性值列表 list + def GetSkillID(self): return self.attrTuple[4] # 激活技能ID DWORD + def GetUnlockTalentSlot(self): return self.attrTuple[5] # 解锁第x槽位 BYTE + def GetAddStarUpper(self): return self.attrTuple[6] # 增加星级上限 BYTE + +# 武将皮肤表 +class IPY_HeroSkin(): + + def __init__(self): + self.attrTuple = None + return + + def GetSkinNPCID(self): return self.attrTuple[0] # 皮肤NPCID DWORD + def GetWearAttrIDList(self): return self.attrTuple[1] # 穿戴属性ID列表 list + def GetWearAttrValueList(self): return self.attrTuple[2] # 穿戴属性值列表 list + def GetAllBatAttrIDList(self): return self.attrTuple[3] # 全体上阵属性ID列表 list + def GetAllBatAttrValueList(self): return self.attrTuple[4] # 全体上阵属性值列表 list + +# 武将品质表 +class IPY_HeroQuality(): + + def __init__(self): + self.attrTuple = None + return + + def GetQuality(self): return self.attrTuple[0] # 品质 DWORD + 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 + +# 武将品质突破表 +class IPY_HeroQualityBreak(): + + def __init__(self): + self.attrTuple = None + return + + def GetQuality(self): return self.attrTuple[0] # 品质 DWORD + def GetBreakLV(self): return self.attrTuple[1] # 突破等级 DWORD + def GetLVMax(self): return self.attrTuple[2] # 等级上限 WORD + def GetUPCostItem(self): return self.attrTuple[3] # 突破到下级消耗道具 list + +# 武将品质觉醒表 +class IPY_HeroQualityAwake(): + + def __init__(self): + self.attrTuple = None + return + + def GetQuality(self): return self.attrTuple[0] # 品质 DWORD + def GetAwakeLV(self): return self.attrTuple[1] # 觉醒等级 DWORD + def GetUPCostItem(self): return self.attrTuple[2] # 觉醒到下级消耗道具 list # 称号表 class IPY_Dienstgrad(): @@ -6699,6 +6877,14 @@ self.__LoadFileData("DirtyList", onlyCheck) self.__LoadFileData("DirtyName", onlyCheck) self.__LoadFileData("FuncTeamSet", onlyCheck) + self.__LoadFileData("Hero", onlyCheck) + self.__LoadFileData("HeroTalent", onlyCheck) + self.__LoadFileData("HeroBreak", onlyCheck) + self.__LoadFileData("HeroAwake", onlyCheck) + self.__LoadFileData("HeroSkin", onlyCheck) + self.__LoadFileData("HeroQuality", onlyCheck) + self.__LoadFileData("HeroQualityBreak", onlyCheck) + self.__LoadFileData("HeroQualityAwake", onlyCheck) self.__LoadFileData("Dienstgrad", onlyCheck) self.__LoadFileData("TitleStarUp", onlyCheck) self.__LoadFileData("PlayerFace", onlyCheck) @@ -7202,6 +7388,62 @@ self.CheckLoadData("FuncTeamSet") return self.ipyFuncTeamSetCache[index] + def GetHeroCount(self): + self.CheckLoadData("Hero") + return self.ipyHeroLen + def GetHeroByIndex(self, index): + self.CheckLoadData("Hero") + return self.ipyHeroCache[index] + + def GetHeroTalentCount(self): + self.CheckLoadData("HeroTalent") + return self.ipyHeroTalentLen + def GetHeroTalentByIndex(self, index): + self.CheckLoadData("HeroTalent") + return self.ipyHeroTalentCache[index] + + def GetHeroBreakCount(self): + self.CheckLoadData("HeroBreak") + return self.ipyHeroBreakLen + def GetHeroBreakByIndex(self, index): + self.CheckLoadData("HeroBreak") + return self.ipyHeroBreakCache[index] + + def GetHeroAwakeCount(self): + self.CheckLoadData("HeroAwake") + return self.ipyHeroAwakeLen + def GetHeroAwakeByIndex(self, index): + self.CheckLoadData("HeroAwake") + return self.ipyHeroAwakeCache[index] + + def GetHeroSkinCount(self): + self.CheckLoadData("HeroSkin") + return self.ipyHeroSkinLen + def GetHeroSkinByIndex(self, index): + self.CheckLoadData("HeroSkin") + return self.ipyHeroSkinCache[index] + + def GetHeroQualityCount(self): + self.CheckLoadData("HeroQuality") + return self.ipyHeroQualityLen + def GetHeroQualityByIndex(self, index): + self.CheckLoadData("HeroQuality") + return self.ipyHeroQualityCache[index] + + def GetHeroQualityBreakCount(self): + self.CheckLoadData("HeroQualityBreak") + return self.ipyHeroQualityBreakLen + def GetHeroQualityBreakByIndex(self, index): + self.CheckLoadData("HeroQualityBreak") + return self.ipyHeroQualityBreakCache[index] + + def GetHeroQualityAwakeCount(self): + self.CheckLoadData("HeroQualityAwake") + return self.ipyHeroQualityAwakeLen + def GetHeroQualityAwakeByIndex(self, index): + self.CheckLoadData("HeroQualityAwake") + return self.ipyHeroQualityAwakeCache[index] + def GetDienstgradCount(self): self.CheckLoadData("Dienstgrad") return self.ipyDienstgradLen -- Gitblit v1.8.0