From fd6fd0602d6dffa638bdd9bdcb46445a9430520e Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 23 十月 2018 19:10:36 +0800
Subject: [PATCH] 4283 增加法宝经验物品删除处理
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 103 +++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 94 insertions(+), 9 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index d8226da..c9510ea 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -133,6 +133,7 @@
("list", "HelpBattleSkills", 0),
("DWORD", "FightPowerEx", 0),
("list", "EquipPlaceColorList", 0),
+ ("list", "HelpBattleNotify", 0),
),
"DogzEquipPlus":(
@@ -374,6 +375,7 @@
("DWORD", "CftFaintDefRate", 0),
("DWORD", "CftAtkSpeed", 0),
("DWORD", "CftLuckyHit", 0),
+ ("DWORD", "CftSpeedPer", 0),
),
"NPCDropItem":(
@@ -627,11 +629,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":(
@@ -797,6 +801,7 @@
("list", "RandTimeList1", 0),
("list", "RandItemList2", 0),
("list", "RandTimeList2", 0),
+ ("dict", "RandItemByUseCount", 0),
("list", "JobItemList", 0),
("BYTE", "MoneyType", 0),
("DWORD", "MoneyCount", 0),
@@ -1006,6 +1011,26 @@
("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),
),
}
@@ -1217,7 +1242,8 @@
self.BaseAttrValues = []
self.HelpBattleSkills = []
self.FightPowerEx = 0
- self.EquipPlaceColorList = []
+ self.EquipPlaceColorList = []
+ self.HelpBattleNotify = []
return
def GetDogzID(self): return self.DogzID # 神兽ID
@@ -1225,7 +1251,8 @@
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 # 穿戴装备颜色限制
+ def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制
+ def GetHelpBattleNotify(self): return self.HelpBattleNotify # 助战广播 ["广播key",[参数1,参数2,...],广播CD分钟]
# 神兽强化表
class IPY_DogzEquipPlus():
@@ -1705,7 +1732,8 @@
self.CftIgnoreDefRateReduce = 0
self.CftFaintDefRate = 0
self.CftAtkSpeed = 0
- self.CftLuckyHit = 0
+ self.CftLuckyHit = 0
+ self.CftSpeedPer = 0
return
def GetLV(self): return self.LV # 等级
@@ -1727,7 +1755,8 @@
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 # 移动速度百分比系数
# NPC掉落表
class IPY_NPCDropItem():
@@ -2237,11 +2266,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
@@ -2256,12 +2287,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():
@@ -2601,6 +2634,7 @@
self.RandTimeList1 = []
self.RandItemList2 = []
self.RandTimeList2 = []
+ self.RandItemByUseCount = {}
self.JobItemList = []
self.MoneyType = 0
self.MoneyCount = 0
@@ -2615,6 +2649,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 # 货币数量
@@ -3054,6 +3089,48 @@
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 # 活动更新时发送邮件奖励物品
def Log(msg, playerID=0, par=0):
@@ -3265,6 +3342,10 @@
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)
Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
Log("IPY_DataMgr InitOK!")
return
@@ -3617,6 +3698,10 @@
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]
IPYData = IPY_DataMgr()
def IPY_Data(): return IPYData
@@ -3811,7 +3896,7 @@
'''查询条件下与对应查询字段参考值相近的数据实例;参考值小于配置表最小值时返回none,大于最大值时返回最大值对应的实例
@param dtName: 表名,不含tag
@param keyName: 参考字段名
- @param keyValue: 参考字段值
+ @param keyValue: 参考字段值,大于等于字段值时返回对应数据
@param conditionDict: 查询条件,{查询字段名:字段值, ...}
@return: 找不到数据返回 None , 否则返回对应的 ipyData 数据实例
'''
@@ -3843,7 +3928,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