| | |
| | | ("BYTE", "LayerCnt", 0),
|
| | | ("BYTE", "LayerMax", 0),
|
| | | ("DWORD", "BuffRepeat", 0),
|
| | | ("DWORD", "DieContinue", 0),
|
| | | ("BYTE", "DispersedLimit", 0),
|
| | | ("DWORD", "FightPower", 0),
|
| | | ("char", "SkillMotionName", 0),
|
| | | ),
|
| | |
| | | ("BYTE", "Quality", 0),
|
| | | ("BYTE", "AtkDistType", 0),
|
| | | ("BYTE", "Sex", 0),
|
| | | ("BYTE", "Job", 0),
|
| | | ("list", "SkinIDList", 0),
|
| | | ("DWORD", "NormalSkillID", 0),
|
| | | ("DWORD", "AngerSkillID", 0),
|
| | |
| | | ("BYTE", "ShowType", 0),
|
| | | ),
|
| | |
|
| | | "FbEncourage":(
|
| | | ("DWORD", "DataMapID", 1),
|
| | | ("BYTE", "InspireType", 1),
|
| | | ("WORD", "InspireMaxLV", 0),
|
| | | ("char", "MoneyCount", 0),
|
| | | ),
|
| | |
|
| | | "MapRefreshNPC":(
|
| | | ("DWORD", "MapID", 1),
|
| | | ("BYTE", "RefreshNum", 0),
|
| | |
| | | ("BYTE", "IsAuctionItem", 0),
|
| | | ),
|
| | |
|
| | | "FirstGold":(
|
| | | ("BYTE", "Day", 1),
|
| | | ("dict", "JobItemInfo", 0),
|
| | | ("list", "CommItemList", 0),
|
| | | "FirstCharge":(
|
| | | ("BYTE", "FirstID", 1),
|
| | | ("WORD", "NeedCTGID", 0),
|
| | | ("list", "AwardListDay1", 0),
|
| | | ("list", "AwardListDay2", 0),
|
| | | ("list", "AwardListDay3", 0),
|
| | | ),
|
| | |
|
| | | "LVAward":(
|
| | |
| | | ("WORD", "LevelMax", 0),
|
| | | ),
|
| | |
|
| | | "FBBuyBuff":(
|
| | | ("DWORD", "MapId", 1),
|
| | | ("WORD", "MoneyCnt", 1),
|
| | | ("DWORD", "BuffID", 0),
|
| | | ("WORD", "BuffCD", 0),
|
| | | ),
|
| | |
|
| | | "SkillElement":(
|
| | | ("DWORD", "ElementSkillID", 1),
|
| | | ("BYTE", "ElementSkillNum", 0),
|
| | |
| | | def GetLayerCnt(self): return self.attrTuple[34] # Buff层数 BYTE
|
| | | def GetLayerMax(self): return self.attrTuple[35] # 最大层数 BYTE
|
| | | def GetBuffRepeat(self): return self.attrTuple[36] # Buff叠加规则 DWORD
|
| | | def GetDieContinue(self): return self.attrTuple[37] # Buff死亡存在 DWORD
|
| | | def GetDispersedLimit(self): return self.attrTuple[37] # 驱散限制 BYTE
|
| | | def GetFightPower(self): return self.attrTuple[38] # 技能战斗力 DWORD
|
| | | def GetSkillMotionName(self): return self.attrTuple[39] # 技能动作名 char |
| | | |
| | |
| | | def GetQuality(self): return self.attrTuple[4] # 品质 BYTE
|
| | | def GetAtkDistType(self): return self.attrTuple[5] # 远近类型;1-近战;2-远程 BYTE
|
| | | def GetSex(self): return self.attrTuple[6] # 性别;1-男,2-女 BYTE
|
| | | def GetSkinIDList(self): return self.attrTuple[7] # 皮肤ID列表 list
|
| | | def GetNormalSkillID(self): return self.attrTuple[8] # 普攻技能ID DWORD
|
| | | def GetAngerSkillID(self): return self.attrTuple[9] # 怒气技能ID DWORD
|
| | | def GetAtkInheritPer(self): return self.attrTuple[10] # 攻击继承 WORD
|
| | | def GetDefInheritPer(self): return self.attrTuple[11] # 防御继承 WORD
|
| | | def GetHPInheritPer(self): return self.attrTuple[12] # 生命继承 WORD
|
| | | def GetBatAttrDict(self): return self.attrTuple[13] # 其他战斗属性字典 {"属性ID":值, ...} dict
|
| | | def GetFetterIDList(self): return self.attrTuple[14] # 羁绊ID列表 list
|
| | | def GetRecruitBySelf(self): return self.attrTuple[15] # 招募需要本体 BYTE
|
| | | def GetSpecialty(self): return self.attrTuple[16] # 武将特长 BYTE |
| | | def GetJob(self): return self.attrTuple[7] # ְҵ BYTE
|
| | | def GetSkinIDList(self): return self.attrTuple[8] # 皮肤ID列表 list
|
| | | def GetNormalSkillID(self): return self.attrTuple[9] # 普攻技能ID DWORD
|
| | | def GetAngerSkillID(self): return self.attrTuple[10] # 怒气技能ID DWORD
|
| | | def GetAtkInheritPer(self): return self.attrTuple[11] # 攻击继承 WORD
|
| | | def GetDefInheritPer(self): return self.attrTuple[12] # 防御继承 WORD
|
| | | def GetHPInheritPer(self): return self.attrTuple[13] # 生命继承 WORD
|
| | | def GetBatAttrDict(self): return self.attrTuple[14] # 其他战斗属性字典 {"属性ID":值, ...} dict
|
| | | def GetFetterIDList(self): return self.attrTuple[15] # 羁绊ID列表 list
|
| | | def GetRecruitBySelf(self): return self.attrTuple[16] # 招募需要本体 BYTE
|
| | | def GetSpecialty(self): return self.attrTuple[17] # 武将特长 BYTE |
| | | |
| | | # 武将星级天赋表 |
| | | class IPY_HeroTalent(): |
| | |
| | | def GetBindMissionID(self): return self.attrTuple[4] # 绑定的任务ID DWORD
|
| | | def GetShowType(self): return self.attrTuple[5] # 0-服务端通知,>0前端处理 BYTE |
| | | |
| | | # 副本鼓舞表 |
| | | class IPY_FbEncourage(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetDataMapID(self): return self.attrTuple[0] # 地图ID DWORD
|
| | | def GetInspireType(self): return self.attrTuple[1] # 鼓舞类型 BYTE
|
| | | def GetInspireMaxLV(self): return self.attrTuple[2] # 鼓舞等级限制 WORD
|
| | | def GetMoneyCount(self): return self.attrTuple[3] # 单次消耗金钱数量 char |
| | | |
| | | # 地图标试点NPC刷新 |
| | | class IPY_MapRefreshNPC(): |
| | | |
| | |
| | | def GetIsAuctionItem(self): return self.attrTuple[3] # 是否拍品 BYTE |
| | | |
| | | # 首充表 |
| | | class IPY_FirstGold(): |
| | | class IPY_FirstCharge(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetDay(self): return self.attrTuple[0] # 首充第几天 BYTE
|
| | | def GetJobItemInfo(self): return self.attrTuple[1] # 职业物品奖励 {"职业":[[物品ID,个数], ...], ...} dict
|
| | | def GetCommItemList(self): return self.attrTuple[2] # 通用物品奖励 [[物品ID,个数], ...] list |
| | | def GetFirstID(self): return self.attrTuple[0] # 首充ID BYTE
|
| | | def GetNeedCTGID(self): return self.attrTuple[1] # 所需充值ID WORD
|
| | | def GetAwardListDay1(self): return self.attrTuple[2] # 第1天奖励 [[物品ID,个数,装备定制ID], ...] list
|
| | | def GetAwardListDay2(self): return self.attrTuple[3] # 第2天奖励 [[物品ID,个数,装备定制ID], ...] list
|
| | | def GetAwardListDay3(self): return self.attrTuple[4] # 第3天奖励 [[物品ID,个数,装备定制ID], ...] list |
| | | |
| | | # 等级奖励表 |
| | | class IPY_LVAward(): |
| | |
| | | def GetStar(self): return self.attrTuple[1] # 装备星数 BYTE
|
| | | def GetLevelMax(self): return self.attrTuple[2] # 洗练等级上限 WORD |
| | | |
| | | # 副本Buff表 |
| | | class IPY_FBBuyBuff(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetMapId(self): return self.attrTuple[0] # DWORD
|
| | | def GetMoneyCnt(self): return self.attrTuple[1] # 仙玉数量 WORD
|
| | | def GetBuffID(self): return self.attrTuple[2] # BuffID DWORD
|
| | | def GetBuffCD(self): return self.attrTuple[3] # 间隔时间s WORD |
| | | |
| | | # 技能升级表 |
| | | class IPY_SkillElement(): |
| | | |
| | |
| | | self.__LoadFileData("FamilyRedPack", onlyCheck)
|
| | | self.__LoadFileData("ActFeastRedPacketSucc", onlyCheck)
|
| | | self.__LoadFileData("NPCShow", onlyCheck)
|
| | | self.__LoadFileData("FbEncourage", onlyCheck)
|
| | | self.__LoadFileData("MapRefreshNPC", onlyCheck)
|
| | | self.__LoadFileData("RuneCompound", onlyCheck)
|
| | | self.__LoadFileData("ResourcesBack", onlyCheck)
|
| | |
| | | self.__LoadFileData("OrderInfo", onlyCheck)
|
| | | self.__LoadFileData("CTG", onlyCheck)
|
| | | self.__LoadFileData("CTGSelectItem", onlyCheck)
|
| | | self.__LoadFileData("FirstGold", onlyCheck)
|
| | | self.__LoadFileData("FirstCharge", onlyCheck)
|
| | | self.__LoadFileData("LVAward", onlyCheck)
|
| | | self.__LoadFileData("Invest", onlyCheck)
|
| | | self.__LoadFileData("XBXZ", onlyCheck)
|
| | |
| | | self.__LoadFileData("FamilyZhenbaogeItem", onlyCheck)
|
| | | self.__LoadFileData("FamilyZhenfa", onlyCheck)
|
| | | self.__LoadFileData("ItemWashMax", onlyCheck)
|
| | | self.__LoadFileData("FBBuyBuff", onlyCheck)
|
| | | self.__LoadFileData("SkillElement", onlyCheck)
|
| | | self.__LoadFileData("LingGenEffect", onlyCheck)
|
| | | self.__LoadFileData("LoveGift", onlyCheck)
|
| | |
| | |
|
| | | def __StrToList(self, strValue):
|
| | | setList = []
|
| | | if (strValue.startswith("[") and strValue.endswith("]")) or (strValue.startswith("(") and strValue.endswith(")")):
|
| | | setList = eval(strValue)
|
| | | elif strValue in ["0", "-", ""]:
|
| | | pass
|
| | | elif strValue.isdigit():
|
| | | setList = (int(strValue),)
|
| | | else:
|
| | | if ChConfig.Def_Str_Montant in strValue: # |分割的优先
|
| | | for value in strValue.split(ChConfig.Def_Str_Montant):
|
| | | if value.isdigit():
|
| | | value = int(value)
|
| | |
| | | setList.append(value)
|
| | | if setList:
|
| | | setList = tuple(setList)
|
| | | elif (strValue.startswith("[") and strValue.endswith("]")) or (strValue.startswith("(") and strValue.endswith(")")):
|
| | | setList = eval(strValue)
|
| | | elif strValue in ["0", "-", ""]:
|
| | | pass
|
| | | elif strValue.isdigit():
|
| | | setList = (int(strValue),)
|
| | | return setList
|
| | |
|
| | | |
| | |
| | | self.CheckLoadData("NPCShow") |
| | | return self.ipyNPCShowCache[index]
|
| | | |
| | | def GetFbEncourageCount(self): |
| | | self.CheckLoadData("FbEncourage") |
| | | return self.ipyFbEncourageLen
|
| | | def GetFbEncourageByIndex(self, index): |
| | | self.CheckLoadData("FbEncourage") |
| | | return self.ipyFbEncourageCache[index]
|
| | | |
| | | def GetMapRefreshNPCCount(self): |
| | | self.CheckLoadData("MapRefreshNPC") |
| | | return self.ipyMapRefreshNPCLen
|
| | |
| | | self.CheckLoadData("CTGSelectItem") |
| | | return self.ipyCTGSelectItemCache[index]
|
| | | |
| | | def GetFirstGoldCount(self): |
| | | self.CheckLoadData("FirstGold") |
| | | return self.ipyFirstGoldLen
|
| | | def GetFirstGoldByIndex(self, index): |
| | | self.CheckLoadData("FirstGold") |
| | | return self.ipyFirstGoldCache[index]
|
| | | def GetFirstChargeCount(self): |
| | | self.CheckLoadData("FirstCharge") |
| | | return self.ipyFirstChargeLen
|
| | | def GetFirstChargeByIndex(self, index): |
| | | self.CheckLoadData("FirstCharge") |
| | | return self.ipyFirstChargeCache[index]
|
| | | |
| | | def GetLVAwardCount(self): |
| | | self.CheckLoadData("LVAward") |
| | |
| | | def GetItemWashMaxByIndex(self, index): |
| | | self.CheckLoadData("ItemWashMax") |
| | | return self.ipyItemWashMaxCache[index]
|
| | | |
| | | def GetFBBuyBuffCount(self): |
| | | self.CheckLoadData("FBBuyBuff") |
| | | return self.ipyFBBuyBuffLen
|
| | | def GetFBBuyBuffByIndex(self, index): |
| | | self.CheckLoadData("FBBuyBuff") |
| | | return self.ipyFBBuyBuffCache[index]
|
| | | |
| | | def GetSkillElementCount(self): |
| | | self.CheckLoadData("SkillElement") |