From 9780ce2ecf6950bf855cd93a7d8824dfffbbe457 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 21 一月 2026 19:02:49 +0800
Subject: [PATCH] 125 战斗 修复战斗死亡技能导致卡死的问题

---
 Main/System/Battle/BattleObject/BattleObject.cs                   |    4 ++--
 Main/System/Battle/Skill/SkillBase.cs                             |   26 ++++----------------------
 Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs |   10 +---------
 3 files changed, 7 insertions(+), 33 deletions(-)

diff --git a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
index a723234..3b55ad8 100644
--- a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
+++ b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -66,17 +66,9 @@
 		{
 			return true;
 		}
-		return skillBase.IsFinishedForJudge();
+		return skillBase.IsActionCompleted();
 	}
 
-	public bool IsFinishedForJudge()
-	{
-		if (null == skillBase)
-		{
-			return true;
-		}
-		return skillBase.IsFinishedForJudge();
-	}
 
     public override void ForceFinish()
     {
diff --git a/Main/System/Battle/BattleObject/BattleObject.cs b/Main/System/Battle/BattleObject/BattleObject.cs
index 57a8eac..7e84f50 100644
--- a/Main/System/Battle/BattleObject/BattleObject.cs
+++ b/Main/System/Battle/BattleObject/BattleObject.cs
@@ -315,9 +315,9 @@
         return true;
     }
 
-    public virtual RecordAction Hurt(BattleHurtParam battleHurtParam, RecordAction _causingRecordAction = null)
+    public virtual DeathRecordAction Hurt(BattleHurtParam battleHurtParam, RecordAction _causingRecordAction = null)
     {
-        RecordAction recordAction = null;
+        DeathRecordAction recordAction = null;
         bool isLastHit = battleHurtParam.hitIndex >= battleHurtParam.skillConfig.DamageDivide.Length - 1;
         bool firstHit = battleHurtParam.hitIndex == 0;
         
diff --git a/Main/System/Battle/Skill/SkillBase.cs b/Main/System/Battle/Skill/SkillBase.cs
index cb2e13e..2a5afcf 100644
--- a/Main/System/Battle/Skill/SkillBase.cs
+++ b/Main/System/Battle/Skill/SkillBase.cs
@@ -814,7 +814,7 @@
 #endif
 
         // 鍏堣皟鐢ㄧ洰鏍囧彈浼�
-        var recordAc = target.Hurt(hurtParam, parentRecordAction);
+        DeathRecordAction recordAc = target.Hurt(hurtParam, parentRecordAction);
 
         if (null != recordAc)
         {
@@ -1171,7 +1171,7 @@
     }
 
 
-    public virtual bool IsFinishedForJudge()
+    public virtual bool IsActionCompleted()
     {
         if (!isPlay) return false;
 
@@ -1180,32 +1180,14 @@
             if (!skillEffect.IsFinished()) return false;
         }
 
-        if (currentWaitingSkill.Count > 0)
+        if (moveFinished)
         {
-            if (currentWaitingSkill.Any(s => !s.IsFinished()))
-            {
-                return false;
-            }
-        }
-        
-        if (parentRecordAction != null && parentRecordAction.GetInnerRecordPlayer().IsPlaying())
-        {
-            return false;
-        }
-
-        if (isFinished && moveFinished)
-        {
-            if (packList.Count > 0)
-            {
-                return false;
-            }
-
             //  濡傛灉鎶�鑳芥湁鍔ㄧ敾锛圫killMotionName涓嶄负绌猴級锛岄渶瑕佺瓑寰呭姩鐢绘挱鏀惧畬鎴�
             if (skillConfig != null && !string.IsNullOrEmpty(skillConfig.SkillMotionName))
             {
                 if (!isMotionCompleted)
                 {
-                    BattleDebug.LogError($"SkillBase.IsFinishedForJudge: 鎶�鑳� {skillConfig.SkillID} 绛夊緟鍔ㄧ敾鎾斁瀹屾垚");
+                    BattleDebug.LogError($"SkillBase.IsActionCompleted: 鎶�鑳� {skillConfig.SkillID} 绛夊緟鍔ㄧ敾鎾斁瀹屾垚");
                     return false;
                 }
             }

--
Gitblit v1.8.0