From fbea95ff1d813328f13ad7a3ece021d2271f093a Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 27 十一月 2025 15:43:11 +0800
Subject: [PATCH] 125 战斗 击晕支持
---
Main/System/Battle/Skill/SkillBase.cs | 55 +++++++++++++++++++++++++--
Main/System/Battle/Define/DamageType.cs | 2
Main/Core/NetworkPackage/CustomServerPack/CustomHB426CombinePack.cs | 2 -
Main/System/Battle/Define/BattleDmgInfo.cs | 10 ++---
4 files changed, 55 insertions(+), 14 deletions(-)
diff --git a/Main/Core/NetworkPackage/CustomServerPack/CustomHB426CombinePack.cs b/Main/Core/NetworkPackage/CustomServerPack/CustomHB426CombinePack.cs
index d53bbc3..bcd2b93 100644
--- a/Main/Core/NetworkPackage/CustomServerPack/CustomHB426CombinePack.cs
+++ b/Main/Core/NetworkPackage/CustomServerPack/CustomHB426CombinePack.cs
@@ -366,7 +366,6 @@
else
{
pack.commonMark = true;
- // Debug.LogError("鍙戠幇闈濻kill鍖咃紝鍏堝垎鍙戞帀: " + pack.GetType().Name);
PackageRegedit.Distribute(pack);
}
}
@@ -415,7 +414,6 @@
else
{
pack.commonMark = true;
- // Debug.LogError("鍙戠幇闈濻kill鍖咃紝鍏堝垎鍙戞帀: " + pack.GetType().Name);
PackageRegedit.Distribute(pack);
}
}
diff --git a/Main/System/Battle/Define/BattleDmgInfo.cs b/Main/System/Battle/Define/BattleDmgInfo.cs
index c67ea42..41caa35 100644
--- a/Main/System/Battle/Define/BattleDmgInfo.cs
+++ b/Main/System/Battle/Define/BattleDmgInfo.cs
@@ -134,6 +134,10 @@
case ServerDamageType.Crit:
convertedAttackTypes |= (int)DamageType.Crit;
break;
+
+ case ServerDamageType.Stunned:
+ convertedAttackTypes |= (int)DamageType.Stunned;
+ break;
case ServerDamageType.Dodge:
convertedAttackTypes |= (int)DamageType.Dodge;
@@ -167,12 +171,6 @@
convertedAttackTypes = (int)DamageType.Bloody;
}
// 娌荤枟绫诲瀷淇濇寔涓嶅彉
- }
-
- // 妫�鏌ユ槸鍚﹀寘鍚崰浣嶇绫诲瀷
- if ((convertedAttackTypes & (int)DamageType.TakePlace2) == (int)DamageType.TakePlace2)
- {
- Debug.LogWarning($"[BattleDmgInfo] 杞崲鍚庣殑浼ゅ绫诲瀷鍖呭惈鍗犱綅绗� TakePlace2(256)");
}
hurt.AttackTypes = (uint)convertedAttackTypes;
diff --git a/Main/System/Battle/Define/DamageType.cs b/Main/System/Battle/Define/DamageType.cs
index 3d7ffc9..1200532 100644
--- a/Main/System/Battle/Define/DamageType.cs
+++ b/Main/System/Battle/Define/DamageType.cs
@@ -48,7 +48,7 @@
Crit = 128, //鏆村嚮 (2^7)
- TakePlace2 = 256, //鍗犱綅2 (鏆傛棤鐢�) (2^8)
+ Stunned = 256, //鍑绘檿 (2^8)
Dodge = 512, //闂伩 (2^9)
diff --git a/Main/System/Battle/Skill/SkillBase.cs b/Main/System/Battle/Skill/SkillBase.cs
index c60313e..50fc65b 100644
--- a/Main/System/Battle/Skill/SkillBase.cs
+++ b/Main/System/Battle/Skill/SkillBase.cs
@@ -252,11 +252,9 @@
hintConfig = DamageNumConfig.Get(BattleConst.BattleChaseAttack);
}
- if (hintConfig != null)
- {
- caster.heroInfoBar.ShowTips(((char)hintConfig.prefix).ToString(), true, false, 1.25f);
- // Debug.Break();
- }
+ Hint(caster, hintConfig);
+
+
}
// 楂樹寒鎵�鏈夋湰娆℃妧鑳界浉鍏崇殑鐩爣
@@ -285,6 +283,14 @@
Debug.LogError("寮哄埗缁撴潫鎶�鑳� 鏆傛椂涓嶆敮鎸佸叾浠栫殑鏂瑰紡閲婃斁 鏈夐渶姹俻lease鑱旂郴绛栧垝 鎶�鑳絠d:" + skillConfig.SkillID + " cast position " + skillConfig.CastPosition);
ForceFinished();
break;
+ }
+ }
+
+ protected void Hint(BattleObject battleObject, DamageNumConfig hintConfig)
+ {
+ if (hintConfig != null)
+ {
+ battleObject.heroInfoBar.ShowTips(((char)hintConfig.prefix).ToString(), true, false, 1.25f);
}
}
@@ -633,6 +639,45 @@
OnHitEachTargetEx(_hitIndex, exTarget, hurtEx);
}
}
+
+ if (0 == _hitIndex)
+ {
+ bool needhint = false;
+
+ for (int i = 0; i < hitList.Count; i++)
+ {
+ var hurt = hitList[i];
+
+ //8-鍑绘檿
+ if ((hurt.AttackTypes & (int)DamageType.Stunned) == (int)DamageType.Stunned)
+ {
+ needhint = true;
+ break;
+ }
+
+ for (int j = 0; j < hurt.HurtListEx?.Length; j++)
+ {
+ var hurtex = hurt.HurtListEx[j];
+ //8-鍑绘檿
+ if ((hurtex.AttackTypes & (int)ServerDamageType.Stunned) == (int)ServerDamageType.Stunned)
+ {
+ needhint = true;
+ break;
+ }
+ }
+
+ if (needhint)
+ break;
+ }
+
+ if (needhint)
+ {
+ DamageNumConfig hintConfig = DamageNumConfig.Get(BattleConst.BattleStun);
+ Hint(caster, hintConfig);
+ }
+ }
+
+
}
// 澶勭悊鍗曚釜鐩爣琚懡涓�:搴旂敤浼ゅ鍜屾柦娉曡�呮晥鏋�
--
Gitblit v1.8.0