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),
@@ -248,6 +249,8 @@
                        ("DWORD", "Quality", 1),
                        ("DWORD", "HeroLV", 1),
                        ("list", "UPCostItem", 0),
                        ("list", "AttrIDList", 0),
                        ("list", "AttrValueList", 0),
                        ),
                "LineupRecommend":(
@@ -303,6 +306,8 @@
                        ("float", "WuFinalDamPerDefRatio", 0),
                        ("float", "QunFinalDamPerRatio", 0),
                        ("float", "QunFinalDamPerDefRatio", 0),
                        ("float", "PVPDamPerRatio", 0),
                        ("float", "PVPDamPerDefRatio", 0),
                        ),
                "MainChapter":(
@@ -494,7 +499,9 @@
                        ("DWORD", "LimitLV", 0),
                        ("WORD", "LimiRealmLV", 0),
                        ("DWORD", "LimitMissionID", 0),
                        ("WORD", "LimitOpenDay", 0),
                        ("char", "MailKey", 0),
                        ("list", "AwardList", 0),
                        ),
                "ItemCompound":(
@@ -724,53 +731,29 @@
                        ("DWORD", "UpEatItemPerCount", 0),
                        ),
                "HorseLVUp":(
                        ("BYTE", "HorseLV", 1),
                        ("DWORD", "HorseSkinID", 0),
                        ("WORD", "NeedEatCount", 0),
                        ("list", "LVAttrType", 0),
                        ("list", "LVAttrValue", 0),
                        ("list", "UpItemAttrType", 0),
                        ("list", "UpItemAttrValue", 0),
                        ("DWORD", "UpEatItemPerCount", 0),
                "HorseClass":(
                        ("BYTE", "ClassLV", 1),
                        ("WORD", "MaxHorseLV", 0),
                        ("WORD", "LVUPItemCnt", 0),
                        ("WORD", "ClassUPItemCnt", 0),
                        ("list", "ClassSpecAttrIDList", 0),
                        ("list", "ClassSpecAttrValueList", 0),
                        ("list", "AttrIDList", 0),
                        ("list", "ClassAttrValueList", 0),
                        ("list", "PerLVAttrValueList", 0),
                        ),
                "HorseTrain":(
                        ("BYTE", "TrainType", 1),
                        ("BYTE", "TrainLV", 1),
                        ("WORD", "NeedRealmLV", 0),
                        ("DWORD", "EatCntTotal", 0),
                        ("DWORD", "EatCntEverytime", 0),
                        ("list", "EatItemAttrTypeList", 0),
                        ("list", "EatItemAttrValueList", 0),
                        ("list", "LVAttrTypeList", 0),
                        ("list", "LVAttrValueList", 0),
                        ),
                "HorseSkinPlus":(
                        ("BYTE", "ID", 1),
                        ("DWORD", "HorseSkinPlusID", 0),
                        ("DWORD", "UnlockItemID", 0),
                        ("BYTE", "UnlockItemCnt", 0),
                        ("list", "AttrType", 0),
                        ("list", "AttrValue", 0),
                        ("DWORD", "InitFightPower", 0),
                        ("DWORD", "HorseID", 0),
                        ("DWORD", "SkinValidTime", 0),
                        ),
                "Horse":(
                        ("DWORD", "HorseID", 1),
                        ("DWORD", "HorseSkinID", 0),
                        ("BYTE", "Quality", 0),
                        ),
                "HorseStarUp":(
                        ("DWORD", "HorseID", 1),
                        ("BYTE", "HorseStar", 1),
                        ("list", "StarUpNeedItemList", 0),
                        ("list", "StarAttrType", 0),
                        ("list", "StarAttrValue", 0),
                "HorseSkin":(
                        ("DWORD", "SkinID", 1),
                        ("DWORD", "ExpireMinutes", 0),
                        ("BYTE", "UnlockWay", 0),
                        ("DWORD", "UnlockValue", 0),
                        ("BYTE", "UnlockNeedCnt", 0),
                        ("BYTE", "UpNeedCnt", 0),
                        ("BYTE", "StarMax", 0),
                        ("list", "AttrIDList", 0),
                        ("list", "InitAttrValueList", 0),
                        ("list", "AttrPerStarAddList", 0),
                        ),
                "Gubao":(
@@ -814,20 +797,57 @@
                        ("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),
                        ),
                "TravelEvent":(
                        ("WORD", "EventID", 1),
                        ("DWORD", "EventWeight", 0),
                        ("DWORD", "AwardItemID", 0),
                        ("DWORD", "AwardItemCnt", 0),
                        ),
                "TravelScenery":(
                        ("BYTE", "SceneryType", 1),
                        ("BYTE", "AwardQuality", 0),
                        ("DWORD", "UpRate", 0),
                        ("list", "AwardItemRandCntList", 0),
                        ("list", "AwardItemExWeightList", 0),
                        ("BYTE", "AwardItemExCnt", 0),
                        ),
                "PlayerLV":(
@@ -924,7 +944,8 @@
                        ("DWORD", "ADID", 1),
                        ("BYTE", "ADCntMax", 0),
                        ("list", "ADAwardItemList", 0),
                        ("DWORD", "ADMapID", 0),
                        ("BYTE", "ADAwardType", 0),
                        ("DWORD", "ADAwardValue", 0),
                        ),
                "Success":(
@@ -1036,7 +1057,7 @@
                        ("BYTE", "TaskType", 1),
                        ("list", "TaskConds", 0),
                        ("DWORD", "NeedValue", 0),
                        ("BYTE", "AwardLiveness", 0),
                        ("list", "AwardItemList", 0),
                        ),
                "DailyLivenessReward":(
@@ -1219,25 +1240,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":(
@@ -1549,11 +1551,6 @@
                        ("DWORD", "Weight", 0),
                        ("DWORD", "Mark", 0),
                        ("BYTE", "Rare", 0),
                        ),
                "FunctionForecast":(
                        ("DWORD", "FuncID", 1),
                        ("dict", "Award", 0),
                        ),
                "EmojiPack":(
@@ -1932,30 +1929,6 @@
                        ("char", "WorldNotifyKey", 0),
                        ),
                "ActFeastTravel":(
                        ("DWORD", "CfgID", 1),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("WORD", "LVLimit", 0),
                        ("BYTE", "ResetType", 0),
                        ("dict", "TemplateIDInfo", 0),
                        ),
                "ActFeastTravelTask":(
                        ("BYTE", "TraveTasklD", 1),
                        ("WORD", "FinishNeedValue", 0),
                        ("WORD", "FinishTimeMax", 0),
                        ("BYTE", "AddTravelPoint", 0),
                        ),
                "ActFeastTravelAward":(
                        ("BYTE", "TemplatelD", 1),
                        ("BYTE", "RecordIndex", 0),
                        ("WORD", "NeedTravelPoint", 0),
                        ("BYTE", "AwardCountMax", 0),
                        ("list", "TravelAwardInfo", 0),
                        ),
                "ActFeastWeekParty":(
                        ("DWORD", "CfgID", 1),
                        ("char", "StartDate", 0),
@@ -2166,12 +2139,6 @@
                        ("DWORD", "NeedExp", 0),
                        ("dict", "AttrInfo", 0),
                        ("BYTE", "SkinIndex", 0),
                        ),
                "AssistThanksGift":(
                        ("DWORD", "GiftID", 1),
                        ("list", "RequestPlayerAward", 0),
                        ("list", "AssistPlayerAward", 0),
                        ),
                "FuncSysPrivilege":(
@@ -2390,11 +2357,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():
@@ -2555,7 +2523,9 @@
        
    def GetQuality(self): return self.attrTuple[0] # 品质 DWORD
    def GetHeroLV(self): return self.attrTuple[1] # 武将等级 DWORD
    def GetUPCostItem(self): return self.attrTuple[2] #  升级到下级消耗道具 list
    def GetUPCostItem(self): return self.attrTuple[2] #  升级到下级消耗道具 list
    def GetAttrIDList(self): return self.attrTuple[3] #  武将属性ID列表 list
    def GetAttrValueList(self): return self.attrTuple[4] #  累计总属性值列表 list
# 推荐阵容表
class IPY_LineupRecommend():
@@ -2625,7 +2595,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():
@@ -2907,7 +2879,9 @@
    def GetLimitLV(self): return self.attrTuple[1] # 开启等级 DWORD
    def GetLimiRealmLV(self): return self.attrTuple[2] # 需要境界等级 WORD
    def GetLimitMissionID(self): return self.attrTuple[3] # 需要完成的任务ID DWORD
    def GetMailKey(self): return self.attrTuple[4] # 邮件 char
    def GetLimitOpenDay(self): return self.attrTuple[4] # 开服第几天开启 WORD
    def GetMailKey(self): return self.attrTuple[5] # 邮件 char
    def GetAwardList(self): return self.attrTuple[6] # 奖励列表[[物品ID,个数], ...] list
# 合成表
class IPY_ItemCompound():
@@ -3261,79 +3235,40 @@
    def GetUpItemAttrValue(self): return self.attrTuple[5] # 每x个培养丹增加属性值,x=UpEatItemPerCount list
    def GetUpEatItemPerCount(self): return self.attrTuple[6] # 每次培养消耗x个 DWORD
# 坐骑升级表
class IPY_HorseLVUp():
# 坐骑阶级表
class IPY_HorseClass():
    
    def __init__(self):
        self.attrTuple = None
        return
        
    def GetHorseLV(self): return self.attrTuple[0] # 坐骑等级 BYTE
    def GetHorseSkinID(self): return self.attrTuple[1] # 外观物品ID DWORD
    def GetNeedEatCount(self): return self.attrTuple[2] # 升级所需个数(非累计) WORD
    def GetLVAttrType(self): return self.attrTuple[3] # 每级额外属性类型(非累积) list
    def GetLVAttrValue(self): return self.attrTuple[4] # 每级额外属性值(非累积) list
    def GetUpItemAttrType(self): return self.attrTuple[5] # 每x个培养丹增加属性类型,x=UpEatItemPerCount list
    def GetUpItemAttrValue(self): return self.attrTuple[6] # 每x个培养丹增加属性值,x=UpEatItemPerCount list
    def GetUpEatItemPerCount(self): return self.attrTuple[7] # 每次培养消耗x个 DWORD
    def GetClassLV(self): return self.attrTuple[0] # 阶级 BYTE
    def GetMaxHorseLV(self): return self.attrTuple[1] # 最高等级 WORD
    def GetLVUPItemCnt(self): return self.attrTuple[2] # 升级道具数 WORD
    def GetClassUPItemCnt(self): return self.attrTuple[3] # 进阶道具数 WORD
    def GetClassSpecAttrIDList(self): return self.attrTuple[4] # 本阶特殊属性ID列表 list
    def GetClassSpecAttrValueList(self): return self.attrTuple[5] # 本阶特殊属性值列表 list
    def GetAttrIDList(self): return self.attrTuple[6] # 基础属性ID列表 list
    def GetClassAttrValueList(self): return self.attrTuple[7] # 本阶基础属性值列表 list
    def GetPerLVAttrValueList(self): return self.attrTuple[8] # 本阶每级基础属性值列表 list
# 坐骑培养表
class IPY_HorseTrain():
# 坐骑外观表
class IPY_HorseSkin():
    
    def __init__(self):
        self.attrTuple = None
        return
        
    def GetTrainType(self): return self.attrTuple[0] # 培养类型 BYTE
    def GetTrainLV(self): return self.attrTuple[1] # 培养等阶 BYTE
    def GetNeedRealmLV(self): return self.attrTuple[2] # 培养所需境界 WORD
    def GetEatCntTotal(self): return self.attrTuple[3] # 升阶所需个数(非累计) DWORD
    def GetEatCntEverytime(self): return self.attrTuple[4] # 每次培养消耗x个 DWORD
    def GetEatItemAttrTypeList(self): return self.attrTuple[5] # 每X个培养丹增加属性类型=EatCntEverytime list
    def GetEatItemAttrValueList(self): return self.attrTuple[6] # 每X个培养丹增加属性值=EatCntEverytime list
    def GetLVAttrTypeList(self): return self.attrTuple[7] # 每级额外属性类(非累积) list
    def GetLVAttrValueList(self): return self.attrTuple[8] # 每级额外属性值(非累积) list
# 坐骑幻化表
class IPY_HorseSkinPlus():
    def __init__(self):
        self.attrTuple = None
        return
    def GetID(self): return self.attrTuple[0] # 幻化编号ID BYTE
    def GetHorseSkinPlusID(self): return self.attrTuple[1] # 外观物品ID DWORD
    def GetUnlockItemID(self): return self.attrTuple[2] # 解锁坐骑物品编号 DWORD
    def GetUnlockItemCnt(self): return self.attrTuple[3] # 解锁所需物品数量 BYTE
    def GetAttrType(self): return self.attrTuple[4] # 激活加成属性类型 list
    def GetAttrValue(self): return self.attrTuple[5] # 激活加成属性值 list
    def GetInitFightPower(self): return self.attrTuple[6] # 皮肤额外战力 DWORD
    def GetHorseID(self): return self.attrTuple[7] # 对应坐骑ID DWORD
    def GetSkinValidTime(self): return self.attrTuple[8] # 有效时长秒 DWORD
# 坐骑表
class IPY_Horse():
    def __init__(self):
        self.attrTuple = None
        return
    def GetHorseID(self): return self.attrTuple[0] # 坐骑ID DWORD
    def GetHorseSkinID(self): return self.attrTuple[1] # 外观物品ID DWORD
    def GetQuality(self): return self.attrTuple[2] # 坐骑品质 BYTE
# 坐骑升星表
class IPY_HorseStarUp():
    def __init__(self):
        self.attrTuple = None
        return
    def GetHorseID(self): return self.attrTuple[0] # 坐骑ID DWORD
    def GetHorseStar(self): return self.attrTuple[1] # 坐骑星级 BYTE
    def GetStarUpNeedItemList(self): return self.attrTuple[2] # 升下一星所需道具 [[物品ID,个数], ...] list
    def GetStarAttrType(self): return self.attrTuple[3] # 累计总属性类型 list
    def GetStarAttrValue(self): return self.attrTuple[4] # 累计总属性值 list
    def GetSkinID(self): return self.attrTuple[0] # 外观ID DWORD
    def GetExpireMinutes(self): return self.attrTuple[1] # 时效分钟,0永久 DWORD
    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_Gubao():
@@ -3401,31 +3336,83 @@
    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_TravelEvent():
    def __init__(self):
        self.attrTuple = None
        return
    def GetEventID(self): return self.attrTuple[0] # WORD
    def GetEventWeight(self): return self.attrTuple[1] # 事件权重 DWORD
    def GetAwardItemID(self): return self.attrTuple[2] # 奖励物品ID DWORD
    def GetAwardItemCnt(self): return self.attrTuple[3] # 奖励物品数量 DWORD
# 游历景观奖励表
class IPY_TravelScenery():
    def __init__(self):
        self.attrTuple = None
        return
    def GetSceneryType(self): return self.attrTuple[0] # 景观类型 BYTE
    def GetAwardQuality(self): return self.attrTuple[1] # 景观品质 BYTE
    def GetUpRate(self): return self.attrTuple[2] # 升下个品质概率 DWORD
    def GetAwardItemRandCntList(self): return self.attrTuple[3] # 奖励物品随机个数列表 [[物品ID, 随机数量A, 到B], ...] list
    def GetAwardItemExWeightList(self): return self.attrTuple[4] # 额外奖励物品权重 [[权重,物品ID,个数], ...] list
    def GetAwardItemExCnt(self): return self.attrTuple[5] # 额外奖励物品数 BYTE
# 玩家等级表
class IPY_PlayerLV():
@@ -3567,7 +3554,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():
@@ -3734,7 +3722,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():
@@ -4007,35 +3995,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():
@@ -4507,16 +4466,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():
@@ -5104,45 +5053,6 @@
    def GetGoodItemIDList(self): return self.attrTuple[3] # 需要广播的物品ID列表 [物品ID, ...] list
    def GetWorldNotifyKey(self): return self.attrTuple[4] # 全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,) char
# 节日游历时间表
class IPY_ActFeastTravel():
    def __init__(self):
        self.attrTuple = None
        return
    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
    def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
    def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
    def GetLVLimit(self): return self.attrTuple[3] # 限制等级 WORD
    def GetResetType(self): return self.attrTuple[4] # 重置类型,0-0点重置;1-5点重置 BYTE
    def GetTemplateIDInfo(self): return self.attrTuple[5] # 模板信息 {(世界等级A,B):模板编号, ...} dict
# 节日游历任务表
class IPY_ActFeastTravelTask():
    def __init__(self):
        self.attrTuple = None
        return
    def GetTraveTasklD(self): return self.attrTuple[0] # 游历ID BYTE
    def GetFinishNeedValue(self): return self.attrTuple[1] # 完成所需进度值 WORD
    def GetFinishTimeMax(self): return self.attrTuple[2] # 总可完成次数,0不限 WORD
    def GetAddTravelPoint(self): return self.attrTuple[3] # 完成次数获得游历值 BYTE
# 节日游历奖励表
class IPY_ActFeastTravelAward():
    def __init__(self):
        self.attrTuple = None
        return
    def GetTemplatelD(self): return self.attrTuple[0] # 奖励模板ID BYTE
    def GetRecordIndex(self): return self.attrTuple[1] # 奖励记录索引 BYTE
    def GetNeedTravelPoint(self): return self.attrTuple[2] # 领奖所需游历值 WORD
    def GetAwardCountMax(self): return self.attrTuple[3] # 可领取次数,0代表不限 BYTE
    def GetTravelAwardInfo(self): return self.attrTuple[4] # 游历奖励 [[物品ID,个数,是否拍品], ...] list
# 节日巡礼活动时间表
class IPY_ActFeastWeekParty():
    
@@ -5485,17 +5395,6 @@
    def GetAttrInfo(self): return self.attrTuple[4] # 属性 dict
    def GetSkinIndex(self): return self.attrTuple[5] # 外观 BYTE
# 协助感谢礼盒表
class IPY_AssistThanksGift():
    def __init__(self):
        self.attrTuple = None
        return
    def GetGiftID(self): return self.attrTuple[0] # 礼盒物品ID DWORD
    def GetRequestPlayerAward(self): return self.attrTuple[1] #  发布奖励物品 物品ID|个数 list
    def GetAssistPlayerAward(self): return self.attrTuple[2] #  协助奖励物品 物品ID|个数 list
# 功能特权奖励表
class IPY_FuncSysPrivilege():
    
@@ -5755,18 +5654,18 @@
        self.__LoadFileData("PetClassCost", onlyCheck)
        self.__LoadFileData("PetEatEquip", onlyCheck)
        self.__LoadFileData("FaQiLVUp", onlyCheck)
        self.__LoadFileData("HorseLVUp", onlyCheck)
        self.__LoadFileData("HorseTrain", onlyCheck)
        self.__LoadFileData("HorseSkinPlus", onlyCheck)
        self.__LoadFileData("Horse", onlyCheck)
        self.__LoadFileData("HorseStarUp", onlyCheck)
        self.__LoadFileData("HorseClass", onlyCheck)
        self.__LoadFileData("HorseSkin", onlyCheck)
        self.__LoadFileData("Gubao", onlyCheck)
        self.__LoadFileData("GubaoResonanceAttr", onlyCheck)
        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("TravelEvent", onlyCheck)
        self.__LoadFileData("TravelScenery", onlyCheck)
        self.__LoadFileData("PlayerLV", onlyCheck)
        self.__LoadFileData("SpecMapPlayerAttrFormat", onlyCheck)
        self.__LoadFileData("GMAttr", onlyCheck)
@@ -5805,8 +5704,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)
@@ -5839,7 +5736,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)
@@ -5882,9 +5778,6 @@
        self.__LoadFileData("ActFeastWish", onlyCheck)
        self.__LoadFileData("ActFeastWishBottle", onlyCheck)
        self.__LoadFileData("ActFeastWishPool", onlyCheck)
        self.__LoadFileData("ActFeastTravel", onlyCheck)
        self.__LoadFileData("ActFeastTravelTask", onlyCheck)
        self.__LoadFileData("ActFeastTravelAward", onlyCheck)
        self.__LoadFileData("ActFeastWeekParty", onlyCheck)
        self.__LoadFileData("FeastWeekParty", onlyCheck)
        self.__LoadFileData("NewAllPeopleParty", onlyCheck)
@@ -5911,7 +5804,6 @@
        self.__LoadFileData("LoveRing", onlyCheck)
        self.__LoadFileData("LoveCharm", onlyCheck)
        self.__LoadFileData("HorsePetSkin", onlyCheck)
        self.__LoadFileData("AssistThanksGift", onlyCheck)
        self.__LoadFileData("FuncSysPrivilege", onlyCheck)
        self.__LoadFileData("HistoryRechargeAward", onlyCheck)
        self.__LoadFileData("CustomAward", onlyCheck)
@@ -6583,40 +6475,19 @@
        self.CheckLoadData("FaQiLVUp")
        return self.ipyFaQiLVUpCache[index]
    def GetHorseLVUpCount(self):
        self.CheckLoadData("HorseLVUp")
        return self.ipyHorseLVUpLen
    def GetHorseLVUpByIndex(self, index):
        self.CheckLoadData("HorseLVUp")
        return self.ipyHorseLVUpCache[index]
    def GetHorseClassCount(self):
        self.CheckLoadData("HorseClass")
        return self.ipyHorseClassLen
    def GetHorseClassByIndex(self, index):
        self.CheckLoadData("HorseClass")
        return self.ipyHorseClassCache[index]
    def GetHorseTrainCount(self):
        self.CheckLoadData("HorseTrain")
        return self.ipyHorseTrainLen
    def GetHorseTrainByIndex(self, index):
        self.CheckLoadData("HorseTrain")
        return self.ipyHorseTrainCache[index]
    def GetHorseSkinPlusCount(self):
        self.CheckLoadData("HorseSkinPlus")
        return self.ipyHorseSkinPlusLen
    def GetHorseSkinPlusByIndex(self, index):
        self.CheckLoadData("HorseSkinPlus")
        return self.ipyHorseSkinPlusCache[index]
    def GetHorseCount(self):
        self.CheckLoadData("Horse")
        return self.ipyHorseLen
    def GetHorseByIndex(self, index):
        self.CheckLoadData("Horse")
        return self.ipyHorseCache[index]
    def GetHorseStarUpCount(self):
        self.CheckLoadData("HorseStarUp")
        return self.ipyHorseStarUpLen
    def GetHorseStarUpByIndex(self, index):
        self.CheckLoadData("HorseStarUp")
        return self.ipyHorseStarUpCache[index]
    def GetHorseSkinCount(self):
        self.CheckLoadData("HorseSkin")
        return self.ipyHorseSkinLen
    def GetHorseSkinByIndex(self, index):
        self.CheckLoadData("HorseSkin")
        return self.ipyHorseSkinCache[index]
    def GetGubaoCount(self):
        self.CheckLoadData("Gubao")
@@ -6653,19 +6524,40 @@
        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 GetTravelEventCount(self):
        self.CheckLoadData("TravelEvent")
        return self.ipyTravelEventLen
    def GetTravelEventByIndex(self, index):
        self.CheckLoadData("TravelEvent")
        return self.ipyTravelEventCache[index]
    def GetTravelSceneryCount(self):
        self.CheckLoadData("TravelScenery")
        return self.ipyTravelSceneryLen
    def GetTravelSceneryByIndex(self, index):
        self.CheckLoadData("TravelScenery")
        return self.ipyTravelSceneryCache[index]
    def GetPlayerLVCount(self):
        self.CheckLoadData("PlayerLV")
@@ -6933,20 +6825,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
@@ -7170,13 +7048,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")
@@ -7472,27 +7343,6 @@
        self.CheckLoadData("ActFeastWishPool")
        return self.ipyActFeastWishPoolCache[index]
    def GetActFeastTravelCount(self):
        self.CheckLoadData("ActFeastTravel")
        return self.ipyActFeastTravelLen
    def GetActFeastTravelByIndex(self, index):
        self.CheckLoadData("ActFeastTravel")
        return self.ipyActFeastTravelCache[index]
    def GetActFeastTravelTaskCount(self):
        self.CheckLoadData("ActFeastTravelTask")
        return self.ipyActFeastTravelTaskLen
    def GetActFeastTravelTaskByIndex(self, index):
        self.CheckLoadData("ActFeastTravelTask")
        return self.ipyActFeastTravelTaskCache[index]
    def GetActFeastTravelAwardCount(self):
        self.CheckLoadData("ActFeastTravelAward")
        return self.ipyActFeastTravelAwardLen
    def GetActFeastTravelAwardByIndex(self, index):
        self.CheckLoadData("ActFeastTravelAward")
        return self.ipyActFeastTravelAwardCache[index]
    def GetActFeastWeekPartyCount(self):
        self.CheckLoadData("ActFeastWeekParty")
        return self.ipyActFeastWeekPartyLen
@@ -7674,13 +7524,6 @@
    def GetHorsePetSkinByIndex(self, index):
        self.CheckLoadData("HorsePetSkin")
        return self.ipyHorsePetSkinCache[index]
    def GetAssistThanksGiftCount(self):
        self.CheckLoadData("AssistThanksGift")
        return self.ipyAssistThanksGiftLen
    def GetAssistThanksGiftByIndex(self, index):
        self.CheckLoadData("AssistThanksGift")
        return self.ipyAssistThanksGiftCache[index]
    def GetFuncSysPrivilegeCount(self):
        self.CheckLoadData("FuncSysPrivilege")