| | |
| | | ),
|
| | |
|
| | | "HeroQuality":(
|
| | | ("DWORD", "Quality", 1),
|
| | | ("BYTE", "Quality", 1),
|
| | | ("list", "InitTalentWeight", 0),
|
| | | ("BYTE", "InitStarUpper", 0),
|
| | | ("DWORD", "InitAddPer", 0),
|
| | |
| | | ("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),
|
| | |
| | | "LineupRecommend":(
|
| | | ("DWORD", "RecommendID", 1),
|
| | | ("list", "HeroIDList", 0),
|
| | | ),
|
| | |
|
| | | "HeroFates":(
|
| | | ("WORD", "FatesID", 1),
|
| | | ("BYTE", "FatesQuality", 0),
|
| | | ("list", "HeroIDList", 0),
|
| | | ("list", "AwardItemList", 0),
|
| | | ("list", "AttrIDList", 0),
|
| | | ("list", "LVAttrValueList", 0),
|
| | | ),
|
| | |
|
| | | "HeroFatesQualityLV":(
|
| | | ("BYTE", "FatesQuality", 1),
|
| | | ("BYTE", "FatesLV", 1),
|
| | | ("BYTE", "NeedStarTotal", 0),
|
| | | ("BYTE", "NeedHeroCnt", 0),
|
| | | ),
|
| | |
|
| | | "PlayerAttr":(
|
| | |
| | | ("DWORD", "MaxHP", 0),
|
| | | ("DWORD", "Atk", 0),
|
| | | ("DWORD", "Def", 0),
|
| | | ("BYTE", "ReHeroStar", 0),
|
| | | ("BYTE", "ReHeroBreakLV", 0),
|
| | | ("BYTE", "ReHeroAwakeLV", 0),
|
| | | ("DWORD", "ReAtk", 0),
|
| | |
| | | ("BYTE", "LuckyGridNum", 0),
|
| | | ("dict", "GridNumMaxLimitInfo", 0),
|
| | | ("list", "NotifyGridNumList", 0),
|
| | | ("char", "NotifyKey", 0),
|
| | | ("dict", "NotifyKeyDict", 0),
|
| | | ("BYTE", "AwardMoneyType", 0),
|
| | | ("WORD", "AwardMoneyValue", 0),
|
| | | ("BYTE", "WishOutput", 0),
|
| | | ("BYTE", "WishReset", 0),
|
| | | ("dict", "WishLibSelect", 0),
|
| | | ),
|
| | |
|
| | | "TreasureHouse":(
|
| | |
| | | ),
|
| | |
|
| | | "TreasureItemLib":(
|
| | | ("WORD", "ID", 0),
|
| | | ("WORD", "LibID", 1),
|
| | | ("DWORD", "ItemID", 0),
|
| | | ("DWORD", "ItemCount", 0),
|
| | | ("DWORD", "ItemWeight", 0),
|
| | | ("BYTE", "WishOutCnt", 0),
|
| | | ),
|
| | |
|
| | | "TreasureCntAward":(
|
| | |
| | | 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(): |
| | |
| | | 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(): |
| | |
| | | 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 |
| | |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetQuality(self): return self.attrTuple[0] # 品质 DWORD
|
| | | def GetQuality(self): return self.attrTuple[0] # 品质 BYTE
|
| | | def GetHeroLV(self): return self.attrTuple[1] # 武将等级 DWORD
|
| | | def GetUPCostItem(self): return self.attrTuple[2] # 升级到下级消耗道具 list
|
| | | def GetAttrIDList(self): return self.attrTuple[3] # 武将属性ID列表 list
|
| | |
| | | |
| | | def GetRecommendID(self): return self.attrTuple[0] # 推荐ID DWORD
|
| | | def GetHeroIDList(self): return self.attrTuple[1] # 推荐武将ID列表 list |
| | | |
| | | # 武将宿缘表 |
| | | class IPY_HeroFates(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetFatesID(self): return self.attrTuple[0] # 宿缘ID WORD
|
| | | def GetFatesQuality(self): return self.attrTuple[1] # 宿缘品质 BYTE
|
| | | def GetHeroIDList(self): return self.attrTuple[2] # 武将ID组合列表 list
|
| | | def GetAwardItemList(self): return self.attrTuple[3] # 激活奖励物品列表 list
|
| | | def GetAttrIDList(self): return self.attrTuple[4] # 属性ID列表 list
|
| | | def GetLVAttrValueList(self): return self.attrTuple[5] # 每级属性值列表 list |
| | | |
| | | # 武将宿缘品质等级表 |
| | | class IPY_HeroFatesQualityLV(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetFatesQuality(self): return self.attrTuple[0] # 宿缘品质 BYTE
|
| | | def GetFatesLV(self): return self.attrTuple[1] # 宿缘等级 BYTE
|
| | | def GetNeedStarTotal(self): return self.attrTuple[2] # 升到该级所需总星数 BYTE
|
| | | def GetNeedHeroCnt(self): return self.attrTuple[3] # 所需品质武将数 BYTE |
| | | |
| | | # 属性条目表 |
| | | class IPY_PlayerAttr(): |
| | |
| | | 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 GetReHeroStar(self): return self.attrTuple[5] # 参考星级 BYTE
|
| | | def GetReHeroBreakLV(self): return self.attrTuple[6] # 参考突破等级 BYTE
|
| | | def GetReHeroAwakeLV(self): return self.attrTuple[7] # 参考觉醒等级 BYTE
|
| | | def GetReAtk(self): return self.attrTuple[8] # 参考攻击 DWORD
|
| | | def GetReDef(self): return self.attrTuple[9] # 防御 DWORD
|
| | | def GetReMaxHP(self): return self.attrTuple[10] # 生命 DWORD
|
| | | def GetReStunRate(self): return self.attrTuple[11] # DWORD
|
| | | def GetReSuperHitRate(self): return self.attrTuple[12] # DWORD
|
| | | def GetReComboRate(self): return self.attrTuple[13] # DWORD
|
| | | def GetReMissRate(self): return self.attrTuple[14] # DWORD
|
| | | def GetReParryRate(self): return self.attrTuple[15] # DWORD
|
| | | def GetReSuckHPPer(self): return self.attrTuple[16] # DWORD
|
| | | def GetReStunRateDef(self): return self.attrTuple[17] # DWORD
|
| | | def GetReSuperHitRateDef(self): return self.attrTuple[18] # DWORD
|
| | | def GetReComboRateDef(self): return self.attrTuple[19] # DWORD
|
| | | def GetReMissRateDef(self): return self.attrTuple[20] # DWORD
|
| | | def GetReParryRateDef(self): return self.attrTuple[21] # DWORD
|
| | | def GetReSuckHPPerDef(self): return self.attrTuple[22] # DWORD |
| | | |
| | | # 特殊地图玩家属性公式表 |
| | | class IPY_SpecMapPlayerAttrFormat(): |
| | |
| | | def GetLuckyGridNum(self): return self.attrTuple[15] # 幸运格子编号 BYTE
|
| | | def GetGridNumMaxLimitInfo(self): return self.attrTuple[16] # 格子最大产出次数限制,{"格子":最大可产出次数, ...} dict
|
| | | def GetNotifyGridNumList(self): return self.attrTuple[17] # 需要额外广播的格子 list
|
| | | def GetNotifyKey(self): return self.attrTuple[18] # 广播key char
|
| | | def GetNotifyKeyDict(self): return self.attrTuple[18] # 广播key dict
|
| | | def GetAwardMoneyType(self): return self.attrTuple[19] # 额外奖励货币类型 BYTE
|
| | | def GetAwardMoneyValue(self): return self.attrTuple[20] # 单次奖励货币数 WORD |
| | | def GetAwardMoneyValue(self): return self.attrTuple[20] # 单次奖励货币数 WORD
|
| | | def GetWishOutput(self): return self.attrTuple[21] # 心愿产出规则 BYTE
|
| | | def GetWishReset(self): return self.attrTuple[22] # 心愿重置规则 BYTE
|
| | | def GetWishLibSelect(self): return self.attrTuple[23] # 心愿库选择数 dict |
| | | |
| | | # 寻宝产出库表 |
| | | class IPY_TreasureHouse(): |
| | |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetLibID(self): return self.attrTuple[0] # 库ID WORD
|
| | | def GetItemID(self): return self.attrTuple[1] # 物品ID DWORD
|
| | | def GetItemCount(self): return self.attrTuple[2] # 物品个数 DWORD
|
| | | def GetItemWeight(self): return self.attrTuple[3] # 物品权重 DWORD |
| | | def GetID(self): return self.attrTuple[0] # ID WORD
|
| | | def GetLibID(self): return self.attrTuple[1] # 库ID WORD
|
| | | def GetItemID(self): return self.attrTuple[2] # 物品ID DWORD
|
| | | def GetItemCount(self): return self.attrTuple[3] # 物品个数 DWORD
|
| | | def GetItemWeight(self): return self.attrTuple[4] # 物品权重 DWORD
|
| | | def GetWishOutCnt(self): return self.attrTuple[5] # 心愿产出次数 BYTE |
| | | |
| | | # 寻宝累计次数奖励表 |
| | | class IPY_TreasureCntAward(): |
| | |
| | | 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)
|
| | |
| | | self.CheckLoadData("LineupRecommend") |
| | | return self.ipyLineupRecommendCache[index]
|
| | | |
| | | def GetHeroFatesCount(self): |
| | | self.CheckLoadData("HeroFates") |
| | | return self.ipyHeroFatesLen
|
| | | def GetHeroFatesByIndex(self, index): |
| | | self.CheckLoadData("HeroFates") |
| | | return self.ipyHeroFatesCache[index]
|
| | | |
| | | def GetHeroFatesQualityLVCount(self): |
| | | self.CheckLoadData("HeroFatesQualityLV") |
| | | return self.ipyHeroFatesQualityLVLen
|
| | | def GetHeroFatesQualityLVByIndex(self, index): |
| | | self.CheckLoadData("HeroFatesQualityLV") |
| | | return self.ipyHeroFatesQualityLVCache[index]
|
| | | |
| | | def GetPlayerAttrCount(self): |
| | | self.CheckLoadData("PlayerAttr") |
| | | return self.ipyPlayerAttrLen
|