From 31c675b8388e92ce00c2a08da64b7e8e8fa93fe0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 25 六月 2024 16:12:40 +0800
Subject: [PATCH] 10185 【越南】【港台】【主干】BOSS凭证修改(增加活动商店支持;增加货币43凭证积分;提交1个凭证增加1积分;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py               |    7 +++++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py           |    7 +++++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py             |    6 ++++--
 PySysDB/PySysDBPY.h                                                                              |    1 +
 ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py                                    |    7 +++++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py |    8 ++++++++
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py                                |    7 +++++++
 7 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index c3da0bf..2d5807f 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -1854,6 +1854,7 @@
 	BYTE		ResetType;	//重置类型,0-0点重置;1-5点重置
 	dict		SubmitItemAwardInfo;	//提交凭证个数对应奖励
 	BYTE		SubmitAwardResetType;	//提交凭证每日重置类型,0-跟随活动; 1-0点重置;2-5点重置
+	WORD		ActShopType;	//开放商店类型,为0时不开放
 	list		TemplateIDList;	//榜单模板编号列表
 	list		FamilyTemplateIDList;	//仙盟榜单模板编号列表
 };
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 4bd68c8..e49036a 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -31609,6 +31609,7 @@
     IsDayReset = 0    #(BYTE IsDayReset)// 是否每天重置
     ResetType = 0    #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
     LimitLV = 0    #(WORD LimitLV)// 限制等级
+    ShopType = 0    #(WORD ShopType)// 开放商店类型,可能为0不开放
     SubResetType = 0    #(BYTE SubResetType)// 提交凭证奖励重置类型,0-跟随活动; 1-0点重置;2-5点重置
     SubmitCount = 0    #(BYTE SubmitCount)
     SubmitInfoList = list()    #(vector<tagMCActBossTrialSubmitInfo> SubmitInfoList)// 提交凭证信息列表
@@ -31635,6 +31636,7 @@
         self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ShopType,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.SubResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.SubmitCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         for i in range(self.SubmitCount):
@@ -31666,6 +31668,7 @@
         self.IsDayReset = 0
         self.ResetType = 0
         self.LimitLV = 0
+        self.ShopType = 0
         self.SubResetType = 0
         self.SubmitCount = 0
         self.SubmitInfoList = list()
@@ -31685,6 +31688,7 @@
         length += 5
         length += 1
         length += 1
+        length += 2
         length += 2
         length += 1
         length += 1
@@ -31710,6 +31714,7 @@
         data = CommFunc.WriteBYTE(data, self.IsDayReset)
         data = CommFunc.WriteBYTE(data, self.ResetType)
         data = CommFunc.WriteWORD(data, self.LimitLV)
+        data = CommFunc.WriteWORD(data, self.ShopType)
         data = CommFunc.WriteBYTE(data, self.SubResetType)
         data = CommFunc.WriteBYTE(data, self.SubmitCount)
         for i in range(self.SubmitCount):
@@ -31733,6 +31738,7 @@
                                 IsDayReset:%d,
                                 ResetType:%d,
                                 LimitLV:%d,
+                                ShopType:%d,
                                 SubResetType:%d,
                                 SubmitCount:%d,
                                 SubmitInfoList:%s,
@@ -31751,6 +31757,7 @@
                                 self.IsDayReset,
                                 self.ResetType,
                                 self.LimitLV,
+                                self.ShopType,
                                 self.SubResetType,
                                 self.SubmitCount,
                                 "...",
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 1b5d5a1..4c8c89d 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -1107,7 +1107,8 @@
 CDBPlayerRefresh_SuperHitHurtPer, # 强化暴伤 259
 CDBPlayerRefresh_SuperHitHurtDefPer, # 弱化暴伤 260
 CDBPlayerRefresh_Lingyu, # 灵玉 261
-) = range(146, 262)
+CDBPlayerRefresh_BossTrial, # 凭证积分 262
+) = range(146, 263)
 
 TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
 TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
@@ -1138,6 +1139,7 @@
 TYPE_Price_FamilyFlagWarPoint = 40    # 万界积分
 TYPE_Price_Xiantao = 41    # 仙桃
 TYPE_Price_Lingyu = 42    # 灵玉
+TYPE_Price_BossTrial = 43    # boss历练凭证积分
 TYPE_Price_PayCoin = 99    # 代币
 
 #key可用于遍历所有货币,value仅GM相关会用到
