| | |
| | | ("DWORD", "NeedLV", 0),
|
| | | ("DWORD", "NeedItemID", 0),
|
| | | ("WORD", "NeedItemCnt", 0),
|
| | | ("list", "NeedEquip", 0),
|
| | | ("list", "AddAttrType", 0),
|
| | | ("list", "AddAttrNum", 0),
|
| | | ("DWORD", "BossID", 0),
|
| | |
| | | ("DWORD", "NPCID", 1),
|
| | | ("DWORD", "LostHPPerSecond", 0),
|
| | | ("BYTE", "MaxPlayerCount", 0),
|
| | | ("DWORD", "ReduceRate", 0),
|
| | | ("DWORD", "LostHPPerSecondEx", 0),
|
| | | ),
|
| | |
|
| | | "EquipSuitAttr":(
|
| | |
| | |
|
| | | "CollectNPC":(
|
| | | ("DWORD", "NPCID", 1),
|
| | | ("BYTE", "IsMissionCollectNPC", 0),
|
| | | ("BYTE", "PrepareTime", 0),
|
| | | ("list", "LostHPPer", 0),
|
| | | ("BYTE", "MaxCollectCount", 0),
|
| | |
| | | ("dict", "CollectAppointAward", 0),
|
| | | ("BYTE", "AlchemyDiffLV", 0),
|
| | | ("BYTE", "NotifyCollectResult", 0),
|
| | | ("BYTE", "CanBreakCollect", 0),
|
| | | ),
|
| | |
|
| | | "TreasureNPC":(
|
| | | ("DWORD", "NPCID", 1),
|
| | | ("dict", "AttackCountDropWeightInfo", 0),
|
| | | ("list", "AttackDropWeightList", 0),
|
| | | ("list", "AttackDropWeightListEx", 0),
|
| | | ("BYTE", "DropCountEx", 0),
|
| | | ("BYTE", "AlchemyDiffLV", 0),
|
| | | ("char", "NotDropNotify", 0),
|
| | | ),
|
| | |
|
| | | "Chests":(
|
| | |
| | | ("list", "ServerGroupIDList", 0),
|
| | | ),
|
| | |
|
| | | "CrossZonePK":(
|
| | | ("char", "CrossZoneName", 1),
|
| | | ("BYTE", "ZoneID", 1),
|
| | | ("list", "ServerGroupIDList", 0),
|
| | | ),
|
| | |
|
| | | "CrossPenglaiZoneMap":(
|
| | | ("BYTE", "ZoneID", 0),
|
| | | ("DWORD", "MapID", 1),
|
| | |
| | | ("WORD", "KillTime", 0),
|
| | | ("WORD", "RealmLV", 0),
|
| | | ("DWORD", "ZhuXianScore", 0),
|
| | | ),
|
| | |
|
| | | "ZhuXianTower":(
|
| | | ("DWORD", "ID", 1),
|
| | | ("DWORD", "NPCID", 0),
|
| | | ("list", "FirstAward", 0),
|
| | | ("dict", "GradeAward", 0),
|
| | | ("WORD", "UnLockEquipPlace", 0),
|
| | | ("DWORD", "NeedPower", 0),
|
| | | ),
|
| | |
|
| | | "ZhuXianEquipDecompose":(
|
| | |
| | | ("BYTE", "NeedAlchemyLV", 0),
|
| | | ("list", "NeedLV", 0),
|
| | | ("DWORD", "Weight", 0),
|
| | | ("DWORD", "HourCntPriLimit", 0),
|
| | | ("DWORD", "DayCntPriLimit", 0),
|
| | | ),
|
| | |
|
| | | "FairyAdventures":(
|
| | |
| | | ("WORD", "MoneyCnt", 1),
|
| | | ("DWORD", "BuffID", 0),
|
| | | ("WORD", "BuffCD", 0),
|
| | | ),
|
| | |
|
| | | "SkillElement":(
|
| | | ("DWORD", "ElementSkillID", 1),
|
| | | ("DWORD", "MainSkillID", 0),
|
| | | ("DWORD", "NeedLV", 0),
|
| | | ),
|
| | |
|
| | | "SkyTower":(
|
| | | ("DWORD", "FloorID", 1),
|
| | | ("DWORD", "BossID", 0),
|
| | | ("dict", "Reward", 0),
|
| | | ("WORD", "NeedLV", 0),
|
| | | ("DWORD", "FightPower", 0),
|
| | | ("BYTE", "IsNotify", 0),
|
| | | ),
|
| | | }
|
| | |
|
| | |
| | | self.NeedLV = 0
|
| | | self.NeedItemID = 0
|
| | | self.NeedItemCnt = 0
|
| | | self.NeedEquip = []
|
| | | self.AddAttrType = []
|
| | | self.AddAttrNum = []
|
| | | self.BossID = 0
|
| | |
| | | def GetNeedLV(self): return self.NeedLV # 需要等级
|
| | | def GetNeedItemID(self): return self.NeedItemID # 需要道具ID
|
| | | def GetNeedItemCnt(self): return self.NeedItemCnt # 消耗的道具数量
|
| | | def GetNeedEquip(self): return self.NeedEquip # 需要8部位装备条件阶级|品质|是否套装
|
| | | def GetAddAttrType(self): return self.AddAttrType # 境界加成属性类型
|
| | | def GetAddAttrNum(self): return self.AddAttrNum # 境界加成属性值
|
| | | def GetBossID(self): return self.BossID # 渡劫bossid
|
| | |
| | | self.NPCID = 0
|
| | | self.LostHPPerSecond = 0
|
| | | self.MaxPlayerCount = 0
|
| | | self.ReduceRate = 0 |
| | | self.LostHPPerSecondEx = 0 |
| | | return |
| | | |
| | | def GetNPCID(self): return self.NPCID # NPCID
|
| | | def GetLostHPPerSecond(self): return self.LostHPPerSecond # 单人每秒掉血量
|
| | | def GetMaxPlayerCount(self): return self.MaxPlayerCount # 最大人数
|
| | | def GetReduceRate(self): return self.ReduceRate # 衰减万分率 |
| | | def GetLostHPPerSecondEx(self): return self.LostHPPerSecondEx # 每增加一人附加掉血量 |
| | | |
| | | # 装备套装属性表 |
| | | class IPY_EquipSuitAttr(): |
| | |
| | | |
| | | def __init__(self): |
| | | self.NPCID = 0
|
| | | self.IsMissionCollectNPC = 0
|
| | | self.PrepareTime = 0
|
| | | self.LostHPPer = []
|
| | | self.MaxCollectCount = 0
|
| | |
| | | self.CollectAward = []
|
| | | self.CollectAppointAward = {}
|
| | | self.AlchemyDiffLV = 0
|
| | | self.NotifyCollectResult = 0 |
| | | self.NotifyCollectResult = 0
|
| | | self.CanBreakCollect = 0 |
| | | return |
| | | |
| | | def GetNPCID(self): return self.NPCID # ID
|
| | | def GetIsMissionCollectNPC(self): return self.IsMissionCollectNPC # 是否任务采集物
|
| | | def GetPrepareTime(self): return self.PrepareTime # 采集耗时,秒
|
| | | def GetLostHPPer(self): return self.LostHPPer # 采集掉血,[每X秒,掉血百分比]
|
| | | def GetMaxCollectCount(self): return self.MaxCollectCount # 可采集次数,0无限制
|
| | |
| | | def GetCollectAward(self): return self.CollectAward # 采集奖励物品,权重列表 [[权重, [物品ID,个数,是否拍品]], ...]
|
| | | def GetCollectAppointAward(self): return self.CollectAppointAward # 采集次数定制产出 {次数:[物品ID,个数,是否拍品], ...}
|
| | | def GetAlchemyDiffLV(self): return self.AlchemyDiffLV # 过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品
|
| | | def GetNotifyCollectResult(self): return self.NotifyCollectResult # 是否通知采集结果 |
| | | def GetNotifyCollectResult(self): return self.NotifyCollectResult # 是否通知采集结果
|
| | | def GetCanBreakCollect(self): return self.CanBreakCollect # 被攻击是否打断采集 |
| | | |
| | | # 宝箱怪表 |
| | | class IPY_TreasureNPC(): |
| | | |
| | | def __init__(self): |
| | | self.NPCID = 0
|
| | | self.AttackCountDropWeightInfo = {}
|
| | | self.AttackDropWeightList = []
|
| | | self.AttackDropWeightListEx = []
|
| | | self.DropCountEx = 0
|
| | | self.AlchemyDiffLV = 0
|
| | | self.NotDropNotify = "" |
| | | return |
| | | |
| | | def GetNPCID(self): return self.NPCID # 宝箱怪NPCID
|
| | | def GetAttackCountDropWeightInfo(self): return self.AttackCountDropWeightInfo # 攻击次数对应掉落权重饼图 {次数:[[权重, [物品ID,个数,是否拍品]], ...], ...}
|
| | | def GetAttackDropWeightList(self): return self.AttackDropWeightList # 常规攻击权重饼图 [[权重, [物品ID,个数,是否拍品]], ...]
|
| | | def GetAttackDropWeightListEx(self): return self.AttackDropWeightListEx # 额外掉落权重饼图库,每次攻击都会掉落 [[权重, [物品ID,个数,是否拍品]], ...]
|
| | | def GetDropCountEx(self): return self.DropCountEx # 额外库执行次数
|
| | | def GetAlchemyDiffLV(self): return self.AlchemyDiffLV # 过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品
|
| | | def GetNotDropNotify(self): return self.NotDropNotify # 没有掉落时提示信息 |
| | | |
| | | # 宝箱表开启 |
| | | class IPY_Chests(): |
| | |
| | | def GetZoneID(self): return self.ZoneID # 赛区ID
|
| | | def GetServerGroupIDList(self): return self.ServerGroupIDList # 赛区服务器组ID列表 |
| | | |
| | | # 跨服分区表竞技场 |
| | | class IPY_CrossZonePK(): |
| | | |
| | | def __init__(self): |
| | | self.CrossZoneName = ""
|
| | | self.ZoneID = 0
|
| | | self.ServerGroupIDList = [] |
| | | return |
| | | |
| | | def GetCrossZoneName(self): return self.CrossZoneName # 跨服分区名
|
| | | def GetZoneID(self): return self.ZoneID # 赛区ID
|
| | | def GetServerGroupIDList(self): return self.ServerGroupIDList # 赛区服务器组ID列表 |
| | | |
| | | # 跨服Boss蓬莱仙境分区地图表 |
| | | class IPY_CrossPenglaiZoneMap(): |
| | | |
| | |
| | | def GetKillTime(self): return self.KillTime # 击杀总时间秒
|
| | | def GetRealmLV(self): return self.RealmLV # 需要境界
|
| | | def GetZhuXianScore(self): return self.ZhuXianScore # 需要诛仙总评分 |
| | | |
| | | # 诛仙塔表 |
| | | class IPY_ZhuXianTower(): |
| | | |
| | | def __init__(self): |
| | | self.ID = 0
|
| | | self.NPCID = 0
|
| | | self.FirstAward = []
|
| | | self.GradeAward = {}
|
| | | self.UnLockEquipPlace = 0
|
| | | self.NeedPower = 0 |
| | | return |
| | | |
| | | def GetID(self): return self.ID # 塔编号
|
| | | def GetNPCID(self): return self.NPCID # npcid
|
| | | def GetFirstAward(self): return self.FirstAward # 首次S级奖励
|
| | | def GetGradeAward(self): return self.GradeAward # 评级奖励
|
| | | def GetUnLockEquipPlace(self): return self.UnLockEquipPlace # 解锁的装备位
|
| | | def GetNeedPower(self): return self.NeedPower # 推荐战力 |
| | | |
| | | # 诛仙装备分解表 |
| | | class IPY_ZhuXianEquipDecompose(): |
| | |
| | | self.CostEnergy = 0
|
| | | self.NeedAlchemyLV = 0
|
| | | self.NeedLV = []
|
| | | self.Weight = 0 |
| | | self.Weight = 0
|
| | | self.HourCntPriLimit = 0
|
| | | self.DayCntPriLimit = 0 |
| | | return |
| | | |
| | | def GetID(self): return self.ID # 事件编号
|
| | |
| | | def GetCostEnergy(self): return self.CostEnergy # 消耗体力
|
| | | def GetNeedAlchemyLV(self): return self.NeedAlchemyLV # 出现的炼丹等级要求
|
| | | def GetNeedLV(self): return self.NeedLV # 出现的玩家等级要求
|
| | | def GetWeight(self): return self.Weight # 权重 |
| | | def GetWeight(self): return self.Weight # 权重
|
| | | def GetHourCntPriLimit(self): return self.HourCntPriLimit # 个人每小时次数限制
|
| | | def GetDayCntPriLimit(self): return self.DayCntPriLimit # 个人每天次数限制 |
| | | |
| | | # 缥缈奇遇表 |
| | | class IPY_FairyAdventures(): |
| | |
| | | def GetMoneyCnt(self): return self.MoneyCnt # 仙玉数量
|
| | | def GetBuffID(self): return self.BuffID # BuffID
|
| | | def GetBuffCD(self): return self.BuffCD # 间隔时间s |
| | | |
| | | # 技能升级表 |
| | | class IPY_SkillElement(): |
| | | |
| | | def __init__(self): |
| | | self.ElementSkillID = 0
|
| | | self.MainSkillID = 0
|
| | | self.NeedLV = 0 |
| | | return |
| | | |
| | | def GetElementSkillID(self): return self.ElementSkillID # 专精技能ID
|
| | | def GetMainSkillID(self): return self.MainSkillID # 主技能ID
|
| | | def GetNeedLV(self): return self.NeedLV # 选择需要等级 |
| | | |
| | | # 天星塔表 |
| | | class IPY_SkyTower(): |
| | | |
| | | def __init__(self): |
| | | self.FloorID = 0
|
| | | self.BossID = 0
|
| | | self.Reward = {}
|
| | | self.NeedLV = 0
|
| | | self.FightPower = 0
|
| | | self.IsNotify = 0 |
| | | return |
| | | |
| | | def GetFloorID(self): return self.FloorID # 层
|
| | | def GetBossID(self): return self.BossID # bossID
|
| | | def GetReward(self): return self.Reward # 奖励
|
| | | def GetNeedLV(self): return self.NeedLV # 要求等级
|
| | | def GetFightPower(self): return self.FightPower # 推荐战力
|
| | | def GetIsNotify(self): return self.IsNotify # 是否广播 |
| | |
|
| | |
|
| | | def Log(msg, playerID=0, par=0):
|
| | |
| | | self.ipyResourcesBackLen = len(self.ipyResourcesBackCache)
|
| | | self.ipyCollectNPCCache = self.__LoadFileData("CollectNPC", IPY_CollectNPC)
|
| | | self.ipyCollectNPCLen = len(self.ipyCollectNPCCache)
|
| | | self.ipyTreasureNPCCache = self.__LoadFileData("TreasureNPC", IPY_TreasureNPC)
|
| | | self.ipyTreasureNPCLen = len(self.ipyTreasureNPCCache)
|
| | | self.ipyChestsCache = self.__LoadFileData("Chests", IPY_Chests)
|
| | | self.ipyChestsLen = len(self.ipyChestsCache)
|
| | | self.ipyChestsAwardCache = self.__LoadFileData("ChestsAward", IPY_ChestsAward)
|
| | |
| | | self.ipyCrossRealmPKOrderAwardLen = len(self.ipyCrossRealmPKOrderAwardCache)
|
| | | self.ipyCrossZoneCommCache = self.__LoadFileData("CrossZoneComm", IPY_CrossZoneComm)
|
| | | self.ipyCrossZoneCommLen = len(self.ipyCrossZoneCommCache)
|
| | | self.ipyCrossZonePKCache = self.__LoadFileData("CrossZonePK", IPY_CrossZonePK)
|
| | | self.ipyCrossZonePKLen = len(self.ipyCrossZonePKCache)
|
| | | self.ipyCrossPenglaiZoneMapCache = self.__LoadFileData("CrossPenglaiZoneMap", IPY_CrossPenglaiZoneMap)
|
| | | self.ipyCrossPenglaiZoneMapLen = len(self.ipyCrossPenglaiZoneMapCache)
|
| | | self.ipyGatherSoulCache = self.__LoadFileData("GatherSoul", IPY_GatherSoul)
|
| | |
| | | self.ipyZhuXianSuitAttrLen = len(self.ipyZhuXianSuitAttrCache)
|
| | | self.ipyZhuXianBossCache = self.__LoadFileData("ZhuXianBoss", IPY_ZhuXianBoss)
|
| | | self.ipyZhuXianBossLen = len(self.ipyZhuXianBossCache)
|
| | | self.ipyZhuXianTowerCache = self.__LoadFileData("ZhuXianTower", IPY_ZhuXianTower)
|
| | | self.ipyZhuXianTowerLen = len(self.ipyZhuXianTowerCache)
|
| | | self.ipyZhuXianEquipDecomposeCache = self.__LoadFileData("ZhuXianEquipDecompose", IPY_ZhuXianEquipDecompose)
|
| | | self.ipyZhuXianEquipDecomposeLen = len(self.ipyZhuXianEquipDecomposeCache)
|
| | | self.ipyActFeastWeekPartyCache = self.__LoadFileData("ActFeastWeekParty", IPY_ActFeastWeekParty)
|
| | |
| | | self.ipyFairyDomainAppointLen = len(self.ipyFairyDomainAppointCache)
|
| | | self.ipyFBBuyBuffCache = self.__LoadFileData("FBBuyBuff", IPY_FBBuyBuff)
|
| | | self.ipyFBBuyBuffLen = len(self.ipyFBBuyBuffCache)
|
| | | self.ipySkillElementCache = self.__LoadFileData("SkillElement", IPY_SkillElement)
|
| | | self.ipySkillElementLen = len(self.ipySkillElementCache)
|
| | | self.ipySkyTowerCache = self.__LoadFileData("SkyTower", IPY_SkyTower)
|
| | | self.ipySkyTowerLen = len(self.ipySkyTowerCache)
|
| | | Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
|
| | | Log("IPY_DataMgr InitOK!")
|
| | | return
|
| | |
| | | def GetResourcesBackByIndex(self, index): return self.ipyResourcesBackCache[index]
|
| | | def GetCollectNPCCount(self): return self.ipyCollectNPCLen
|
| | | def GetCollectNPCByIndex(self, index): return self.ipyCollectNPCCache[index]
|
| | | def GetTreasureNPCCount(self): return self.ipyTreasureNPCLen
|
| | | def GetTreasureNPCByIndex(self, index): return self.ipyTreasureNPCCache[index]
|
| | | def GetChestsCount(self): return self.ipyChestsLen
|
| | | def GetChestsByIndex(self, index): return self.ipyChestsCache[index]
|
| | | def GetChestsAwardCount(self): return self.ipyChestsAwardLen
|
| | |
| | | def GetCrossRealmPKOrderAwardByIndex(self, index): return self.ipyCrossRealmPKOrderAwardCache[index]
|
| | | def GetCrossZoneCommCount(self): return self.ipyCrossZoneCommLen
|
| | | def GetCrossZoneCommByIndex(self, index): return self.ipyCrossZoneCommCache[index]
|
| | | def GetCrossZonePKCount(self): return self.ipyCrossZonePKLen
|
| | | def GetCrossZonePKByIndex(self, index): return self.ipyCrossZonePKCache[index]
|
| | | def GetCrossPenglaiZoneMapCount(self): return self.ipyCrossPenglaiZoneMapLen
|
| | | def GetCrossPenglaiZoneMapByIndex(self, index): return self.ipyCrossPenglaiZoneMapCache[index]
|
| | | def GetGatherSoulCount(self): return self.ipyGatherSoulLen
|
| | |
| | | def GetZhuXianSuitAttrByIndex(self, index): return self.ipyZhuXianSuitAttrCache[index]
|
| | | def GetZhuXianBossCount(self): return self.ipyZhuXianBossLen
|
| | | def GetZhuXianBossByIndex(self, index): return self.ipyZhuXianBossCache[index]
|
| | | def GetZhuXianTowerCount(self): return self.ipyZhuXianTowerLen
|
| | | def GetZhuXianTowerByIndex(self, index): return self.ipyZhuXianTowerCache[index]
|
| | | def GetZhuXianEquipDecomposeCount(self): return self.ipyZhuXianEquipDecomposeLen
|
| | | def GetZhuXianEquipDecomposeByIndex(self, index): return self.ipyZhuXianEquipDecomposeCache[index]
|
| | | def GetActFeastWeekPartyCount(self): return self.ipyActFeastWeekPartyLen
|
| | |
| | | def GetFairyDomainAppointByIndex(self, index): return self.ipyFairyDomainAppointCache[index]
|
| | | def GetFBBuyBuffCount(self): return self.ipyFBBuyBuffLen
|
| | | def GetFBBuyBuffByIndex(self, index): return self.ipyFBBuyBuffCache[index]
|
| | | def GetSkillElementCount(self): return self.ipySkillElementLen
|
| | | def GetSkillElementByIndex(self, index): return self.ipySkillElementCache[index]
|
| | | def GetSkyTowerCount(self): return self.ipySkyTowerLen
|
| | | def GetSkyTowerByIndex(self, index): return self.ipySkyTowerCache[index]
|
| | |
|
| | | IPYData = IPY_DataMgr()
|
| | | def IPY_Data(): return IPYData
|