From 407988d6c1c43801cb24880f04d97a016284ff59 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 06 八月 2025 18:31:58 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(NPC、技能使用新表N.NPC表卡牌、J.技能表卡牌;重构战斗系统;优化战利品掉落;)

---
 ServerPack/HB4_FightDefine/BuffDel.des                |    1 
 ServerPack/HB4_FightDefine/ObjPropertyRefreshView.h   |   15 +++++++
 ServerPack/HB4_FightDefine/BuffDel                    |    0 
 ServerPack/HB4_FightDefine/BuffRefresh.des            |    1 
 ServerPack/HB4_FightDefine/BuffRefresh                |    0 
 ServerPack/HB4_FightDefine/BuffRefresh.h              |   13 ++++++
 ServerPack/HB4_FightDefine/ObjPropertyRefreshView     |    0 
 ServerPack/HB4_FightDefine/UseSkill.des               |    1 
 ServerPack/HB4_FightDefine/ObjPropertyRefreshView.des |    1 
 ServerPack/HB4_FightDefine/UseSkill.h                 |   26 +++++++++++++
 ServerPack/HB4_FightDefine/UseSkill                   |    0 
 ServerPack/HB4_FightDefine/BuffDel.h                  |    9 ++++
 ServerPack/HB4_FightDefine/TurnFightObjDead.h         |    2 +
 13 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/ServerPack/HB4_FightDefine/BuffDel b/ServerPack/HB4_FightDefine/BuffDel
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/BuffDel
diff --git a/ServerPack/HB4_FightDefine/BuffDel.des b/ServerPack/HB4_FightDefine/BuffDel.des
new file mode 100644
index 0000000..a21f746
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/BuffDel.des
@@ -0,0 +1 @@
+B4 29 Buff消失 #tagSCBuffDel
diff --git a/ServerPack/HB4_FightDefine/BuffDel.h b/ServerPack/HB4_FightDefine/BuffDel.h
new file mode 100644
index 0000000..a56c804
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/BuffDel.h
@@ -0,0 +1,9 @@
+// B4 29 Buff消失 #tagSCBuffDel
+
+struct	tagSCBuffDel
+{
+	tagHead		Head;
+	DWORD		ObjID;
+	DWORD		BuffID;
+	DWORD		RelatedSkillID;	// 关联的技能ID,一般是主技能ID或由于某个技能释放引起的buff变更
+};
diff --git a/ServerPack/HB4_FightDefine/BuffRefresh b/ServerPack/HB4_FightDefine/BuffRefresh
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/BuffRefresh
diff --git a/ServerPack/HB4_FightDefine/BuffRefresh.des b/ServerPack/HB4_FightDefine/BuffRefresh.des
new file mode 100644
index 0000000..6d495b2
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/BuffRefresh.des
@@ -0,0 +1 @@
+B4 28 Buff刷新 #tagSCBuffRefresh
diff --git a/ServerPack/HB4_FightDefine/BuffRefresh.h b/ServerPack/HB4_FightDefine/BuffRefresh.h
new file mode 100644
index 0000000..af26a6c
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/BuffRefresh.h
@@ -0,0 +1,13 @@
+// B4 28 Buff刷新 #tagSCBuffRefresh
+
+struct	tagSCBuffRefresh
+{
+	tagHead		Head;
+	DWORD		ObjID;		// 谁身上的buff
+	DWORD		BuffID;		// buffID,某个obj上的唯一buffID,不同的buffID可能skillID相同
+	DWORD		SkillID;		// 该buff对应技能表ID
+	DWORD		RelatedSkillID;	// 关联的技能ID,一般是主技能ID或由于某个技能释放引起的buff变更
+	DWORD		LastTime;		// 剩余时长毫秒/回合数
+	WORD		Layer;		// 层数,不需要默认0
+	DWORD		OwnerID;		// buff来源者,即施法方
+};
diff --git a/ServerPack/HB4_FightDefine/ObjPropertyRefreshView b/ServerPack/HB4_FightDefine/ObjPropertyRefreshView
new file mode 100644
index 0000000..12de077
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/ObjPropertyRefreshView
Binary files differ
diff --git a/ServerPack/HB4_FightDefine/ObjPropertyRefreshView.des b/ServerPack/HB4_FightDefine/ObjPropertyRefreshView.des
new file mode 100644
index 0000000..a7d012d
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/ObjPropertyRefreshView.des
@@ -0,0 +1 @@
+B4 18 对象属性刷新展示 #tagSCObjPropertyRefreshView
diff --git a/ServerPack/HB4_FightDefine/ObjPropertyRefreshView.h b/ServerPack/HB4_FightDefine/ObjPropertyRefreshView.h
new file mode 100644
index 0000000..b951c06
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/ObjPropertyRefreshView.h
@@ -0,0 +1,15 @@
+// B4 18 对象属性刷新展示 #tagSCObjPropertyRefreshView
+
+struct	tagSCObjPropertyRefreshView
+{
+	tagHead		Head;
+	DWORD		ObjID;
+	WORD		RefreshType;	// 同0418刷新类型,如血量、怒气
+	DWORD		Value;		// 更新值
+	DWORD		ValueEx;		// 更新值,如果是大数值的此值为整除亿部分
+	BYTE		DiffType;		// 变化类型,0-减少;1-增加
+	DWORD		DiffValue;		// 变化值
+	DWORD		DiffValueEx;	// 变化值,如果是大数值的此值为整除亿部分
+	DWORD		SkillID;		// 使用的技能表ID
+	DWORD		RelatedSkillID;	// 关联的技能ID,一般是主技能ID,非主技能额外触发的为0
+};
diff --git a/ServerPack/HB4_FightDefine/TurnFightObjDead.h b/ServerPack/HB4_FightDefine/TurnFightObjDead.h
index 6a4be9e..6253586 100644
--- a/ServerPack/HB4_FightDefine/TurnFightObjDead.h
+++ b/ServerPack/HB4_FightDefine/TurnFightObjDead.h
@@ -4,4 +4,6 @@
 {
 	tagHead		Head;
 	DWORD		ObjID;
+	DWORD		KillerObjID;	// 被谁击杀的,可能为0	
+	DWORD		SkillID;		// 被什么技能击杀,可能为0	
 };
