ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -123,24 +123,26 @@
                        ("DWORD", "EffectID1", 0),
                        ("list", "EffectValues1", 0),
                        ("BYTE", "TriggerWay1", 0),
                        ("BYTE", "TriggerSrc1", 0),
                        ("list", "TriggerSrc1", 0),
                        ("DWORD", "EffectID2", 0),
                        ("list", "EffectValues2", 0),
                        ("BYTE", "TriggerWay2", 0),
                        ("BYTE", "TriggerSrc2", 0),
                        ("list", "TriggerSrc2", 0),
                        ("DWORD", "EffectID3", 0),
                        ("list", "EffectValues3", 0),
                        ("BYTE", "TriggerWay3", 0),
                        ("BYTE", "TriggerSrc3", 0),
                        ("list", "TriggerSrc3", 0),
                        ("WORD", "CoolDownInit", 0),
                        ("WORD", "CoolDownTime", 0),
                        ("list", "BuffStateLimit", 0),
                        ("BYTE", "CurBuffState", 0),
                        ("WORD", "LastTime", 0),
                        ("BYTE", "LastTimeType", 0),
                        ("BYTE", "LayerCnt", 0),
                        ("BYTE", "LayerMax", 0),
                        ("DWORD", "BuffRepeat", 0),
                        ("BYTE", "DispersedLimit", 0),
                        ("BYTE", "BuffRetain", 0),
                        ("DWORD", "FightPower", 0),
                        ),
