From c11b1e8fb2707d12a7247e6b085c00660cf224cc Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 10 一月 2019 14:08:52 +0800 Subject: [PATCH] 5798 子 【1.5】境界调整 / 【后端】【1.5】境界老号处理 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 337 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 327 insertions(+), 10 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py index c34e9aa..74c3a97 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py @@ -151,6 +151,7 @@ "Rune":( ("DWORD", "ID", 1), ("list", "AttrType", 0), + ("DWORD", "TowerID", 0), ), "EquipWash":( @@ -188,6 +189,7 @@ ("BYTE", "FuncID", 0), ("WORD", "MaxUseCnt", 0), ("WORD", "RecycleMoney", 0), + ("DWORD", "FightPowerEx", 0), ), "PetInfo":( @@ -296,6 +298,7 @@ "NPCStrengthen":( ("DWORD", "NPCID", 1), ("BYTE", "IsStrengthenByPlayerCount", 0), + ("BYTE", "LVStrengthenMark", 0), ("BYTE", "LVStrengthenType", 0), ("BYTE", "CmpNPCBaseLV", 0), ("DWORD", "HitTime", 0), @@ -465,9 +468,11 @@ "FBHelpBattle":( ("DWORD", "DataMapID", 1), ("BYTE", "LineID", 1), + ("DWORD", "FightPowerMin", 0), ("DWORD", "RobotFightPower", 0), ("WORD", "RobotLV", 0), ("DWORD", "RobotBaseHurt", 0), + ("WORD", "RobotHPCoefficient", 0), ("dict", "RobotSkillsDict", 0), ), @@ -557,6 +562,7 @@ ("DWORD", "ActiveMWID", 0), ("list", "ItemAward", 0), ("DWORD", "ActiveSoulID", 0), + ("DWORD", "PowerEx", 0), ), "TreasurePrivilege":( @@ -799,6 +805,7 @@ ("dict", "JadeReward", 0), ("DWORD", "CostCopper", 0), ("dict", "CopperReward", 0), + ("list", "JobItemList", 0), ), "Chests":( @@ -1122,6 +1129,88 @@ ("BYTE", "GWType", 0), ("WORD", "Level", 0), ("char", "NotifyCode", 0), + ("DWORD", "FightPower", 0), + ("dict", "Attr", 0), + ), + + "CrossRealmPKDan":( + ("BYTE", "DanLV", 1), + ("list", "DanLVAwardList", 0), + ("list", "SeasonDanLVAwardList", 0), + ), + + "CrossPenglaiZone":( + ("BYTE", "ZoneID", 0), + ("list", "ServerGroupIDList", 0), + ("DWORD", "MapID", 1), + ("DWORD", "DataMapID", 1), + ("BYTE", "CopyMapID", 1), + ("WORD", "PosX", 0), + ("WORD", "PosY", 0), + ), + + "GatherSoul":( + ("DWORD", "ItemID", 1), + ("list", "AttrType", 0), + ("BYTE", "SoulGrade", 0), + ), + + "GatherSoulCompound":( + ("DWORD", "TagItemID", 1), + ("WORD", "NeedLV", 0), + ("list", "NeedItem", 0), + ("WORD", "NeedSoulSplinters", 0), + ("WORD", "NeedSoulCore", 0), + ), + + "GatherSoulAttr":( + ("WORD", "AttrType", 1), + ("char", "AttrInfo1", 0), + ("dict", "AttrInfo2", 0), + ("dict", "AttrInfo3", 0), + ("dict", "AttrInfo4", 0), + ("dict", "AttrInfo5", 0), + ), + + "MagicWeaponOfKing":( + ("DWORD", "MWID", 1), + ("BYTE", "AwardMark", 1), + ("dict", "AddAttr", 0), + ), + + "Coat":( + ("DWORD", "CoatID", 1), + ("list", "EquipItemID", 0), + ("DWORD", "UnlockItemID", 0), + ("DWORD", "MaxLV", 0), + ("list", "CostItemCnt", 0), + ("dict", "StarAttr", 0), + ), + + "CoatChestUp":( + ("DWORD", "LV", 1), + ("BYTE", "NeedExp", 0), + ("dict", "AddAttr", 0), + ), + + "ActWeekParty":( + ("DWORD", "CfgID", 1), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("BYTE", "IsDayReset", 0), + ("BYTE", "ResetType", 0), + ("WORD", "LVLimit", 0), + ("list", "TemplateID", 0), + ("dict", "PointAward", 0), + ), + + "WeekParty":( + ("BYTE", "TemplateID", 1), + ("BYTE", "ActionType", 0), + ("DWORD", "TotalTimes", 0), + ("WORD", "SingleTimes", 0), + ("list", "Reward", 0), + ("WORD", "Point", 0), ), } @@ -1375,11 +1464,13 @@ def __init__(self): self.ID = 0 - self.AttrType = [] + self.AttrType = [] + self.TowerID = 0 return def GetID(self): return self.ID # 编号ID - def GetAttrType(self): return self.AttrType # 全身强化激活属性类型 + def GetAttrType(self): return self.AttrType # 属性类型 + def GetTowerID(self): return self.TowerID # 解锁符印塔编号 # 洗练表 class IPY_EquipWash(): @@ -1450,13 +1541,15 @@ self.ID = 0 self.FuncID = 0 self.MaxUseCnt = 0 - self.RecycleMoney = 0 + self.RecycleMoney = 0 + self.FightPowerEx = 0 return def GetID(self): return self.ID # 物品ID def GetFuncID(self): return self.FuncID # 所属功能ID def GetMaxUseCnt(self): return self.MaxUseCnt # 最大可使用数量 - def GetRecycleMoney(self): return self.RecycleMoney # 回收货币值 + def GetRecycleMoney(self): return self.RecycleMoney # 回收货币值 + def GetFightPowerEx(self): return self.FightPowerEx # 附加战斗力 # 灵兽表 class IPY_PetInfo(): @@ -1678,6 +1771,7 @@ def __init__(self): self.NPCID = 0 self.IsStrengthenByPlayerCount = 0 + self.LVStrengthenMark = 0 self.LVStrengthenType = 0 self.CmpNPCBaseLV = 0 self.HitTime = 0 @@ -1696,6 +1790,7 @@ def GetNPCID(self): return self.NPCID # NPCID def GetIsStrengthenByPlayerCount(self): return self.IsStrengthenByPlayerCount # 是否根据人数成长 + def GetLVStrengthenMark(self): return self.LVStrengthenMark # 等级成长属性公式标记 def GetLVStrengthenType(self): return self.LVStrengthenType # 等级成长类型, 0-不按等级成长;1-按玩家平均等级;2-按玩家最大等级;3-按世界等级; def GetCmpNPCBaseLV(self): return self.CmpNPCBaseLV # 是否比较NPC表等级, 是的话取NPC表配置等级与成长等级中较大等级 def GetHitTime(self): return self.HitTime # 受击次数 @@ -2027,17 +2122,21 @@ def __init__(self): self.DataMapID = 0 self.LineID = 0 + self.FightPowerMin = 0 self.RobotFightPower = 0 self.RobotLV = 0 self.RobotBaseHurt = 0 + self.RobotHPCoefficient = 0 self.RobotSkillsDict = {} return def GetDataMapID(self): return self.DataMapID # 数据地图ID def GetLineID(self): return self.LineID # 功能线路ID + def GetFightPowerMin(self): return self.FightPowerMin # 助战最低战力,也是副本保底战力 def GetRobotFightPower(self): return self.RobotFightPower # 助战NPC战力 def GetRobotLV(self): return self.RobotLV # 助战NPC等级 def GetRobotBaseHurt(self): return self.RobotBaseHurt # 助战NPC保底伤害 + def GetRobotHPCoefficient(self): return self.RobotHPCoefficient # 助战NPC生命系数 def GetRobotSkillsDict(self): return self.RobotSkillsDict # 助战NPC技能, {"职业":[技能列表], ...} # 副本刷怪标识点表 @@ -2210,7 +2309,8 @@ self.UnLockSkill = [] self.ActiveMWID = 0 self.ItemAward = [] - self.ActiveSoulID = 0 + self.ActiveSoulID = 0 + self.PowerEx = 0 return def GetMWID(self): return self.MWID # 法宝ID @@ -2220,7 +2320,8 @@ def GetUnLockSkill(self): return self.UnLockSkill # 解锁的技能 def GetActiveMWID(self): return self.ActiveMWID # 激活法宝ID def GetItemAward(self): return self.ItemAward # 物品奖励[itemID,cnt,isbind] - def GetActiveSoulID(self): return self.ActiveSoulID # 激活魂ID + def GetActiveSoulID(self): return self.ActiveSoulID # 激活魂ID + def GetPowerEx(self): return self.PowerEx # 额外固定战力 # 法宝特权表 class IPY_TreasurePrivilege(): @@ -2719,7 +2820,8 @@ self.VipCostJade = 0 self.JadeReward = {} self.CostCopper = 0 - self.CopperReward = {} + self.CopperReward = {} + self.JobItemList = [] return def GetID(self): return self.ID # ID @@ -2729,7 +2831,8 @@ def GetVipCostJade(self): return self.VipCostJade # 绑玉找回VIP次数找回价格 def GetJadeReward(self): return self.JadeReward # 绑玉找回奖励 def GetCostCopper(self): return self.CostCopper # 铜钱找回铜钱消耗 - def GetCopperReward(self): return self.CopperReward # 铜钱找回奖励 + def GetCopperReward(self): return self.CopperReward # 铜钱找回奖励 + def GetJobItemList(self): return self.JobItemList # 职业物品列表 # 宝箱表开启 class IPY_Chests(): @@ -3408,12 +3511,186 @@ def __init__(self): self.GWType = 0 self.Level = 0 - self.NotifyCode = "" + self.NotifyCode = "" + self.FightPower = 0 + self.Attr = {} return def GetGWType(self): return self.GWType # 神兵类型 def GetLevel(self): return self.Level # 神兵等级 - def GetNotifyCode(self): return self.NotifyCode # 广播 + def GetNotifyCode(self): return self.NotifyCode # 广播 + def GetFightPower(self): return self.FightPower # 增加战力 + def GetAttr(self): return self.Attr # 属性加成 + +# 跨服竞技场段位表 +class IPY_CrossRealmPKDan(): + + def __init__(self): + self.DanLV = 0 + self.DanLVAwardList = [] + self.SeasonDanLVAwardList = [] + return + + def GetDanLV(self): return self.DanLV # 段位等级 + def GetDanLVAwardList(self): return self.DanLVAwardList # 段位达标奖励物品列表 + def GetSeasonDanLVAwardList(self): return self.SeasonDanLVAwardList # 赛季段位奖励物品列表 + +# 跨服Boss蓬莱仙境分区表 +class IPY_CrossPenglaiZone(): + + def __init__(self): + self.ZoneID = 0 + self.ServerGroupIDList = [] + self.MapID = 0 + self.DataMapID = 0 + self.CopyMapID = 0 + self.PosX = 0 + self.PosY = 0 + return + + def GetZoneID(self): return self.ZoneID # 分区ID + def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表 + def GetMapID(self): return self.MapID # 场景地图ID + def GetDataMapID(self): return self.DataMapID # 数据地图ID + def GetCopyMapID(self): return self.CopyMapID # 虚拟线路ID + def GetPosX(self): return self.PosX # 坐标X + def GetPosY(self): return self.PosY # 坐标Y + +# 聚魂表 +class IPY_GatherSoul(): + + def __init__(self): + self.ItemID = 0 + self.AttrType = [] + self.SoulGrade = 0 + return + + def GetItemID(self): return self.ItemID # 物品ID + def GetAttrType(self): return self.AttrType # 属性类型 + def GetSoulGrade(self): return self.SoulGrade # 魂阶段 + +# 聚魂合成表 +class IPY_GatherSoulCompound(): + + def __init__(self): + self.TagItemID = 0 + self.NeedLV = 0 + self.NeedItem = [] + self.NeedSoulSplinters = 0 + self.NeedSoulCore = 0 + return + + def GetTagItemID(self): return self.TagItemID # 合成的物品ID + def GetNeedLV(self): return self.NeedLV # 需要的玩家等级 + def GetNeedItem(self): return self.NeedItem # 需要的物品ID + def GetNeedSoulSplinters(self): return self.NeedSoulSplinters # 需要的聚魂碎片 + def GetNeedSoulCore(self): return self.NeedSoulCore # 需要的核心环 + +# 聚魂属性表 +class IPY_GatherSoulAttr(): + + def __init__(self): + self.AttrType = 0 + self.AttrInfo1 = "" + self.AttrInfo2 = {} + self.AttrInfo3 = {} + self.AttrInfo4 = {} + self.AttrInfo5 = {} + return + + def GetAttrType(self): return self.AttrType # 属性类型 + def GetAttrInfo1(self): return self.AttrInfo1 # 基础属性-参数聚魂等级level + def GetAttrInfo2(self): return self.AttrInfo2 # 品质系数(品质_系数|…) + def GetAttrInfo3(self): return self.AttrInfo3 # 多属性系数 + def GetAttrInfo4(self): return self.AttrInfo4 # 初始属性(品质_属性值|…) + def GetAttrInfo5(self): return self.AttrInfo5 # 阶段系数 + +# 王者法宝表 +class IPY_MagicWeaponOfKing(): + + def __init__(self): + self.MWID = 0 + self.AwardMark = 0 + self.AddAttr = {} + return + + def GetMWID(self): return self.MWID # 法宝ID + def GetAwardMark(self): return self.AwardMark # 赛季奖励等级 + def GetAddAttr(self): return self.AddAttr # 属性 + +# 时装表 +class IPY_Coat(): + + def __init__(self): + self.CoatID = 0 + self.EquipItemID = [] + self.UnlockItemID = 0 + self.MaxLV = 0 + self.CostItemCnt = [] + self.StarAttr = {} + return + + def GetCoatID(self): return self.CoatID # 时装编号 + def GetEquipItemID(self): return self.EquipItemID # 装备物品ID(按职业顺序) + def GetUnlockItemID(self): return self.UnlockItemID # 材料物品ID + def GetMaxLV(self): return self.MaxLV # 最大星级 + def GetCostItemCnt(self): return self.CostItemCnt # 材料数量 + def GetStarAttr(self): return self.StarAttr # 属性 + +# 时装柜升级表 +class IPY_CoatChestUp(): + + def __init__(self): + self.LV = 0 + self.NeedExp = 0 + self.AddAttr = {} + return + + def GetLV(self): return self.LV # 等级 + def GetNeedExp(self): return self.NeedExp # 升级所需经验 + def GetAddAttr(self): return self.AddAttr # 属性 + +# 周狂欢活动时间表 +class IPY_ActWeekParty(): + + def __init__(self): + self.CfgID = 0 + self.StartDate = "" + self.EndDate = "" + self.IsDayReset = 0 + self.ResetType = 0 + self.LVLimit = 0 + self.TemplateID = [] + self.PointAward = {} + return + + def GetCfgID(self): return self.CfgID # 配置ID + def GetStartDate(self): return self.StartDate # 开启日期 + def GetEndDate(self): return self.EndDate # 结束日期 + def GetIsDayReset(self): return self.IsDayReset # 是否每天重置 + def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置 + def GetLVLimit(self): return self.LVLimit # 限制等级 + def GetTemplateID(self): return self.TemplateID # 模板编号 + def GetPointAward(self): return self.PointAward # 总积分奖励 + +# 周狂欢表 +class IPY_WeekParty(): + + def __init__(self): + self.TemplateID = 0 + self.ActionType = 0 + self.TotalTimes = 0 + self.SingleTimes = 0 + self.Reward = [] + self.Point = 0 + return + + def GetTemplateID(self): return self.TemplateID # 模板ID + def GetActionType(self): return self.ActionType # 活动条目ID + def GetTotalTimes(self): return self.TotalTimes # 可完成的总次数,0表示不限次数 + def GetSingleTimes(self): return self.SingleTimes # 单次领奖需要的次数 + def GetReward(self): return self.Reward # 奖励物品 + def GetPoint(self): return self.Point # 积分 def Log(msg, playerID=0, par=0): @@ -3649,6 +3926,26 @@ self.ipyIceLodeStarAwardLen = len(self.ipyIceLodeStarAwardCache) self.ipyGodWeaponEffectCache = self.__LoadFileData("GodWeaponEffect", IPY_GodWeaponEffect) self.ipyGodWeaponEffectLen = len(self.ipyGodWeaponEffectCache) + self.ipyCrossRealmPKDanCache = self.__LoadFileData("CrossRealmPKDan", IPY_CrossRealmPKDan) + self.ipyCrossRealmPKDanLen = len(self.ipyCrossRealmPKDanCache) + self.ipyCrossPenglaiZoneCache = self.__LoadFileData("CrossPenglaiZone", IPY_CrossPenglaiZone) + self.ipyCrossPenglaiZoneLen = len(self.ipyCrossPenglaiZoneCache) + self.ipyGatherSoulCache = self.__LoadFileData("GatherSoul", IPY_GatherSoul) + self.ipyGatherSoulLen = len(self.ipyGatherSoulCache) + self.ipyGatherSoulCompoundCache = self.__LoadFileData("GatherSoulCompound", IPY_GatherSoulCompound) + self.ipyGatherSoulCompoundLen = len(self.ipyGatherSoulCompoundCache) + self.ipyGatherSoulAttrCache = self.__LoadFileData("GatherSoulAttr", IPY_GatherSoulAttr) + self.ipyGatherSoulAttrLen = len(self.ipyGatherSoulAttrCache) + self.ipyMagicWeaponOfKingCache = self.__LoadFileData("MagicWeaponOfKing", IPY_MagicWeaponOfKing) + self.ipyMagicWeaponOfKingLen = len(self.ipyMagicWeaponOfKingCache) + self.ipyCoatCache = self.__LoadFileData("Coat", IPY_Coat) + self.ipyCoatLen = len(self.ipyCoatCache) + self.ipyCoatChestUpCache = self.__LoadFileData("CoatChestUp", IPY_CoatChestUp) + self.ipyCoatChestUpLen = len(self.ipyCoatChestUpCache) + self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty) + self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache) + self.ipyWeekPartyCache = self.__LoadFileData("WeekParty", IPY_WeekParty) + self.ipyWeekPartyLen = len(self.ipyWeekPartyCache) Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict)) Log("IPY_DataMgr InitOK!") return @@ -4025,6 +4322,26 @@ def GetIceLodeStarAwardByIndex(self, index): return self.ipyIceLodeStarAwardCache[index] def GetGodWeaponEffectCount(self): return self.ipyGodWeaponEffectLen def GetGodWeaponEffectByIndex(self, index): return self.ipyGodWeaponEffectCache[index] + def GetCrossRealmPKDanCount(self): return self.ipyCrossRealmPKDanLen + def GetCrossRealmPKDanByIndex(self, index): return self.ipyCrossRealmPKDanCache[index] + def GetCrossPenglaiZoneCount(self): return self.ipyCrossPenglaiZoneLen + def GetCrossPenglaiZoneByIndex(self, index): return self.ipyCrossPenglaiZoneCache[index] + def GetGatherSoulCount(self): return self.ipyGatherSoulLen + def GetGatherSoulByIndex(self, index): return self.ipyGatherSoulCache[index] + def GetGatherSoulCompoundCount(self): return self.ipyGatherSoulCompoundLen + def GetGatherSoulCompoundByIndex(self, index): return self.ipyGatherSoulCompoundCache[index] + def GetGatherSoulAttrCount(self): return self.ipyGatherSoulAttrLen + def GetGatherSoulAttrByIndex(self, index): return self.ipyGatherSoulAttrCache[index] + def GetMagicWeaponOfKingCount(self): return self.ipyMagicWeaponOfKingLen + def GetMagicWeaponOfKingByIndex(self, index): return self.ipyMagicWeaponOfKingCache[index] + def GetCoatCount(self): return self.ipyCoatLen + def GetCoatByIndex(self, index): return self.ipyCoatCache[index] + def GetCoatChestUpCount(self): return self.ipyCoatChestUpLen + def GetCoatChestUpByIndex(self, index): return self.ipyCoatChestUpCache[index] + def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen + def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index] + def GetWeekPartyCount(self): return self.ipyWeekPartyLen + def GetWeekPartyByIndex(self, index): return self.ipyWeekPartyCache[index] IPYData = IPY_DataMgr() def IPY_Data(): return IPYData -- Gitblit v1.8.0