From 31a441bf2842217a4fb215ae25d6e836980f52d4 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 24 一月 2019 10:17:34 +0800
Subject: [PATCH] 5924 【后端】【1.5.100】诛仙Boss功能(杀人不红名)

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

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index c6a03fb..16e8a41 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -122,6 +122,11 @@
                         ("dict", "NotifyInfoDict", 0),
                         ),
 
+                "FBFunc":(
+                        ("DWORD", "DataMapID", 1),
+                        ("WORD", "HelpPoint", 0),
+                        ),
+
                 "FBLine":(
                         ("DWORD", "DataMapID", 1),
                         ("BYTE", "LineID", 1),
@@ -186,6 +191,26 @@
                 "PlayerLV":(
                         ("WORD", "LV", 1),
                         ("DWORD", "ReFightPower", 0),
+                        ),
+
+                "VipPrivilege":(
+                        ("DWORD", "VIPPriID", 1),
+                        ("DWORD", "VIP0", 0),
+                        ("DWORD", "VIP1", 0),
+                        ("DWORD", "VIP2", 0),
+                        ("DWORD", "VIP3", 0),
+                        ("DWORD", "VIP4", 0),
+                        ("DWORD", "VIP5", 0),
+                        ("DWORD", "VIP6", 0),
+                        ("DWORD", "VIP7", 0),
+                        ("DWORD", "VIP8", 0),
+                        ("DWORD", "VIP9", 0),
+                        ("DWORD", "VIP10", 0),
+                        ("DWORD", "VIP11", 0),
+                        ("DWORD", "VIP12", 0),
+                        ("DWORD", "VIP13", 0),
+                        ("DWORD", "VIP14", 0),
+                        ("DWORD", "VIP15", 0),
                         ),
 
                 "ActSpringSale":(
@@ -350,6 +375,64 @@
                         ("dict", "NotifyInfoEnd", 0),
                         ("list", "NotifyInfoLoop", 0),
                         ("BYTE", "IsDayReset", 0),
+                        ),
+
+                "CrossRealmPKZone":(
+                        ("BYTE", "ZoneID", 1),
+                        ("char", "ZoneName", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ),
+
+                "CrossRealmPKSeason":(
+                        ("BYTE", "ZoneID", 1),
+                        ("BYTE", "SeasonID", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("char", "EndTime", 0),
+                        ),
+
+                "CrossRealmPKDan":(
+                        ("BYTE", "DanLV", 1),
+                        ("WORD", "LVUpScore", 0),
+                        ("list", "MatchRange", 0),
+                        ),
+
+                "CrossPenglaiZone":(
+                        ("BYTE", "ZoneID", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("DWORD", "MapID", 1),
+                        ("DWORD", "DataMapID", 1),
+                        ("BYTE", "CopyMapID", 1),
+                        ),
+
+                "ActWeekParty":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerIDList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("WORD", "AdvanceMinutes", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("WORD", "LVLimit", 0),
+                        ),
+
+                "ActLoginAward":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerIDList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("WORD", "AdvanceMinutes", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("WORD", "LVLimit", 0),
                         ),
                 }
 
@@ -543,6 +626,17 @@
     def GetStateValue(self): return self.StateValue # 状态值
     def GetNotifyInfoDict(self): return self.NotifyInfoDict # 广播提示信息
 
+# 副本总表
+class IPY_FBFunc():
+    
+    def __init__(self):
+        self.DataMapID = 0
+        self.HelpPoint = 0
+        return
+        
+    def GetDataMapID(self): return self.DataMapID # 数据地图ID
+    def GetHelpPoint(self): return self.HelpPoint # 助战仙缘币(0代表不可助战)
+
 # 副本功能线路表
 class IPY_FBLine():
     
@@ -683,6 +777,47 @@
         
     def GetLV(self): return self.LV # 玩家等级
     def GetReFightPower(self): return self.ReFightPower # 战斗力
+
+# VIP特权表
+class IPY_VipPrivilege():
+    
+    def __init__(self):
+        self.VIPPriID = 0
+        self.VIP0 = 0
+        self.VIP1 = 0
+        self.VIP2 = 0
+        self.VIP3 = 0
+        self.VIP4 = 0
+        self.VIP5 = 0
+        self.VIP6 = 0
+        self.VIP7 = 0
+        self.VIP8 = 0
+        self.VIP9 = 0
+        self.VIP10 = 0
+        self.VIP11 = 0
+        self.VIP12 = 0
+        self.VIP13 = 0
+        self.VIP14 = 0
+        self.VIP15 = 0
+        return
+        
+    def GetVIPPriID(self): return self.VIPPriID # 特权ID
+    def GetVIP0(self): return self.VIP0 # VIP0对应的特权值
+    def GetVIP1(self): return self.VIP1 # VIP1对应的特权值
+    def GetVIP2(self): return self.VIP2 # VIP2对应的特权值
+    def GetVIP3(self): return self.VIP3 # VIP3对应的特权值
+    def GetVIP4(self): return self.VIP4 # VIP4对应的特权值
+    def GetVIP5(self): return self.VIP5 # VIP5对应的特权值
+    def GetVIP6(self): return self.VIP6 # VIP6对应的特权值
+    def GetVIP7(self): return self.VIP7 # VIP7对应的特权值
+    def GetVIP8(self): return self.VIP8 # VIP8对应的特权值
+    def GetVIP9(self): return self.VIP9 # VIP9对应的特权值
+    def GetVIP10(self): return self.VIP10 # VIP10对应的特权值
+    def GetVIP11(self): return self.VIP11 # VIP11对应的特权值
+    def GetVIP12(self): return self.VIP12 # VIP12对应的特权值
+    def GetVIP13(self): return self.VIP13 # VIP13对应的特权值
+    def GetVIP14(self): return self.VIP14 # VIP14对应的特权值
+    def GetVIP15(self): return self.VIP15 # VIP15对应的特权值
 
 # 限时特惠表
 class IPY_ActSpringSale():
@@ -1023,6 +1158,128 @@
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
     def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
     def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+
+# 跨服竞技场赛区表
+class IPY_CrossRealmPKZone():
+    
+    def __init__(self):
+        self.ZoneID = 0
+        self.ZoneName = ""
+        self.ServerGroupIDList = []
+        return
+        
+    def GetZoneID(self): return self.ZoneID # 赛区ID
+    def GetZoneName(self): return self.ZoneName # 赛区名字
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 赛区服务器组ID列表
+
+# 跨服竞技场赛季表
+class IPY_CrossRealmPKSeason():
+    
+    def __init__(self):
+        self.ZoneID = 0
+        self.SeasonID = 0
+        self.StartDate = ""
+        self.EndDate = ""
+        self.EndTime = ""
+        return
+        
+    def GetZoneID(self): return self.ZoneID # 赛区ID
+    def GetSeasonID(self): return self.SeasonID # 赛季ID
+    def GetStartDate(self): return self.StartDate # 开始日期	yyyy-MM-dd
+    def GetEndDate(self): return self.EndDate # 结束日期	yyyy-MM-dd
+    def GetEndTime(self): return self.EndTime # 结算时间	hh:mm
+
+# 跨服竞技场段位表
+class IPY_CrossRealmPKDan():
+    
+    def __init__(self):
+        self.DanLV = 0
+        self.LVUpScore = 0
+        self.MatchRange = []
+        return
+        
+    def GetDanLV(self): return self.DanLV # 段位等级
+    def GetLVUpScore(self): return self.LVUpScore # 升段位所需积分
+    def GetMatchRange(self): return self.MatchRange # 可匹配到的玩家段位区间 [从段位A, 到段位B],配[]代表只匹配本段位的
+
+# 跨服Boss蓬莱仙境分区表
+class IPY_CrossPenglaiZone():
+    
+    def __init__(self):
+        self.ZoneID = 0
+        self.ServerGroupIDList = []
+        self.MapID = 0
+        self.DataMapID = 0
+        self.CopyMapID = 0
+        return
+        
+    def GetZoneID(self): return self.ZoneID # 分区ID
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表
+    def GetMapID(self): return self.MapID # 场景地图ID
+    def GetDataMapID(self): return self.DataMapID # 数据地图ID
+    def GetCopyMapID(self): return self.CopyMapID # 虚拟线路ID
+
+# 周狂欢活动时间表
+class IPY_ActWeekParty():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.ActMark = ""
+        self.PlatformList = []
+        self.ServerIDList = []
+        self.StartDate = ""
+        self.EndDate = ""
+        self.AdvanceMinutes = 0
+        self.IsDayReset = 0
+        self.ResetType = 0
+        self.NotifyInfoStart = {}
+        self.NotifyInfoEnd = {}
+        self.LVLimit = 0
+        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 GetStartDate(self): return self.StartDate # 开启日期
+    def GetEndDate(self): return self.EndDate # 结束日期
+    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+    def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+
+# 登录奖励时间表
+class IPY_ActLoginAward():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.ActMark = ""
+        self.PlatformList = []
+        self.ServerIDList = []
+        self.StartDate = ""
+        self.EndDate = ""
+        self.AdvanceMinutes = 0
+        self.IsDayReset = 0
+        self.ResetType = 0
+        self.NotifyInfoStart = {}
+        self.NotifyInfoEnd = {}
+        self.LVLimit = 0
+        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 GetStartDate(self): return self.StartDate # 开启日期
+    def GetEndDate(self): return self.EndDate # 结束日期
+    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+    def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetLVLimit(self): return self.LVLimit # 限制等级
 
 
 def Log(msg, playerID=0, par=0):
@@ -1066,6 +1323,8 @@
         self.ipyFBStateTimeLen = len(self.ipyFBStateTimeCache)
         self.ipyFBStateTimeCustomCache = self.__LoadFileData("FBStateTimeCustom", IPY_FBStateTimeCustom)
         self.ipyFBStateTimeCustomLen = len(self.ipyFBStateTimeCustomCache)
+        self.ipyFBFuncCache = self.__LoadFileData("FBFunc", IPY_FBFunc)
+        self.ipyFBFuncLen = len(self.ipyFBFuncCache)
         self.ipyFBLineCache = self.__LoadFileData("FBLine", IPY_FBLine)
         self.ipyFBLineLen = len(self.ipyFBLineCache)
         self.ipyFBHelpBattleCache = self.__LoadFileData("FBHelpBattle", IPY_FBHelpBattle)
@@ -1084,6 +1343,8 @@
         self.ipyChinNPCLen = len(self.ipyChinNPCCache)
         self.ipyPlayerLVCache = self.__LoadFileData("PlayerLV", IPY_PlayerLV)
         self.ipyPlayerLVLen = len(self.ipyPlayerLVCache)
+        self.ipyVipPrivilegeCache = self.__LoadFileData("VipPrivilege", IPY_VipPrivilege)
+        self.ipyVipPrivilegeLen = len(self.ipyVipPrivilegeCache)
         self.ipyActSpringSaleCache = self.__LoadFileData("ActSpringSale", IPY_ActSpringSale)
         self.ipyActSpringSaleLen = len(self.ipyActSpringSaleCache)
         self.ipyActFlashGiftbagCache = self.__LoadFileData("ActFlashGiftbag", IPY_ActFlashGiftbag)
@@ -1108,6 +1369,18 @@
         self.ipyActWishingWellLen = len(self.ipyActWishingWellCache)
         self.ipyActTotalRechargeCache = self.__LoadFileData("ActTotalRecharge", IPY_ActTotalRecharge)
         self.ipyActTotalRechargeLen = len(self.ipyActTotalRechargeCache)
+        self.ipyCrossRealmPKZoneCache = self.__LoadFileData("CrossRealmPKZone", IPY_CrossRealmPKZone)
+        self.ipyCrossRealmPKZoneLen = len(self.ipyCrossRealmPKZoneCache)
+        self.ipyCrossRealmPKSeasonCache = self.__LoadFileData("CrossRealmPKSeason", IPY_CrossRealmPKSeason)
+        self.ipyCrossRealmPKSeasonLen = len(self.ipyCrossRealmPKSeasonCache)
+        self.ipyCrossRealmPKDanCache = self.__LoadFileData("CrossRealmPKDan", IPY_CrossRealmPKDan)
+        self.ipyCrossRealmPKDanLen = len(self.ipyCrossRealmPKDanCache)
+        self.ipyCrossPenglaiZoneCache = self.__LoadFileData("CrossPenglaiZone", IPY_CrossPenglaiZone)
+        self.ipyCrossPenglaiZoneLen = len(self.ipyCrossPenglaiZoneCache)
+        self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty)
+        self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache)
+        self.ipyActLoginAwardCache = self.__LoadFileData("ActLoginAward", IPY_ActLoginAward)
+        self.ipyActLoginAwardLen = len(self.ipyActLoginAwardCache)
         Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
         Log("IPY_DataMgr InitOK!")
         return
@@ -1292,6 +1565,8 @@
     def GetFBStateTimeByIndex(self, index): return self.ipyFBStateTimeCache[index]
     def GetFBStateTimeCustomCount(self): return self.ipyFBStateTimeCustomLen
     def GetFBStateTimeCustomByIndex(self, index): return self.ipyFBStateTimeCustomCache[index]
+    def GetFBFuncCount(self): return self.ipyFBFuncLen
+    def GetFBFuncByIndex(self, index): return self.ipyFBFuncCache[index]
     def GetFBLineCount(self): return self.ipyFBLineLen
     def GetFBLineByIndex(self, index): return self.ipyFBLineCache[index]
     def GetFBHelpBattleCount(self): return self.ipyFBHelpBattleLen
@@ -1310,6 +1585,8 @@
     def GetChinNPCByIndex(self, index): return self.ipyChinNPCCache[index]
     def GetPlayerLVCount(self): return self.ipyPlayerLVLen
     def GetPlayerLVByIndex(self, index): return self.ipyPlayerLVCache[index]
+    def GetVipPrivilegeCount(self): return self.ipyVipPrivilegeLen
+    def GetVipPrivilegeByIndex(self, index): return self.ipyVipPrivilegeCache[index]
     def GetActSpringSaleCount(self): return self.ipyActSpringSaleLen
     def GetActSpringSaleByIndex(self, index): return self.ipyActSpringSaleCache[index]
     def GetActFlashGiftbagCount(self): return self.ipyActFlashGiftbagLen
@@ -1334,6 +1611,18 @@
     def GetActWishingWellByIndex(self, index): return self.ipyActWishingWellCache[index]
     def GetActTotalRechargeCount(self): return self.ipyActTotalRechargeLen
     def GetActTotalRechargeByIndex(self, index): return self.ipyActTotalRechargeCache[index]
+    def GetCrossRealmPKZoneCount(self): return self.ipyCrossRealmPKZoneLen
+    def GetCrossRealmPKZoneByIndex(self, index): return self.ipyCrossRealmPKZoneCache[index]
+    def GetCrossRealmPKSeasonCount(self): return self.ipyCrossRealmPKSeasonLen
+    def GetCrossRealmPKSeasonByIndex(self, index): return self.ipyCrossRealmPKSeasonCache[index]
+    def GetCrossRealmPKDanCount(self): return self.ipyCrossRealmPKDanLen
+    def GetCrossRealmPKDanByIndex(self, index): return self.ipyCrossRealmPKDanCache[index]
+    def GetCrossPenglaiZoneCount(self): return self.ipyCrossPenglaiZoneLen
+    def GetCrossPenglaiZoneByIndex(self, index): return self.ipyCrossPenglaiZoneCache[index]
+    def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen
+    def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index]
+    def GetActLoginAwardCount(self): return self.ipyActLoginAwardLen
+    def GetActLoginAwardByIndex(self, index): return self.ipyActLoginAwardCache[index]
 
 IPYData = IPY_DataMgr()
 def IPY_Data(): return IPYData

--
Gitblit v1.8.0