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

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

diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 28ab9cc..fcb7f78 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -1787,6 +1787,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 a181783..f53ab2e 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -30193,7 +30193,7 @@
 class  tagRefreshType(Structure):
     _pack_ = 1
     _fields_ = [
-                  ("RefreshType", c_ubyte),    
+                  ("RefreshType", c_ushort),    
                   ("Value", c_int),    
                   ("ValueEx", c_int),    
                   ]
@@ -31521,6 +31521,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)// 提交凭证信息列表
@@ -31547,6 +31548,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):
@@ -31578,6 +31580,7 @@
         self.IsDayReset = 0
         self.ResetType = 0
         self.LimitLV = 0
+        self.ShopType = 0
         self.SubResetType = 0
         self.SubmitCount = 0
         self.SubmitInfoList = list()
@@ -31597,6 +31600,7 @@
         length += 5
         length += 1
         length += 1
+        length += 2
         length += 2
         length += 1
         length += 1
@@ -31622,6 +31626,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):
@@ -31645,6 +31650,7 @@
                                 IsDayReset:%d,
                                 ResetType:%d,
                                 LimitLV:%d,
+                                ShopType:%d,
                                 SubResetType:%d,
                                 SubmitCount:%d,
                                 SubmitInfoList:%s,
@@ -31663,6 +31669,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 2cd0f53..3e638d3 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -1081,7 +1081,21 @@
 CDBPlayerRefresh_BTGMYuE, # BTGM余额  246
 CDBPlayerRefresh_SuccessScore, # 成就积分  247
 CDBPlayerRefresh_FamilyFlagWarPoint, # 成就积分  248
-) = range(146, 249)
+CDBPlayerRefresh_ComboDefRate, # 抗连击概率 249
+CDBPlayerRefresh_AtkBackRate, # 反击概率 250
+CDBPlayerRefresh_AtkBackDefRate, # 抗反击概率 251
+CDBPlayerRefresh_SuckHPPer, # 吸血比率 252
+CDBPlayerRefresh_SuckHPDefPer, # 抗吸血比率 253
+CDBPlayerRefresh_Xiantao, # 仙桃  254
+CDBPlayerRefresh_CurePer, # 强化治疗 255
+CDBPlayerRefresh_CureDefPer, # 弱化治疗 256
+CDBPlayerRefresh_PetStrengthenPer, # 强化灵兽 257
+CDBPlayerRefresh_PetWeakenPer, # 弱化灵兽 258
+CDBPlayerRefresh_SuperHitHurtPer, # 强化暴伤 259
+CDBPlayerRefresh_SuperHitHurtDefPer, # 弱化暴伤 260
+CDBPlayerRefresh_Lingyu, # 灵玉 261
+CDBPlayerRefresh_BossTrial, # 凭证积分 262
+) = range(146, 263)
 
 TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
 TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
@@ -1111,6 +1125,8 @@
 TYPE_Price_SuccessSocre = 39    # 成就积分
 TYPE_Price_FamilyFlagWarPoint = 40    # 万界积分
 TYPE_Price_Xiantao = 41    # 仙桃
+TYPE_Price_Lingyu = 42    # 灵玉
+TYPE_Price_BossTrial = 43    # boss历练凭证积分
 TYPE_Price_PayCoin = 99    # 代币
 
 #key可用于遍历所有货币,value仅GM相关会用到
@@ -1118,7 +1134,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:"成就积分", 40:"万界积分", 99:"代币"
+                 39:"成就积分", 40:"万界积分", 43:"凭证积分", 99:"代币"
                  }
 
 #以下是旧的金钱类型
@@ -1150,6 +1166,7 @@
                            TYPE_Price_GongdePoint:CDBPlayerRefresh_GongdePoint,
                            TYPE_Price_SuccessSocre:CDBPlayerRefresh_SuccessScore,
                            TYPE_Price_FamilyFlagWarPoint:CDBPlayerRefresh_FamilyFlagWarPoint,
+                           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 a181783..f53ab2e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -30193,7 +30193,7 @@
 class  tagRefreshType(Structure):
     _pack_ = 1
     _fields_ = [
-                  ("RefreshType", c_ubyte),    
+                  ("RefreshType", c_ushort),    
                   ("Value", c_int),    
                   ("ValueEx", c_int),    
                   ]
