| | |
| | | ("DWORD", "FightPower", 0),
|
| | | ),
|
| | |
|
| | | "PresetUnlock":(
|
| | | ("BYTE", "PresetType", 1),
|
| | | ("BYTE", "UnlockType", 0),
|
| | | ("DWORD", "UnlockValue", 0),
|
| | | ),
|
| | |
|
| | | "Hero":(
|
| | | ("DWORD", "HeroID", 1),
|
| | | ("char", "Name", 0),
|
| | |
| | | ("list", "AttrIDList", 0),
|
| | | ("list", "AttrValueList", 0),
|
| | | ("DWORD", "SkillID", 0),
|
| | | ("list", "SkillIDExList", 0),
|
| | | ),
|
| | |
|
| | | "HeroAwake":(
|
| | |
| | | ("DWORD", "DefBase", 0),
|
| | | ("DWORD", "HPBase", 0),
|
| | | ("DWORD", "AtkSpeedBase", 0),
|
| | | ("dict", "BatAttrBaseDict", 0),
|
| | | ),
|
| | |
|
| | | "MGGuayuQuality":(
|
| | |
| | | ("float", "DefPlus", 0),
|
| | | ("float", "HPPlus", 0),
|
| | | ("float", "AtkSpeedPlus", 0),
|
| | | ("BYTE", "AttrLibCnt", 0),
|
| | | ("list", "AttrRange", 0),
|
| | | ("dict", "AttrRangeDict", 0),
|
| | | ),
|
| | |
| | | ("dict", "Attr", 0),
|
| | | ),
|
| | |
|
| | | "FamilyCross":(
|
| | | ("char", "AppID", 1),
|
| | | ("WORD", "ZoneID", 1),
|
| | | ("DWORD", "CrossServerID", 0),
|
| | | ("list", "ServerIDList", 0),
|
| | | ),
|
| | |
|
| | | "Family":(
|
| | | ("BYTE", "FamilyLV", 1),
|
| | | ("BYTE", "MemberMax", 0),
|
| | |
| | | def GetBuffRetain(self): return self.attrTuple[40] # Buff保留规则 BYTE
|
| | | def GetFightPower(self): return self.attrTuple[41] # 技能战斗力 DWORD |
| | | |
| | | # 预设解锁 |
| | | class IPY_PresetUnlock(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetPresetType(self): return self.attrTuple[0] # 预设类型 BYTE
|
| | | def GetUnlockType(self): return self.attrTuple[1] # 解锁类型 BYTE
|
| | | def GetUnlockValue(self): return self.attrTuple[2] # 解锁所需值 DWORD |
| | | |
| | | # 武将表 |
| | | class IPY_Hero(): |
| | | |
| | |
| | | def GetBreakLV(self): return self.attrTuple[1] # 突破等级 BYTE
|
| | | def GetAttrIDList(self): return self.attrTuple[2] # 属性ID列表 list
|
| | | def GetAttrValueList(self): return self.attrTuple[3] # 属性值列表 list
|
| | | def GetSkillID(self): return self.attrTuple[4] # 激活技能ID DWORD |
| | | def GetSkillID(self): return self.attrTuple[4] # 激活技能ID DWORD
|
| | | def GetSkillIDExList(self): return self.attrTuple[5] # 激活的额外技能ID列表 list |
| | | |
| | | # 武将觉醒天赋表 |
| | | class IPY_HeroAwake(): |
| | |
| | | def GetAtkBase(self): return self.attrTuple[2] # 攻击基础值 DWORD
|
| | | def GetDefBase(self): return self.attrTuple[3] # 防御基础值 DWORD
|
| | | def GetHPBase(self): return self.attrTuple[4] # 生命基础值 DWORD
|
| | | def GetAtkSpeedBase(self): return self.attrTuple[5] # 先攻基础值 DWORD |
| | | def GetAtkSpeedBase(self): return self.attrTuple[5] # 先攻基础值 DWORD
|
| | | def GetBatAttrBaseDict(self): return self.attrTuple[6] # 其他战斗属性基础值字典,{属性ID:基础值, ...} dict |
| | | |
| | | # 卦玉品质表 |
| | | class IPY_MGGuayuQuality(): |
| | |
| | | def GetDefPlus(self): return self.attrTuple[2] # 防御加成 float
|
| | | def GetHPPlus(self): return self.attrTuple[3] # 生命加成 float
|
| | | def GetAtkSpeedPlus(self): return self.attrTuple[4] # 先攻加成 float
|
| | | def GetAttrLibCnt(self): return self.attrTuple[5] # 库属性条数 BYTE
|
| | | def GetAttrRange(self): return self.attrTuple[6] # 通用属性范围,下限|上限 list
|
| | | def GetAttrRangeDict(self): return self.attrTuple[7] # 指定属性范围字典,{指定属性ID:[范围下限, 上限], ...} dict |
| | | def GetAttrRange(self): return self.attrTuple[5] # 其他属性通用加成范围,下限|上限 list
|
| | | def GetAttrRangeDict(self): return self.attrTuple[6] # 其他指定属性加成范围字典,{指定属性ID:[范围下限, 上限], ...} dict |
| | | |
| | | # 卦玉类型表 |
| | | class IPY_MGGuayuType(): |
| | |
| | | def GetCostItem(self): return self.attrTuple[3] # 消耗材料 dict
|
| | | def GetAttr(self): return self.attrTuple[4] # 属性 dict |
| | | |
| | | # 仙盟等级表 |
| | | # 跨服公会表 |
| | | class IPY_FamilyCross(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetAppID(self): return self.attrTuple[0] # AppID char
|
| | | def GetZoneID(self): return self.attrTuple[1] # 分区ID WORD
|
| | | def GetCrossServerID(self): return self.attrTuple[2] # 跨服服务器ID DWORD
|
| | | def GetServerIDList(self): return self.attrTuple[3] # 互通服务器ID列表 list |
| | | |
| | | # 公会等级表 |
| | | class IPY_Family(): |
| | | |
| | | def __init__(self): |
| | |
| | | def GetNeedExp(self): return self.attrTuple[4] # 升级所需经验 DWORD
|
| | | def GetZhenbaogeWeights(self): return self.attrTuple[5] # 珍宝阁总权重 DWORD |
| | | |
| | | # 仙盟徽章表 |
| | | # 公会徽章表 |
| | | class IPY_FamilyEmblem(): |
| | | |
| | | def __init__(self): |
| | |
| | | def GetExpireMinutes(self): return self.attrTuple[2] # 有效时长,分钟 DWORD
|
| | | def GetCustomFamilyID(self): return self.attrTuple[3] # 定制仙盟ID DWORD |
| | | |
| | | # 仙盟捐献表 |
| | | # 公会捐献表 |
| | | class IPY_FamilyDonate(): |
| | | |
| | | def __init__(self): |
| | |
| | | def GetMoneyValue(self): return self.attrTuple[3] # 消耗货币值 DWORD
|
| | | def GetAwardItemList(self): return self.attrTuple[4] # 获得奖励列表[[物品ID,个数], ...] list |
| | | |
| | | # 仙盟珍宝阁砍价表 |
| | | # 公会珍宝阁砍价表 |
| | | class IPY_FamilyZhenbaogeCut(): |
| | | |
| | | def __init__(self): |
| | |
| | | def GetMinRatio(self): return self.attrTuple[2] # 保底比值 float
|
| | | def GetRandRatio(self): return self.attrTuple[3] # 随机比值 float |
| | | |
| | | # 仙盟珍宝阁物品表 |
| | | # 公会珍宝阁物品表 |
| | | class IPY_FamilyZhenbaogeItem(): |
| | | |
| | | def __init__(self): |
| | |
| | | self.__LoadFileData("NPC", onlyCheck)
|
| | | self.__LoadFileData("NPCStronger", onlyCheck)
|
| | | self.__LoadFileData("Skill", onlyCheck)
|
| | | self.__LoadFileData("PresetUnlock", onlyCheck)
|
| | | self.__LoadFileData("Hero", onlyCheck)
|
| | | self.__LoadFileData("HeroTalent", onlyCheck)
|
| | | self.__LoadFileData("HeroBreak", onlyCheck)
|
| | |
| | | self.__LoadFileData("EquipShenEvolve", onlyCheck)
|
| | | self.__LoadFileData("EquipStarUp", onlyCheck)
|
| | | self.__LoadFileData("EquipPlusEvolve", onlyCheck)
|
| | | self.__LoadFileData("FamilyCross", onlyCheck)
|
| | | self.__LoadFileData("Family", onlyCheck)
|
| | | self.__LoadFileData("FamilyEmblem", onlyCheck)
|
| | | self.__LoadFileData("FamilyDonate", onlyCheck)
|
| | |
| | | def GetSkillByIndex(self, index): |
| | | self.CheckLoadData("Skill") |
| | | return self.ipySkillCache[index]
|
| | | |
| | | def GetPresetUnlockCount(self): |
| | | self.CheckLoadData("PresetUnlock") |
| | | return self.ipyPresetUnlockLen
|
| | | def GetPresetUnlockByIndex(self, index): |
| | | self.CheckLoadData("PresetUnlock") |
| | | return self.ipyPresetUnlockCache[index]
|
| | | |
| | | def GetHeroCount(self): |
| | | self.CheckLoadData("Hero") |
| | |
| | | self.CheckLoadData("EquipPlusEvolve") |
| | | return self.ipyEquipPlusEvolveCache[index]
|
| | | |
| | | def GetFamilyCrossCount(self): |
| | | self.CheckLoadData("FamilyCross") |
| | | return self.ipyFamilyCrossLen
|
| | | def GetFamilyCrossByIndex(self, index): |
| | | self.CheckLoadData("FamilyCross") |
| | | return self.ipyFamilyCrossCache[index]
|
| | | |
| | | def GetFamilyCount(self): |
| | | self.CheckLoadData("Family") |
| | | return self.ipyFamilyLen
|