@@ -1145,7 +1147,7 @@
                  1:"仙玉", 2:"绑玉", 3:"铜钱", 6:"战盟贡献度", 10:"战盟仓库积分", 13:"境界修行点", 14:"符印融合石", 15:"仙盟活跃令", 
                  16:"助战积分", 18:"荣誉", 19:"Boss积分", 23:"符印精华", 24:"符印碎片", 25:"寻宝积分", 26:"集市额度", 27:"丹精", 28:"魂尘", 
                  29:"聚魂碎片", 30:"核心环", 31:"功能特权令", 32:"环保值", 33:"GM令", 34:"古神币", 35:"功德点", 
-                 39:"成就积分", 41:"仙桃", 42:"灵玉", 99:"代币"
+                 39:"成就积分", 41:"仙桃", 42:"灵玉", 43:"凭证积分", 99:"代币"
                  }
 
 #以下是旧的金钱类型
@@ -1178,6 +1180,7 @@
                            TYPE_Price_SuccessSocre:CDBPlayerRefresh_SuccessScore,
                            TYPE_Price_Xiantao:CDBPlayerRefresh_Xiantao,
                            TYPE_Price_Lingyu:CDBPlayerRefresh_Lingyu,
+                           TYPE_Price_BossTrial:CDBPlayerRefresh_BossTrial,
                            }
 
 # 支持负值的货币及对应0418刷新类型
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 4bd68c8..e49036a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -31609,6 +31609,7 @@
     IsDayReset = 0    #(BYTE IsDayReset)// 是否每天重置
     ResetType = 0    #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
     LimitLV = 0    #(WORD LimitLV)// 限制等级
+    ShopType = 0    #(WORD ShopType)// 开放商店类型,可能为0不开放
     SubResetType = 0    #(BYTE SubResetType)// 提交凭证奖励重置类型,0-跟随活动; 1-0点重置;2-5点重置
     SubmitCount = 0    #(BYTE SubmitCount)
     SubmitInfoList = list()    #(vector<tagMCActBossTrialSubmitInfo> SubmitInfoList)// 提交凭证信息列表
@@ -31635,6 +31636,7 @@
         self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ShopType,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.SubResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.SubmitCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         for i in range(self.SubmitCount):
@@ -31666,6 +31668,7 @@
         self.IsDayReset = 0
         self.ResetType = 0
         self.LimitLV = 0
+        self.ShopType = 0
         self.SubResetType = 0
         self.SubmitCount = 0
         self.SubmitInfoList = list()
@@ -31685,6 +31688,7 @@
         length += 5
         length += 1
         length += 1
+        length += 2
         length += 2
         length += 1
         length += 1
@@ -31710,6 +31714,7 @@
         data = CommFunc.WriteBYTE(data, self.IsDayReset)
         data = CommFunc.WriteBYTE(data, self.ResetType)
         data = CommFunc.WriteWORD(data, self.LimitLV)
+        data = CommFunc.WriteWORD(data, self.ShopType)
         data = CommFunc.WriteBYTE(data, self.SubResetType)
         data = CommFunc.WriteBYTE(data, self.SubmitCount)
         for i in range(self.SubmitCount):
@@ -31733,6 +31738,7 @@
                                 IsDayReset:%d,
                                 ResetType:%d,
                                 LimitLV:%d,
+                                ShopType:%d,
                                 SubResetType:%d,
                                 SubmitCount:%d,
                                 SubmitInfoList:%s,
@@ -31751,6 +31757,7 @@
                                 self.IsDayReset,
                                 self.ResetType,
                                 self.LimitLV,
+                                self.ShopType,
                                 self.SubResetType,
                                 self.SubmitCount,
                                 "...",
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index ee42dc1..af7d665 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1483,6 +1483,7 @@
                         ("BYTE", "ResetType", 0),
                         ("dict", "SubmitItemAwardInfo", 0),
                         ("BYTE", "SubmitAwardResetType", 0),
+                        ("WORD", "ActShopType", 0),
                         ("list", "TemplateIDList", 0),
                         ("list", "FamilyTemplateIDList", 0),
                         ),
@@ -4453,8 +4454,9 @@
     def GetResetType(self): return self.attrTuple[7] # 重置类型,0-0点重置;1-5点重置 BYTE
     def GetSubmitItemAwardInfo(self): return self.attrTuple[8] # 提交凭证个数对应奖励 dict
     def GetSubmitAwardResetType(self): return self.attrTuple[9] # 提交凭证每日重置类型,0-跟随活动; 1-0点重置;2-5点重置 BYTE