@@ -215,7 +217,7 @@
                        ),
                "HeroQuality":(
                        ("DWORD", "Quality", 1),
                        ("BYTE", "Quality", 1),
                        ("list", "InitTalentWeight", 0),
                        ("BYTE", "InitStarUpper", 0),
                        ("DWORD", "InitAddPer", 0),
@@ -223,36 +225,52 @@
                        ("DWORD", "BreakLVAddPer", 0),
                        ("DWORD", "StarAddPer", 0),
                        ("list", "BookActAwardMoney", 0),
                        ("DWORD", "BookInitAddPer", 0),
                        ("DWORD", "BookStarAddPer", 0),
                        ("DWORD", "BookBreakLVAddPer", 0),
                        ("list", "DismissReturnItems", 0),
                        ("list", "RecommendAwardMoney", 0),
                        ),
                "HeroQualityBreak":(
                        ("DWORD", "Quality", 1),
                        ("BYTE", "Quality", 1),
                        ("DWORD", "BreakLV", 1),
                        ("WORD", "LVMax", 0),
                        ("list", "UPCostItem", 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),
                        ("list", "AttrValueList", 0),
                        ),
                "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),
                        ("BYTE", "NeedQuality", 0),
                        ),
                "PlayerAttr":(
@@ -303,6 +321,12 @@
                        ("float", "WuFinalDamPerDefRatio", 0),
                        ("float", "QunFinalDamPerRatio", 0),
                        ("float", "QunFinalDamPerDefRatio", 0),
                        ("float", "PVPDamPerRatio", 0),
                        ("float", "PVPDamPerDefRatio", 0),
                        ("float", "GuanchuanRatio", 0),
                        ("float", "GuanchuanDefRatio", 0),
                        ("float", "ZhaojiaRatio", 0),
                        ("float", "ZhaojiaDefRatio", 0),
                        ),
                "MainChapter":(
@@ -337,6 +361,7 @@
                        ("BYTE", "BossPosView", 0),
                        ("list", "SkillIDExList", 0),
                        ("BYTE", "SkillExCnt", 0),
                        ("WORD", "ReModelID", 0),
                        ),
                "Title":(
@@ -495,7 +520,9 @@
                        ("WORD", "LimiRealmLV", 0),
                        ("DWORD", "LimitMissionID", 0),
                        ("WORD", "LimitOpenDay", 0),
                        ("WORD", "LimitManLevel", 0),
                        ("char", "MailKey", 0),
                        ("list", "AwardList", 0),
                        ),
                "ItemCompound":(
@@ -762,8 +789,11 @@
                        ("BYTE", "SpecEffLayerMax", 0),
                        ("BYTE", "SpecAttrID", 0),
                        ("DWORD", "SpecAttrValue", 0),
                        ("DWORD", "SpecAttrPerLVAdd", 0),
                        ("DWORD", "SpecAttrPerStarAdd", 0),
                        ("BYTE", "PowerType", 0),
                        ("DWORD", "PowerTypeValue", 0),
                        ("DWORD", "PowerValue", 0),
                        ("DWORD", "PowerPerStarAdd", 0),
                        ),
                "GubaoResonanceAttr":(
@@ -781,6 +811,7 @@
                "GubaoStar":(
                        ("BYTE", "GubaoQuality", 1),
                        ("BYTE", "GubaoStar", 0),
                        ("list", "QualityStarCond", 0),
                        ("BYTE", "StarUPNeedSelfCnt", 0),
                        ("list", "StarUPNeedItemList", 0),
                        ),
@@ -791,20 +822,65 @@
                        ("list", "LVUPNeedItemInfo", 0),
                        ),
                "Shentong":(
                        ("BYTE", "ShentongID", 1),
                        ("WORD", "NeedGubaoID", 0),
                "GubaoLVAttr":(
                        ("BYTE", "GubaoQuality", 1),
                        ("BYTE", "GubaoLV", 1),
                        ("list", "SpecAttrIDList", 0),
                        ("list", "SpecAttrValueList", 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),
                "Beauty":(
                        ("WORD", "BeautyID", 1),
                        ("BYTE", "BeautyQuality", 0),
                        ("BYTE", "UnlockWay", 0),
                        ("DWORD", "UnlockValue", 0),
                        ("BYTE", "UnlockNeedCnt", 0),
                        ("DWORD", "ExclusiveItemID", 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),
                        ),
                "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":(
@@ -813,6 +889,12 @@
                        ("DWORD", "MaxHP", 0),
                        ("DWORD", "Atk", 0),
                        ("DWORD", "Def", 0),
                        ),
                "LVReValue":(
                        ("WORD", "ModelID", 1),
                        ("WORD", "LV", 1),
                        ("BYTE", "ReHeroStar", 0),
                        ("BYTE", "ReHeroBreakLV", 0),
                        ("BYTE", "ReHeroAwakeLV", 0),
                        ("DWORD", "ReAtk", 0),
@@ -897,11 +979,35 @@
                        ("list", "RandWeightItemList", 0),
                        ),
                "FBDJGLevel":(
                        ("WORD", "LayerNum", 1),
                        ("BYTE", "LevelNum", 1),
                        ("list", "PassAwardList", 0),
                        ("list", "AwardList", 0),
                        ("list", "LineupIDList", 0),
                        ("WORD", "NPCLV", 0),
                        ("float", "Difficulty", 0),
                        ),
                "FBDJGQuick":(
                        ("WORD", "NeedLayer", 1),
                        ("list", "QuickAwardList", 0),
                        ),
                "FBDJGEffect":(
                        ("DWORD", "EffID", 1),
                        ("BYTE", "EffQuality", 0),
                        ("BYTE", "AttrID", 0),
                        ("DWORD", "AttrValue", 0),
                        ("DWORD", "RandWeight", 0),
                        ),
                "ADAward":(
                        ("DWORD", "ADID", 1),
                        ("BYTE", "ADCntMax", 0),
                        ("list", "ADAwardItemList", 0),
                        ("DWORD", "ADMapID", 0),
                        ("BYTE", "ADAwardType", 0),
                        ("DWORD", "ADAwardValue", 0),
                        ),
                "Success":(
@@ -1035,12 +1141,6 @@
                        ("BYTE", "SkillResist", 0),
                        ),
                "BOSSFirstKill":(
                        ("DWORD", "NPCID", 1),
                        ("WORD", "PerPlayerMoneyAward", 0),
                        ("list", "PersonFirstKillAward", 0),
                        ),
                "NPCShow":(
                        ("DWORD", "NPCID", 1),
                        ("DWORD", "MapID", 1),
@@ -1138,14 +1238,6 @@
                        ("dict", "Reward", 0),
                        ),
                "SpringSale":(
                        ("BYTE", "GiftID", 1),
                        ("BYTE", "SellDay", 0),
                        ("BYTE", "BuyNumLimit", 0),
                        ("WORD", "GiftPrice", 0),
                        ("list", "GiftItemList", 0),
                        ),
                "OrderInfo":(
                        ("char", "OrderInfo", 1),
                        ("char", "AppID", 1),
@@ -1198,25 +1290,6 @@
                        ("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":(
                        ("BYTE", "TreasureType", 1),
                        ("BYTE", "PackType", 0),
@@ -1236,9 +1309,13 @@
                        ("BYTE", "LuckyGridNum", 0),
                        ("dict", "GridNumMaxLimitInfo", 0),
                        ("list", "NotifyGridNumList", 0),
                        ("char", "NotifyKey", 0),
                        ("dict", "NotifyKeyDict", 0),
                        ("BYTE", "AwardMoneyType", 0),
                        ("WORD", "AwardMoneyValue", 0),
                        ("BYTE", "WishReset", 0),
                        ("dict", "WishLibSelect", 0),
                        ("dict", "WishLibPubFreeCnt", 0),
                        ("dict", "WishLibCard", 0),
                        ),
                "TreasureHouse":(
@@ -1256,10 +1333,13 @@
                        ),
                "TreasureItemLib":(
                        ("WORD", "ID", 0),
                        ("WORD", "LibID", 1),
                        ("DWORD", "ItemID", 0),
                        ("DWORD", "ItemCount", 0),
                        ("DWORD", "ItemWeight", 0),
                        ("BYTE", "IsWishItem", 0),
                        ("BYTE", "WishOutCnt", 0),
                        ),
                "TreasureCntAward":(
@@ -1438,23 +1518,6 @@
                        ("list", "NotifyItemNumList", 0),
                        ),
                "ActBossReborn":(
                        ("DWORD", "CfgID", 1),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("BYTE", "ResetType", 0),
                        ("WORD", "LVLimit", 0),
                        ("BYTE", "TemplateID", 0),
                        ),
                "BossReborn":(
                        ("BYTE", "TemplateID", 1),
                        ("BYTE", "ID", 1),
                        ("DWORD", "TotalTimes", 0),
                        ("WORD", "SingleTimes", 0),
                        ("dict", "Reward", 0),
                        ),
                "ActRealmPoint":(
                        ("DWORD", "CfgID", 1),
                        ("WORD", "Multiple", 0),
@@ -1526,11 +1589,6 @@
                        ("DWORD", "Weight", 0),
                        ("DWORD", "Mark", 0),
                        ("BYTE", "Rare", 0),
                        ),
                "FunctionForecast":(
                        ("DWORD", "FuncID", 1),
                        ("dict", "Award", 0),
                        ),
                "EmojiPack":(
@@ -1909,30 +1967,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),
@@ -2145,12 +2179,6 @@
                        ("BYTE", "SkinIndex", 0),
                        ),
                "AssistThanksGift":(
                        ("DWORD", "GiftID", 1),
                        ("list", "RequestPlayerAward", 0),
                        ("list", "AssistPlayerAward", 0),
                        ),
                "FuncSysPrivilege":(
                        ("BYTE", "FuncSysID", 1),
                        ("BYTE", "DayNum", 0),
@@ -2194,6 +2222,7 @@
                        ("list", "EquipColorRateList", 0),
                        ("list", "EquipColorRateList1", 0),
                        ("list", "EquipColorRateList2", 0),
                        ("DWORD", "LastSureOutNeed", 0),
                        ),
                "LLMJ":(
@@ -2229,6 +2258,7 @@
                "Robot":(
                        ("DWORD", "ID", 1),
                        ("char", "RobotName", 0),
                        ("char", "ViewCache", 0),
                        ),
                }
@@ -2353,25 +2383,27 @@
    def GetEffectID1(self): return self.attrTuple[18] # 效果ID1 DWORD
    def GetEffectValues1(self): return self.attrTuple[19] # 效果值列表1 list
    def GetTriggerWay1(self): return self.attrTuple[20] # 触发方式 BYTE
    def GetTriggerSrc1(self): return self.attrTuple[21] # 有效来源 BYTE
    def GetTriggerSrc1(self): return self.attrTuple[21] # 有效来源 list
    def GetEffectID2(self): return self.attrTuple[22] # 效果ID2 DWORD
    def GetEffectValues2(self): return self.attrTuple[23] # 效果值列表2 list
    def GetTriggerWay2(self): return self.attrTuple[24] # 触发方式 BYTE
    def GetTriggerSrc2(self): return self.attrTuple[25] # 有效来源 BYTE
    def GetTriggerSrc2(self): return self.attrTuple[25] # 有效来源 list
    def GetEffectID3(self): return self.attrTuple[26] # 效果ID3 DWORD
    def GetEffectValues3(self): return self.attrTuple[27] # 效果值列表3 list
    def GetTriggerWay3(self): return self.attrTuple[28] # 触发方式 BYTE
    def GetTriggerSrc3(self): return self.attrTuple[29] # 有效来源 BYTE
    def GetTriggerSrc3(self): return self.attrTuple[29] # 有效来源 list
    def GetCoolDownInit(self): return self.attrTuple[30] # 初始冷却时间 WORD
    def GetCoolDownTime(self): return self.attrTuple[31] # 技能冷却时间 WORD
    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 GetBuffRetain(self): return self.attrTuple[40] # Buff保留规则 BYTE
    def GetFightPower(self): return self.attrTuple[41] # 技能战斗力 DWORD
# 武将表
class IPY_Hero():
@@ -2485,19 +2517,16 @@
        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
    def GetLVAddPer(self): return self.attrTuple[4] #  上阵每等级加成 DWORD
    def GetBreakLVAddPer(self): return self.attrTuple[5] #  上阵每突破等级加成 DWORD
    def GetStarAddPer(self): return self.attrTuple[6] #  上阵每星级加成 DWORD
    def GetInitAddPer(self): return self.attrTuple[3] #  卡牌初始加成万分率 DWORD
    def GetLVAddPer(self): return self.attrTuple[4] #  卡牌每等级加成 DWORD
    def GetBreakLVAddPer(self): return self.attrTuple[5] #  卡牌每突破等级加成 DWORD
    def GetStarAddPer(self): return self.attrTuple[6] #  卡牌每星级加成 DWORD
    def GetBookActAwardMoney(self): return self.attrTuple[7] #  图鉴激活奖励货币 类型|值 list
    def GetBookInitAddPer(self): return self.attrTuple[8] #  图鉴初始加成 DWORD
    def GetBookStarAddPer(self): return self.attrTuple[9] #  图鉴每星级加成 DWORD
    def GetBookBreakLVAddPer(self): return self.attrTuple[10] #  图鉴每突破等级加成 DWORD
    def GetDismissReturnItems(self): return self.attrTuple[11] #  遣散每星返还道具 [[物品ID,个数], ...] list
    def GetRecommendAwardMoney(self): return self.attrTuple[12] #  阵容推荐激活奖励货币 类型|值 list
    def GetDismissReturnItems(self): return self.attrTuple[8] #  遣散每星返还道具 [[物品ID,个数], ...] list
    def GetRecommendAwardMoney(self): return self.attrTuple[9] #  阵容推荐激活奖励货币 类型|值 list
# 武将品质突破表
class IPY_HeroQualityBreak():
@@ -2506,10 +2535,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 GetUPCostItem(self): return self.attrTuple[3] #  突破到下级消耗道具 list
    def GetUPLVNeed(self): return self.attrTuple[2] #  突破到下级需要等级 WORD
    def GetUPCostItemList(self): return self.attrTuple[3] #  突破到下级消耗道具 list
# 武将品质觉醒表
class IPY_HeroQualityAwake():
@@ -2518,7 +2547,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
@@ -2530,9 +2559,11 @@
        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 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():
@@ -2543,6 +2574,33 @@
        
    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
    def GetNeedQuality(self): return self.attrTuple[4] #  所需武将品质 BYTE
# 属性条目表
class IPY_PlayerAttr():
@@ -2602,7 +2660,13 @@
    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
    def GetGuanchuanRatio(self): return self.attrTuple[44] # float
    def GetGuanchuanDefRatio(self): return self.attrTuple[45] # float
    def GetZhaojiaRatio(self): return self.attrTuple[46] # float
    def GetZhaojiaDefRatio(self): return self.attrTuple[47] # float
# 主线章节表
class IPY_MainChapter():
@@ -2651,7 +2715,8 @@
    def GetBossID(self): return self.attrTuple[7] #  本阵容的BossID,没有boss时为0 DWORD
    def GetBossPosView(self): return self.attrTuple[8] # Boss֪ͨվλ BYTE
    def GetSkillIDExList(self): return self.attrTuple[9] #  boss附加技能列表 list
    def GetSkillExCnt(self): return self.attrTuple[10] # 随机附加技能数,0为所有 BYTE
    def GetSkillExCnt(self): return self.attrTuple[10] # 随机附加技能数,0为所有 BYTE
    def GetReModelID(self): return self.attrTuple[11] # 等级参考值模版 WORD
# 称号表
class IPY_Title():
@@ -2885,7 +2950,9 @@
    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 GetLimitManLevel(self): return self.attrTuple[5] # 关卡进度波 WORD
    def GetMailKey(self): return self.attrTuple[6] # 邮件 char
    def GetAwardList(self): return self.attrTuple[7] # 奖励列表[[物品ID,个数], ...] list
# 合成表
class IPY_ItemCompound():
@@ -3292,8 +3359,11 @@
    def GetSpecEffLayerMax(self): return self.attrTuple[8] # 特殊效果最大层数 BYTE
    def GetSpecAttrID(self): return self.attrTuple[9] # 特殊属性ID BYTE
    def GetSpecAttrValue(self): return self.attrTuple[10] # 特殊属性初始值 DWORD
    def GetSpecAttrPerLVAdd(self): return self.attrTuple[11] # 特殊属性每级成长 DWORD
    def GetSpecAttrPerStarAdd(self): return self.attrTuple[12] # 特殊属性每星成长 DWORD
    def GetSpecAttrPerStarAdd(self): return self.attrTuple[11] # 特殊属性每星成长 DWORD
    def GetPowerType(self): return self.attrTuple[12] # 特权效果类型 BYTE
    def GetPowerTypeValue(self): return self.attrTuple[13] # 特权类型值 DWORD
    def GetPowerValue(self): return self.attrTuple[14] # 特权初始值 DWORD
    def GetPowerPerStarAdd(self): return self.attrTuple[15] # 特权每星值成长 DWORD
# 古宝共鸣属性表
class IPY_GubaoResonanceAttr():
@@ -3326,8 +3396,9 @@
        
    def GetGubaoQuality(self): return self.attrTuple[0] # 古宝品质 BYTE
    def GetGubaoStar(self): return self.attrTuple[1] # 古宝星级 BYTE
    def GetStarUPNeedSelfCnt(self): return self.attrTuple[2] # 升到本星消耗本体碎片数量 BYTE
    def GetStarUPNeedItemList(self): return self.attrTuple[3] # 消耗其他物品列表 [[物品ID,个数], ...] list
    def GetQualityStarCond(self): return self.attrTuple[2] # 需同品质X个X星 list
    def GetStarUPNeedSelfCnt(self): return self.attrTuple[3] # 升到本星消耗本体碎片数量 BYTE
    def GetStarUPNeedItemList(self): return self.attrTuple[4] # 消耗其他物品列表 [[物品ID,个数], ...] list
# 古宝品质升级表
class IPY_GubaoLV():
@@ -3340,31 +3411,96 @@
    def GetLessEqualLV(self): return self.attrTuple[1] # 小于等于等级 BYTE
    def GetLVUPNeedItemInfo(self): return self.attrTuple[2] # 升级所需物品 [[物品ID,个数], ...] list
# 神通表
class IPY_Shentong():
# 品质升级属性表
class IPY_GubaoLVAttr():
    
    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 GetGubaoQuality(self): return self.attrTuple[0] # 古宝品质 BYTE
    def GetGubaoLV(self): return self.attrTuple[1] # 古宝等级 BYTE
    def GetSpecAttrIDList(self): return self.attrTuple[2] # 特殊属性ID列表 list
    def GetSpecAttrValueList(self): return self.attrTuple[3] # 特殊总属性值列表 list
# 神通升级表
class IPY_ShentongLV():
# 红颜表
class IPY_Beauty():
    
    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 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 GetExclusiveItemID(self): return self.attrTuple[5] # 专属信物ID DWORD
    def GetTalentAttrIDList(self): return self.attrTuple[6] # 天赋属性ID列表 list
    def GetTalentAttrValueList(self): return self.attrTuple[7] # 天赋属性初始值 list
    def GetTalentPerLVAddList(self): return self.attrTuple[8] # 天赋属性每级成长 list
    def GetEffType(self): return self.attrTuple[9] # 天赋效果类型 BYTE
    def GetEffTypeValue(self): return self.attrTuple[10] # 效果类型值 BYTE
    def GetEffValue(self): return self.attrTuple[11] # 效果初始值 BYTE
    def GetEffPerLVAdd(self): return self.attrTuple[12] # 天赋效果每级成长 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_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():
@@ -3377,24 +3513,35 @@
    def GetExp(self): return self.attrTuple[1] # 升级所需经验 DWORD
    def GetMaxHP(self): return self.attrTuple[2] # 生命 DWORD
    def GetAtk(self): return self.attrTuple[3] # 攻击 DWORD
    def GetDef(self): return self.attrTuple[4] # 防御 DWORD
    def GetReHeroBreakLV(self): return self.attrTuple[5] # 参考突破等级 BYTE
    def GetReHeroAwakeLV(self): return self.attrTuple[6] # 参考觉醒等级 BYTE
    def GetReAtk(self): return self.attrTuple[7] # 参考攻击 DWORD
    def GetReDef(self): return self.attrTuple[8] # 防御 DWORD
    def GetReMaxHP(self): return self.attrTuple[9] # 生命 DWORD
    def GetReStunRate(self): return self.attrTuple[10] # DWORD
    def GetReSuperHitRate(self): return self.attrTuple[11] # DWORD
    def GetReComboRate(self): return self.attrTuple[12] # DWORD
    def GetReMissRate(self): return self.attrTuple[13] # DWORD
    def GetReParryRate(self): return self.attrTuple[14] # DWORD
    def GetReSuckHPPer(self): return self.attrTuple[15] # DWORD
    def GetReStunRateDef(self): return self.attrTuple[16] # DWORD
    def GetReSuperHitRateDef(self): return self.attrTuple[17] # DWORD
    def GetReComboRateDef(self): return self.attrTuple[18] # DWORD
    def GetReMissRateDef(self): return self.attrTuple[19] # DWORD
    def GetReParryRateDef(self): return self.attrTuple[20] # DWORD
    def GetReSuckHPPerDef(self): return self.attrTuple[21] # DWORD
    def GetDef(self): return self.attrTuple[4] # 防御 DWORD
# 等级参考值
class IPY_LVReValue():
    def __init__(self):
        self.attrTuple = None
        return
    def GetModelID(self): return self.attrTuple[0] # 模版ID WORD
    def GetLV(self): return self.attrTuple[1] # 玩家等级 WORD
    def GetReHeroStar(self): return self.attrTuple[2] # 参考星级 BYTE
    def GetReHeroBreakLV(self): return self.attrTuple[3] # 参考突破等级 BYTE
    def GetReHeroAwakeLV(self): return self.attrTuple[4] # 参考觉醒等级 BYTE
    def GetReAtk(self): return self.attrTuple[5] # 参考攻击 DWORD
    def GetReDef(self): return self.attrTuple[6] # 防御 DWORD
    def GetReMaxHP(self): return self.attrTuple[7] # 生命 DWORD
    def GetReStunRate(self): return self.attrTuple[8] # DWORD
    def GetReSuperHitRate(self): return self.attrTuple[9] # DWORD
    def GetReComboRate(self): return self.attrTuple[10] # DWORD
    def GetReMissRate(self): return self.attrTuple[11] # DWORD
    def GetReParryRate(self): return self.attrTuple[12] # DWORD
    def GetReSuckHPPer(self): return self.attrTuple[13] # DWORD
    def GetReStunRateDef(self): return self.attrTuple[14] # DWORD
    def GetReSuperHitRateDef(self): return self.attrTuple[15] # DWORD
    def GetReComboRateDef(self): return self.attrTuple[16] # DWORD
    def GetReMissRateDef(self): return self.attrTuple[17] # DWORD
    def GetReParryRateDef(self): return self.attrTuple[18] # DWORD
    def GetReSuckHPPerDef(self): return self.attrTuple[19] # DWORD
# 特殊地图玩家属性公式表
class IPY_SpecMapPlayerAttrFormat():
@@ -3496,6 +3643,44 @@
    def GetOtherAttrDict(self): return self.attrTuple[5] # 其他属性 {attrID:attrValue, ...} dict
    def GetRandWeightItemList(self): return self.attrTuple[6] # 宝箱随机物品权重列表,[[权重,物品ID,数量], ...] list
# 定军阁关卡表
class IPY_FBDJGLevel():
    def __init__(self):
        self.attrTuple = None
        return
    def GetLayerNum(self): return self.attrTuple[0] # 层数 WORD
    def GetLevelNum(self): return self.attrTuple[1] # 关卡编号 BYTE
    def GetPassAwardList(self): return self.attrTuple[2] #  过关奖励列表,[[物品ID,个数], ...] list
    def GetAwardList(self): return self.attrTuple[3] #  挑战奖励,[[物品ID,个数], ...] list
    def GetLineupIDList(self): return self.attrTuple[4] #  阵容ID列表,小队1阵容ID|小队2阵容ID|... list
    def GetNPCLV(self): return self.attrTuple[5] # NPC等级 WORD
    def GetDifficulty(self): return self.attrTuple[6] # 难度系数 float
# 定军阁速战奖励表
class IPY_FBDJGQuick():
    def __init__(self):
        self.attrTuple = None
        return
    def GetNeedLayer(self): return self.attrTuple[0] # 所需层数 WORD
    def GetQuickAwardList(self): return self.attrTuple[1] #  速战奖励列表,[[物品ID,个数], ...] list
# 定军阁效果表
class IPY_FBDJGEffect():
    def __init__(self):
        self.attrTuple = None
        return
    def GetEffID(self): return self.attrTuple[0] # 效果ID DWORD
    def GetEffQuality(self): return self.attrTuple[1] #  效果品质 BYTE
    def GetAttrID(self): return self.attrTuple[2] #  属性ID BYTE
    def GetAttrValue(self): return self.attrTuple[3] #  属性值 DWORD
    def GetRandWeight(self): return self.attrTuple[4] #  随机权重 DWORD
# 广告奖励表
class IPY_ADAward():
    
@@ -3506,7 +3691,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():
@@ -3704,17 +3890,6 @@
    def GetCanAssist(self): return self.attrTuple[8] # 是否可协助 BYTE
    def GetSkillResist(self): return self.attrTuple[9] # 是否技能抵抗 BYTE
# Boss首杀
class IPY_BOSSFirstKill():
    def __init__(self):
        self.attrTuple = None
        return
    def GetNPCID(self): return self.attrTuple[0] # ID DWORD
    def GetPerPlayerMoneyAward(self): return self.attrTuple[1] #  首杀全服玩家奖励灵石额度/人 WORD
    def GetPersonFirstKillAward(self): return self.attrTuple[2] #  个人首次击杀奖励 [[物品ID,个数,是否拍品], ...] list
# NPC秀表
class IPY_NPCShow():
    
@@ -3857,19 +4032,6 @@
    def GetDayID(self): return self.attrTuple[0] # 天数 BYTE
    def GetReward(self): return self.attrTuple[1] # 奖励 {"职业":[[物品ID,个数],...], ...} dict
# 七天限时特惠表
class IPY_SpringSale():
    def __init__(self):
        self.attrTuple = None
        return
    def GetGiftID(self): return self.attrTuple[0] # 礼包ID BYTE
    def GetSellDay(self): return self.attrTuple[1] # 创角第几天上架 BYTE
    def GetBuyNumLimit(self): return self.attrTuple[2] # 每人限购数量 BYTE
    def GetGiftPrice(self): return self.attrTuple[3] # 礼包价格,仙玉 WORD
    def GetGiftItemList(self): return self.attrTuple[4] # 礼包物品信息列表[[物品ID,个数,是否绑定], ...] list
# 充值商品编号表
class IPY_OrderInfo():
    
@@ -3947,35 +4109,6 @@
    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():
    
@@ -4001,9 +4134,13 @@
    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 GetWishReset(self): return self.attrTuple[21] # 心愿重置规则 BYTE
    def GetWishLibSelect(self): return self.attrTuple[22] # 心愿库选择数 dict
    def GetWishLibPubFreeCnt(self): return self.attrTuple[23] # 心愿库公共免费次数 dict
    def GetWishLibCard(self): return self.attrTuple[24] # 心愿库心愿卡 dict
# 寻宝产出库表
class IPY_TreasureHouse():
@@ -4031,10 +4168,13 @@
        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 GetIsWishItem(self): return self.attrTuple[5] # 心愿可选 BYTE
    def GetWishOutCnt(self): return self.attrTuple[6] # 心愿独立产出次数 BYTE
# 寻宝累计次数奖励表
class IPY_TreasureCntAward():
@@ -4307,33 +4447,6 @@
    def GetLibItemInfo(self): return self.attrTuple[4] # 物品编号对应物品信息 {物品编号:[物品ID,个数,是否拍品,可选次数], ...}  0不限次数 dict
    def GetNotifyItemNumList(self): return self.attrTuple[5] # 需要广播的编号列表 list
# BOSS复活活动时间表
class IPY_ActBossReborn():
    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 GetResetType(self): return self.attrTuple[3] # 重置类型,0-0点重置;1-5点重置 BYTE
    def GetLVLimit(self): return self.attrTuple[4] # 限制等级 WORD
    def GetTemplateID(self): return self.attrTuple[5] # 模板编号 BYTE
# BOSS复活表
class IPY_BossReborn():
    def __init__(self):
        self.attrTuple = None
        return
    def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
    def GetID(self): return self.attrTuple[1] # 活动条目ID BYTE
    def GetTotalTimes(self): return self.attrTuple[2] # 可完成的总次数,0表示不限次数 DWORD
    def GetSingleTimes(self): return self.attrTuple[3] # 单次领奖需要的次数 WORD
    def GetReward(self): return self.attrTuple[4] # 奖励物品ID1 dict
# 多倍修行点活动时间表
class IPY_ActRealmPoint():
    
@@ -4446,16 +4559,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():
@@ -5043,45 +5146,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():
    
@@ -5424,17 +5488,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():
    
@@ -5513,7 +5566,8 @@
    def GetLVUPNeedTime(self): return self.attrTuple[2] # 升级下一级所需所需秒 DWORD
    def GetEquipColorRateList(self): return self.attrTuple[3] # 小怪产出装备品质概率列表,[0品质万分率, 1品质万分率, ...] list
    def GetEquipColorRateList1(self): return self.attrTuple[4] # 精英产出装备品质概率列表,[0品质万分率, 1品质万分率, ...] list
    def GetEquipColorRateList2(self): return self.attrTuple[5] # boss产出装备品质概率列表,[0品质万分率, 1品质万分率, ...] list
    def GetEquipColorRateList2(self): return self.attrTuple[5] # boss产出装备品质概率列表,[0品质万分率, 1品质万分率, ...] list
    def GetLastSureOutNeed(self): return self.attrTuple[6] # 最后一档保底必出 DWORD
# 历练秘笈
class IPY_LLMJ():
@@ -5574,7 +5628,8 @@
        return
        
    def GetID(self): return self.attrTuple[0] # 机器人ID,同玩家ID DWORD
    def GetViewCache(self): return self.attrTuple[1] # 机器人缓存 char
    def GetRobotName(self): return self.attrTuple[1] # char
    def GetViewCache(self): return self.attrTuple[2] # 机器人缓存 char
def Log(msg, playerID=0, par=0):
@@ -5649,6 +5704,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)
@@ -5701,9 +5758,14 @@
        self.__LoadFileData("GubaoResonance", onlyCheck)
        self.__LoadFileData("GubaoStar", onlyCheck)
        self.__LoadFileData("GubaoLV", onlyCheck)
        self.__LoadFileData("Shentong", onlyCheck)
        self.__LoadFileData("ShentongLV", onlyCheck)
        self.__LoadFileData("GubaoLVAttr", 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("LVReValue", onlyCheck)
        self.__LoadFileData("SpecMapPlayerAttrFormat", onlyCheck)
        self.__LoadFileData("GMAttr", onlyCheck)
        self.__LoadFileData("RuneTower", onlyCheck)
@@ -5711,6 +5773,9 @@
        self.__LoadFileData("FBFunc", onlyCheck)
        self.__LoadFileData("FBLine", onlyCheck)
        self.__LoadFileData("Tianzi", onlyCheck)
        self.__LoadFileData("FBDJGLevel", onlyCheck)
        self.__LoadFileData("FBDJGQuick", onlyCheck)
        self.__LoadFileData("FBDJGEffect", onlyCheck)
        self.__LoadFileData("ADAward", onlyCheck)
        self.__LoadFileData("Success", onlyCheck)
        self.__LoadFileData("TongTianLV", onlyCheck)
@@ -5725,7 +5790,6 @@
        self.__LoadFileData("DailyTask", onlyCheck)
        self.__LoadFileData("DailyLivenessReward", onlyCheck)
        self.__LoadFileData("BOSSInfo", onlyCheck)
        self.__LoadFileData("BOSSFirstKill", onlyCheck)
        self.__LoadFileData("NPCShow", onlyCheck)
        self.__LoadFileData("MapRefreshNPC", onlyCheck)
        self.__LoadFileData("RuneCompound", onlyCheck)
@@ -5735,14 +5799,11 @@
        self.__LoadFileData("ChestsAward", onlyCheck)
        self.__LoadFileData("VIPKillNPC", onlyCheck)
        self.__LoadFileData("LoginDayAward", onlyCheck)
        self.__LoadFileData("SpringSale", onlyCheck)
        self.__LoadFileData("OrderInfo", onlyCheck)
        self.__LoadFileData("CTG", onlyCheck)
        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)
@@ -5765,8 +5826,6 @@
        self.__LoadFileData("CrossActFamilyGCZSQ", onlyCheck)
        self.__LoadFileData("ActGodGift", onlyCheck)
        self.__LoadFileData("ActGodGiftAward", onlyCheck)
        self.__LoadFileData("ActBossReborn", onlyCheck)
        self.__LoadFileData("BossReborn", onlyCheck)
        self.__LoadFileData("ActRealmPoint", onlyCheck)
        self.__LoadFileData("TrialExchange", onlyCheck)
        self.__LoadFileData("AllPeopleParty", onlyCheck)
@@ -5775,7 +5834,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)
@@ -5818,9 +5876,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)
@@ -5847,7 +5902,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)
@@ -6203,6 +6257,20 @@
    def GetLineupRecommendByIndex(self, index):
        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")
