ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -217,7 +217,7 @@
                        ),
                "HeroQuality":(
                        ("DWORD", "Quality", 1),
                        ("BYTE", "Quality", 1),
                        ("list", "InitTalentWeight", 0),
                        ("BYTE", "InitStarUpper", 0),
                        ("DWORD", "InitAddPer", 0),
@@ -230,22 +230,21 @@
                        ),
                "HeroQualityBreak":(
                        ("DWORD", "Quality", 1),
                        ("BYTE", "Quality", 1),
                        ("DWORD", "BreakLV", 1),
                        ("WORD", "LVMax", 0),
                        ("WORD", "UPLVNeed", 0),
                        ("list", "UPCostItemList", 0),
                        ),
                "HeroQualityAwake":(
                        ("DWORD", "Quality", 1),
                        ("BYTE", "Quality", 1),
                        ("DWORD", "AwakeLV", 1),
                        ("list", "UPCostItem", 0),
                        ("DWORD", "RebirthCostMoney", 0),
                        ),
                "HeroQualityLV":(
                        ("DWORD", "Quality", 1),
                        ("BYTE", "Quality", 1),
                        ("DWORD", "HeroLV", 1),
                        ("list", "UPCostItem", 0),
                        ("list", "AttrIDList", 0),
@@ -255,6 +254,22 @@
                "LineupRecommend":(
                        ("DWORD", "RecommendID", 1),
                        ("list", "HeroIDList", 0),
                        ),
                "HeroFates":(
                        ("WORD", "FatesID", 1),
                        ("BYTE", "FatesQuality", 0),
                        ("list", "HeroIDList", 0),
                        ("list", "AwardItemList", 0),
                        ("list", "AttrIDList", 0),
                        ("list", "LVAttrValueList", 0),
                        ),
                "HeroFatesQualityLV":(
                        ("BYTE", "FatesQuality", 1),
                        ("BYTE", "FatesLV", 1),
                        ("BYTE", "NeedStarTotal", 0),
                        ("BYTE", "NeedHeroCnt", 0),
                        ),
                "PlayerAttr":(
@@ -1249,9 +1264,12 @@
                        ("BYTE", "LuckyGridNum", 0),
                        ("dict", "GridNumMaxLimitInfo", 0),
                        ("list", "NotifyGridNumList", 0),
                        ("char", "NotifyKey", 0),
                        ("dict", "NotifyKeyDict", 0),
                        ("BYTE", "AwardMoneyType", 0),
                        ("WORD", "AwardMoneyValue", 0),
                        ("BYTE", "WishOutput", 0),
                        ("BYTE", "WishReset", 0),
                        ("dict", "WishLibSelect", 0),
                        ),
                "TreasureHouse":(
@@ -1269,10 +1287,12 @@
                        ),
                "TreasureItemLib":(
                        ("WORD", "ID", 0),
                        ("WORD", "LibID", 1),
                        ("DWORD", "ItemID", 0),
                        ("DWORD", "ItemCount", 0),
                        ("DWORD", "ItemWeight", 0),
                        ("BYTE", "WishOutCnt", 0),
                        ),
                "TreasureCntAward":(
@@ -2449,7 +2469,7 @@
        self.attrTuple = None
        return
        
    def GetQuality(self): return self.attrTuple[0] # 品质 DWORD
    def GetQuality(self): return self.attrTuple[0] # 品质 BYTE
    def GetInitTalentWeight(self): return self.attrTuple[1] #  初始天赋数权重 list
    def GetInitStarUpper(self): return self.attrTuple[2] #  初始星级上限 BYTE
    def GetInitAddPer(self): return self.attrTuple[3] #  卡牌初始加成万分率 DWORD
@@ -2467,11 +2487,10 @@
        self.attrTuple = None
        return
        
    def GetQuality(self): return self.attrTuple[0] # 品质 DWORD
    def GetQuality(self): return self.attrTuple[0] # 品质 BYTE
    def GetBreakLV(self): return self.attrTuple[1] # 突破等级 DWORD
    def GetLVMax(self): return self.attrTuple[2] #  等级上限 WORD
    def GetUPLVNeed(self): return self.attrTuple[3] #  突破到下级需要等级 WORD
    def GetUPCostItemList(self): return self.attrTuple[4] #  突破到下级消耗道具 list
    def GetUPLVNeed(self): return self.attrTuple[2] #  突破到下级需要等级 WORD
    def GetUPCostItemList(self): return self.attrTuple[3] #  突破到下级消耗道具 list
# 武将品质觉醒表
class IPY_HeroQualityAwake():
@@ -2480,7 +2499,7 @@
        self.attrTuple = None
        return
        
    def GetQuality(self): return self.attrTuple[0] # 品质 DWORD
    def GetQuality(self): return self.attrTuple[0] # 品质 BYTE
    def GetAwakeLV(self): return self.attrTuple[1] # 觉醒等级 DWORD
    def GetUPCostItem(self): return self.attrTuple[2] #  觉醒到下级消耗道具 list
    def GetRebirthCostMoney(self): return self.attrTuple[3] # 重生消耗货币 DWORD
@@ -2492,7 +2511,7 @@
        self.attrTuple = None
        return
        
    def GetQuality(self): return self.attrTuple[0] # 品质 DWORD
    def GetQuality(self): return self.attrTuple[0] # 品质 BYTE
    def GetHeroLV(self): return self.attrTuple[1] # 武将等级 DWORD
    def GetUPCostItem(self): return self.attrTuple[2] #  升级到下级消耗道具 list
    def GetAttrIDList(self): return self.attrTuple[3] #  武将属性ID列表 list
@@ -2507,6 +2526,32 @@
        
    def GetRecommendID(self): return self.attrTuple[0] # 推荐ID DWORD
    def GetHeroIDList(self): return self.attrTuple[1] #  推荐武将ID列表 list
# 武将宿缘表
class IPY_HeroFates():
    def __init__(self):
        self.attrTuple = None
        return
    def GetFatesID(self): return self.attrTuple[0] # 宿缘ID WORD
    def GetFatesQuality(self): return self.attrTuple[1] # 宿缘品质 BYTE
    def GetHeroIDList(self): return self.attrTuple[2] #  武将ID组合列表 list
    def GetAwardItemList(self): return self.attrTuple[3] #  激活奖励物品列表 list
    def GetAttrIDList(self): return self.attrTuple[4] #  属性ID列表 list
    def GetLVAttrValueList(self): return self.attrTuple[5] #  每级属性值列表 list
# 武将宿缘品质等级表
class IPY_HeroFatesQualityLV():
    def __init__(self):
        self.attrTuple = None
        return
    def GetFatesQuality(self): return self.attrTuple[0] # 宿缘品质 BYTE
    def GetFatesLV(self): return self.attrTuple[1] # 宿缘等级 BYTE
    def GetNeedStarTotal(self): return self.attrTuple[2] #  升到该级所需总星数 BYTE
    def GetNeedHeroCnt(self): return self.attrTuple[3] #  所需品质武将数 BYTE
# 属性条目表
class IPY_PlayerAttr():
@@ -3971,9 +4016,12 @@
    def GetLuckyGridNum(self): return self.attrTuple[15] # 幸运格子编号 BYTE
    def GetGridNumMaxLimitInfo(self): return self.attrTuple[16] # 格子最大产出次数限制,{"格子":最大可产出次数, ...} dict
    def GetNotifyGridNumList(self): return self.attrTuple[17] # 需要额外广播的格子 list
    def GetNotifyKey(self): return self.attrTuple[18] # 广播key char
    def GetNotifyKeyDict(self): return self.attrTuple[18] # 广播key dict
    def GetAwardMoneyType(self): return self.attrTuple[19] # 额外奖励货币类型 BYTE
    def GetAwardMoneyValue(self): return self.attrTuple[20] # 单次奖励货币数 WORD
    def GetAwardMoneyValue(self): return self.attrTuple[20] # 单次奖励货币数 WORD
    def GetWishOutput(self): return self.attrTuple[21] # 心愿产出规则 BYTE
    def GetWishReset(self): return self.attrTuple[22] # 心愿重置规则 BYTE
    def GetWishLibSelect(self): return self.attrTuple[23] # 心愿库选择数 dict
# 寻宝产出库表
class IPY_TreasureHouse():
@@ -4001,10 +4049,12 @@
        self.attrTuple = None
        return
        
    def GetLibID(self): return self.attrTuple[0] # 库ID WORD
    def GetItemID(self): return self.attrTuple[1] # 物品ID DWORD
    def GetItemCount(self): return self.attrTuple[2] # 物品个数 DWORD
    def GetItemWeight(self): return self.attrTuple[3] # 物品权重 DWORD
    def GetID(self): return self.attrTuple[0] # ID WORD
    def GetLibID(self): return self.attrTuple[1] # 库ID WORD
    def GetItemID(self): return self.attrTuple[2] # 物品ID DWORD
    def GetItemCount(self): return self.attrTuple[3] # 物品个数 DWORD
    def GetItemWeight(self): return self.attrTuple[4] # 物品权重 DWORD
    def GetWishOutCnt(self): return self.attrTuple[5] # 心愿产出次数 BYTE
# 寻宝累计次数奖励表
class IPY_TreasureCntAward():
@@ -5533,6 +5583,8 @@
        self.__LoadFileData("HeroQualityAwake", onlyCheck)
        self.__LoadFileData("HeroQualityLV", onlyCheck)
        self.__LoadFileData("LineupRecommend", onlyCheck)
        self.__LoadFileData("HeroFates", onlyCheck)
        self.__LoadFileData("HeroFatesQualityLV", onlyCheck)
        self.__LoadFileData("PlayerAttr", onlyCheck)
        self.__LoadFileData("FightPowerRatio", onlyCheck)
        self.__LoadFileData("MainChapter", onlyCheck)
@@ -6080,6 +6132,20 @@
        self.CheckLoadData("LineupRecommend")
        return self.ipyLineupRecommendCache[index]
    def GetHeroFatesCount(self):
        self.CheckLoadData("HeroFates")
        return self.ipyHeroFatesLen
    def GetHeroFatesByIndex(self, index):
        self.CheckLoadData("HeroFates")
        return self.ipyHeroFatesCache[index]
    def GetHeroFatesQualityLVCount(self):
        self.CheckLoadData("HeroFatesQualityLV")
        return self.ipyHeroFatesQualityLVLen
    def GetHeroFatesQualityLVByIndex(self, index):
        self.CheckLoadData("HeroFatesQualityLV")
        return self.ipyHeroFatesQualityLVCache[index]
    def GetPlayerAttrCount(self):
        self.CheckLoadData("PlayerAttr")
        return self.ipyPlayerAttrLen