From a9501d2682bdb3be26d0c0f0c1bf84a13bcf8a65 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 16 一月 2026 19:45:57 +0800
Subject: [PATCH] 438 【方案】方案预设-服务端

---
 ServerPack/HB1_Role/HeroPresetInfo.des           |    1 
 ServerPack/HB1_Role/BatPresetSwitchInfo.h        |   14 ++++
 ClientPack/CB2_NewFunction/BatPresetSwitch.des   |    1 
 ClientPack/CB4_FightDefine/HeroPresetSave        |    0 
 ServerPack/HB1_Role/FuncPresetSwitchInfo.des     |    1 
 ClientPack/CB2_NewFunction/FuncPresetUpdName.h   |   10 +++
 ServerPack/HB1_Role/FuncPresetSwitchInfo         |    0 
 ClientPack/CB2_NewFunction/FuncPresetUnlock.des  |    1 
 ServerPack/HB1_Role/FuncPresetSwitchInfo.h       |   21 +++++++
 ClientPack/CB4_FightDefine/HeroPresetSave.h      |   16 +++++
 ClientPack/CB2_NewFunction/FuncPresetSwitch.des  |    1 
 ClientPack/CB2_NewFunction/FuncPresetUpdName     |    0 
 ClientPack/CB2_NewFunction/FuncPresetUnlock.h    |    8 ++
 ClientPack/CB2_NewFunction/FuncPresetSwitch      |    0 
 ServerPack/HB1_Role/FuncPresetInfoList.des       |    1 
 ClientPack/CB2_NewFunction/FuncPresetUnlock      |    0 
 ServerPack/HB1_Role/FuncPresetInfoList.h         |   23 +++++++
 ClientPack/CB2_NewFunction/FuncPresetUpdName.des |    1 
 ClientPack/CB4_FightDefine/HeroPresetSave.des    |    1 
 ClientPack/CB2_NewFunction/FuncPresetSwitch.h    |    9 +++
 ServerPack/HB1_Role/BatPresetSwitchInfo          |    0 
 ServerPack/HB1_Role/FuncPresetInfoList           |    0 
 ClientPack/CB2_NewFunction/BatPresetSwitch.h     |    8 ++
 /dev/null                                        |   16 -----
 ServerPack/HB1_Role/HeroPresetInfo               |    0 
 ClientPack/CB2_NewFunction/BatPresetSwitch       |    0 
 ServerPack/HB1_Role/BatPresetSwitchInfo.des      |    1 
 ServerPack/HB1_Role/HeroPresetInfo.h             |   16 +++++
 28 files changed, 134 insertions(+), 16 deletions(-)

