From 4e98d22cd12ed08cd1a2859141373afeca9e6bb2 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 18 九月 2023 14:39:54 +0800
Subject: [PATCH] 9887 【主干】【骨折1、2】【小7】【1元】【BT10】本服与跨服竞技场PK公式优化(PVP木桩None防范)

---
 ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 79 insertions(+), 0 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index 1758c54..65f0b57 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -98,6 +98,13 @@
                         ("list", "RandMailKeyList", 0),
                         ),
 
+                "CrossDailyAction":(
+                        ("DWORD", "DailyID", 1),
+                        ("dict", "OpenTimeDict", 0),
+                        ("DWORD", "Duration", 0),
+                        ("dict", "NotifyInfo", 0),
+                        ),
+
                 "DailyAction":(
                         ("DWORD", "DailyID", 1),
                         ("dict", "OpenTimeDict", 0),
@@ -379,6 +386,19 @@
                         ),
 
                 "ActCostRebate":(
+                        ("DWORD", "CfgID", 1),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("BYTE", "ActNum", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ),
+
+                "ActBuyOne":(
                         ("DWORD", "CfgID", 1),
                         ("list", "PlatformList", 0),
                         ("list", "ServerGroupIDList", 0),
@@ -802,6 +822,9 @@
                         ("list", "ServerIDRangeList", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
+                        ("list", "StartTimeList", 0),
+                        ("list", "EndTimeList", 0),
+                        ("list", "RoundMaxList", 0),
                         ("WORD", "LVLimit", 0),
                         ("list", "TemplateIDList", 0),
                         ),
@@ -1023,6 +1046,21 @@
     def GetItemCountWeightList(self): return self.ItemCountWeightList # 指定上架随机件数权重列表, [[权重, 件数], ...]
     def GetAuctionItemWeightList(self): return self.AuctionItemWeightList # 指定上架物品随机权重, [[权重, 物品ID],[权重, [阶,颜色,部位集合,是否套装,星级]] ...]
     def GetRandMailKeyList(self): return self.RandMailKeyList # 指定上架随机邮件列表,有配置时上架的时候在线玩家会收到一封上架邮件提醒
+
+# 跨服日常活动表
+class IPY_CrossDailyAction():
+    
+    def __init__(self):
+        self.DailyID = 0
+        self.OpenTimeDict = {}
+        self.Duration = 0
+        self.NotifyInfo = {}
+        return
+        
+    def GetDailyID(self): return self.DailyID # 活动ID
+    def GetOpenTimeDict(self): return self.OpenTimeDict # 开启时间
+    def GetDuration(self): return self.Duration # 持续时间, 0为不限制
+    def GetNotifyInfo(self): return self.NotifyInfo # 广播提示信息
 
 # 日常活动表
 class IPY_DailyAction():
@@ -1613,6 +1651,33 @@
 
 # 消费返利活动表
 class IPY_ActCostRebate():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.PlatformList = []
+        self.ServerGroupIDList = []
+        self.ActNum = 0
+        self.StartDate = ""
+        self.EndDate = ""
+        self.NotifyInfoStart = {}
+        self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
+        self.IsDayReset = 0
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器ID列表
+    def GetActNum(self): return self.ActNum # 活动分组编号, 活动类型 * 10 + 不同界面编号
+    def GetStartDate(self): return self.StartDate # 开启日期
+    def GetEndDate(self): return self.EndDate # 结束日期
+    def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+
+# 买一送多活动表
+class IPY_ActBuyOne():
     
     def __init__(self):
         self.CfgID = 0
@@ -2492,6 +2557,9 @@
         self.ServerIDRangeList = []
         self.StartDate = ""
         self.EndDate = ""
+        self.StartTimeList = []
+        self.EndTimeList = []
+        self.RoundMaxList = []
         self.LVLimit = 0
         self.TemplateIDList = []
         return
@@ -2502,6 +2570,9 @@
     def GetServerIDRangeList(self): return self.ServerIDRangeList # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...]
     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 GetRoundMaxList(self): return self.RoundMaxList # 开启轮次列表
     def GetLVLimit(self): return self.LVLimit # 限制等级
     def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
 
@@ -2706,6 +2777,8 @@
         self.ipyAuctionItemLen = len(self.ipyAuctionItemCache)
         self.ipyAuctionSystemItemCache = self.__LoadFileData("AuctionSystemItem", IPY_AuctionSystemItem)
         self.ipyAuctionSystemItemLen = len(self.ipyAuctionSystemItemCache)
+        self.ipyCrossDailyActionCache = self.__LoadFileData("CrossDailyAction", IPY_CrossDailyAction)
+        self.ipyCrossDailyActionLen = len(self.ipyCrossDailyActionCache)
         self.ipyDailyActionCache = self.__LoadFileData("DailyAction", IPY_DailyAction)
         self.ipyDailyActionLen = len(self.ipyDailyActionCache)
         self.ipyDailyActionCustomCache = self.__LoadFileData("DailyActionCustom", IPY_DailyActionCustom)
@@ -2762,6 +2835,8 @@
         self.ipyActExpRateLen = len(self.ipyActExpRateCache)
         self.ipyActCostRebateCache = self.__LoadFileData("ActCostRebate", IPY_ActCostRebate)
         self.ipyActCostRebateLen = len(self.ipyActCostRebateCache)
+        self.ipyActBuyOneCache = self.__LoadFileData("ActBuyOne", IPY_ActBuyOne)
+        self.ipyActBuyOneLen = len(self.ipyActBuyOneCache)
         self.ipyActCollectWordsCache = self.__LoadFileData("ActCollectWords", IPY_ActCollectWords)
         self.ipyActCollectWordsLen = len(self.ipyActCollectWordsCache)
         self.ipyActGarbageSortingCache = self.__LoadFileData("ActGarbageSorting", IPY_ActGarbageSorting)
@@ -3034,6 +3109,8 @@
     def GetAuctionItemByIndex(self, index): return self.ipyAuctionItemCache[index]
     def GetAuctionSystemItemCount(self): return self.ipyAuctionSystemItemLen
     def GetAuctionSystemItemByIndex(self, index): return self.ipyAuctionSystemItemCache[index]
+    def GetCrossDailyActionCount(self): return self.ipyCrossDailyActionLen
+    def GetCrossDailyActionByIndex(self, index): return self.ipyCrossDailyActionCache[index]
     def GetDailyActionCount(self): return self.ipyDailyActionLen
     def GetDailyActionByIndex(self, index): return self.ipyDailyActionCache[index]
     def GetDailyActionCustomCount(self): return self.ipyDailyActionCustomLen
@@ -3090,6 +3167,8 @@
     def GetActExpRateByIndex(self, index): return self.ipyActExpRateCache[index]
     def GetActCostRebateCount(self): return self.ipyActCostRebateLen
     def GetActCostRebateByIndex(self, index): return self.ipyActCostRebateCache[index]
+    def GetActBuyOneCount(self): return self.ipyActBuyOneLen
+    def GetActBuyOneByIndex(self, index): return self.ipyActBuyOneCache[index]
     def GetActCollectWordsCount(self): return self.ipyActCollectWordsLen
     def GetActCollectWordsByIndex(self, index): return self.ipyActCollectWordsCache[index]
     def GetActGarbageSortingCount(self): return self.ipyActGarbageSortingLen

--
Gitblit v1.8.0