hxp
2018-12-01 7312eaf9a917c411e6ccc937ddcc9836db2b9d70
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),
@@ -275,6 +279,7 @@
                        ("DWORD", "RePotionCD", 0),
                        ("DWORD", "AttackEff", 0),
                        ("DWORD", "ReFightPower", 0),
                        ("DWORD", "IceLodeFightPower", 0),
                        ),
                "GMAttr":(
@@ -376,6 +381,8 @@
                        ("DWORD", "CftAtkSpeed", 0),
                        ("DWORD", "CftLuckyHit", 0),
                        ("DWORD", "CftSpeedPer", 0),
                        ("DWORD", "CftAtkPer", 0),
                        ("DWORD", "CftMaxHPPer", 0),
                        ),
                "NPCDropItem":(
@@ -430,7 +437,9 @@
                        ("DWORD", "ExtraTimesMWPriID", 0),
                        ("BYTE", "GuardPick", 0),
                        ("WORD", "OfflineTime", 0),
                        ("WORD", "FBPoint", 0),
                        ("WORD", "HelpPoint", 0),
                        ("BYTE", "DayHelpCountMax", 0),
                        ),
                "FBLine":(
@@ -451,6 +460,17 @@
                        ("eval", "RefreshNPC", 0),
                        ("eval", "GradeInfo", 0),
                        ("eval", "RewardInfo", 0),
                        ),
                "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),
                        ),
                "NPCCustomRefresh":(
@@ -863,6 +883,7 @@
                        ("WORD", "GainGoldPrize", 0),
                        ("WORD", "FirstGoldPrize", 0),
                        ("list", "GainItemList", 0),
                        ("char", "NotifyMark", 0),
                        ),
                "LVAward":(
@@ -981,6 +1002,7 @@
                        ("DWORD", "CfgID", 1),
                        ("WORD", "Multiple", 0),
                        ("WORD", "LVLimit", 0),
                        ("DWORD", "PointLimit", 0),
                        ),
                "TrialExchange":(
@@ -1052,6 +1074,56 @@
                        ("BYTE", "IsBind", 0),
                        ("DWORD", "Weight", 0),
                        ("DWORD", "Mark", 0),
                        ("BYTE", "Rare", 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),
                        ),
                "IceLodeStarAward":(
                        ("BYTE", "Index", 1),
                        ("BYTE", "Star", 0),
                        ("list", "LVLimit", 0),
                        ("list", "ItemList", 0),
                        ),
                "GodWeaponEffect":(
                        ("BYTE", "GWType", 0),
                        ("WORD", "Level", 0),
                        ("char", "NotifyCode", 0),
                        ),
                }
@@ -1152,21 +1224,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 +1250,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 +1267,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 # 系统提示参数组合类型
@@ -1536,7 +1616,8 @@
        self.RePotionReply = 0
        self.RePotionCD = 0
        self.AttackEff = 0
        self.ReFightPower = 0
        self.ReFightPower = 0
        self.IceLodeFightPower = 0
        return
        
    def GetLV(self): return self.LV # 玩家等级
@@ -1567,7 +1648,8 @@
    def GetRePotionReply(self): return self.RePotionReply # 血瓶恢复量
    def GetRePotionCD(self): return self.RePotionCD # ѪƿCD
    def GetAttackEff(self): return self.AttackEff # 挂机效率
    def GetReFightPower(self): return self.ReFightPower # 战斗力
    def GetReFightPower(self): return self.ReFightPower # 战斗力
    def GetIceLodeFightPower(self): return self.IceLodeFightPower # 冰晶矿脉扫荡战斗力
# GM测试属性表
class IPY_GMAttr():
@@ -1754,7 +1836,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 +1861,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():
@@ -1876,7 +1962,9 @@
        self.ExtraTimesMWPriID = 0
        self.GuardPick = 0
        self.OfflineTime = 0
        self.HelpPoint = 0
        self.FBPoint = 0
        self.HelpPoint = 0
        self.DayHelpCountMax = 0
        return
        
    def GetDataMapID(self): return self.DataMapID # 数据地图ID
@@ -1890,7 +1978,9 @@
    def GetExtraTimesMWPriID(self): return self.ExtraTimesMWPriID # 额外次数法宝权限ID
    def GetGuardPick(self): return self.GuardPick # 该地图守护是否能拾取
    def GetOfflineTime(self): return self.OfflineTime # 离线多久退出副本(秒)
    def GetHelpPoint(self): return self.HelpPoint # 助战积分(0代表不可助战)
    def GetFBPoint(self): return self.FBPoint # 副本过关仙缘币
    def GetHelpPoint(self): return self.HelpPoint # 助战仙缘币(0代表不可助战)
    def GetDayHelpCountMax(self): return self.DayHelpCountMax # 每日手动助战获得仙缘币次数(非镜像)
# 副本功能线路表
class IPY_FBLine():
@@ -1932,6 +2022,29 @@
    def GetRefreshNPC(self): return self.RefreshNPC # 标试点刷怪配置
    def GetGradeInfo(self): return self.GradeInfo # 评级规则
    def GetRewardInfo(self): return self.RewardInfo # 奖励信息
# 副本助战表
class IPY_FBHelpBattle():
    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技能, {"职业":[技能列表], ...}
# 副本刷怪标识点表
class IPY_NPCCustomRefresh():
@@ -2788,7 +2901,8 @@
        self.GainGold = 0
        self.GainGoldPrize = 0
        self.FirstGoldPrize = 0
        self.GainItemList = []
        self.GainItemList = []
        self.NotifyMark = ""
        return
        
    def GetRecordID(self): return self.RecordID # 记录ID
