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