From 8eb214ceb0c6b321e6bd1d643ee6ceecc241ed32 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 11 四月 2025 16:37:24 +0800
Subject: [PATCH] 10367 【越南】【英语】【BT】【砍树】仙盟攻城战-服务端(增加圣泉抽奖;积分总榜增加轮次积分明细记录;优化活动相关榜单排序规则,支持战斗阶段每分钟统计最新积分情况;优化轮次结算汇总信息;轮次支持升降级;)
---
ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo.h | 16 ++++++++++++++++
ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo.des | 1 +
ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.h | 2 +-
ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo | 0
ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ | 0
ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ.des | 1 +
ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ.h | 7 +++++++
ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.h | 13 ++++++++++++-
8 files changed, 38 insertions(+), 2 deletions(-)
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ.des b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ.des
new file mode 100644
index 0000000..4db9616
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ.des
@@ -0,0 +1 @@
+C1 27 仙盟攻城战圣泉抽奖 #tagCMFamilyGCZSQ
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ.h b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ.h
new file mode 100644
index 0000000..b54dc1c
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZSQ.h
@@ -0,0 +1,7 @@
+// C1 27 仙盟攻城战圣泉抽奖 #tagCMFamilyGCZSQ
+
+struct tagCMFamilyGCZSQ
+{
+ tagHead Head;
+ BYTE GridNum; // 选中格子编号,1~n
+};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.h
index f388b90..8d1c9b1 100644
--- a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.h
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.h
@@ -29,7 +29,7 @@
WORD GuessTemplateID; // 竞猜奖励模版,对应H.活动竞猜表,前端自行读表展示
WORD PersonalTemplateID; // 个人伤害排行奖励模版,对应H.活动榜单奖励模版表,前端自行读表展示
WORD FamilyTemplateID; // 仙盟积分排行奖励模版,对应H.活动榜单奖励模版表,前端自行读表展示
- BYTE StateError; // 活动流程状态是否异常,如果不为0代表活动已异常,前端自行决定是不显示活动还是活动页面做提示
+ DWORD StateError; // 活动流程状态是否异常,如果不为0代表活动已异常,前端自行决定是不显示活动还是活动页面做提示
BYTE FamilyCount;
tagGCFamilyGCZActFamily ActFamilyList[FamilyCount]; //本分区参与的仙盟名单
};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.h
index a2c3825..fa6b613 100644
--- a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.h
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.h
@@ -17,11 +17,20 @@
DWORD TotalHurtEx; //活动总伤害,整除亿部分
};
+struct tagGCFamilyGCZCampRound
+{
+ BYTE RoundNum; //轮次编号,从1开始
+ BYTE BatType; //所在战场类型
+ BYTE GroupNum; //所在分组编号
+ BYTE Rank; //本轮排名
+ WORD Score; //本轮积分,总积分为所有轮次累加
+ BYTE UpdownState; //本轮结算晋级降级状态:0-未处理,1-降级;2-保级;3-晋级,即本轮的晋降级状态决定下一轮的战场类型
+};
+
struct tagGCFamilyGCZCampInfo
{
tagHead Head;
DWORD FamilyID; //所在活动仙盟ID,可能不是玩家当前的仙盟ID,活动以该ID为准
- WORD Score; //活动总积分,如果不在榜上则读该值
WORD CampLV; //大本营当前等级
DWORD CampExp; //大本营当前经验
WORD CityLV; //城池属性等级,开战后可能与当前大本营等级不一样
@@ -31,6 +40,8 @@
DWORD HPMaxEx; //总大生命,整除亿部分
DWORD HP; //剩余生命,求余亿部分
DWORD HPEx; //剩余生命,整除亿部分
+ BYTE RoundCnt;
+ tagGCFamilyGCZCampRound RoundInfoList[RoundCnt]; //仙盟轮次汇总信息
BYTE DefMemCnt;
tagGCFamilyGCZCampMem DefMemList[DefMemCnt]; //防守成员列表,有同步则差异更新,没有在防守成员里的视为没有参与资格
};
diff --git a/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo
diff --git a/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo.des b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo.des
new file mode 100644
index 0000000..d925431
--- /dev/null
+++ b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo.des
@@ -0,0 +1 @@
+C1 11 仙盟攻城战圣泉信息 #tagMCFamilyGCZSQInfo
diff --git a/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo.h b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo.h
new file mode 100644
index 0000000..350fa1c
--- /dev/null
+++ b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZSQInfo.h
@@ -0,0 +1,16 @@
+// C1 11 仙盟攻城战圣泉信息 #tagMCFamilyGCZSQInfo
+
+struct tagMCFamilyGCZSQGrid
+{
+ BYTE GridNum; // 格子编号,1~n
+ DWORD ItemID; // 抽中的物品ID,20亿时为过关标记
+ WORD ItemCount; // 物品数量
+};
+
+struct tagMCFamilyGCZSQInfo
+{
+ tagHead Head;
+ BYTE SQLayer; // 当前所在圣泉层,从1开始
+ BYTE SQGirdCnt;
+ tagMCFamilyGCZSQGrid SQGridList[SQGirdCnt]; //圣泉当前层已抽格子信息,仅同步全部或变更的格子,前端进行差异更新,层数变更时重置本地记录
+};
--
Gitblit v1.8.0