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