From dbf227157aecf375c2048417fa867a438b5337fe Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 09 一月 2026 20:53:19 +0800
Subject: [PATCH] 125 战斗 死亡动画播放延迟问题修复

---
 Main/System/Battle/RecordPlayer/RecordAction.cs                   |    5 +++++
 Main/System/Battle/RecordPlayer/RecordPlayer.cs                   |    2 +-
 Main/System/Battle/Skill/SkillBase.cs                             |    2 +-
 Main/System/Battle/Define/DamageType.cs                           |    6 ++++--
 Main/System/Battle/BattleField/RecordActions/DeathRecordAction.cs |    5 +++++
 Main/System/Battle/Define/BattleDmgInfo.cs                        |   17 ++++++++++-------
 6 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/Main/System/Battle/BattleField/RecordActions/DeathRecordAction.cs b/Main/System/Battle/BattleField/RecordActions/DeathRecordAction.cs
index c46e151..288d3ea 100644
--- a/Main/System/Battle/BattleField/RecordActions/DeathRecordAction.cs
+++ b/Main/System/Battle/BattleField/RecordActions/DeathRecordAction.cs
@@ -237,4 +237,9 @@
         
         return true;
     }
+
+    public override bool NeedWaitSibling()
+    {
+        return HasDeathTriggerSkill();
+    }
 }
\ No newline at end of file
diff --git a/Main/System/Battle/Define/BattleDmgInfo.cs b/Main/System/Battle/Define/BattleDmgInfo.cs
index 10f11e1..8fd36fc 100644
--- a/Main/System/Battle/Define/BattleDmgInfo.cs
+++ b/Main/System/Battle/Define/BattleDmgInfo.cs
@@ -14,6 +14,15 @@
 
 public class BattleDmgInfo
 {
+    //  鎺掗櫎灞曠ず鐨勪激瀹崇被鍨�
+    protected static List<DamageType> ExcludeDamageTypes = new List<DamageType>
+    {
+        DamageType.SuckHpReverse,
+        DamageType.Parry,
+        DamageType.BreakArmor,
+        DamageType.Protected,
+    };
+
     public string battleFieldGuid { get; private set; }
     public BattleHurtParam battleHurtParam { get; private set; }
     
@@ -419,13 +428,7 @@
         targetDamageList.Add(new BattleDmg { damage = damage, attackType = attackType });
     }
 
-    protected static List<DamageType> ExcludeDamageTypes = new List<DamageType>
-    {
-        DamageType.SuckHpReverse,
-        DamageType.Parry,
-        DamageType.BreakArmor,
-        DamageType.Protected,
-    };
+
 
     /// <summary>
     /// 楠岃瘉骞朵慨澶嶆敾鍑荤被鍨�
diff --git a/Main/System/Battle/Define/DamageType.cs b/Main/System/Battle/Define/DamageType.cs
index 814230b..efbe90c 100644
--- a/Main/System/Battle/Define/DamageType.cs
+++ b/Main/System/Battle/Define/DamageType.cs
@@ -73,9 +73,11 @@
 
 	CritRealdamage = Crit + Realdamage, //鏆村嚮鐪熶激
 
-	SuckHpReverse = 8192, //鍚歌鍙嶈浆涓轰激瀹�
+	SuckHpReverse = 8192,//鍚歌姣掕嵂 (2^13 搴忓彿13)
 
-	Protected = 16384,//鏈浼ゅ鏈夊彈淇濇姢鏍囪 (2^13 搴忓彿13)
+	Protected = 16384,//鏈浼ゅ鏈夊彈淇濇姢鏍囪 (2^14 搴忓彿14)
+
+
 
 	BreakArmor = 32768,//鐮寸敳浼ゅ (2^15 搴忓彿15)
 
diff --git a/Main/System/Battle/RecordPlayer/RecordAction.cs b/Main/System/Battle/RecordPlayer/RecordAction.cs
index 76bdc10..237218a 100644
--- a/Main/System/Battle/RecordPlayer/RecordAction.cs
+++ b/Main/System/Battle/RecordPlayer/RecordAction.cs
@@ -165,4 +165,9 @@
         }
         return battleField.guid;
     }
+
+    public virtual bool NeedWaitSibling()
+    {
+        return true;
+    }
 }
\ No newline at end of file
diff --git a/Main/System/Battle/RecordPlayer/RecordPlayer.cs b/Main/System/Battle/RecordPlayer/RecordPlayer.cs
index f73d78d..a5da9c6 100644
--- a/Main/System/Battle/RecordPlayer/RecordPlayer.cs
+++ b/Main/System/Battle/RecordPlayer/RecordPlayer.cs
@@ -154,7 +154,7 @@
                         if (prevAction != null && prevAction.parentAction == action.parentAction)
                         {
                             //  鎵惧埌鍚岀骇鍓嶇疆鑺傜偣锛屽鏋滃畠杩樺湪鎵ц涓紝鍒欏綋鍓嶈妭鐐归渶瑕佺瓑寰�
-                            if (!prevAction.IsFinished())
+                            if (!prevAction.IsFinished() && action.NeedWaitSibling())
                             {
                                 shouldWaitForSibling = true;
                                 // BattleDebug.LogError($"RecordPlayer: {action.GetType().Name} 绛夊緟鍚岀骇鍓嶇疆鑺傜偣 {prevAction.GetType().Name} 瀹屾垚");
diff --git a/Main/System/Battle/Skill/SkillBase.cs b/Main/System/Battle/Skill/SkillBase.cs
index c8592c4..f07de9d 100644
--- a/Main/System/Battle/Skill/SkillBase.cs
+++ b/Main/System/Battle/Skill/SkillBase.cs
@@ -1187,7 +1187,7 @@
         }
 
         //  浼犻�抪arentRecordAction锛岃姝讳骸鎶�鑳界瓑寰呭綋鍓嶆妧鑳藉畬鎴�
-        battleField.OnObjsDead(new List<BattleDeadPack>(tempDeadPackList.Values), parentRecordAction);
+        battleField.OnObjsDead(new List<BattleDeadPack>(tempDeadPackList.Values));
 
         // 1. 寮哄埗缁撴潫鎶�鑳芥晥鏋�
         skillEffect?.ForceFinished();

--
Gitblit v1.8.0