diff --git a/ClientPack/CB4_FightDefine/HeroLineupSave b/ClientPack/CB2_NewFunction/BatPresetSwitch
similarity index 100%
copy from ClientPack/CB4_FightDefine/HeroLineupSave
copy to ClientPack/CB2_NewFunction/BatPresetSwitch
diff --git a/ClientPack/CB2_NewFunction/BatPresetSwitch.des b/ClientPack/CB2_NewFunction/BatPresetSwitch.des
new file mode 100644
index 0000000..727db4f
--- /dev/null
+++ b/ClientPack/CB2_NewFunction/BatPresetSwitch.des
@@ -0,0 +1 @@
+B2 63 战斗预设切换 #tagCSBatPresetSwitch
diff --git a/ClientPack/CB2_NewFunction/BatPresetSwitch.h b/ClientPack/CB2_NewFunction/BatPresetSwitch.h
new file mode 100644
index 0000000..beaf709
--- /dev/null
+++ b/ClientPack/CB2_NewFunction/BatPresetSwitch.h
@@ -0,0 +1,8 @@
+// B2 63 战斗预设切换 #tagCSBatPresetSwitch
+
+struct	tagCSBatPresetSwitch
+{
+	tagHead		Head;
+	BYTE		BatPresetType;	//战斗预设类型:1-主线战斗;2-演武场防守;
+	BYTE		BatPresetID;	//切换至目标战斗预设ID
+};
diff --git a/ClientPack/CB4_FightDefine/HeroLineupSave b/ClientPack/CB2_NewFunction/FuncPresetSwitch
similarity index 100%
copy from ClientPack/CB4_FightDefine/HeroLineupSave
copy to ClientPack/CB2_NewFunction/FuncPresetSwitch
diff --git a/ClientPack/CB2_NewFunction/FuncPresetSwitch.des b/ClientPack/CB2_NewFunction/FuncPresetSwitch.des
new file mode 100644
index 0000000..d4cc020
--- /dev/null
+++ b/ClientPack/CB2_NewFunction/FuncPresetSwitch.des
@@ -0,0 +1 @@
+B2 62 功能预设切换 #tagCSFuncPresetSwitch
diff --git a/ClientPack/CB2_NewFunction/FuncPresetSwitch.h b/ClientPack/CB2_NewFunction/FuncPresetSwitch.h
new file mode 100644
index 0000000..079a057
--- /dev/null
+++ b/ClientPack/CB2_NewFunction/FuncPresetSwitch.h
@@ -0,0 +1,9 @@
+// B2 62 功能预设切换 #tagCSFuncPresetSwitch
+
+struct	tagCSFuncPresetSwitch
+{
+	tagHead		Head;
+	BYTE		BatPresetID;	//所属战斗预设ID
+	BYTE		FuncPresetType;	//预设类型,2-阵容;3-命格;
+	BYTE		PresetID;		//本功能切换至目标预设ID
+};
diff --git a/ClientPack/CB4_FightDefine/HeroLineupSave b/ClientPack/CB2_NewFunction/FuncPresetUnlock
similarity index 100%
copy from ClientPack/CB4_FightDefine/HeroLineupSave
copy to ClientPack/CB2_NewFunction/FuncPresetUnlock
diff --git a/ClientPack/CB2_NewFunction/FuncPresetUnlock.des b/ClientPack/CB2_NewFunction/FuncPresetUnlock.des
new file mode 100644
index 0000000..f11512c
--- /dev/null
+++ b/ClientPack/CB2_NewFunction/FuncPresetUnlock.des
@@ -0,0 +1 @@
+B2 60 功能预设解锁 #tagCSFuncPresetUnlock
diff --git a/ClientPack/CB2_NewFunction/FuncPresetUnlock.h b/ClientPack/CB2_NewFunction/FuncPresetUnlock.h
new file mode 100644
index 0000000..930c6f6
--- /dev/null
+++ b/ClientPack/CB2_NewFunction/FuncPresetUnlock.h
@@ -0,0 +1,8 @@
+// B2 60 功能预设解锁 #tagCSFuncPresetUnlock
+
+struct	tagCSFuncPresetUnlock
+{
+	tagHead		Head;
+	BYTE		FuncPresetType;	//预设类型,1-全局;2-阵容;3-命格;
+	BYTE		PresetID;		//预设ID
+};
diff --git a/ClientPack/CB4_FightDefine/HeroLineupSave b/ClientPack/CB2_NewFunction/FuncPresetUpdName
similarity index 100%
copy from ClientPack/CB4_FightDefine/HeroLineupSave
copy to ClientPack/CB2_NewFunction/FuncPresetUpdName
diff --git a/ClientPack/CB2_NewFunction/FuncPresetUpdName.des b/ClientPack/CB2_NewFunction/FuncPresetUpdName.des
new file mode 100644
index 0000000..c850c55
--- /dev/null
+++ b/ClientPack/CB2_NewFunction/FuncPresetUpdName.des
@@ -0,0 +1 @@
+B2 61 功能预设改名 #tagCSFuncPresetUpdName
diff --git a/ClientPack/CB2_NewFunction/FuncPresetUpdName.h b/ClientPack/CB2_NewFunction/FuncPresetUpdName.h
new file mode 100644
index 0000000..f841929
--- /dev/null
+++ b/ClientPack/CB2_NewFunction/FuncPresetUpdName.h
@@ -0,0 +1,10 @@
+// B2 61 功能预设改名 #tagCSFuncPresetUpdName
+
+struct	tagCSFuncPresetUpdName
+{
+	tagHead		Head;
+	BYTE		FuncPresetType;	//预设类型,1-全局;2-阵容;3-命格;
+	BYTE		PresetID;		//预设ID
+	BYTE		NameLen; 
+	char		PresetName[NameLen];	//预设名称
+};
diff --git a/ClientPack/CB4_FightDefine/HeroLineupSave.des b/ClientPack/CB4_FightDefine/HeroLineupSave.des
deleted file mode 100644
index f4cbe57..0000000
--- a/ClientPack/CB4_FightDefine/HeroLineupSave.des
+++ /dev/null
@@ -1 +0,0 @@
-B4 12 战斗阵容保存 #tagCSHeroLineupSave
diff --git a/ClientPack/CB4_FightDefine/HeroLineupSave.h b/ClientPack/CB4_FightDefine/HeroLineupSave.h
deleted file mode 100644
index a3018aa..0000000
--- a/ClientPack/CB4_FightDefine/HeroLineupSave.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// B4 12 战斗阵容保存 #tagCSHeroLineupSave
-
-struct	tagCSHeroLineupPos
-{
-	WORD		ItemIndex;	//武将物品所在武将背包位置索引
-	BYTE		PosNum;		//1~n上阵位置编号  
-};
-
-struct	tagCSHeroLineupSave
-{
-	tagHead		Head;
-	BYTE		LineupID;		//阵容ID:1-主阵容;其他待扩展,如某个防守阵容
-	BYTE		ShapeType;	//本阵容阵型,0为默认阵型,可扩展不同的阵型
-	BYTE		PosCnt;
-	tagCSHeroLineupPos	HeroPosList[PosCnt];	// 保存的阵容,只发送最终的阵容武将位置即可
-};
diff --git a/ClientPack/CB4_FightDefine/HeroLineupSave b/ClientPack/CB4_FightDefine/HeroPresetSave
similarity index 100%
rename from ClientPack/CB4_FightDefine/HeroLineupSave
rename to ClientPack/CB4_FightDefine/HeroPresetSave
diff --git a/ClientPack/CB4_FightDefine/HeroPresetSave.des b/ClientPack/CB4_FightDefine/HeroPresetSave.des
new file mode 100644
index 0000000..90cb522
--- /dev/null
+++ b/ClientPack/CB4_FightDefine/HeroPresetSave.des
@@ -0,0 +1 @@
+B4 12 战斗阵容预设保存 #tagCSHeroPresetSave
diff --git a/ClientPack/CB4_FightDefine/HeroPresetSave.h b/ClientPack/CB4_FightDefine/HeroPresetSave.h
new file mode 100644
index 0000000..5c4c880
--- /dev/null
+++ b/ClientPack/CB4_FightDefine/HeroPresetSave.h
@@ -0,0 +1,16 @@
+// B4 12 战斗阵容预设保存 #tagCSHeroPresetSave
+
+struct	tagCSHeroPresetPos
+{
+	WORD		ItemIndex;	//武将物品所在武将背包位置索引
+	BYTE		PosNum;		//1~n上阵位置编号  
+};
+
+struct	tagCSHeroPresetSave
+{
+	tagHead		Head;
+	BYTE		PresetID;		//阵容方案预设ID
+	BYTE		ShapeType;	//本阵容阵型,0为默认阵型,可扩展不同的阵型
+	BYTE		PosCnt;
+	tagCSHeroPresetPos	HeroPosList[PosCnt];	// 保存的阵容,只发送最终的阵容武将位置即可
+};
diff --git a/ServerPack/HB1_Role/LineupInfo b/ServerPack/HB1_Role/BatPresetSwitchInfo
similarity index 100%
copy from ServerPack/HB1_Role/LineupInfo
copy to ServerPack/HB1_Role/BatPresetSwitchInfo
diff --git a/ServerPack/HB1_Role/BatPresetSwitchInfo.des b/ServerPack/HB1_Role/BatPresetSwitchInfo.des
new file mode 100644
index 0000000..36de000
--- /dev/null
+++ b/ServerPack/HB1_Role/BatPresetSwitchInfo.des
@@ -0,0 +1 @@
+B1 63 战斗预设切换信息 #tagSCBatPresetSwitchInfo
diff --git a/ServerPack/HB1_Role/BatPresetSwitchInfo.h b/ServerPack/HB1_Role/BatPresetSwitchInfo.h
new file mode 100644
index 0000000..0c0249c
--- /dev/null
+++ b/ServerPack/HB1_Role/BatPresetSwitchInfo.h
@@ -0,0 +1,14 @@
+// B1 63 战斗预设切换信息 #tagSCBatPresetSwitchInfo
+
+struct    tagSCBatPresetSwitch
+{
+	BYTE		BatPresetType;	//战斗预设类型:1-主线战斗;2-演武场防守;
+	BYTE		BatPresetID;	//该战斗功能所使用的战斗预设ID
+};
+
+struct    tagSCBatPresetSwitchInfo
+{
+	tagHead		 Head;
+	BYTE		BatFuncCnt; 
+	tagSCBatPresetSwitch		BatPresetList[BatFuncCnt];
+};
diff --git a/ServerPack/HB1_Role/LineupInfo b/ServerPack/HB1_Role/FuncPresetInfoList
similarity index 100%
copy from ServerPack/HB1_Role/LineupInfo
copy to ServerPack/HB1_Role/FuncPresetInfoList
diff --git a/ServerPack/HB1_Role/FuncPresetInfoList.des b/ServerPack/HB1_Role/FuncPresetInfoList.des
new file mode 100644
index 0000000..e1d81cd
--- /dev/null
+++ b/ServerPack/HB1_Role/FuncPresetInfoList.des
@@ -0,0 +1 @@
+B1 61 功能预设信息 #tagSCFuncPresetInfoList
diff --git a/ServerPack/HB1_Role/FuncPresetInfoList.h b/ServerPack/HB1_Role/FuncPresetInfoList.h
new file mode 100644
index 0000000..fc8fb35
--- /dev/null
+++ b/ServerPack/HB1_Role/FuncPresetInfoList.h
@@ -0,0 +1,23 @@
+// B1 61 功能预设信息 #tagSCFuncPresetInfoList
+
+struct    tagSCFuncPreset
+{
+	BYTE		PresetID;		//预设方案ID
+	BYTE		NameLen; 
+	char		PresetName[NameLen];	//预设名称
+};
+
+struct    tagSCFuncPresetInfo
+{
+	BYTE		FuncPresetType;	//预设类型,1-全局战斗;2-阵容;3-命格;
+	DWORD		UnlockState;	//该功能预设解锁状态,按预设ID二进制位运算记录是否已解锁
+	BYTE		PresetCnt; 
+	tagSCFuncPreset		PresetList[PresetCnt];	//本功能下预设列表
+};
+
+struct    tagSCFuncPresetInfoList
+{
+	tagHead		 Head;
+	BYTE		FuncCnt; 
+	tagSCFuncPresetInfo		FuncPresetList[FuncCnt];
+};
diff --git a/ServerPack/HB1_Role/LineupInfo b/ServerPack/HB1_Role/FuncPresetSwitchInfo
similarity index 100%
copy from ServerPack/HB1_Role/LineupInfo
copy to ServerPack/HB1_Role/FuncPresetSwitchInfo
diff --git a/ServerPack/HB1_Role/FuncPresetSwitchInfo.des b/ServerPack/HB1_Role/FuncPresetSwitchInfo.des
new file mode 100644
index 0000000..650cc20
--- /dev/null
+++ b/ServerPack/HB1_Role/FuncPresetSwitchInfo.des
@@ -0,0 +1 @@
+B1 62 功能预设切换信息 #tagSCFuncPresetSwitchInfo
diff --git a/ServerPack/HB1_Role/FuncPresetSwitchInfo.h b/ServerPack/HB1_Role/FuncPresetSwitchInfo.h
new file mode 100644
index 0000000..94df09e
--- /dev/null
+++ b/ServerPack/HB1_Role/FuncPresetSwitchInfo.h
@@ -0,0 +1,21 @@
+// B1 62 功能预设切换信息 #tagSCFuncPresetSwitchInfo
+
+struct    tagSCFuncPresetFunc
+{
+	BYTE		FuncPresetType;	//预设类型,2-阵容;3-命格;
+	BYTE		FuncPresetID;	//该全局战斗预设下本功能使用的预设ID
+};
+
+struct    tagSCFuncPresetBat
+{
+	BYTE		BatPresetID;	//所属全局战斗预设ID
+	BYTE		FuncCnt;
+	tagSCFuncPresetFunc		FuncPresetList[FuncCnt];
+};
+
+struct    tagSCFuncPresetSwitchInfo
+{
+	tagHead		 Head;
+	BYTE		BatPresetCnt; 
+	tagSCFuncPresetBat		BatPresetList[BatPresetCnt];
+};
diff --git a/ServerPack/HB1_Role/LineupInfo b/ServerPack/HB1_Role/HeroPresetInfo
similarity index 100%
rename from ServerPack/HB1_Role/LineupInfo
rename to ServerPack/HB1_Role/HeroPresetInfo
diff --git a/ServerPack/HB1_Role/HeroPresetInfo.des b/ServerPack/HB1_Role/HeroPresetInfo.des
new file mode 100644
index 0000000..7830d3f
--- /dev/null
+++ b/ServerPack/HB1_Role/HeroPresetInfo.des
@@ -0,0 +1 @@
+B1 24 武将预设信息 #tagSCHeroPresetInfo
diff --git a/ServerPack/HB1_Role/HeroPresetInfo.h b/ServerPack/HB1_Role/HeroPresetInfo.h
new file mode 100644
index 0000000..ae58aa7
--- /dev/null
+++ b/ServerPack/HB1_Role/HeroPresetInfo.h
@@ -0,0 +1,16 @@
+// B1 24 武将预设信息 #tagSCHeroPresetInfo
+
+struct    tagSCHeroPreset
+{
+	BYTE		PresetID;		//阵容方案预设ID
+	BYTE		ShapeType;	// 阵型
+	BYTE		HeroCnt;
+	WORD		HeroItemIndexList[HeroCnt];	// 所在武将背包索引+1列表 [站位1物品索引+1, 站位2, ...],站位无武将时为0
+};
+
+struct    tagSCHeroPresetInfo
+{
+	tagHead		 Head;
+	BYTE		PresetCnt;
+	tagSCHeroPreset	PresetList[PresetCnt];
+};
diff --git a/ServerPack/HB1_Role/LineupInfo.des b/ServerPack/HB1_Role/LineupInfo.des
deleted file mode 100644
index c29aca2..0000000
--- a/ServerPack/HB1_Role/LineupInfo.des
+++ /dev/null
@@ -1 +0,0 @@
-B1 24 阵容信息 #tagSCLineupInfo
diff --git a/ServerPack/HB1_Role/LineupInfo.h b/ServerPack/HB1_Role/LineupInfo.h
deleted file mode 100644
index 90d448c..0000000
--- a/ServerPack/HB1_Role/LineupInfo.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// B1 24 阵容信息 #tagSCLineupInfo
-
-struct    tagSCLineup
-{
-	BYTE		LineupID;		// 阵容ID
-	BYTE		ShapeType;	// 阵型
-	BYTE		HeroCnt;
-	WORD		HeroItemIndexList[HeroCnt];	// 所在武将背包索引+1列表 [站位1物品索引+1, 站位2, ...],站位无武将时为0
-};
-
-struct    tagSCLineupInfo
-{
-	tagHead		 Head;
-	BYTE		LineupCnt;
-	tagSCLineup	LineupList[LineupCnt];
-};

--
Gitblit v1.8.0