@@ -6568,19 +6636,47 @@
        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 GetGubaoLVAttrCount(self):
        self.CheckLoadData("GubaoLVAttr")
        return self.ipyGubaoLVAttrLen
    def GetGubaoLVAttrByIndex(self, index):
        self.CheckLoadData("GubaoLVAttr")
        return self.ipyGubaoLVAttrCache[index]
    def GetShentongLVCount(self):
        self.CheckLoadData("ShentongLV")
        return self.ipyShentongLVLen
    def GetShentongLVByIndex(self, index):
        self.CheckLoadData("ShentongLV")
        return self.ipyShentongLVCache[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 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")
@@ -6588,6 +6684,13 @@
    def GetPlayerLVByIndex(self, index):
        self.CheckLoadData("PlayerLV")
        return self.ipyPlayerLVCache[index]
    def GetLVReValueCount(self):
        self.CheckLoadData("LVReValue")
        return self.ipyLVReValueLen
    def GetLVReValueByIndex(self, index):
        self.CheckLoadData("LVReValue")
        return self.ipyLVReValueCache[index]
    def GetSpecMapPlayerAttrFormatCount(self):
        self.CheckLoadData("SpecMapPlayerAttrFormat")
@@ -6637,6 +6740,27 @@
    def GetTianziByIndex(self, index):
        self.CheckLoadData("Tianzi")
        return self.ipyTianziCache[index]
    def GetFBDJGLevelCount(self):
        self.CheckLoadData("FBDJGLevel")
        return self.ipyFBDJGLevelLen
    def GetFBDJGLevelByIndex(self, index):
        self.CheckLoadData("FBDJGLevel")
        return self.ipyFBDJGLevelCache[index]
    def GetFBDJGQuickCount(self):
        self.CheckLoadData("FBDJGQuick")
        return self.ipyFBDJGQuickLen
    def GetFBDJGQuickByIndex(self, index):
        self.CheckLoadData("FBDJGQuick")
        return self.ipyFBDJGQuickCache[index]
    def GetFBDJGEffectCount(self):
        self.CheckLoadData("FBDJGEffect")
        return self.ipyFBDJGEffectLen
    def GetFBDJGEffectByIndex(self, index):
        self.CheckLoadData("FBDJGEffect")
        return self.ipyFBDJGEffectCache[index]
    def GetADAwardCount(self):
        self.CheckLoadData("ADAward")
@@ -6736,13 +6860,6 @@
        self.CheckLoadData("BOSSInfo")
        return self.ipyBOSSInfoCache[index]
    def GetBOSSFirstKillCount(self):
        self.CheckLoadData("BOSSFirstKill")
        return self.ipyBOSSFirstKillLen
    def GetBOSSFirstKillByIndex(self, index):
        self.CheckLoadData("BOSSFirstKill")
        return self.ipyBOSSFirstKillCache[index]
    def GetNPCShowCount(self):
        self.CheckLoadData("NPCShow")
        return self.ipyNPCShowLen
@@ -6806,13 +6923,6 @@
        self.CheckLoadData("LoginDayAward")
        return self.ipyLoginDayAwardCache[index]
    def GetSpringSaleCount(self):
        self.CheckLoadData("SpringSale")
        return self.ipySpringSaleLen
    def GetSpringSaleByIndex(self, index):
        self.CheckLoadData("SpringSale")
        return self.ipySpringSaleCache[index]
    def GetOrderInfoCount(self):
        self.CheckLoadData("OrderInfo")
        return self.ipyOrderInfoLen
@@ -6847,20 +6957,6 @@
    def GetLVAwardByIndex(self, index):
        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")
@@ -7016,20 +7112,6 @@
        self.CheckLoadData("ActGodGiftAward")
        return self.ipyActGodGiftAwardCache[index]
    def GetActBossRebornCount(self):
        self.CheckLoadData("ActBossReborn")
        return self.ipyActBossRebornLen
    def GetActBossRebornByIndex(self, index):
        self.CheckLoadData("ActBossReborn")
        return self.ipyActBossRebornCache[index]
    def GetBossRebornCount(self):
        self.CheckLoadData("BossReborn")
        return self.ipyBossRebornLen
    def GetBossRebornByIndex(self, index):
        self.CheckLoadData("BossReborn")
        return self.ipyBossRebornCache[index]
    def GetActRealmPointCount(self):
        self.CheckLoadData("ActRealmPoint")
        return self.ipyActRealmPointLen
@@ -7085,13 +7167,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")
@@ -7387,27 +7462,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
@@ -7589,13 +7643,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")