diff --git a/ServerPack/HB4_FightDefine/UseSkill b/ServerPack/HB4_FightDefine/UseSkill
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/UseSkill
diff --git a/ServerPack/HB4_FightDefine/UseSkill.des b/ServerPack/HB4_FightDefine/UseSkill.des
new file mode 100644
index 0000000..1041c15
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/UseSkill.des
@@ -0,0 +1 @@
+B4 27 使用技能 #tagSCUseSkill
diff --git a/ServerPack/HB4_FightDefine/UseSkill.h b/ServerPack/HB4_FightDefine/UseSkill.h
new file mode 100644
index 0000000..6761f2d
--- /dev/null
+++ b/ServerPack/HB4_FightDefine/UseSkill.h
@@ -0,0 +1,26 @@
+// B4 27 使用技能 #tagSCUseSkill
+
+struct	tagSCUseSkillHurt
+{
+	DWORD		ObjID;
+	DWORD		AttackTypes;	// 飘血类型汇总,支持多种类型并存,如无视防御且暴击同时被格挡,二进制或运算最终值;0-失败;1-普通;2-回血;5-格挡;6-无视防御;7-暴击;9-闪避
+	DWORD		HurtHP;		// 飘血值,求余亿部分
+	DWORD		HurtHPEx;	// 飘血值,整除亿部分
+	DWORD		CurHP;		// 更新剩余血量,求余亿部分
+	DWORD		CurHPEx;		// 更新剩余血量,整除亿部分
+	DWORD		SuckHP;		// 本次伤害转化的吸血量
+	DWORD		BounceHP;	// 本次伤害反弹的伤害量
+};
+
+struct	tagSCUseSkill
+{
+	tagHead		Head;
+	DWORD		ObjID;
+	BYTE		PMType;		// 物法类型 0或1-物理;2-法术
+	BYTE		BattleType;	// 战斗类型 0-常规;1-连击;2-反击;3-追击
+	DWORD		CurHP;		// 释放技能后剩余血量,吸血、反弹可能引起变化,求余亿部分
+	DWORD		CurHPEx;		// 释放技能后剩余血量,吸血、反弹可能引起变化,整除亿部分
+	DWORD		SkillID;
+	BYTE		HurtCount;		//伤害数目
+	tagSCUseSkillHurt		HurtList[HurtCount];		//size = HurtCount
+};

--
Gitblit v1.8.0