From d5d04c37c2a024912838f2636b86f902bc0d1ae9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 11 四月 2025 16:37:23 +0800
Subject: [PATCH] 10367 【越南】【英语】【BT】【砍树】仙盟攻城战-服务端

---
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo.h                |   27 ++++
 ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution.h          |    8 +
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo.h   |   17 ++
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo               |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo.h             |   23 +++
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo                |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.h                 |   36 ++++++
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo                   |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo.h              |   19 +++
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo               |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo                    |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.des               |    1 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo.des            |    1 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport                  |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo.h         |   14 ++
 ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk                     |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.h                  |   34 +++++
 ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess.des               |    1 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo.des       |    1 
 ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk.des                 |    1 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo     |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo.h             |   49 ++++++++
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo                  |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo.des           |    1 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo.des           |    1 
 ClientPack/ClientToGameServer/CC0_CrossRealm/ViewCrossBillboard.h            |    4 
 ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk.h                   |    9 +
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo           |    0 
 ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess.h                 |    8 +
 ServerPack/GameServerPack/HC0_CrossRealm/CrossBillboardInfo.h                |    4 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport.h                |   18 +++
 ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo.h                |   10 +
 ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution            |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo.des |    1 
 ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess                   |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo.des              |    1 
 ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery.h                |   10 +
 ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo                  |    0 
 ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery.des              |    1 
 ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution.des        |    1 
 ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery                  |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.des                |    1 
 ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo.des              |    1 
 ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport.des              |    1 
 44 files changed, 300 insertions(+), 4 deletions(-)