@@ -31521,6 +31521,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)// 提交凭证信息列表
@@ -31547,6 +31548,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):
@@ -31578,6 +31580,7 @@
         self.IsDayReset = 0
         self.ResetType = 0
         self.LimitLV = 0
+        self.ShopType = 0
         self.SubResetType = 0
         self.SubmitCount = 0
         self.SubmitInfoList = list()
@@ -31597,6 +31600,7 @@
         length += 5
         length += 1
         length += 1
+        length += 2
         length += 2
         length += 1
         length += 1
@@ -31622,6 +31626,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):
@@ -31645,6 +31650,7 @@
                                 IsDayReset:%d,
                                 ResetType:%d,
                                 LimitLV:%d,
+                                ShopType:%d,
                                 SubResetType:%d,
                                 SubmitCount:%d,
                                 SubmitInfoList:%s,
@@ -31663,6 +31669,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 f766652..02b3e4f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1419,6 +1419,7 @@
                         ("BYTE", "ResetType", 0),
                         ("dict", "SubmitItemAwardInfo", 0),
                         ("BYTE", "SubmitAwardResetType", 0),
+                        ("WORD", "ActShopType", 0),
                         ("list", "TemplateIDList", 0),
                         ("list", "FamilyTemplateIDList", 0),
                         ),
@@ -4314,8 +4315,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 2cd0f53..3e638d3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -1081,7 +1081,21 @@
 CDBPlayerRefresh_BTGMYuE, # BTGM余额  246
 CDBPlayerRefresh_SuccessScore, # 成就积分  247
 CDBPlayerRefresh_FamilyFlagWarPoint, # 成就积分  248
-) = range(146, 249)
+CDBPlayerRefresh_ComboDefRate, # 抗连击概率 249
+CDBPlayerRefresh_AtkBackRate, # 反击概率 250
+CDBPlayerRefresh_AtkBackDefRate, # 抗反击概率 251
+CDBPlayerRefresh_SuckHPPer, # 吸血比率 252
+CDBPlayerRefresh_SuckHPDefPer, # 抗吸血比率 253
+CDBPlayerRefresh_Xiantao, # 仙桃  254
+CDBPlayerRefresh_CurePer, # 强化治疗 255
+CDBPlayerRefresh_CureDefPer, # 弱化治疗 256
+CDBPlayerRefresh_PetStrengthenPer, # 强化灵兽 257
+CDBPlayerRefresh_PetWeakenPer, # 弱化灵兽 258
+CDBPlayerRefresh_SuperHitHurtPer, # 强化暴伤 259
+CDBPlayerRefresh_SuperHitHurtDefPer, # 弱化暴伤 260
+CDBPlayerRefresh_Lingyu, # 灵玉 261
+CDBPlayerRefresh_BossTrial, # 凭证积分 262
+) = range(146, 263)
 
 TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
 TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
@@ -1111,6 +1125,8 @@
 TYPE_Price_SuccessSocre = 39    # 成就积分
 TYPE_Price_FamilyFlagWarPoint = 40    # 万界积分
 TYPE_Price_Xiantao = 41    # 仙桃
+TYPE_Price_Lingyu = 42    # 灵玉
+TYPE_Price_BossTrial = 43    # boss历练凭证积分
 TYPE_Price_PayCoin = 99    # 代币
 
 #key可用于遍历所有货币,value仅GM相关会用到
@@ -1118,7 +1134,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:"成就积分", 40:"万界积分", 99:"代币"
+                 39:"成就积分", 40:"万界积分", 43:"凭证积分", 99:"代币"
                  }
 
 #以下是旧的金钱类型
@@ -1150,6 +1166,7 @@
                            TYPE_Price_GongdePoint:CDBPlayerRefresh_GongdePoint,
                            TYPE_Price_SuccessSocre:CDBPlayerRefresh_SuccessScore,
                            TYPE_Price_FamilyFlagWarPoint:CDBPlayerRefresh_FamilyFlagWarPoint,
+                           TYPE_Price_BossTrial:CDBPlayerRefresh_BossTrial,
                            }
 
 # 支持负值的货币及对应0418刷新类型

--
Gitblit v1.8.0