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