From c2bc7f00ca8508e767f478109970f1707fb590fe Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 21 九月 2018 18:08:30 +0800
Subject: [PATCH] 1 礼包卡以权限分应用
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 214 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 185 insertions(+), 29 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index e2e3052..e36210d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -94,6 +94,7 @@
("WORD", "SuccessRateMax", 0),
("BYTE", "AddonsCountMax", 0),
("char", "SysMark", 0),
+ ("BYTE", "SysMarkParamType", 0),
),
"ItemPlus":(
@@ -130,6 +131,7 @@
("list", "BaseAttrTypes", 0),
("list", "BaseAttrValues", 0),
("list", "HelpBattleSkills", 0),
+ ("DWORD", "FightPowerEx", 0),
("list", "EquipPlaceColorList", 0),
),
@@ -495,6 +497,7 @@
("DWORD", "SkillAtkRateC", 0),
("DWORD", "SpeedPerC", 0),
("DWORD", "AtkSpeedC", 0),
+ ("DWORD", "SkillAtkRateReduceC", 0),
),
"Success":(
@@ -518,6 +521,7 @@
("DWORD", "PreTreasure", 0),
("list", "SuccID", 0),
("list", "Potentials", 0),
+ ("list", "SkillPower", 0),
("dict", "NeedItem", 0),
),
@@ -529,6 +533,7 @@
("list", "UnLockSkill", 0),
("DWORD", "ActiveMWID", 0),
("list", "ItemAward", 0),
+ ("DWORD", "ActiveSoulID", 0),
),
"TreasurePrivilege":(
@@ -632,9 +637,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":(
@@ -697,6 +705,9 @@
("DWORD", "NPCID", 1),
("DWORD", "MapID", 0),
("BYTE", "RefreshMark", 0),
+ ("BYTE", "IsNeedShunt", 0),
+ ("BYTE", "RelatedType", 0),
+ ("WORD", "RelatedID", 0),
("DWORD", "StoneNPCID", 0),
),
@@ -745,7 +756,7 @@
("DWORD", "DataMapID", 1),
("BYTE", "InspireType", 1),
("WORD", "InspireMaxLV", 0),
- ("DWORD", "MoneyCount", 0),
+ ("char", "MoneyCount", 0),
),
"RuneCompound":(
@@ -900,9 +911,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":(
@@ -915,6 +929,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),
@@ -923,12 +952,27 @@
("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),
),
"TrialExchange":(
@@ -1082,7 +1126,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
@@ -1095,7 +1140,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():
@@ -1167,6 +1213,7 @@
self.BaseAttrTypes = []
self.BaseAttrValues = []
self.HelpBattleSkills = []
+ self.FightPowerEx = 0
self.EquipPlaceColorList = []
return
@@ -1174,6 +1221,7 @@
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 # 穿戴装备颜色限制
# 神兽强化表
@@ -1902,7 +1950,8 @@
self.SuperHitReduceC = 0
self.SkillAtkRateC = 0
self.SpeedPerC = 0
- self.AtkSpeedC = 0
+ self.AtkSpeedC = 0
+ self.SkillAtkRateReduceC = 0
return
def GetClassLV(self): return self.ClassLV # 装备阶级
@@ -1929,7 +1978,8 @@
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 # 技能减伤百分比系数
# 成就表
class IPY_Success():
@@ -1971,6 +2021,7 @@
self.PreTreasure = 0
self.SuccID = []
self.Potentials = []
+ self.SkillPower = []
self.NeedItem = {}
return
@@ -1979,6 +2030,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 # 需要消耗物品
# 法宝升级表
@@ -1991,7 +2043,8 @@
self.AddAttr = {}
self.UnLockSkill = []
self.ActiveMWID = 0
- self.ItemAward = []
+ self.ItemAward = []
+ self.ActiveSoulID = 0
return
def GetMWID(self): return self.MWID # 法宝ID
@@ -2000,7 +2053,8 @@
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
# 法宝特权表
class IPY_TreasurePrivilege():
@@ -2209,9 +2263,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
@@ -2219,9 +2276,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():
@@ -2348,12 +2408,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
# 古神禁地表
@@ -2451,7 +2517,7 @@
self.DataMapID = 0
self.InspireType = 0
self.InspireMaxLV = 0
- self.MoneyCount = 0
+ self.MoneyCount = ""
return
def GetDataMapID(self): return self.DataMapID # 地图ID
@@ -2777,9 +2843,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
@@ -2787,9 +2856,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():
@@ -2812,6 +2884,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():
@@ -2829,6 +2933,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():
@@ -2845,6 +2968,19 @@
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
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetMultiple(self): return self.Multiple # 倍数
+ def GetLVLimit(self): return self.LVLimit # 限制等级
# 宗门试炼兑换表
class IPY_TrialExchange():
@@ -3100,10 +3236,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)
@@ -3203,22 +3347,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
@@ -3440,10 +3588,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
--
Gitblit v1.8.0