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