@@ -2796,7 +2910,8 @@
    def GetGainGold(self): return self.GainGold # 获得仙玉数
    def GetGainGoldPrize(self): return self.GainGoldPrize # 赠送仙玉数
    def GetFirstGoldPrize(self): return self.FirstGoldPrize # 首次充值该档位赠送仙玉
    def GetGainItemList(self): return self.GainItemList # 获得物品列表[[物品ID,个数,是否绑定], ...]
    def GetGainItemList(self): return self.GainItemList # 获得物品列表[[物品ID,个数,是否绑定], ...]
    def GetNotifyMark(self): return self.NotifyMark # 广播提示
# 等级奖励表
class IPY_LVAward():
@@ -3040,12 +3155,14 @@
    def __init__(self):
        self.CfgID = 0
        self.Multiple = 0
        self.LVLimit = 0
        self.LVLimit = 0
        self.PointLimit = 0
        return
        
    def GetCfgID(self): return self.CfgID # 配置ID
    def GetMultiple(self): return self.Multiple # 倍数
    def GetLVLimit(self): return self.LVLimit # 限制等级
    def GetLVLimit(self): return self.LVLimit # 限制等级
    def GetPointLimit(self): return self.PointLimit # 限制额外修行点
# 宗门试炼兑换表
class IPY_TrialExchange():
@@ -3185,7 +3302,8 @@
        self.ItemCnt = 0
        self.IsBind = 0
        self.Weight = 0
        self.Mark = 0
        self.Mark = 0
        self.Rare = 0
        return
        
    def GetTemplateID(self): return self.TemplateID # 模板ID
@@ -3195,7 +3313,113 @@
    def GetItemCnt(self): return self.ItemCnt # 物品数量
    def GetIsBind(self): return self.IsBind # 是否绑定
    def GetWeight(self): return self.Weight # 权重
    def GetMark(self): return self.Mark # 排序用标识
    def GetMark(self): return self.Mark # 排序用标识
    def GetRare(self): return self.Rare # 珍稀值
# 功能预告表
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 # 属性
# 冰晶矿脉星级奖励表
class IPY_IceLodeStarAward():
    def __init__(self):
        self.Index = 0
        self.Star = 0
        self.LVLimit = []
        self.ItemList = []
        return
    def GetIndex(self): return self.Index # 奖励索引
    def GetStar(self): return self.Star # 星数
    def GetLVLimit(self): return self.LVLimit # 等级范围
    def GetItemList(self): return self.ItemList # 奖励
# 神兵特效表
class IPY_GodWeaponEffect():
    def __init__(self):
        self.GWType = 0
        self.Level = 0
        self.NotifyCode = ""
        return
    def GetGWType(self): return self.GWType # 神兵类型
    def GetLevel(self): return self.Level # 神兵等级
    def GetNotifyCode(self): return self.NotifyCode # 广播
def Log(msg, playerID=0, par=0):
@@ -3291,6 +3515,8 @@
        self.ipyFBFuncLen = len(self.ipyFBFuncCache)
        self.ipyFBLineCache = self.__LoadFileData("FBLine", IPY_FBLine)
        self.ipyFBLineLen = len(self.ipyFBLineCache)
        self.ipyFBHelpBattleCache = self.__LoadFileData("FBHelpBattle", IPY_FBHelpBattle)
        self.ipyFBHelpBattleLen = len(self.ipyFBHelpBattleCache)
        self.ipyNPCCustomRefreshCache = self.__LoadFileData("NPCCustomRefresh", IPY_NPCCustomRefresh)
        self.ipyNPCCustomRefreshLen = len(self.ipyNPCCustomRefreshCache)
        self.ipyDailyActionCache = self.__LoadFileData("DailyAction", IPY_DailyAction)
@@ -3415,6 +3641,20 @@
        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)
        self.ipyIceLodeStarAwardCache = self.__LoadFileData("IceLodeStarAward", IPY_IceLodeStarAward)
        self.ipyIceLodeStarAwardLen = len(self.ipyIceLodeStarAwardCache)
        self.ipyGodWeaponEffectCache = self.__LoadFileData("GodWeaponEffect", IPY_GodWeaponEffect)
        self.ipyGodWeaponEffectLen = len(self.ipyGodWeaponEffectCache)
        Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
        Log("IPY_DataMgr InitOK!")
        return
@@ -3651,6 +3891,8 @@
    def GetFBFuncByIndex(self, index): return self.ipyFBFuncCache[index]
    def GetFBLineCount(self): return self.ipyFBLineLen
    def GetFBLineByIndex(self, index): return self.ipyFBLineCache[index]
    def GetFBHelpBattleCount(self): return self.ipyFBHelpBattleLen
    def GetFBHelpBattleByIndex(self, index): return self.ipyFBHelpBattleCache[index]
    def GetNPCCustomRefreshCount(self): return self.ipyNPCCustomRefreshLen
    def GetNPCCustomRefreshByIndex(self, index): return self.ipyNPCCustomRefreshCache[index]
    def GetDailyActionCount(self): return self.ipyDailyActionLen
@@ -3775,6 +4017,20 @@
    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]
    def GetIceLodeStarAwardCount(self): return self.ipyIceLodeStarAwardLen
    def GetIceLodeStarAwardByIndex(self, index): return self.ipyIceLodeStarAwardCache[index]
    def GetGodWeaponEffectCount(self): return self.ipyGodWeaponEffectLen
    def GetGodWeaponEffectByIndex(self, index): return self.ipyGodWeaponEffectCache[index]
IPYData = IPY_DataMgr()
def IPY_Data(): return IPYData