From 72afa76c0e4b3df8feccc27164234bd2c5bd2769 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 30 九月 2018 16:48:13 +0800
Subject: [PATCH] 4008 【后端】【主干】【1.0.18】装备位8,9,10的装备阶数对应最大洗炼等级与其他装备位分开配置
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 420 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 355 insertions(+), 65 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index a6319fb..32f9f27 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -62,6 +62,7 @@
("list", "AttrType", 0),
("list", "AttrNum", 0),
("DWORD", "SkillID", 0),
+ ("char", "SysMark", 0),
),
"FuncConfig":(
@@ -93,6 +94,7 @@
("WORD", "SuccessRateMax", 0),
("BYTE", "AddonsCountMax", 0),
("char", "SysMark", 0),
+ ("BYTE", "SysMarkParamType", 0),
),
"ItemPlus":(
@@ -122,6 +124,23 @@
("BYTE", "StarsNeed", 1),
("list", "AttrType", 0),
("list", "AttrValue", 0),
+ ),
+
+ "Dogz":(
+ ("BYTE", "DogzID", 1),
+ ("list", "BaseAttrTypes", 0),
+ ("list", "BaseAttrValues", 0),
+ ("list", "HelpBattleSkills", 0),
+ ("DWORD", "FightPowerEx", 0),
+ ("list", "EquipPlaceColorList", 0),
+ ),
+
+ "DogzEquipPlus":(
+ ("BYTE", "EquipPlace", 1),
+ ("BYTE", "PlusLV", 1),
+ ("list", "PlusAttrTypes", 0),
+ ("list", "PlusAttrValues", 0),
+ ("DWORD", "PlusLVUPTotalExp", 0),
),
"Rune":(
@@ -169,6 +188,7 @@
"PetInfo":(
("DWORD", "ID", 1),
("BYTE", "Quality", 0),
+ ("char", "UnlockSys", 0),
("DWORD", "UnLockNeedItemID", 0),
("BYTE", "UnLockNeedItemCnt", 0),
("DWORD", "DecomposeExp", 0),
@@ -177,6 +197,7 @@
("WORD", "UseNeedRank", 0),
("list", "SkillID", 0),
("list", "SkillUnLock", 0),
+ ("list", "SkillUnLockSys", 0),
("DWORD", "InitFightPower", 0),
),
@@ -210,6 +231,7 @@
("BYTE", "UseNeedRank", 0),
("BYTE", "Quality", 0),
("DWORD", "InitFightPower", 0),
+ ("char", "UnlockSys", 0),
),
"HorseUp":(
@@ -219,6 +241,7 @@
("list", "AttrType", 0),
("list", "AttrValue", 0),
("list", "SkillID", 0),
+ ("char", "SysMark", 0),
),
"PlayerLV":(
@@ -268,6 +291,7 @@
("DWORD", "NPCID", 1),
("BYTE", "IsStrengthenByPlayerCount", 0),
("BYTE", "LVStrengthenType", 0),
+ ("BYTE", "CmpNPCBaseLV", 0),
("DWORD", "HitTime", 0),
("DWORD", "DefCoefficient", 0),
("DWORD", "AtkCoefficient", 0),
@@ -474,6 +498,9 @@
("DWORD", "SkillAtkRateC", 0),
("DWORD", "SpeedPerC", 0),
("DWORD", "AtkSpeedC", 0),
+ ("DWORD", "SkillAtkRateReduceC", 0),
+ ("DWORD", "HitC", 0),
+ ("DWORD", "MissC", 0),
),
"Success":(
@@ -497,6 +524,7 @@
("DWORD", "PreTreasure", 0),
("list", "SuccID", 0),
("list", "Potentials", 0),
+ ("list", "SkillPower", 0),
("dict", "NeedItem", 0),
),
@@ -506,7 +534,9 @@
("DWORD", "NeedExp", 0),
("dict", "AddAttr", 0),
("list", "UnLockSkill", 0),
- ("DWORD", "PrivilegeID", 0),
+ ("DWORD", "ActiveMWID", 0),
+ ("list", "ItemAward", 0),
+ ("DWORD", "ActiveSoulID", 0),
),
"TreasurePrivilege":(
@@ -516,6 +546,7 @@
("DWORD", "MaxValue", 0),
("dict", "AddAttr", 0),
("list", "ItemAward", 0),
+ ("list", "SuccessList", 0),
),
"TreasureSkill":(
@@ -609,9 +640,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":(
@@ -674,6 +708,9 @@
("DWORD", "NPCID", 1),
("DWORD", "MapID", 0),
("BYTE", "RefreshMark", 0),
+ ("BYTE", "IsNeedShunt", 0),
+ ("BYTE", "RelatedType", 0),
+ ("WORD", "RelatedID", 0),
("DWORD", "StoneNPCID", 0),
),
@@ -722,7 +759,7 @@
("DWORD", "DataMapID", 1),
("BYTE", "InspireType", 1),
("WORD", "InspireMaxLV", 0),
- ("DWORD", "MoneyCount", 0),
+ ("char", "MoneyCount", 0),
),
"RuneCompound":(
@@ -760,6 +797,7 @@
("list", "RandTimeList1", 0),
("list", "RandItemList2", 0),
("list", "RandTimeList2", 0),
+ ("dict", "RandItemByUseCount", 0),
("list", "JobItemList", 0),
("BYTE", "MoneyType", 0),
("DWORD", "MoneyCount", 0),
@@ -856,6 +894,8 @@
("dict", "GridItemInfo", 0),
("list", "JobItemList", 0),
("list", "GridItemRateListFree", 0),
+ ("list", "FreeGridItemRateList2", 0),
+ ("dict", "FreeGridItemRateList3", 0),
("list", "GridItemRateList1", 0),
("list", "GridItemRateList2", 0),
("dict", "GridItemRateList3", 0),
@@ -875,9 +915,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":(
@@ -890,6 +933,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),
@@ -898,22 +956,32 @@
("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", "RewardItemID1", 0),
- ("list", "RewardItemCnt1", 0),
- ("list", "RewardItemID2", 0),
- ("list", "RewardItemCnt2", 0),
- ("list", "RewardItemID3", 0),
- ("list", "RewardItemCnt3", 0),
- ("list", "WorldLVList", 0),
+ ("list", "Reward", 0),
+ ),
+
+ "ActRealmPoint":(
+ ("DWORD", "CfgID", 1),
+ ("WORD", "Multiple", 0),
+ ("WORD", "LVLimit", 0),
),
"TrialExchange":(
("DWORD", "ID", 1),
- ("DWORD", "ExchangeItemID", 0),
+ ("list", "ExchangeItemIDList", 0),
("DWORD", "ExchangeItemCount", 0),
("DWORD", "ExchangeItemIsBind", 0),
("DWORD", "CostItemID", 0),
@@ -931,6 +999,20 @@
("DWORD", "Index", 1),
("DWORD", "NeedPoint", 0),
("dict", "Award", 0),
+ ),
+
+ "MapEventPoint":(
+ ("DWORD", "MapID", 1),
+ ("DWORD", "NPCID", 1),
+ ("WORD", "LowLV", 0),
+ ("WORD", "HighestLV", 0),
+ ("DWORD", "Defense", 0),
+ ),
+
+ "TalentSkill":(
+ ("DWORD", "SkillID", 1),
+ ("BYTE", "TalentType", 0),
+ ("BYTE", "Series", 0),
),
}
@@ -992,7 +1074,8 @@
self.Exp = 0
self.AttrType = []
self.AttrNum = []
- self.SkillID = 0
+ self.SkillID = 0
+ self.SysMark = ""
return
def GetType(self): return self.Type # 神兵类型
@@ -1000,7 +1083,8 @@
def GetExp(self): return self.Exp
def GetAttrType(self): return self.AttrType # 属性类型
def GetAttrNum(self): return self.AttrNum # 属性值
- def GetSkillID(self): return self.SkillID # 激活技能ID
+ def GetSkillID(self): return self.SkillID # 激活技能ID
+ def GetSysMark(self): return self.SysMark # 系统提示
# 功能配置表格
class IPY_FuncConfig():
@@ -1052,7 +1136,8 @@
self.SuccessRate = 0
self.SuccessRateMax = 0
self.AddonsCountMax = 0
- self.SysMark = ""
+ self.SysMark = ""
+ self.SysMarkParamType = 0
return
def GetID(self): return self.ID # 合成配置编号ID
@@ -1065,7 +1150,8 @@
def GetSuccessRate(self): return self.SuccessRate # 成功率万分率
def GetSuccessRateMax(self): return self.SuccessRateMax # 最大成功率万分率
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():
@@ -1128,6 +1214,42 @@
def GetStarsNeed(self): return self.StarsNeed # 全身星数
def GetAttrType(self): return self.AttrType # 属性类型
def GetAttrValue(self): return self.AttrValue # 属性值
+
+# 神兽表
+class IPY_Dogz():
+
+ def __init__(self):
+ self.DogzID = 0
+ self.BaseAttrTypes = []
+ self.BaseAttrValues = []
+ self.HelpBattleSkills = []
+ self.FightPowerEx = 0
+ self.EquipPlaceColorList = []
+ 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 GetFightPowerEx(self): return self.FightPowerEx # 助战附加战力
+ def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制
+
+# 神兽强化表
+class IPY_DogzEquipPlus():
+
+ def __init__(self):
+ self.EquipPlace = 0
+ self.PlusLV = 0
+ self.PlusAttrTypes = []
+ self.PlusAttrValues = []
+ self.PlusLVUPTotalExp = 0
+ return
+
+ def GetEquipPlace(self): return self.EquipPlace # 装备位
+ def GetPlusLV(self): return self.PlusLV # 强化等级
+ def GetPlusAttrTypes(self): return self.PlusAttrTypes # 强化属性类型列表
+ def GetPlusAttrValues(self): return self.PlusAttrValues # 强化属性值列表
+ def GetPlusLVUPTotalExp(self): return self.PlusLVUPTotalExp # 升级所需累计熟练度总值
# 符印表
class IPY_Rune():
@@ -1223,6 +1345,7 @@
def __init__(self):
self.ID = 0
self.Quality = 0
+ self.UnlockSys = ""
self.UnLockNeedItemID = 0
self.UnLockNeedItemCnt = 0
self.DecomposeExp = 0
@@ -1231,11 +1354,13 @@
self.UseNeedRank = 0
self.SkillID = []
self.SkillUnLock = []
+ self.SkillUnLockSys = []
self.InitFightPower = 0
return
def GetID(self): return self.ID # 灵兽NPCID
def GetQuality(self): return self.Quality # 品质
+ def GetUnlockSys(self): return self.UnlockSys # 解锁广播提示
def GetUnLockNeedItemID(self): return self.UnLockNeedItemID # 解锁灵兽物品ID
def GetUnLockNeedItemCnt(self): return self.UnLockNeedItemCnt # 解锁所需物品数量
def GetDecomposeExp(self): return self.DecomposeExp # 分解单个解锁物品可获得升阶经验
@@ -1244,6 +1369,7 @@
def GetUseNeedRank(self): return self.UseNeedRank # 多少阶可切换外观
def GetSkillID(self): return self.SkillID # 灵兽技能ID
def GetSkillUnLock(self): return self.SkillUnLock # 灵兽技能解锁需要阶数
+ def GetSkillUnLockSys(self): return self.SkillUnLockSys # 灵兽技能解锁提示
def GetInitFightPower(self): return self.InitFightPower # 初始战力
# 装备分解属性表
@@ -1301,7 +1427,8 @@
self.MaxLV = 0
self.UseNeedRank = 0
self.Quality = 0
- self.InitFightPower = 0
+ self.InitFightPower = 0
+ self.UnlockSys = ""
return
def GetHorseID(self): return self.HorseID # 坐骑编号ID
@@ -1312,7 +1439,8 @@
def GetMaxLV(self): return self.MaxLV # 坐骑最高等级
def GetUseNeedRank(self): return self.UseNeedRank # 多少阶可切换外观
def GetQuality(self): return self.Quality # 坐骑品质
- def GetInitFightPower(self): return self.InitFightPower # 初始战力
+ def GetInitFightPower(self): return self.InitFightPower # 初始战力
+ def GetUnlockSys(self): return self.UnlockSys # 解锁广播提示
# 坐骑升级表
class IPY_HorseUp():
@@ -1323,7 +1451,8 @@
self.NeedExp = 0
self.AttrType = []
self.AttrValue = []
- self.SkillID = []
+ self.SkillID = []
+ self.SysMark = ""
return
def GetHorseID(self): return self.HorseID # 坐骑编号ID
@@ -1331,7 +1460,8 @@
def GetNeedExp(self): return self.NeedExp # 升级所需经验
def GetAttrType(self): return self.AttrType # 激活加成属性类型
def GetAttrValue(self): return self.AttrValue # 激活加成属性值
- def GetSkillID(self): return self.SkillID # 可获得的技能ID
+ def GetSkillID(self): return self.SkillID # 可获得的技能ID
+ def GetSysMark(self): return self.SysMark # 广播提示
# 玩家等级表
class IPY_PlayerLV():
@@ -1428,6 +1558,7 @@
self.NPCID = 0
self.IsStrengthenByPlayerCount = 0
self.LVStrengthenType = 0
+ self.CmpNPCBaseLV = 0
self.HitTime = 0
self.DefCoefficient = 0
self.AtkCoefficient = 0
@@ -1445,6 +1576,7 @@
def GetNPCID(self): return self.NPCID # NPCID
def GetIsStrengthenByPlayerCount(self): return self.IsStrengthenByPlayerCount # 是否根据人数成长
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 # 人物攻击系数
@@ -1830,7 +1962,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 # 装备阶级
@@ -1857,7 +1992,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():
@@ -1899,6 +2037,7 @@
self.PreTreasure = 0
self.SuccID = []
self.Potentials = []
+ self.SkillPower = []
self.NeedItem = {}
return
@@ -1907,6 +2046,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 # 需要消耗物品
# 法宝升级表
@@ -1918,7 +2058,9 @@
self.NeedExp = 0
self.AddAttr = {}
self.UnLockSkill = []
- self.PrivilegeID = 0
+ self.ActiveMWID = 0
+ self.ItemAward = []
+ self.ActiveSoulID = 0
return
def GetMWID(self): return self.MWID # 法宝ID
@@ -1926,7 +2068,9 @@
def GetNeedExp(self): return self.NeedExp # 需要经验
def GetAddAttr(self): return self.AddAttr # 属性
def GetUnLockSkill(self): return self.UnLockSkill # 解锁的技能
- def GetPrivilegeID(self): return self.PrivilegeID # 特权ID
+ def GetActiveMWID(self): return self.ActiveMWID # 激活法宝ID
+ def GetItemAward(self): return self.ItemAward # 物品奖励[itemID,cnt,isbind]
+ def GetActiveSoulID(self): return self.ActiveSoulID # 激活魂ID
# 法宝特权表
class IPY_TreasurePrivilege():
@@ -1937,7 +2081,8 @@
self.SingleValue = 0
self.MaxValue = 0
self.AddAttr = {}
- self.ItemAward = []
+ self.ItemAward = []
+ self.SuccessList = []
return
def GetPrivilegeID(self): return self.PrivilegeID # 特权ID
@@ -1945,7 +2090,8 @@
def GetSingleValue(self): return self.SingleValue # 进度
def GetMaxValue(self): return self.MaxValue # 最大进度
def GetAddAttr(self): return self.AddAttr # 属性
- def GetItemAward(self): return self.ItemAward # 物品奖励
+ def GetItemAward(self): return self.ItemAward # 物品奖励
+ def GetSuccessList(self): return self.SuccessList # 需要完成成就
# 法宝技能升级表
class IPY_TreasureSkill():
@@ -2133,9 +2279,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
@@ -2143,9 +2292,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():
@@ -2272,12 +2424,18 @@
self.NPCID = 0
self.MapID = 0
self.RefreshMark = 0
+ self.IsNeedShunt = 0
+ self.RelatedType = 0
+ self.RelatedID = 0
self.StoneNPCID = 0
return
def GetNPCID(self): return self.NPCID # ID
def GetMapID(self): return self.MapID # 地图ID
def GetRefreshMark(self): return self.RefreshMark # 刷新标识点
+ def GetIsNeedShunt(self): return self.IsNeedShunt # 是否需要分流
+ def GetRelatedType(self): return self.RelatedType # 刷怪关联类型
+ def GetRelatedID(self): return self.RelatedID # 关联ID
def GetStoneNPCID(self): return self.StoneNPCID # 墓碑NPCID
# 古神禁地表
@@ -2375,7 +2533,7 @@
self.DataMapID = 0
self.InspireType = 0
self.InspireMaxLV = 0
- self.MoneyCount = 0
+ self.MoneyCount = ""
return
def GetDataMapID(self): return self.DataMapID # 地图ID
@@ -2450,6 +2608,7 @@
self.RandTimeList1 = []
self.RandItemList2 = []
self.RandTimeList2 = []
+ self.RandItemByUseCount = {}
self.JobItemList = []
self.MoneyType = 0
self.MoneyCount = 0
@@ -2464,6 +2623,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 # 货币数量
@@ -2657,6 +2817,8 @@
self.GridItemInfo = {}
self.JobItemList = []
self.GridItemRateListFree = []
+ self.FreeGridItemRateList2 = []
+ self.FreeGridItemRateList3 = {}
self.GridItemRateList1 = []
self.GridItemRateList2 = []
self.GridItemRateList3 = {}
@@ -2668,6 +2830,8 @@
def GetGridItemInfo(self): return self.GridItemInfo # 格子编号对应物品信息 {"编号":[物品ID, 个数], ...}
def GetJobItemList(self): return self.JobItemList # 职业物品组列表 [[职业1物品, 职业2物品, ...], ...]
def GetGridItemRateListFree(self): return self.GridItemRateListFree # 免费产出格子编号饼图 [[概率, 格子编号], ...]
+ def GetFreeGridItemRateList2(self): return self.FreeGridItemRateList2 # 免费每满x次保底产出格子编号饼图 [[概率, 格子编号], ...]
+ def GetFreeGridItemRateList3(self): return self.FreeGridItemRateList3 # 免费第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...}
def GetGridItemRateList1(self): return self.GridItemRateList1 # 常规产出格子编号饼图 [[概率, 格子编号], ...]
def GetGridItemRateList2(self): return self.GridItemRateList2 # 每满x次保底产出格子编号饼图 [[概率, 格子编号], ...]
def GetGridItemRateList3(self): return self.GridItemRateList3 # 第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...}
@@ -2697,9 +2861,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
@@ -2707,9 +2874,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():
@@ -2732,6 +2902,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():
@@ -2749,39 +2951,61 @@
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():
def __init__(self):
+ self.TemplateID = 0
self.ID = 0
self.TotalTimes = 0
self.SingleTimes = 0
- self.RewardItemID1 = []
- self.RewardItemCnt1 = []
- self.RewardItemID2 = []
- self.RewardItemCnt2 = []
- self.RewardItemID3 = []
- self.RewardItemCnt3 = []
- self.WorldLVList = []
+ self.Reward = []
return
- def GetID(self): return self.ID # ID
+ def GetTemplateID(self): return self.TemplateID # 模板ID
+ def GetID(self): return self.ID # 活动条目ID
def GetTotalTimes(self): return self.TotalTimes # 可完成的总次数,0表示不限次数
def GetSingleTimes(self): return self.SingleTimes # 单次领奖需要的次数
- def GetRewardItemID1(self): return self.RewardItemID1 # 奖励物品ID1
- def GetRewardItemCnt1(self): return self.RewardItemCnt1 # 奖励物品数量1
- def GetRewardItemID2(self): return self.RewardItemID2 # 奖励物品ID2
- def GetRewardItemCnt2(self): return self.RewardItemCnt2 # 奖励物品数量2
- def GetRewardItemID3(self): return self.RewardItemID3 # 奖励物品ID3
- def GetRewardItemCnt3(self): return self.RewardItemCnt3 # 奖励物品数量3
- def GetWorldLVList(self): return self.WorldLVList # 世界等级
+ def GetReward(self): return self.Reward # 奖励物品ID1
+
+# 多倍修行点活动时间表
+class IPY_ActRealmPoint():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.Multiple = 0
+ self.LVLimit = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetMultiple(self): return self.Multiple # 倍数
+ def GetLVLimit(self): return self.LVLimit # 限制等级
# 宗门试炼兑换表
class IPY_TrialExchange():
def __init__(self):
self.ID = 0
- self.ExchangeItemID = 0
+ self.ExchangeItemIDList = []
self.ExchangeItemCount = 0
self.ExchangeItemIsBind = 0
self.CostItemID = 0
@@ -2789,7 +3013,7 @@
return
def GetID(self): return self.ID # 兑换ID
- def GetExchangeItemID(self): return self.ExchangeItemID # 兑换物品ID
+ def GetExchangeItemIDList(self): return self.ExchangeItemIDList # 兑换物品ID
def GetExchangeItemCount(self): return self.ExchangeItemCount # 兑换物品个数
def GetExchangeItemIsBind(self): return self.ExchangeItemIsBind # 兑换物品是否绑定
def GetCostItemID(self): return self.CostItemID # 消耗物品ID
@@ -2822,6 +3046,36 @@
def GetIndex(self): return self.Index # 索引
def GetNeedPoint(self): return self.NeedPoint # 需要点数
def GetAward(self): return self.Award # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
+
+# 地图NPC配置表-挂机点
+class IPY_MapEventPoint():
+
+ def __init__(self):
+ self.MapID = 0
+ self.NPCID = 0
+ self.LowLV = 0
+ self.HighestLV = 0
+ self.Defense = 0
+ return
+
+ def GetMapID(self): return self.MapID
+ def GetNPCID(self): return self.NPCID
+ 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 # 天赋系别
def Log(msg, playerID=0, par=0):
@@ -2867,6 +3121,10 @@
self.ipyItemPlusSumAttrLen = len(self.ipyItemPlusSumAttrCache)
self.ipyRoleEquipStarsCache = self.__LoadFileData("RoleEquipStars", IPY_RoleEquipStars)
self.ipyRoleEquipStarsLen = len(self.ipyRoleEquipStarsCache)
+ self.ipyDogzCache = self.__LoadFileData("Dogz", IPY_Dogz)
+ self.ipyDogzLen = len(self.ipyDogzCache)
+ self.ipyDogzEquipPlusCache = self.__LoadFileData("DogzEquipPlus", IPY_DogzEquipPlus)
+ self.ipyDogzEquipPlusLen = len(self.ipyDogzEquipPlusCache)
self.ipyRuneCache = self.__LoadFileData("Rune", IPY_Rune)
self.ipyRuneLen = len(self.ipyRuneCache)
self.ipyEquipWashCache = self.__LoadFileData("EquipWash", IPY_EquipWash)
@@ -3009,16 +3267,28 @@
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)
self.ipyAllPeoplePartyLen = len(self.ipyAllPeoplePartyCache)
self.ipyAllPeoplePartyAwardCache = self.__LoadFileData("AllPeoplePartyAward", IPY_AllPeoplePartyAward)
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)
Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
Log("IPY_DataMgr InitOK!")
return
@@ -3110,22 +3380,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
@@ -3201,6 +3475,10 @@
def GetItemPlusSumAttrByIndex(self, index): return self.ipyItemPlusSumAttrCache[index]
def GetRoleEquipStarsCount(self): return self.ipyRoleEquipStarsLen
def GetRoleEquipStarsByIndex(self, index): return self.ipyRoleEquipStarsCache[index]
+ def GetDogzCount(self): return self.ipyDogzLen
+ def GetDogzByIndex(self, index): return self.ipyDogzCache[index]
+ def GetDogzEquipPlusCount(self): return self.ipyDogzEquipPlusLen
+ def GetDogzEquipPlusByIndex(self, index): return self.ipyDogzEquipPlusCache[index]
def GetRuneCount(self): return self.ipyRuneLen
def GetRuneByIndex(self, index): return self.ipyRuneCache[index]
def GetEquipWashCount(self): return self.ipyEquipWashLen
@@ -3343,16 +3621,28 @@
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
def GetAllPeoplePartyByIndex(self, index): return self.ipyAllPeoplePartyCache[index]
def GetAllPeoplePartyAwardCount(self): return self.ipyAllPeoplePartyAwardLen
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]
IPYData = IPY_DataMgr()
def IPY_Data(): return IPYData
@@ -3547,7 +3837,7 @@
'''查询条件下与对应查询字段参考值相近的数据实例;参考值小于配置表最小值时返回none,大于最大值时返回最大值对应的实例
@param dtName: 表名,不含tag
@param keyName: 参考字段名
- @param keyValue: 参考字段值
+ @param keyValue: 参考字段值,大于等于字段值时返回对应数据
@param conditionDict: 查询条件,{查询字段名:字段值, ...}
@return: 找不到数据返回 None , 否则返回对应的 ipyData 数据实例
'''
@@ -3579,7 +3869,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