From 2cae939cd14f55ce8b4ab2b7289bc93bd558f5f6 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 05 六月 2019 14:33:22 +0800
Subject: [PATCH] 7117 【后端】装备分解每次获得的道具开出概率配置

---
 ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py |  188 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 161 insertions(+), 27 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index 52e00c7..4c2fa49 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -61,6 +61,18 @@
                         ("dict", "LimitInfo", 0),
                         ),
 
+                "AuctionItem":(
+                        ("DWORD", "AuctionItemID", 1),
+                        ("BYTE", "NoticeSaleMinutes", 0),
+                        ("WORD", "FamilySaleMinutes", 0),
+                        ("WORD", "WorldSaleMinutes", 0),
+                        ("WORD", "BasePrice", 0),
+                        ("WORD", "BuyoutPrice", 0),
+                        ("WORD", "BiddingAdd", 0),
+                        ("BYTE", "NeedWorldNotify", 0),
+                        ("BYTE", "Sortpriority", 0),
+                        ),
+
                 "DailyAction":(
                         ("DWORD", "DailyID", 1),
                         ("dict", "OpenTimeDict", 0),
@@ -72,6 +84,15 @@
                         ("DWORD", "ID", 0),
                         ("BYTE", "OpenServerWeek", 1),
                         ("DWORD", "OpenServerDay", 0),
+                        ("BYTE", "DailyID", 0),
+                        ("list", "OpenTimeList", 0),
+                        ("DWORD", "Duration", 0),
+                        ("dict", "NotifyInfo", 0),
+                        ),
+
+                "DailyActionCustomMix":(
+                        ("DWORD", "ID", 0),
+                        ("DWORD", "MixServerDay", 1),
                         ("BYTE", "DailyID", 0),
                         ("list", "OpenTimeList", 0),
                         ("DWORD", "Duration", 0),
@@ -95,6 +116,19 @@
                         ("DWORD", "ID", 0),
                         ("BYTE", "OpenServerWeek", 1),
                         ("DWORD", "OpenServerDay", 0),
+                        ("DWORD", "DataMapID", 0),
+                        ("BYTE", "StartHour", 0),
+                        ("BYTE", "StartMinute", 0),
+                        ("BYTE", "EndHour", 0),
+                        ("BYTE", "EndMinute", 0),
+                        ("BYTE", "CanEnter", 0),
+                        ("BYTE", "StateValue", 0),
+                        ("dict", "NotifyInfoDict", 0),
+                        ),
+
+                "FBStateTimeCustomMix":(
+                        ("DWORD", "ID", 0),
+                        ("DWORD", "MixServerDay", 1),
                         ("DWORD", "DataMapID", 0),
                         ("BYTE", "StartHour", 0),
                         ("BYTE", "StartMinute", 0),
@@ -247,9 +281,8 @@
 
                 "ActExpRate":(
                         ("DWORD", "CfgID", 1),
-                        ("char", "ActMark", 0),
-                        ("list", "PlatformList", 0),
-                        ("list", "ServerIDList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("list", "ServerGroupIDListExcept", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
                         ("list", "StartTimeList", 0),
@@ -276,9 +309,8 @@
 
                 "ActBossReborn":(
                         ("DWORD", "CfgID", 1),
-                        ("char", "ActMark", 0),
-                        ("list", "PlatformList", 0),
-                        ("list", "ServerIDList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("list", "ServerGroupIDListExcept", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
                         ("BYTE", "ResetType", 0),
@@ -349,9 +381,8 @@
 
                 "ActWishingWell":(
                         ("DWORD", "CfgID", 1),
-                        ("char", "ActMark", 0),
-                        ("list", "PlatformList", 0),
-                        ("list", "ServerIDList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("list", "ServerGroupIDListExcept", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
                         ("BYTE", "IsDayReset", 0),
@@ -437,6 +468,7 @@
                         ("BYTE", "ResetType", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
                         ("WORD", "LVLimit", 0),
                         ),
 
@@ -486,6 +518,12 @@
                         ("dict", "NotifyInfoEnd", 0),
                         ("list", "NotifyInfoLoop", 0),
                         ("WORD", "LVLimit", 0),
+                        ),
+
+                "FairyDomain":(
+                        ("WORD", "ID", 1),
+                        ("DWORD", "HourCntPubLimit", 0),
+                        ("DWORD", "DayCntPubLimit", 0),
                         ),
                 }
 
@@ -552,6 +590,31 @@
     def GetQueryType(self): return self.QueryType # 查询类型
     def GetLimitInfo(self): return self.LimitInfo # 限制条件
 
+# 拍卖物品表
+class IPY_AuctionItem():
+    
+    def __init__(self):
+        self.AuctionItemID = 0
+        self.NoticeSaleMinutes = 0
+        self.FamilySaleMinutes = 0
+        self.WorldSaleMinutes = 0
+        self.BasePrice = 0
+        self.BuyoutPrice = 0
+        self.BiddingAdd = 0
+        self.NeedWorldNotify = 0
+        self.Sortpriority = 0
+        return
+        
+    def GetAuctionItemID(self): return self.AuctionItemID
+    def GetNoticeSaleMinutes(self): return self.NoticeSaleMinutes # 预告拍卖分钟
+    def GetFamilySaleMinutes(self): return self.FamilySaleMinutes # 仙盟拍卖分钟
+    def GetWorldSaleMinutes(self): return self.WorldSaleMinutes # 全服拍卖分钟
+    def GetBasePrice(self): return self.BasePrice # 起拍价
+    def GetBuyoutPrice(self): return self.BuyoutPrice # 一口价
+    def GetBiddingAdd(self): return self.BiddingAdd # 竞价增加
+    def GetNeedWorldNotify(self): return self.NeedWorldNotify # 是否需要广播
+    def GetSortpriority(self): return self.Sortpriority # 排序优先级归组
+
 # 日常活动表
 class IPY_DailyAction():
     
@@ -583,6 +646,25 @@
     def GetID(self): return self.ID # ID
     def GetOpenServerWeek(self): return self.OpenServerWeek # 开服是周几
     def GetOpenServerDay(self): return self.OpenServerDay # 开服第几天
+    def GetDailyID(self): return self.DailyID # 日常活动ID
+    def GetOpenTimeList(self): return self.OpenTimeList # 开启时间列表
+    def GetDuration(self): return self.Duration # 持续时间, 0为不限制
+    def GetNotifyInfo(self): return self.NotifyInfo # 广播提示信息
+
+# 日常活动表定制表合服
+class IPY_DailyActionCustomMix():
+    
+    def __init__(self):
+        self.ID = 0
+        self.MixServerDay = 0
+        self.DailyID = 0
+        self.OpenTimeList = []
+        self.Duration = 0
+        self.NotifyInfo = {}
+        return
+        
+    def GetID(self): return self.ID # ID
+    def GetMixServerDay(self): return self.MixServerDay # 合服第几天
     def GetDailyID(self): return self.DailyID # 日常活动ID
     def GetOpenTimeList(self): return self.OpenTimeList # 开启时间列表
     def GetDuration(self): return self.Duration # 持续时间, 0为不限制
@@ -635,6 +717,33 @@
     def GetID(self): return self.ID # ID
     def GetOpenServerWeek(self): return self.OpenServerWeek # 开服是周几
     def GetOpenServerDay(self): return self.OpenServerDay # 开服第几天
+    def GetDataMapID(self): return self.DataMapID # 所属的玩法数据地图ID
+    def GetStartHour(self): return self.StartHour # 开始时
+    def GetStartMinute(self): return self.StartMinute # 开始分
+    def GetEndHour(self): return self.EndHour # 结束时
+    def GetEndMinute(self): return self.EndMinute # 结束分
+    def GetCanEnter(self): return self.CanEnter # 是否可进入副本
+    def GetStateValue(self): return self.StateValue # 状态值
+    def GetNotifyInfoDict(self): return self.NotifyInfoDict # 广播提示信息
+
+# 副本状态时间定制表合服
+class IPY_FBStateTimeCustomMix():
+    
+    def __init__(self):
+        self.ID = 0
+        self.MixServerDay = 0
+        self.DataMapID = 0
+        self.StartHour = 0
+        self.StartMinute = 0
+        self.EndHour = 0
+        self.EndMinute = 0
+        self.CanEnter = 0
+        self.StateValue = 0
+        self.NotifyInfoDict = {}
+        return
+        
+    def GetID(self): return self.ID # ID
+    def GetMixServerDay(self): return self.MixServerDay # 合服第几天
     def GetDataMapID(self): return self.DataMapID # 所属的玩法数据地图ID
     def GetStartHour(self): return self.StartHour # 开始时
     def GetStartMinute(self): return self.StartMinute # 开始分
@@ -943,9 +1052,8 @@
     
     def __init__(self):
         self.CfgID = 0
-        self.ActMark = ""
-        self.PlatformList = []
-        self.ServerIDList = []
+        self.ServerGroupIDList = []
+        self.ServerGroupIDListExcept = []
         self.StartDate = ""
         self.EndDate = ""
         self.StartTimeList = []
@@ -958,9 +1066,8 @@
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
-    def GetActMark(self): return self.ActMark # 活动组标记
-    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
-    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表
+    def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # 排除的服务器组ID列表
     def GetStartDate(self): return self.StartDate # 开启日期
     def GetEndDate(self): return self.EndDate # 结束日期
     def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段
@@ -1003,9 +1110,8 @@
     
     def __init__(self):
         self.CfgID = 0
-        self.ActMark = ""
-        self.PlatformList = []
-        self.ServerIDList = []
+        self.ServerGroupIDList = []
+        self.ServerGroupIDListExcept = []
         self.StartDate = ""
         self.EndDate = ""
         self.ResetType = 0
@@ -1016,9 +1122,8 @@
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
-    def GetActMark(self): return self.ActMark # 活动组标记
-    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
-    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表
+    def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # 排除的服务器组ID列表
     def GetStartDate(self): return self.StartDate # 开启日期
     def GetEndDate(self): return self.EndDate # 结束日期
     def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
@@ -1155,9 +1260,8 @@
     
     def __init__(self):
         self.CfgID = 0
-        self.ActMark = ""
-        self.PlatformList = []
-        self.ServerIDList = []
+        self.ServerGroupIDList = []
+        self.ServerGroupIDListExcept = []
         self.StartDate = ""
         self.EndDate = ""
         self.IsDayReset = 0
@@ -1169,9 +1273,8 @@
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
-    def GetActMark(self): return self.ActMark # 活动组标记
-    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
-    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表
+    def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # 排除的服务器组ID列表
     def GetStartDate(self): return self.StartDate # 开启日期
     def GetEndDate(self): return self.EndDate # 结束日期
     def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
@@ -1329,6 +1432,7 @@
         self.ResetType = 0
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
         self.LVLimit = 0
         return
         
@@ -1343,6 +1447,7 @@
     def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
     def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
     def GetLVLimit(self): return self.LVLimit # 限制等级
 
 # 节日巡礼活动时间表
@@ -1444,6 +1549,19 @@
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
     def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
     def GetLVLimit(self): return self.LVLimit # 限制等级
+
+# 缥缈仙域表
+class IPY_FairyDomain():
+    
+    def __init__(self):
+        self.ID = 0
+        self.HourCntPubLimit = 0
+        self.DayCntPubLimit = 0
+        return
+        
+    def GetID(self): return self.ID # 事件编号
+    def GetHourCntPubLimit(self): return self.HourCntPubLimit # 全服每小时次数限制
+    def GetDayCntPubLimit(self): return self.DayCntPubLimit # 全服每天次数限制
 
 
 def Log(msg, playerID=0, par=0):
@@ -1477,14 +1595,20 @@
         self.ipyFamilyLen = len(self.ipyFamilyCache)
         self.ipyMarketQueryCache = self.__LoadFileData("MarketQuery", IPY_MarketQuery)
         self.ipyMarketQueryLen = len(self.ipyMarketQueryCache)
+        self.ipyAuctionItemCache = self.__LoadFileData("AuctionItem", IPY_AuctionItem)
+        self.ipyAuctionItemLen = len(self.ipyAuctionItemCache)
         self.ipyDailyActionCache = self.__LoadFileData("DailyAction", IPY_DailyAction)
         self.ipyDailyActionLen = len(self.ipyDailyActionCache)
         self.ipyDailyActionCustomCache = self.__LoadFileData("DailyActionCustom", IPY_DailyActionCustom)
         self.ipyDailyActionCustomLen = len(self.ipyDailyActionCustomCache)
+        self.ipyDailyActionCustomMixCache = self.__LoadFileData("DailyActionCustomMix", IPY_DailyActionCustomMix)
+        self.ipyDailyActionCustomMixLen = len(self.ipyDailyActionCustomMixCache)
         self.ipyFBStateTimeCache = self.__LoadFileData("FBStateTime", IPY_FBStateTime)
         self.ipyFBStateTimeLen = len(self.ipyFBStateTimeCache)
         self.ipyFBStateTimeCustomCache = self.__LoadFileData("FBStateTimeCustom", IPY_FBStateTimeCustom)
         self.ipyFBStateTimeCustomLen = len(self.ipyFBStateTimeCustomCache)
+        self.ipyFBStateTimeCustomMixCache = self.__LoadFileData("FBStateTimeCustomMix", IPY_FBStateTimeCustomMix)
+        self.ipyFBStateTimeCustomMixLen = len(self.ipyFBStateTimeCustomMixCache)
         self.ipyFBFuncCache = self.__LoadFileData("FBFunc", IPY_FBFunc)
         self.ipyFBFuncLen = len(self.ipyFBFuncCache)
         self.ipyFBLineCache = self.__LoadFileData("FBLine", IPY_FBLine)
@@ -1555,6 +1679,8 @@
         self.ipyNewUniquenessArriveLen = len(self.ipyNewUniquenessArriveCache)
         self.ipyActLuckyTreasureCache = self.__LoadFileData("ActLuckyTreasure", IPY_ActLuckyTreasure)
         self.ipyActLuckyTreasureLen = len(self.ipyActLuckyTreasureCache)
+        self.ipyFairyDomainCache = self.__LoadFileData("FairyDomain", IPY_FairyDomain)
+        self.ipyFairyDomainLen = len(self.ipyFairyDomainCache)
         Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
         Log("IPY_DataMgr InitOK!")
         return
@@ -1729,14 +1855,20 @@
     def GetFamilyByIndex(self, index): return self.ipyFamilyCache[index]
     def GetMarketQueryCount(self): return self.ipyMarketQueryLen
     def GetMarketQueryByIndex(self, index): return self.ipyMarketQueryCache[index]
+    def GetAuctionItemCount(self): return self.ipyAuctionItemLen
+    def GetAuctionItemByIndex(self, index): return self.ipyAuctionItemCache[index]
     def GetDailyActionCount(self): return self.ipyDailyActionLen
     def GetDailyActionByIndex(self, index): return self.ipyDailyActionCache[index]
     def GetDailyActionCustomCount(self): return self.ipyDailyActionCustomLen
     def GetDailyActionCustomByIndex(self, index): return self.ipyDailyActionCustomCache[index]
+    def GetDailyActionCustomMixCount(self): return self.ipyDailyActionCustomMixLen
+    def GetDailyActionCustomMixByIndex(self, index): return self.ipyDailyActionCustomMixCache[index]
     def GetFBStateTimeCount(self): return self.ipyFBStateTimeLen
     def GetFBStateTimeByIndex(self, index): return self.ipyFBStateTimeCache[index]
     def GetFBStateTimeCustomCount(self): return self.ipyFBStateTimeCustomLen
     def GetFBStateTimeCustomByIndex(self, index): return self.ipyFBStateTimeCustomCache[index]
+    def GetFBStateTimeCustomMixCount(self): return self.ipyFBStateTimeCustomMixLen
+    def GetFBStateTimeCustomMixByIndex(self, index): return self.ipyFBStateTimeCustomMixCache[index]
     def GetFBFuncCount(self): return self.ipyFBFuncLen
     def GetFBFuncByIndex(self, index): return self.ipyFBFuncCache[index]
     def GetFBLineCount(self): return self.ipyFBLineLen
@@ -1807,6 +1939,8 @@
     def GetNewUniquenessArriveByIndex(self, index): return self.ipyNewUniquenessArriveCache[index]
     def GetActLuckyTreasureCount(self): return self.ipyActLuckyTreasureLen
     def GetActLuckyTreasureByIndex(self, index): return self.ipyActLuckyTreasureCache[index]
+    def GetFairyDomainCount(self): return self.ipyFairyDomainLen
+    def GetFairyDomainByIndex(self, index): return self.ipyFairyDomainCache[index]
 
 IPYData = IPY_DataMgr()
 def IPY_Data(): return IPYData

--
Gitblit v1.8.0