-    def GetTemplateIDList(self): return self.attrTuple[10] # 榜单模板编号列表 list
-    def GetFamilyTemplateIDList(self): return self.attrTuple[11] # 仙盟榜单模板编号列表 list
+    def GetActShopType(self): return self.attrTuple[10] # 开放商店 WORD
+    def GetTemplateIDList(self): return self.attrTuple[11] # 榜单模板编号列表 list
+    def GetFamilyTemplateIDList(self): return self.attrTuple[12] # 仙盟榜单模板编号列表 list
 
 # Boss历练榜单模版表
 class IPY_ActBossTrialTemplate():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py
index ad83198..dd2e3b5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py
@@ -22,6 +22,7 @@
 import IpyGameDataPY
 import ChPyNetSendPack
 import CrossRealmPlayer
+import FunctionNPCCommon
 import PlayerBillboard
 import ItemControler
 import NetPackCommon
@@ -117,6 +118,10 @@
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_BossTrialSubmitAward % actNum, 0)
     
     if state:
+        cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
+        ipyData = IpyGameDataPY.GetIpyGameData("ActBossTrial", cfgID)
+        if ipyData and ipyData.GetActShopType():
+            FunctionNPCCommon.ResetShopItemBuyCountByShopType(curPlayer, [ipyData.GetActShopType()])
         Sync_BossTrialActionInfo(curPlayer, actNum)
         Sync_BossTrialPlayerInfo(curPlayer, actNum)
         
@@ -205,6 +210,8 @@
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_BossTrialSubmitCount % actNum, updSubmitCount)
     GameWorld.DebugLog("Boss历练提交凭证: actNum=%s,itemID=%s,submitCount=%s,updSubmitCount=%s,updSubmitAwardCount=%s" 
                        % (actNum, itemID, submitCount, updSubmitCount, updSubmitAwardCount), playerID)
+    
+    PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_BossTrial, submitCount, "BossTrialSubmit")
     
     PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_BossTrialSubmit, updSubmitCount, autoSort=True)
     
@@ -337,6 +344,7 @@
     actInfo.IsDayReset = ipyData.GetIsDayReset()
     actInfo.ResetType = ipyData.GetResetType()
     actInfo.LimitLV = ipyData.GetLVLimit()
+    actInfo.ShopType = ipyData.GetActShopType()
     actInfo.SubResetType = ipyData.GetSubmitAwardResetType()
     
     actInfo.SubmitInfoList = []
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 1b5d5a1..4c8c89d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -1107,7 +1107,8 @@
 CDBPlayerRefresh_SuperHitHurtPer, # 强化暴伤 259
 CDBPlayerRefresh_SuperHitHurtDefPer, # 弱化暴伤 260
 CDBPlayerRefresh_Lingyu, # 灵玉 261
-) = range(146, 262)
+CDBPlayerRefresh_BossTrial, # 凭证积分 262
+) = range(146, 263)
 
 TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
 TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
@@ -1138,6 +1139,7 @@
 TYPE_Price_FamilyFlagWarPoint = 40    # 万界积分
 TYPE_Price_Xiantao = 41    # 仙桃
 TYPE_Price_Lingyu = 42    # 灵玉
+TYPE_Price_BossTrial = 43    # boss历练凭证积分
 TYPE_Price_PayCoin = 99    # 代币
 
 #key可用于遍历所有货币,value仅GM相关会用到
@@ -1145,7 +1147,7 @@
                  1:"仙玉", 2:"绑玉", 3:"铜钱", 6:"战盟贡献度", 10:"战盟仓库积分", 13:"境界修行点", 14:"符印融合石", 15:"仙盟活跃令", 
                  16:"助战积分", 18:"荣誉", 19:"Boss积分", 23:"符印精华", 24:"符印碎片", 25:"寻宝积分", 26:"集市额度", 27:"丹精", 28:"魂尘", 
                  29:"聚魂碎片", 30:"核心环", 31:"功能特权令", 32:"环保值", 33:"GM令", 34:"古神币", 35:"功德点", 
-                 39:"成就积分", 41:"仙桃", 42:"灵玉", 99:"代币"
+                 39:"成就积分", 41:"仙桃", 42:"灵玉", 43:"凭证积分", 99:"代币"
                  }
 
 #以下是旧的金钱类型
@@ -1178,6 +1180,7 @@
                            TYPE_Price_SuccessSocre:CDBPlayerRefresh_SuccessScore,
                            TYPE_Price_Xiantao:CDBPlayerRefresh_Xiantao,
                            TYPE_Price_Lingyu:CDBPlayerRefresh_Lingyu,
+                           TYPE_Price_BossTrial:CDBPlayerRefresh_BossTrial,
                            }
 
 # 支持负值的货币及对应0418刷新类型

--
Gitblit v1.8.0