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