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 | 985 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 933 insertions(+), 52 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py index a3e0660..74c3a97 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,8 +95,10 @@ ("DWORD", "NeedMoney", 0), ("WORD", "SuccessRate", 0), ("WORD", "SuccessRateMax", 0), + ("list", "SuccessRateIncrease", 0), ("BYTE", "AddonsCountMax", 0), ("char", "SysMark", 0), + ("BYTE", "SysMarkParamType", 0), ), "ItemPlus":( @@ -130,7 +135,9 @@ ("list", "BaseAttrTypes", 0), ("list", "BaseAttrValues", 0), ("list", "HelpBattleSkills", 0), + ("DWORD", "FightPowerEx", 0), ("list", "EquipPlaceColorList", 0), + ("list", "HelpBattleNotify", 0), ), "DogzEquipPlus":( @@ -144,6 +151,7 @@ "Rune":( ("DWORD", "ID", 1), ("list", "AttrType", 0), + ("DWORD", "TowerID", 0), ), "EquipWash":( @@ -181,6 +189,7 @@ ("BYTE", "FuncID", 0), ("WORD", "MaxUseCnt", 0), ("WORD", "RecycleMoney", 0), + ("DWORD", "FightPowerEx", 0), ), "PetInfo":( @@ -272,6 +281,7 @@ ("DWORD", "RePotionCD", 0), ("DWORD", "AttackEff", 0), ("DWORD", "ReFightPower", 0), + ("DWORD", "IceLodeFightPower", 0), ), "GMAttr":( @@ -288,7 +298,9 @@ "NPCStrengthen":( ("DWORD", "NPCID", 1), ("BYTE", "IsStrengthenByPlayerCount", 0), + ("BYTE", "LVStrengthenMark", 0), ("BYTE", "LVStrengthenType", 0), + ("BYTE", "CmpNPCBaseLV", 0), ("DWORD", "HitTime", 0), ("DWORD", "DefCoefficient", 0), ("DWORD", "AtkCoefficient", 0), @@ -371,6 +383,9 @@ ("DWORD", "CftFaintDefRate", 0), ("DWORD", "CftAtkSpeed", 0), ("DWORD", "CftLuckyHit", 0), + ("DWORD", "CftSpeedPer", 0), + ("DWORD", "CftAtkPer", 0), + ("DWORD", "CftMaxHPPer", 0), ), "NPCDropItem":( @@ -425,7 +440,9 @@ ("DWORD", "ExtraTimesMWPriID", 0), ("BYTE", "GuardPick", 0), ("WORD", "OfflineTime", 0), + ("WORD", "FBPoint", 0), ("WORD", "HelpPoint", 0), + ("BYTE", "DayHelpCountMax", 0), ), "FBLine":( @@ -446,6 +463,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":( @@ -495,6 +523,9 @@ ("DWORD", "SkillAtkRateC", 0), ("DWORD", "SpeedPerC", 0), ("DWORD", "AtkSpeedC", 0), + ("DWORD", "SkillAtkRateReduceC", 0), + ("DWORD", "HitC", 0), + ("DWORD", "MissC", 0), ), "Success":( @@ -518,6 +549,7 @@ ("DWORD", "PreTreasure", 0), ("list", "SuccID", 0), ("list", "Potentials", 0), + ("list", "SkillPower", 0), ("dict", "NeedItem", 0), ), @@ -529,6 +561,8 @@ ("list", "UnLockSkill", 0), ("DWORD", "ActiveMWID", 0), ("list", "ItemAward", 0), + ("DWORD", "ActiveSoulID", 0), + ("DWORD", "PowerEx", 0), ), "TreasurePrivilege":( @@ -619,11 +653,13 @@ ("list", "LimitVIPLV", 0), ("DWORD", "LimitLV", 0), ("list", "LimitCnt", 0), + ("DWORD", "ServerLimitCnt", 0), ("BYTE", "MoneyType", 0), ("DWORD", "MoneyNum", 0), ("DWORD", "MoneyOriginal", 0), ("DWORD", "LimitValue", 0), ("char", "NotifyMark", 0), + ("char", "MailKey", 0), ), "ActSpringSale":( @@ -632,9 +668,12 @@ ("char", "EndDate", 0), ("list", "StartTimeList", 0), ("list", "EndTimeList", 0), + ("WORD", "AdvanceMinutes", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("list", "ShopTypeList", 0), + ("char", "MailKey", 0), + ("list", "MailItemPrize", 0), ), "DailyQuest":( @@ -748,7 +787,7 @@ ("DWORD", "DataMapID", 1), ("BYTE", "InspireType", 1), ("WORD", "InspireMaxLV", 0), - ("DWORD", "MoneyCount", 0), + ("char", "MoneyCount", 0), ), "RuneCompound":( @@ -766,6 +805,7 @@ ("dict", "JadeReward", 0), ("DWORD", "CostCopper", 0), ("dict", "CopperReward", 0), + ("list", "JobItemList", 0), ), "Chests":( @@ -786,6 +826,7 @@ ("list", "RandTimeList1", 0), ("list", "RandItemList2", 0), ("list", "RandTimeList2", 0), + ("dict", "RandItemByUseCount", 0), ("list", "JobItemList", 0), ("BYTE", "MoneyType", 0), ("DWORD", "MoneyCount", 0), @@ -847,6 +888,7 @@ ("WORD", "GainGoldPrize", 0), ("WORD", "FirstGoldPrize", 0), ("list", "GainItemList", 0), + ("char", "NotifyMark", 0), ), "LVAward":( @@ -903,9 +945,12 @@ ("char", "EndDate", 0), ("list", "StartTimeList", 0), ("list", "EndTimeList", 0), + ("WORD", "AdvanceMinutes", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), - ("list", "GiftbagList", 0), + ("list", "GiftbagTypeList", 0), + ("char", "MailKey", 0), + ("list", "MailItemPrize", 0), ), "FlashGiftbag":( @@ -918,6 +963,21 @@ ("char", "NotifyKey", 0), ), + "ActExpRate":( + ("DWORD", "CfgID", 1), + ("WORD", "LVLimit", 0), + ("DWORD", "AddExpRate", 0), + ), + + "ActCostRebate":( + ("DWORD", "CfgID", 1), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("WORD", "LVLimit", 0), + ("BYTE", "IsDayReset", 0), + ("list", "TemplateIDList", 0), + ), + "CostRebateTemplate":( ("DWORD", "TemplateID", 1), ("DWORD", "NeedCostGold", 0), @@ -926,12 +986,28 @@ ("char", "NotifyKey", 0), ), + "ActBossReborn":( + ("DWORD", "CfgID", 1), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("BYTE", "ResetType", 0), + ("WORD", "LVLimit", 0), + ("BYTE", "TemplateID", 0), + ), + "BossReborn":( ("BYTE", "TemplateID", 1), ("BYTE", "ID", 1), ("DWORD", "TotalTimes", 0), ("WORD", "SingleTimes", 0), ("list", "Reward", 0), + ), + + "ActRealmPoint":( + ("DWORD", "CfgID", 1), + ("WORD", "Multiple", 0), + ("WORD", "LVLimit", 0), + ("DWORD", "PointLimit", 0), ), "TrialExchange":( @@ -962,6 +1038,179 @@ ("WORD", "LowLV", 0), ("WORD", "HighestLV", 0), ("DWORD", "Defense", 0), + ), + + "TalentSkill":( + ("DWORD", "SkillID", 1), + ("BYTE", "TalentType", 0), + ("BYTE", "Series", 0), + ), + + "ActFlashSale":( + ("DWORD", "CfgID", 1), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("list", "StartTimeList", 0), + ("list", "EndTimeList", 0), + ("WORD", "AdvanceMinutes", 0), + ("WORD", "LVLimit", 0), + ("BYTE", "IsDayReset", 0), + ("list", "ShopTypeList", 0), + ("char", "MailKey", 0), + ("list", "MailItemPrize", 0), + ), + + "ActWishingWell":( + ("DWORD", "CfgID", 1), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("BYTE", "IsDayReset", 0), + ("BYTE", "ResetType", 0), + ("WORD", "LVLimit", 0), + ("BYTE", "TemplateID", 0), + ), + + "WishingWell":( + ("BYTE", "TemplateID", 1), + ("BYTE", "IsFree", 0), + ("list", "WorldLVLimit", 0), + ("DWORD", "ItemID", 0), + ("WORD", "ItemCnt", 0), + ("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), + ("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), ), } @@ -1062,21 +1311,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 = [] @@ -1084,12 +1337,16 @@ self.NeedMoney = 0 self.SuccessRate = 0 self.SuccessRateMax = 0 + self.SuccessRateIncrease = [] self.AddonsCountMax = 0 - self.SysMark = "" + 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均需消耗 @@ -1097,8 +1354,10 @@ 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 GetSysMark(self): return self.SysMark # 提示mark + def GetSysMarkParamType(self): return self.SysMarkParamType # 系统提示参数组合类型 # 物品强化效果表 class IPY_ItemPlus(): @@ -1170,14 +1429,18 @@ self.BaseAttrTypes = [] self.BaseAttrValues = [] self.HelpBattleSkills = [] - self.EquipPlaceColorList = [] + self.FightPowerEx = 0 + self.EquipPlaceColorList = [] + self.HelpBattleNotify = [] return def GetDogzID(self): return self.DogzID # 神兽ID def GetBaseAttrTypes(self): return self.BaseAttrTypes # 基础属性类型列表 def GetBaseAttrValues(self): return self.BaseAttrValues # 基础属性值列表 def GetHelpBattleSkills(self): return self.HelpBattleSkills # 助战技能ID列表 - def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制 + def GetFightPowerEx(self): return self.FightPowerEx # 助战附加战力 + def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制 + def GetHelpBattleNotify(self): return self.HelpBattleNotify # 助战广播 ["广播key",[参数1,参数2,...],广播CD分钟] # 神兽强化表 class IPY_DogzEquipPlus(): @@ -1201,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(): @@ -1276,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(): @@ -1440,7 +1707,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 # 玩家等级 @@ -1471,7 +1739,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(): @@ -1502,7 +1771,9 @@ def __init__(self): self.NPCID = 0 self.IsStrengthenByPlayerCount = 0 + self.LVStrengthenMark = 0 self.LVStrengthenType = 0 + self.CmpNPCBaseLV = 0 self.HitTime = 0 self.DefCoefficient = 0 self.AtkCoefficient = 0 @@ -1519,7 +1790,9 @@ 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 # 受击次数 def GetDefCoefficient(self): return self.DefCoefficient # 人物防御系数 def GetAtkCoefficient(self): return self.AtkCoefficient # 人物攻击系数 @@ -1655,7 +1928,10 @@ self.CftIgnoreDefRateReduce = 0 self.CftFaintDefRate = 0 self.CftAtkSpeed = 0 - self.CftLuckyHit = 0 + self.CftLuckyHit = 0 + self.CftSpeedPer = 0 + self.CftAtkPer = 0 + self.CftMaxHPPer = 0 return def GetLV(self): return self.LV # 等级 @@ -1677,7 +1953,10 @@ def GetCftIgnoreDefRateReduce(self): return self.CftIgnoreDefRateReduce # 无视防御抗性系数 def GetCftFaintDefRate(self): return self.CftFaintDefRate # 控制抵抗系数 def GetCftAtkSpeed(self): return self.CftAtkSpeed # 攻速系数 - def GetCftLuckyHit(self): return self.CftLuckyHit # 会心一击系数 + def GetCftLuckyHit(self): return self.CftLuckyHit # 会心一击系数 + def GetCftSpeedPer(self): return self.CftSpeedPer # 移动速度百分比系数 + def GetCftAtkPer(self): return self.CftAtkPer # 攻击百分比系数 + def GetCftMaxHPPer(self): return self.CftMaxHPPer # 生命百分比系数 # NPC掉落表 class IPY_NPCDropItem(): @@ -1776,7 +2055,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 @@ -1790,7 +2071,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(): @@ -1832,6 +2115,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(): @@ -1905,7 +2211,10 @@ self.SuperHitReduceC = 0 self.SkillAtkRateC = 0 self.SpeedPerC = 0 - self.AtkSpeedC = 0 + self.AtkSpeedC = 0 + self.SkillAtkRateReduceC = 0 + self.HitC = 0 + self.MissC = 0 return def GetClassLV(self): return self.ClassLV # 装备阶级 @@ -1932,7 +2241,10 @@ def GetSuperHitReduceC(self): return self.SuperHitReduceC # 暴击抗性百分比系数 def GetSkillAtkRateC(self): return self.SkillAtkRateC # 技能伤害百分比系数 def GetSpeedPerC(self): return self.SpeedPerC # 移动速度百分比系数 - def GetAtkSpeedC(self): return self.AtkSpeedC # 攻击速度系数 + def GetAtkSpeedC(self): return self.AtkSpeedC # 攻击速度系数 + def GetSkillAtkRateReduceC(self): return self.SkillAtkRateReduceC # 技能减伤百分比系数 + def GetHitC(self): return self.HitC # 命中系数 + def GetMissC(self): return self.MissC # 闪避系数 # 成就表 class IPY_Success(): @@ -1974,6 +2286,7 @@ self.PreTreasure = 0 self.SuccID = [] self.Potentials = [] + self.SkillPower = [] self.NeedItem = {} return @@ -1982,6 +2295,7 @@ def GetPreTreasure(self): return self.PreTreasure # 前置法宝 def GetSuccID(self): return self.SuccID # 成就ID def GetPotentials(self): return self.Potentials # 技能潜力升级 + def GetSkillPower(self): return self.SkillPower # 技能解锁战力 def GetNeedItem(self): return self.NeedItem # 需要消耗物品 # 法宝升级表 @@ -1994,7 +2308,9 @@ self.AddAttr = {} self.UnLockSkill = [] self.ActiveMWID = 0 - self.ItemAward = [] + self.ItemAward = [] + self.ActiveSoulID = 0 + self.PowerEx = 0 return def GetMWID(self): return self.MWID # 法宝ID @@ -2003,7 +2319,9 @@ def GetAddAttr(self): return self.AddAttr # 属性 def GetUnLockSkill(self): return self.UnLockSkill # 解锁的技能 def GetActiveMWID(self): return self.ActiveMWID # 激活法宝ID - def GetItemAward(self): return self.ItemAward # 物品奖励[itemID,cnt,isbind] + def GetItemAward(self): return self.ItemAward # 物品奖励[itemID,cnt,isbind] + def GetActiveSoulID(self): return self.ActiveSoulID # 激活魂ID + def GetPowerEx(self): return self.PowerEx # 额外固定战力 # 法宝特权表 class IPY_TreasurePrivilege(): @@ -2177,11 +2495,13 @@ self.LimitVIPLV = [] self.LimitLV = 0 self.LimitCnt = [] + self.ServerLimitCnt = 0 self.MoneyType = 0 self.MoneyNum = 0 self.MoneyOriginal = 0 self.LimitValue = 0 - self.NotifyMark = "" + self.NotifyMark = "" + self.MailKey = "" return def GetID(self): return self.ID # ID @@ -2196,12 +2516,14 @@ def GetRefreshType(self): return self.RefreshType # 刷新类型 0-不重置,1-onWeek0点,2-onWeek5点,3-OnDay0点,4-OnDay5点 def GetLimitVIPLV(self): return self.LimitVIPLV # VIP限制 def GetLimitLV(self): return self.LimitLV # 等级限制 - def GetLimitCnt(self): return self.LimitCnt # 限制数量 + def GetLimitCnt(self): return self.LimitCnt # 个人限制数量 + def GetServerLimitCnt(self): return self.ServerLimitCnt # 全服限制数量 def GetMoneyType(self): return self.MoneyType # 金钱类型 def GetMoneyNum(self): return self.MoneyNum # 金钱数量 def GetMoneyOriginal(self): return self.MoneyOriginal # 原价 def GetLimitValue(self): return self.LimitValue # 限制条件 - def GetNotifyMark(self): return self.NotifyMark # 广播提示 + def GetNotifyMark(self): return self.NotifyMark # 广播提示 + def GetMailKey(self): return self.MailKey # 背包不足时邮件KEY # 限时特惠表 class IPY_ActSpringSale(): @@ -2212,9 +2534,12 @@ self.EndDate = "" self.StartTimeList = [] self.EndTimeList = [] + self.AdvanceMinutes = 0 self.LVLimit = 0 self.IsDayReset = 0 - self.ShopTypeList = [] + self.ShopTypeList = [] + self.MailKey = "" + self.MailItemPrize = [] return def GetCfgID(self): return self.CfgID # 配置ID @@ -2222,9 +2547,12 @@ def GetEndDate(self): return self.EndDate # 结束日期 def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段 def GetEndTimeList(self): return self.EndTimeList # 结束时间列表, 支持多个时段 + def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动 def GetLVLimit(self): return self.LVLimit # 限制等级 def GetIsDayReset(self): return self.IsDayReset # 是否每天重置 - def GetShopTypeList(self): return self.ShopTypeList # 商店类型列表 + def GetShopTypeList(self): return self.ShopTypeList # 商店类型列表 + def GetMailKey(self): return self.MailKey # 活动更新时发送邮件key + def GetMailItemPrize(self): return self.MailItemPrize # 活动更新时发送邮件奖励物品 # 日常任务表 class IPY_DailyQuest(): @@ -2460,7 +2788,7 @@ self.DataMapID = 0 self.InspireType = 0 self.InspireMaxLV = 0 - self.MoneyCount = 0 + self.MoneyCount = "" return def GetDataMapID(self): return self.DataMapID # 地图ID @@ -2492,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 @@ -2502,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(): @@ -2535,6 +2865,7 @@ self.RandTimeList1 = [] self.RandItemList2 = [] self.RandTimeList2 = [] + self.RandItemByUseCount = {} self.JobItemList = [] self.MoneyType = 0 self.MoneyCount = 0 @@ -2549,6 +2880,7 @@ def GetRandTimeList1(self): return self.RandTimeList1 # 随机次数饼图列表1 def GetRandItemList2(self): return self.RandItemList2 # 随机物品饼图列表2 def GetRandTimeList2(self): return self.RandTimeList2 # 随机次数饼图列表2 + def GetRandItemByUseCount(self): return self.RandItemByUseCount # 宝箱开启X次对应特殊产出,与饼图列表2互斥 def GetJobItemList(self): return self.JobItemList # 职业物品列表 def GetMoneyType(self): return self.MoneyType # 货币类型 def GetMoneyCount(self): return self.MoneyCount # 货币数量 @@ -2666,7 +2998,8 @@ self.GainGold = 0 self.GainGoldPrize = 0 self.FirstGoldPrize = 0 - self.GainItemList = [] + self.GainItemList = [] + self.NotifyMark = "" return def GetRecordID(self): return self.RecordID # 记录ID @@ -2674,7 +3007,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(): @@ -2786,9 +3120,12 @@ self.EndDate = "" self.StartTimeList = [] self.EndTimeList = [] + self.AdvanceMinutes = 0 self.LVLimit = 0 self.IsDayReset = 0 - self.GiftbagList = [] + self.GiftbagTypeList = [] + self.MailKey = "" + self.MailItemPrize = [] return def GetCfgID(self): return self.CfgID # 配置ID @@ -2796,9 +3133,12 @@ def GetEndDate(self): return self.EndDate # 结束日期 def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段 def GetEndTimeList(self): return self.EndTimeList # 结束时间列表, 支持多个时段 + def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动 def GetLVLimit(self): return self.LVLimit # 限制等级 def GetIsDayReset(self): return self.IsDayReset # 是否每天重置 - def GetGiftbagList(self): return self.GiftbagList # 礼包模板类型列表 + def GetGiftbagTypeList(self): return self.GiftbagTypeList # 礼包类型列表 + def GetMailKey(self): return self.MailKey # 活动更新时发送邮件key + def GetMailItemPrize(self): return self.MailItemPrize # 活动更新时发送邮件奖励物品 # 限时礼包模板表 class IPY_FlashGiftbag(): @@ -2821,6 +3161,38 @@ def GetMainItemID(self): return self.MainItemID # 标的物品ID def GetNotifyKey(self): return self.NotifyKey # 全服广播key,默认两个参数(玩家名, 档位额度) +# 双倍经验活动表 +class IPY_ActExpRate(): + + def __init__(self): + self.CfgID = 0 + self.LVLimit = 0 + self.AddExpRate = 0 + return + + def GetCfgID(self): return self.CfgID # 配置ID + def GetLVLimit(self): return self.LVLimit # 限制等级 + def GetAddExpRate(self): return self.AddExpRate # 经验倍率加成,万分率 + +# 消费返利活动表 +class IPY_ActCostRebate(): + + 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_CostRebateTemplate(): @@ -2838,6 +3210,25 @@ def GetAwardItemList(self): return self.AwardItemList # 返利物品信息列表 [(物品ID,个数,是否绑定),...] def GetNotifyKey(self): return self.NotifyKey # 全服广播key,默认两个参数(玩家名, 档位额度) +# BOSS复活活动时间表 +class IPY_ActBossReborn(): + + def __init__(self): + self.CfgID = 0 + self.StartDate = "" + self.EndDate = "" + self.ResetType = 0 + self.LVLimit = 0 + self.TemplateID = 0 + return + + def GetCfgID(self): return self.CfgID # 配置ID + def GetStartDate(self): return self.StartDate # 开启日期 + def GetEndDate(self): return self.EndDate # 结束日期 + def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置 + def GetLVLimit(self): return self.LVLimit # 限制等级 + def GetTemplateID(self): return self.TemplateID # 模板编号 + # BOSS复活表 class IPY_BossReborn(): @@ -2854,6 +3245,21 @@ def GetTotalTimes(self): return self.TotalTimes # 可完成的总次数,0表示不限次数 def GetSingleTimes(self): return self.SingleTimes # 单次领奖需要的次数 def GetReward(self): return self.Reward # 奖励物品ID1 + +# 多倍修行点活动时间表 +class IPY_ActRealmPoint(): + + def __init__(self): + self.CfgID = 0 + self.Multiple = 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 GetPointLimit(self): return self.PointLimit # 限制额外修行点 # 宗门试炼兑换表 class IPY_TrialExchange(): @@ -2918,6 +3324,373 @@ def GetLowLV(self): return self.LowLV # 推荐最低等级 def GetHighestLV(self): return self.HighestLV # 推荐最高等级 def GetDefense(self): return self.Defense # 推荐防御 + +# 天赋技能表 +class IPY_TalentSkill(): + + def __init__(self): + self.SkillID = 0 + self.TalentType = 0 + self.Series = 0 + return + + def GetSkillID(self): return self.SkillID # 技能ID + def GetTalentType(self): return self.TalentType # 天赋类型 + def GetSeries(self): return self.Series # 天赋系别 + +# 限时抢购表 +class IPY_ActFlashSale(): + + def __init__(self): + self.CfgID = 0 + self.StartDate = "" + self.EndDate = "" + self.StartTimeList = [] + self.EndTimeList = [] + self.AdvanceMinutes = 0 + self.LVLimit = 0 + self.IsDayReset = 0 + self.ShopTypeList = [] + self.MailKey = "" + self.MailItemPrize = [] + return + + def GetCfgID(self): return self.CfgID # 配置ID + def GetStartDate(self): return self.StartDate # 开启日期 + def GetEndDate(self): return self.EndDate # 结束日期 + def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段 + def GetEndTimeList(self): return self.EndTimeList # 结束时间列表, 支持多个时段 + def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动 + def GetLVLimit(self): return self.LVLimit # 限制等级 + def GetIsDayReset(self): return self.IsDayReset # 是否每天重置 + def GetShopTypeList(self): return self.ShopTypeList # 商店类型列表 + def GetMailKey(self): return self.MailKey # 活动更新时发送邮件key + def GetMailItemPrize(self): return self.MailItemPrize # 活动更新时发送邮件奖励物品 + +# 许愿池活动时间表 +class IPY_ActWishingWell(): + + def __init__(self): + self.CfgID = 0 + self.StartDate = "" + self.EndDate = "" + self.IsDayReset = 0 + self.ResetType = 0 + self.LVLimit = 0 + self.TemplateID = 0 + 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 # 模板编号 + +# 许愿池库模板表 +class IPY_WishingWell(): + + def __init__(self): + self.TemplateID = 0 + self.IsFree = 0 + self.WorldLVLimit = [] + self.ItemID = 0 + self.ItemCnt = 0 + self.IsBind = 0 + self.Weight = 0 + self.Mark = 0 + self.Rare = 0 + return + + def GetTemplateID(self): return self.TemplateID # 模板ID + def GetIsFree(self): return self.IsFree # 是否免费库 + def GetWorldLVLimit(self): return self.WorldLVLimit # 世界等级范围 + def GetItemID(self): return self.ItemID # 物品ID + 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 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 = "" + 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 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): @@ -3013,6 +3786,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) @@ -3109,10 +3884,18 @@ self.ipyActFlashGiftbagLen = len(self.ipyActFlashGiftbagCache) self.ipyFlashGiftbagCache = self.__LoadFileData("FlashGiftbag", IPY_FlashGiftbag) self.ipyFlashGiftbagLen = len(self.ipyFlashGiftbagCache) + self.ipyActExpRateCache = self.__LoadFileData("ActExpRate", IPY_ActExpRate) + self.ipyActExpRateLen = len(self.ipyActExpRateCache) + self.ipyActCostRebateCache = self.__LoadFileData("ActCostRebate", IPY_ActCostRebate) + self.ipyActCostRebateLen = len(self.ipyActCostRebateCache) self.ipyCostRebateTemplateCache = self.__LoadFileData("CostRebateTemplate", IPY_CostRebateTemplate) self.ipyCostRebateTemplateLen = len(self.ipyCostRebateTemplateCache) + self.ipyActBossRebornCache = self.__LoadFileData("ActBossReborn", IPY_ActBossReborn) + self.ipyActBossRebornLen = len(self.ipyActBossRebornCache) self.ipyBossRebornCache = self.__LoadFileData("BossReborn", IPY_BossReborn) self.ipyBossRebornLen = len(self.ipyBossRebornCache) + self.ipyActRealmPointCache = self.__LoadFileData("ActRealmPoint", IPY_ActRealmPoint) + self.ipyActRealmPointLen = len(self.ipyActRealmPointCache) self.ipyTrialExchangeCache = self.__LoadFileData("TrialExchange", IPY_TrialExchange) self.ipyTrialExchangeLen = len(self.ipyTrialExchangeCache) self.ipyAllPeoplePartyCache = self.__LoadFileData("AllPeopleParty", IPY_AllPeopleParty) @@ -3121,6 +3904,48 @@ self.ipyAllPeoplePartyAwardLen = len(self.ipyAllPeoplePartyAwardCache) self.ipyMapEventPointCache = self.__LoadFileData("MapEventPoint", IPY_MapEventPoint) self.ipyMapEventPointLen = len(self.ipyMapEventPointCache) + self.ipyTalentSkillCache = self.__LoadFileData("TalentSkill", IPY_TalentSkill) + self.ipyTalentSkillLen = len(self.ipyTalentSkillCache) + self.ipyActFlashSaleCache = self.__LoadFileData("ActFlashSale", IPY_ActFlashSale) + self.ipyActFlashSaleLen = len(self.ipyActFlashSaleCache) + self.ipyActWishingWellCache = self.__LoadFileData("ActWishingWell", IPY_ActWishingWell) + 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) + 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 @@ -3212,22 +4037,26 @@ for i, strValue in enumerate(rowList): if i == 0: continue - fieldName = fieldList[i][1] - strValue = strValue.lstrip().rstrip() - if strValue.isdigit(): - configValue = int(strValue) - elif (strValue.startswith("{") and strValue.endswith("}")) \ - or (strValue.startswith("[") and strValue.endswith("]")) \ - or (strValue.startswith("(") and strValue.endswith(")")): - configValue = eval(strValue) - elif "_" in strValue and type(self.__StrToDict(strValue)) == dict: - configValue = self.__StrToDict(strValue) - elif ChConfig.Def_Str_Montant in strValue: - configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ",")) - elif strValue in ["-", ""]: - configValue = "" - else: - configValue = self.__ToFloat(strValue) + try: + fieldName = fieldList[i][1] + strValue = strValue.lstrip().rstrip() + if strValue.isdigit(): + configValue = int(strValue) + elif (strValue.startswith("{") and strValue.endswith("}")) \ + or (strValue.startswith("[") and strValue.endswith("]")) \ + or (strValue.startswith("(") and strValue.endswith(")")): + configValue = eval(strValue) + elif "_" in strValue and type(self.__StrToDict(strValue)) == dict: + configValue = self.__StrToDict(strValue) + elif ChConfig.Def_Str_Montant in strValue: + configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ",")) + elif strValue in ["-", ""]: + configValue = "" + else: + configValue = self.__ToFloat(strValue) + except BaseException: + ErrLog("SetIpyDataError: tableName=%s,key=%s,i=%s,value=%s" % ("FuncConfig", key, i, strValue)) + raise setattr(funcConfigObj, fieldName, configValue) self.ipyFuncConfigDict[key] = funcConfigObj return @@ -3353,6 +4182,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 @@ -3449,10 +4280,18 @@ def GetActFlashGiftbagByIndex(self, index): return self.ipyActFlashGiftbagCache[index] def GetFlashGiftbagCount(self): return self.ipyFlashGiftbagLen def GetFlashGiftbagByIndex(self, index): return self.ipyFlashGiftbagCache[index] + def GetActExpRateCount(self): return self.ipyActExpRateLen + def GetActExpRateByIndex(self, index): return self.ipyActExpRateCache[index] + def GetActCostRebateCount(self): return self.ipyActCostRebateLen + def GetActCostRebateByIndex(self, index): return self.ipyActCostRebateCache[index] def GetCostRebateTemplateCount(self): return self.ipyCostRebateTemplateLen def GetCostRebateTemplateByIndex(self, index): return self.ipyCostRebateTemplateCache[index] + def GetActBossRebornCount(self): return self.ipyActBossRebornLen + def GetActBossRebornByIndex(self, index): return self.ipyActBossRebornCache[index] def GetBossRebornCount(self): return self.ipyBossRebornLen def GetBossRebornByIndex(self, index): return self.ipyBossRebornCache[index] + def GetActRealmPointCount(self): return self.ipyActRealmPointLen + def GetActRealmPointByIndex(self, index): return self.ipyActRealmPointCache[index] def GetTrialExchangeCount(self): return self.ipyTrialExchangeLen def GetTrialExchangeByIndex(self, index): return self.ipyTrialExchangeCache[index] def GetAllPeoplePartyCount(self): return self.ipyAllPeoplePartyLen @@ -3461,6 +4300,48 @@ def GetAllPeoplePartyAwardByIndex(self, index): return self.ipyAllPeoplePartyAwardCache[index] def GetMapEventPointCount(self): return self.ipyMapEventPointLen def GetMapEventPointByIndex(self, index): return self.ipyMapEventPointCache[index] + def GetTalentSkillCount(self): return self.ipyTalentSkillLen + def GetTalentSkillByIndex(self, index): return self.ipyTalentSkillCache[index] + def GetActFlashSaleCount(self): return self.ipyActFlashSaleLen + def GetActFlashSaleByIndex(self, index): return self.ipyActFlashSaleCache[index] + def GetActWishingWellCount(self): return self.ipyActWishingWellLen + 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] + 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 @@ -3655,7 +4536,7 @@ '''查询条件下与对应查询字段参考值相近的数据实例;参考值小于配置表最小值时返回none,大于最大值时返回最大值对应的实例 @param dtName: 表名,不含tag @param keyName: 参考字段名 - @param keyValue: 参考字段值 + @param keyValue: 参考字段值,大于等于字段值时返回对应数据 @param conditionDict: 查询条件,{查询字段名:字段值, ...} @return: 找不到数据返回 None , 否则返回对应的 ipyData 数据实例 ''' @@ -3687,7 +4568,7 @@ for i in xrange(near - 1, low - 1, -1): nearData = dataList[i] nearValue = getattr(nearData, "%s" % keyName) - if nearValue < keyValue: + if nearValue <= keyValue: return nearData elif keyValue > nearValue: -- Gitblit v1.8.0