From 7cf1869b1e6ee737eebb37c6e6d8721100229daf Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期二, 13 十一月 2018 17:16:15 +0800 Subject: [PATCH] 4710 【1.3】【后端】魔族法宝副本修改(新增多个小关卡) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 155 insertions(+), 4 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py index 3c85218..b98e29f 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py @@ -80,11 +80,14 @@ ("DWORD", "LimitMagicWeapon", 0), ("WORD", "LimiRealmLV", 0), ("DWORD", "LimitMissionID", 0), + ("BYTE", "LimitVIPLV", 0), ), "ItemCompound":( ("WORD", "ID", 1), + ("BYTE", "ComposeGroup", 0), ("list", "MakeID", 0), + ("BYTE", "IsFirstSuccMakeJobItem", 0), ("list", "UnfixedItemID", 0), ("BYTE", "UnfixedItemCount", 0), ("list", "FixedItemID", 0), @@ -92,6 +95,7 @@ ("DWORD", "NeedMoney", 0), ("WORD", "SuccessRate", 0), ("WORD", "SuccessRateMax", 0), + ("list", "SuccessRateIncrease", 0), ("BYTE", "AddonsCountMax", 0), ("char", "SysMark", 0), ("BYTE", "SysMarkParamType", 0), @@ -376,6 +380,8 @@ ("DWORD", "CftAtkSpeed", 0), ("DWORD", "CftLuckyHit", 0), ("DWORD", "CftSpeedPer", 0), + ("DWORD", "CftAtkPer", 0), + ("DWORD", "CftMaxHPPer", 0), ), "NPCDropItem":( @@ -1053,6 +1059,42 @@ ("DWORD", "Weight", 0), ("DWORD", "Mark", 0), ), + + "FunctionForecast":( + ("DWORD", "FuncID", 1), + ("dict", "Award", 0), + ), + + "ChatBubbleBox":( + ("BYTE", "BoxID", 1), + ("WORD", "NeedLV", 0), + ("BYTE", "NeedVIPLVGift", 0), + ), + + "ActTotalRecharge":( + ("DWORD", "CfgID", 1), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("WORD", "LVLimit", 0), + ("BYTE", "IsDayReset", 0), + ("list", "TemplateIDList", 0), + ), + + "TotalRechargeTemplate":( + ("DWORD", "TemplateID", 1), + ("DWORD", "NeedGold", 0), + ("BYTE", "AwardIndex", 0), + ("dict", "AwardItem", 0), + ("char", "NotifyKey", 0), + ), + + "MagicWeaponFB":( + ("DWORD", "MWID", 1), + ("BYTE", "LineID", 0), + ("BYTE", "Level", 1), + ("list", "RefreshNPC", 0), + ("dict", "AttrDict", 0), + ), } @@ -1152,21 +1194,25 @@ self.LimitLV = 0 self.LimitMagicWeapon = 0 self.LimiRealmLV = 0 - self.LimitMissionID = 0 + self.LimitMissionID = 0 + self.LimitVIPLV = 0 return def GetFuncId(self): return self.FuncId # 功能标识 def GetLimitLV(self): return self.LimitLV # 开启等级 def GetLimitMagicWeapon(self): return self.LimitMagicWeapon # 需要解锁法宝ID def GetLimiRealmLV(self): return self.LimiRealmLV # 需要境界等级 - def GetLimitMissionID(self): return self.LimitMissionID # 需要完成的任务ID + def GetLimitMissionID(self): return self.LimitMissionID # 需要完成的任务ID + def GetLimitVIPLV(self): return self.LimitVIPLV # 需要VIP等级 # 合成表 class IPY_ItemCompound(): def __init__(self): self.ID = 0 + self.ComposeGroup = 0 self.MakeID = [] + self.IsFirstSuccMakeJobItem = 0 self.UnfixedItemID = [] self.UnfixedItemCount = 0 self.FixedItemID = [] @@ -1174,13 +1220,16 @@ self.NeedMoney = 0 self.SuccessRate = 0 self.SuccessRateMax = 0 + self.SuccessRateIncrease = [] self.AddonsCountMax = 0 self.SysMark = "" self.SysMarkParamType = 0 return def GetID(self): return self.ID # 合成配置编号ID + def GetComposeGroup(self): return self.ComposeGroup # 合成归组类型 def GetMakeID(self): return self.MakeID # 可合成的道具ID,多个则随机一个 + def GetIsFirstSuccMakeJobItem(self): return self.IsFirstSuccMakeJobItem # 首次成功是否必出本职业 def GetUnfixedItemID(self): return self.UnfixedItemID # 不固定道具ID, 多个ID时则任意一种均可 def GetUnfixedItemCount(self): return self.UnfixedItemCount # 不固定道具消耗数量 def GetFixedItemID(self): return self.FixedItemID # 消耗固定道具ID, 多个ID时代表每个ID均需消耗 @@ -1188,6 +1237,7 @@ def GetNeedMoney(self): return self.NeedMoney # 消耗铜钱 def GetSuccessRate(self): return self.SuccessRate # 成功率万分率 def GetSuccessRateMax(self): return self.SuccessRateMax # 最大成功率万分率 + def GetSuccessRateIncrease(self): return self.SuccessRateIncrease # 提高成功率道具, 道具ID|个数|提高的概率 def GetAddonsCountMax(self): return self.AddonsCountMax # 最大可附加材料数, 增加概率用, 非必须, 0代表不可附加材料 def GetSysMark(self): return self.SysMark # 提示mark def GetSysMarkParamType(self): return self.SysMarkParamType # 系统提示参数组合类型 @@ -1754,7 +1804,9 @@ self.CftFaintDefRate = 0 self.CftAtkSpeed = 0 self.CftLuckyHit = 0 - self.CftSpeedPer = 0 + self.CftSpeedPer = 0 + self.CftAtkPer = 0 + self.CftMaxHPPer = 0 return def GetLV(self): return self.LV # 等级 @@ -1777,7 +1829,9 @@ def GetCftFaintDefRate(self): return self.CftFaintDefRate # 控制抵抗系数 def GetCftAtkSpeed(self): return self.CftAtkSpeed # 攻速系数 def GetCftLuckyHit(self): return self.CftLuckyHit # 会心一击系数 - def GetCftSpeedPer(self): return self.CftSpeedPer # 移动速度百分比系数 + def GetCftSpeedPer(self): return self.CftSpeedPer # 移动速度百分比系数 + def GetCftAtkPer(self): return self.CftAtkPer # 攻击百分比系数 + def GetCftMaxHPPer(self): return self.CftMaxHPPer # 生命百分比系数 # NPC掉落表 class IPY_NPCDropItem(): @@ -3196,6 +3250,83 @@ def GetIsBind(self): return self.IsBind # 是否绑定 def GetWeight(self): return self.Weight # 权重 def GetMark(self): return self.Mark # 排序用标识 + +# 功能预告表 +class IPY_FunctionForecast(): + + def __init__(self): + self.FuncID = 0 + self.Award = {} + return + + def GetFuncID(self): return self.FuncID # 功能ID + def GetAward(self): return self.Award # 属性类型 + +# 聊天气泡表 +class IPY_ChatBubbleBox(): + + def __init__(self): + self.BoxID = 0 + self.NeedLV = 0 + self.NeedVIPLVGift = 0 + return + + def GetBoxID(self): return self.BoxID # 气泡框ID + def GetNeedLV(self): return self.NeedLV # 所需等级 + def GetNeedVIPLVGift(self): return self.NeedVIPLVGift # 所需购买VIP等级礼包 + +# 累计充值活动表 +class IPY_ActTotalRecharge(): + + def __init__(self): + self.CfgID = 0 + self.StartDate = "" + self.EndDate = "" + self.LVLimit = 0 + self.IsDayReset = 0 + self.TemplateIDList = [] + return + + def GetCfgID(self): return self.CfgID # 配置ID + def GetStartDate(self): return self.StartDate # 开启日期 + def GetEndDate(self): return self.EndDate # 结束日期 + def GetLVLimit(self): return self.LVLimit # 限制等级 + def GetIsDayReset(self): return self.IsDayReset # 是否每天重置 + def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表 + +# 累计充值模板表 +class IPY_TotalRechargeTemplate(): + + def __init__(self): + self.TemplateID = 0 + self.NeedGold = 0 + self.AwardIndex = 0 + self.AwardItem = {} + self.NotifyKey = "" + return + + def GetTemplateID(self): return self.TemplateID # 模板ID + def GetNeedGold(self): return self.NeedGold # 需要充值仙玉数 + def GetAwardIndex(self): return self.AwardIndex # 返利奖励索引0~31,同个模板中不重复 + def GetAwardItem(self): return self.AwardItem # 返利物品信息列表 {职业:[(物品ID,个数,是否绑定),...]} + def GetNotifyKey(self): return self.NotifyKey # 全服广播key,默认两个参数(玩家名, 档位额度) + +# 法宝副本表 +class IPY_MagicWeaponFB(): + + def __init__(self): + self.MWID = 0 + self.LineID = 0 + self.Level = 0 + self.RefreshNPC = [] + self.AttrDict = {} + return + + def GetMWID(self): return self.MWID # 法宝ID + def GetLineID(self): return self.LineID # 副本功能线路ID + def GetLevel(self): return self.Level # 关卡 + def GetRefreshNPC(self): return self.RefreshNPC # 刷怪配置 + def GetAttrDict(self): return self.AttrDict # 属性 def Log(msg, playerID=0, par=0): @@ -3415,6 +3546,16 @@ self.ipyActWishingWellLen = len(self.ipyActWishingWellCache) self.ipyWishingWellCache = self.__LoadFileData("WishingWell", IPY_WishingWell) self.ipyWishingWellLen = len(self.ipyWishingWellCache) + self.ipyFunctionForecastCache = self.__LoadFileData("FunctionForecast", IPY_FunctionForecast) + self.ipyFunctionForecastLen = len(self.ipyFunctionForecastCache) + self.ipyChatBubbleBoxCache = self.__LoadFileData("ChatBubbleBox", IPY_ChatBubbleBox) + self.ipyChatBubbleBoxLen = len(self.ipyChatBubbleBoxCache) + self.ipyActTotalRechargeCache = self.__LoadFileData("ActTotalRecharge", IPY_ActTotalRecharge) + self.ipyActTotalRechargeLen = len(self.ipyActTotalRechargeCache) + self.ipyTotalRechargeTemplateCache = self.__LoadFileData("TotalRechargeTemplate", IPY_TotalRechargeTemplate) + self.ipyTotalRechargeTemplateLen = len(self.ipyTotalRechargeTemplateCache) + self.ipyMagicWeaponFBCache = self.__LoadFileData("MagicWeaponFB", IPY_MagicWeaponFB) + self.ipyMagicWeaponFBLen = len(self.ipyMagicWeaponFBCache) Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict)) Log("IPY_DataMgr InitOK!") return @@ -3775,6 +3916,16 @@ def GetActWishingWellByIndex(self, index): return self.ipyActWishingWellCache[index] def GetWishingWellCount(self): return self.ipyWishingWellLen def GetWishingWellByIndex(self, index): return self.ipyWishingWellCache[index] + def GetFunctionForecastCount(self): return self.ipyFunctionForecastLen + def GetFunctionForecastByIndex(self, index): return self.ipyFunctionForecastCache[index] + def GetChatBubbleBoxCount(self): return self.ipyChatBubbleBoxLen + def GetChatBubbleBoxByIndex(self, index): return self.ipyChatBubbleBoxCache[index] + def GetActTotalRechargeCount(self): return self.ipyActTotalRechargeLen + def GetActTotalRechargeByIndex(self, index): return self.ipyActTotalRechargeCache[index] + def GetTotalRechargeTemplateCount(self): return self.ipyTotalRechargeTemplateLen + def GetTotalRechargeTemplateByIndex(self, index): return self.ipyTotalRechargeTemplateCache[index] + def GetMagicWeaponFBCount(self): return self.ipyMagicWeaponFBLen + def GetMagicWeaponFBByIndex(self, index): return self.ipyMagicWeaponFBCache[index] IPYData = IPY_DataMgr() def IPY_Data(): return IPYData -- Gitblit v1.8.0