diff --git a/ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery b/ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery
diff --git a/ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery.des b/ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery.des
new file mode 100644
index 0000000..579bba1
--- /dev/null
+++ b/ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery.des
@@ -0,0 +1 @@
+C0 26 仙盟攻城战查询 #tagCGFamilyGCZQuery
diff --git a/ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery.h b/ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery.h
new file mode 100644
index 0000000..58b93ee
--- /dev/null
+++ b/ClientPack/ClientToGameServer/CC0_CrossRealm/FamilyGCZQuery.h
@@ -0,0 +1,10 @@
+// C0 26 仙盟攻城战查询 #tagCGFamilyGCZQuery
+
+struct	tagCGFamilyGCZQuery
+{
+	tagHead		Head;
+	BYTE		QueryType;	//查询类型:1-成员捐献值;2-进入城池场景;3-退出城池场景;4-进入城池;5-退出城池;6-战报;7-分组仙盟成员伤害;
+	BYTE		BatType;		//指定战场类型,需要发送的查询类型: 2、4
+	BYTE		GroupNum;	//指定分组编号,需要发送的查询类型: 2、4
+	DWORD		FamilyID;		//指定仙盟ID或城池ID,查自己盟的可不发,需要发的类型:2、4、6、7
+};
diff --git a/ClientPack/ClientToGameServer/CC0_CrossRealm/ViewCrossBillboard.h b/ClientPack/ClientToGameServer/CC0_CrossRealm/ViewCrossBillboard.h
index 6c18014..1686d03 100644
--- a/ClientPack/ClientToGameServer/CC0_CrossRealm/ViewCrossBillboard.h
+++ b/ClientPack/ClientToGameServer/CC0_CrossRealm/ViewCrossBillboard.h
@@ -4,8 +4,8 @@
 {
 	tagHead		Head;
 	BYTE		Type;		//榜单类型
-	BYTE		GroupValue1;	// 分组值1
-	BYTE		GroupValue2;	// 分组值2,与分组值1组合归为同组榜单数据
+	DWORD		GroupValue1;	// 分组值1
+	DWORD		GroupValue2;	// 分组值2,与分组值1组合归为同组榜单数据
 	DWORD		StartIndex;	//查看的起始名次索引, 默认0
 	BYTE		WatchCnt;	//查看条数,默认20,最大不超过100
 	DWORD		WatchID;		//查看指定ID名次前后,如玩家ID、家族ID等
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk.des b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk.des
new file mode 100644
index 0000000..d1d3b2f
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk.des
@@ -0,0 +1 @@
+C1 25 仙盟攻城战攻击 #tagCMFamilyGCZAtk
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk.h b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk.h
new file mode 100644
index 0000000..6476662
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZAtk.h
@@ -0,0 +1,9 @@
+// C1 25 仙盟攻城战攻击 #tagCMFamilyGCZAtk
+
+struct	tagCMFamilyGCZAtk
+{
+	tagHead		Head;
+	BYTE		AtkType;		//攻击类型: 1-普通单攻;2-技能单攻;3-技能群攻;
+	DWORD		TagCityID;	//目标城池ID,一般是仙盟ID或者特殊城池ID如修罗城城池,普攻单攻需指定目标,群攻技能发0
+	DWORD		TagGuardID;	//目标守卫ID,一般是玩家ID或者特殊守卫ID如修罗城守卫,普攻单攻需指定目标,技能攻击发0
+};
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution.des b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution.des
new file mode 100644
index 0000000..0929980
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution.des
@@ -0,0 +1 @@
+C1 24 仙盟攻城战捐献 #tagCMFamilyGCZContribution
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution.h b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution.h
new file mode 100644
index 0000000..393a75e
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZContribution.h
@@ -0,0 +1,8 @@
+// C1 24 仙盟攻城战捐献 #tagCMFamilyGCZContribution
+
+struct	tagCMFamilyGCZContribution
+{
+	tagHead		Head;
+	BYTE		ContributionType;		//捐献类型: 0-低级;1-高级
+	DWORD		UseCount;		//物品捐献时使用个数
+};
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess.des b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess.des
new file mode 100644
index 0000000..e81cde1
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess.des
@@ -0,0 +1 @@
+C1 26 仙盟攻城战竞猜 #tagCMFamilyGCZGuess
diff --git a/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess.h b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess.h
new file mode 100644
index 0000000..7f997c8
--- /dev/null
+++ b/ClientPack/ClientToMapServer/CC1_CrossRealm/FamilyGCZGuess.h
@@ -0,0 +1,8 @@
+// C1 26 仙盟攻城战竞猜 #tagCMFamilyGCZGuess
+
+struct	tagCMFamilyGCZGuess
+{
+	tagHead		Head;
+	BYTE		SelectCnt;
+	DWORD		SelectFamilyIDList[SelectCnt];	// 竞猜选择的仙盟ID排名顺序
+};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/CrossBillboardInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/CrossBillboardInfo.h
index 5cfadd9..81ca16a 100644
--- a/ServerPack/GameServerPack/HC0_CrossRealm/CrossBillboardInfo.h
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/CrossBillboardInfo.h
@@ -27,8 +27,8 @@
 {
 	tagHead		Head;
 	BYTE		Type;		//榜单类型
-	BYTE		GroupValue1;	// 分组值1
-	BYTE		GroupValue2;	// 分组值2,与分组值1组合归为同组榜单数据
+	DWORD		GroupValue1;	// 分组值1
+	DWORD		GroupValue2;	// 分组值2,与分组值1组合归为同组榜单数据
 	DWORD		WatchID;		//查看指定ID名次前后,如玩家ID、家族ID等
 	BYTE		BillboardCount;
 	tagGCCrossBillboardData	CrossBillboardDataList[BillboardCount];
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.des b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.des
new file mode 100644
index 0000000..8281f8a
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.des
@@ -0,0 +1 @@
+C0 24 仙盟攻城战活动信息 #tagGCFamilyGCZActInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.h
new file mode 100644
index 0000000..296e85d
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZActInfo.h
@@ -0,0 +1,34 @@
+// C0 24 仙盟攻城战活动信息 #tagGCFamilyGCZActInfo
+
+struct    tagGCFamilyGCZActFamily
+{
+	DWORD		FamilyID;
+	char		Name[33];	//参与仙盟名字
+	BYTE		LV;		//仙盟等级
+	DWORD		ServerID;		//仙盟所属区服ID
+	DWORD		EmblemID;	//徽章ID
+	DWORD		FightPower;	//仙盟总战力,求余亿部分
+	DWORD		FightPowerEx;	//仙盟总战力,整除亿部分
+	DWORD		LeaderID;	//盟主ID
+	char		LeaderName[33];	//盟主名
+	DWORD		LeaderFace;
+	DWORD		LeaderFacePic;
+};
+
+struct    tagGCFamilyGCZActInfo
+{
+	tagHead		Head;
+	BYTE		ServerInfoLen;
+	char		ServerIDRangeInfo[ServerInfoLen];	//开放该活动的服务器ID范围列表,json格式 [[IDA, IDB], ...], [] 为全服
+	BYTE		ZoneID;		// 活动分区ID,公示期为0
+	DWORD		ActID;		// 活动ID,代表某一次活动的唯一ID,前端如果有活动相关的本地记录可以通过验证此ID变更进行重置
+	char		StartDate[10];	// 开始日期 y-m-d
+	char		EndtDate[10];	// 结束日期 y-m-d
+	BYTE		JoinFamilyCnt;	// 参与仙盟数
+	WORD		ActFlowID;	// 活动流程ID,对应H.活动时间流程表中的编号,前端根据跨服时间自行计算当前所处流程状态
+	WORD		PersonalTemplateID;	// 个人伤害排行奖励模版,对应H.活动榜单奖励模版表,前端自行读表展示
+	WORD		FamilyTemplateID;	// 仙盟积分排行奖励模版,对应H.活动榜单奖励模版表,前端自行读表展示
+	BYTE		StateError;	// 活动流程状态是否异常,如果不为0代表活动已异常,前端自行决定是不显示活动还是活动页面做提示
+	BYTE		FamilyCount;
+	tagGCFamilyGCZActFamily		ActFamilyList[FamilyCount];		//本分区参与的仙盟名单
+};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo
new file mode 100644
index 0000000..4b2824e
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo
Binary files differ
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo.des b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo.des
new file mode 100644
index 0000000..d67d672
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo.des
@@ -0,0 +1 @@
+C0 29 仙盟攻城战城池战斗信息 #tagGCFamilyGCZBatCityInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo.h
new file mode 100644
index 0000000..b0b680c
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatCityInfo.h
@@ -0,0 +1,19 @@
+// C0 29 仙盟攻城战城池战斗信息 #tagGCFamilyGCZBatCityInfo
+
+struct    tagGCFamilyGCZBatCityInfo
+{
+	tagHead		Head;
+	DWORD		CityID;		//城池ID
+	BYTE		CityLV;		//城池等级
+	DWORD		FamilyID;		//所属仙盟ID,可能为0
+	DWORD		GuardID;		//当前防守成员ID,为0时表示没有防守成员了,城池已被击毁
+	DWORD		HP;		//防守成员剩余生命,求余亿部分,剩余生命为0时代表该防守成员被击败
+	DWORD		HPEx;		//防守成员剩余生命,整除亿部分
+	DWORD		HPMax;		//防守成员最大生命,求余亿部分
+	DWORD		HPMaxEx;	//防守成员最大生命,整除亿部分
+	DWORD		AtkPlayerID;	//发起攻击的玩家ID,可能为0,判断是否自己的ID进行相应的攻击表现
+	BYTE		AtkRet;		//攻击结果,仅在攻击玩家ID不为0时有效,0--成功;1-目标已被击杀;2-城池已被摧毁;3-其他
+	BYTE		KillCnt;		//本次攻击击杀防守人员数
+	DWORD		HurtValue;	//伤害飘血,求余亿部分
+	DWORD		HurtValueEx;	//伤害飘血,整除亿部分
+};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo.des b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo.des
new file mode 100644
index 0000000..115575e
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo.des
@@ -0,0 +1 @@
+C0 25 仙盟攻城战轮次分组信息 #tagGCFamilyGCZBatGroupInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo.h
new file mode 100644
index 0000000..49ae14b
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatGroupInfo.h
@@ -0,0 +1,23 @@
+// C0 25 仙盟攻城战轮次分组信息 #tagGCFamilyGCZBatGroupInfo
+
+struct    tagGCFamilyGCZBatGroup
+{
+	BYTE		GroupNum;	// 分组编号,从1开始,对应A
+	BYTE		FamilyIDCnt;
+	DWORD		FamilyIDList[FamilyIDCnt];	// 仙盟ID列表,前端可以通过判断参与的仙盟ID是否在某个分组里面验证有没有战场参赛资格
+};
+
+struct    tagGCFamilyGCZBat
+{
+	BYTE		BatType;		// 战场类型 1-初级;2-中级;3-高级;
+	BYTE		GroupCnt;	// 分组数
+	tagGCFamilyGCZBatGroup	GroupList[GroupCnt];	// 分组列表
+};
+
+struct    tagGCFamilyGCZBatGroupInfo
+{
+	tagHead		Head;
+	BYTE		RoundNum;	// 第x轮的分组,从1开始,没有在对应轮次战场分组里的视为没有该轮次的参赛资格
+	BYTE		BatTypeCnt;	// 战场类型数
+	tagGCFamilyGCZBat		BatList[BatTypeCnt];	//战场列表
+};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport.des b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport.des
new file mode 100644
index 0000000..6a5bc51
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport.des
@@ -0,0 +1 @@
+C0 30 仙盟攻城战战斗战报 #tagGCFamilyGCZBatReport
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport.h b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport.h
new file mode 100644
index 0000000..7997d88
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatReport.h
@@ -0,0 +1,18 @@
+// C0 30 仙盟攻城战战斗战报 #tagGCFamilyGCZBatReport
+
+struct    tagGCFamilyGCZBatRepHurt
+{
+	DWORD		TagFamilyID;	//目标仙盟ID
+	DWORD		HurtValue;	//输出伤害,求余亿部分
+	DWORD		HurtValueEx;	//输出伤害,整除亿部分
+};
+
+struct    tagGCFamilyGCZBatReport
+{
+	tagHead		Head;
+	DWORD		FamilyID;		// 战报仙盟ID
+	BYTE		DefRepCnt;
+	tagGCFamilyGCZBatRepHurt	DefRepList[DefRepCnt];	// 防守战报
+	BYTE		AtkRepCnt;
+	tagGCFamilyGCZBatRepHurt	AtkRepList[AtkRepCnt];	// 进攻战报
+};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo.des b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo.des
new file mode 100644
index 0000000..0e2e24f
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo.des
@@ -0,0 +1 @@
+C0 28 仙盟攻城战城池场景信息 #tagGCFamilyGCZBatSceneInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo.h
new file mode 100644
index 0000000..191744b
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZBatSceneInfo.h
@@ -0,0 +1,49 @@
+// C0 28 仙盟攻城战城池场景信息 #tagGCFamilyGCZBatSceneInfo
+
+struct    tagGCFamilyGCZBatScenePlayer
+{
+	DWORD		PlayerID;
+	char		Name[33];
+	DWORD		Face;
+	DWORD		FacePic;
+};
+
+struct    tagGCFamilyGCZBatSceneHurt
+{
+	DWORD		CityID;		//被攻击的城池ID
+	DWORD		HurtValue;	//伤害飘血,求余亿部分
+	DWORD		HurtValueEx;	//伤害飘血,整除亿部分
+};
+
+struct    tagGCFamilyGCZBatSceneCity
+{
+	DWORD		CityID;		//城池ID
+	BYTE		CityLV;		//城池等级
+	DWORD		FamilyID;		//所属仙盟ID,可能为0
+	BYTE		Rank;		//当前名次,从1开始
+	DWORD		HP;		//剩余生命,求余亿部分,剩余生命为0时代表被摧毁
+	DWORD		HPEx;		//剩余生命,整除亿部分
+	DWORD		HPMax;		//最大生命,求余亿部分
+	DWORD		HPMaxEx;	//最大生命,整除亿部分
+	DWORD		LastAtkedTime;	//最后一次被攻击时间戳,可能为0
+};
+
+struct    tagGCFamilyGCZBatSceneInfo
+{
+	tagHead		Head;
+	BYTE		BatType;		// 战场类型 1-初级;2-中级;3-高级;
+	BYTE		GroupNum;	// 分组编号,从1开始,对应A
+	DWORD		TopFamilyID;	// 伤害第一仙盟ID
+	DWORD		TopLeaderID;	// 伤害第一盟主ID
+	DWORD		TopPlayerID;	// 伤害第一玩家ID
+	DWORD		TopPlayerFamilyID;	// 伤害第一玩家仙盟ID
+	DWORD		AtkPlayerID;	// 发起攻击的玩家,可能为0,仅技能攻击时通知,普攻时仅通知血量等信息
+	BYTE		AtkType;		// 攻击类型,有发起攻击的玩家时有效
+	BYTE		KillCnt;		// 本次攻击累计击杀数,有发起攻击的玩家时有效
+	BYTE		HurtCnt;
+	tagGCFamilyGCZBatSceneHurt	HurtList[HurtCnt];	//本次攻击伤血信息,有发起攻击的玩家时有效
+	BYTE		CityCnt;
+	tagGCFamilyGCZBatSceneCity	CityList[CityCnt];	// 城池信息,仅通知变化的城池
+	BYTE		PlayerCnt;
+	tagGCFamilyGCZBatScenePlayer	PlayerInfoList[PlayerCnt];	// 场景展示所需要用到的玩家信息,如第一玩家、使用技能玩家
+};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo
new file mode 100644
index 0000000..b2766d2
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo
Binary files differ
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.des b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.des
new file mode 100644
index 0000000..af8a438
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.des
@@ -0,0 +1 @@
+C0 26 仙盟攻城战大本营信息 #tagGCFamilyGCZCampInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.h
new file mode 100644
index 0000000..a2c3825
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZCampInfo.h
@@ -0,0 +1,36 @@
+// C0 26 仙盟攻城战大本营信息 #tagGCFamilyGCZCampInfo
+
+struct    tagGCFamilyGCZCampMem
+{
+	DWORD		PlayerID;
+	char		Name[33];	//参与玩家名字
+	BYTE		FamilyLV;		//参与时的家族职位
+	DWORD		Face;		//基本脸型
+	DWORD		FacePic;		//头像框
+	DWORD		FightPower;	//战力,求余亿部分
+	DWORD		FightPowerEx;	//战力,整除亿部分
+	DWORD		HP;		//剩余生命,求余亿部分
+	DWORD		HPEx;		//剩余生命,整除亿部分
+	DWORD		HPMax;		//最大生命,求余亿部分
+	DWORD		HPMaxEx;	//最大生命,整除亿部分
+	DWORD		TotalHurt;	//活动总伤害,求余亿部分,如果不在榜上则读该值
+	DWORD		TotalHurtEx;	//活动总伤害,整除亿部分
+};
+
+struct    tagGCFamilyGCZCampInfo
+{
+	tagHead		Head;
+	DWORD		FamilyID;		//所在活动仙盟ID,可能不是玩家当前的仙盟ID,活动以该ID为准
+	WORD		Score;		//活动总积分,如果不在榜上则读该值
+	WORD		CampLV;		//大本营当前等级
+	DWORD		CampExp;	//大本营当前经验
+	WORD		CityLV;		//城池属性等级,开战后可能与当前大本营等级不一样
+	DWORD		HPBase;		//基础生命,求余亿部分
+	DWORD		HPBaseEx;	//基础生命,整除亿部分
+	DWORD		HPMax;		//总生命,求余亿部分
+	DWORD		HPMaxEx;	//总大生命,整除亿部分
+	DWORD		HP;		//剩余生命,求余亿部分
+	DWORD		HPEx;		//剩余生命,整除亿部分
+	BYTE		DefMemCnt;
+	tagGCFamilyGCZCampMem		DefMemList[DefMemCnt];	//防守成员列表,有同步则差异更新,没有在防守成员里的视为没有参与资格
+};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo.des b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo.des
new file mode 100644
index 0000000..e86d559
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo.des
@@ -0,0 +1 @@
+C0 27 仙盟攻城战成员贡献值信息 #tagGCFamilyGCZContributionInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo.h
new file mode 100644
index 0000000..6edd4df
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZContributionInfo.h
@@ -0,0 +1,14 @@
+// C0 27 仙盟攻城战成员贡献值信息 #tagGCFamilyGCZContributionInfo
+
+struct    tagGCFamilyGCZContribution
+{
+	DWORD		PlayerID;
+	DWORD		ContributionValue;	//贡献值
+};
+
+struct    tagGCFamilyGCZContributionInfo
+{
+	tagHead		Head;
+	BYTE		ContriCnt;
+	tagGCFamilyGCZContribution		ContriList[ContriCnt];	//成员贡献值列表
+};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo.des b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo.des
new file mode 100644
index 0000000..c0dde2d
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo.des
@@ -0,0 +1 @@
+C0 31 仙盟攻城战分组仙盟成员伤害明细 #tagGCFamilyGCZGroupFamilyMemHurtInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo.h
new file mode 100644
index 0000000..b422414
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGroupFamilyMemHurtInfo.h
@@ -0,0 +1,17 @@
+// C0 31 仙盟攻城战分组仙盟成员伤害明细 #tagGCFamilyGCZGroupFamilyMemHurtInfo
+
+struct    tagGCFamilyGCZGroupFamilyMemHurt
+{
+	DWORD		PlayerID;
+	char		Name[33];	//参与玩家名字
+	DWORD		HurtValue;	//伤害,求余亿部分
+	DWORD		HurtValueEx;	//伤害,整除亿部分
+};
+
+struct    tagGCFamilyGCZGroupFamilyMemHurtInfo
+{
+	tagHead		Head;
+	DWORD		FamilyID;		//查看的目标仙盟ID
+	BYTE		HurtMemCnt;
+	tagGCFamilyGCZGroupFamilyMemHurt		HurtMemList[HurtMemCnt];	//成员伤害明细列表,只算城池被摧毁前的伤害,未排序,前端自己排序
+};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo.des b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo.des
new file mode 100644
index 0000000..89e1742
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo.des
@@ -0,0 +1 @@
+C0 32 仙盟攻城战竞猜名单信息 #tagGCFamilyGCZGuessInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo.h
new file mode 100644
index 0000000..dff55b9
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/FamilyGCZGuessInfo.h
@@ -0,0 +1,27 @@
+// C0 32 仙盟攻城战竞猜名单信息 #tagGCFamilyGCZGuessInfo
+
+struct    tagGCFamilyGCZGuessFamily
+{
+	DWORD		FamilyID;		//备选仙盟ID
+	WORD		GuessValue;	//竞猜热度值,玩家每次选择则加1,重复选择也算
+};
+
+struct    tagGCFamilyGCZGuessRight
+{
+	BYTE		AwardID;		//奖励ID
+	WORD		RightPlayerCnt;	//猜中玩家个数
+};
+
+struct    tagGCFamilyGCZGuessInfo
+{
+	tagHead		Head;
+	DWORD		PlayerID;		//竞猜玩家ID,有玩家修改竞猜时会附带该信息,如果是自己ID,则更新自己的竞猜选项,否则无视
+	BYTE		SelectCnt;
+	DWORD		SelectFamilyIDList[SelectCnt];	//竞猜玩家选择的仙盟ID顺序
+	BYTE		FinalCnt;
+	DWORD		FinalFamilyIDList[FinalCnt];		//最终排名顺序,仅活动排名出来后才有值
+	BYTE		RightCnt;
+	tagGCFamilyGCZGuessRight		RightInfoList[RightCnt];	//猜中个数明细列表
+	BYTE		FamilyCnt;
+	tagGCFamilyGCZGuessFamily		GuessFamilyList[FamilyCnt];	//备选仙盟名单列表
+};
diff --git a/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo
new file mode 100644
index 0000000..ae63e48
--- /dev/null
+++ b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo
Binary files differ
diff --git a/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo.des b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo.des
new file mode 100644
index 0000000..48964b4
--- /dev/null
+++ b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo.des
@@ -0,0 +1 @@
+C1 10 仙盟攻城战玩家信息 #tagMCFamilyGCZPlayerInfo
diff --git a/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo.h b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo.h
new file mode 100644
index 0000000..adfe2f4
--- /dev/null
+++ b/ServerPack/MapServerPack/HC1_CrossRealm/FamilyGCZPlayerInfo.h
@@ -0,0 +1,10 @@
+// C1 10 仙盟攻城战玩家信息 #tagMCFamilyGCZPlayerInfo
+
+struct	tagMCFamilyGCZPlayerInfo
+{
+	tagHead		Head;
+	BYTE		ContributionCnt;	// 轮次低级捐献已捐献次数,轮次变更时会重置
+	BYTE		Energy;		// 当前可用免费体力
+	DWORD		EnergyTime;	// 上次恢复免费体力时间戳,为0时不再恢复
+	DWORD		AwardState;	// 活动奖励领取状态,按二进制位判断是否已领取,0-竞猜奖励;1-个人排行奖励;2-仙盟排名奖励;
+};

--
Gitblit v1.8.0