From 5dd8d47a407671143af811c36954b9b3ffc9681d Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 22 九月 2025 11:50:52 +0800
Subject: [PATCH] 125 战斗 修复 combine skill第一个为非skill包的问题 增加技能配置错误容错(技能帧配置太长导致动作结束 事件没结束) 调整技能代码 删除多余字段

---
 Main/System/Battle/Motion/MotionBase.cs |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/Main/System/Battle/Motion/MotionBase.cs b/Main/System/Battle/Motion/MotionBase.cs
index 7883bf6..878619e 100644
--- a/Main/System/Battle/Motion/MotionBase.cs
+++ b/Main/System/Battle/Motion/MotionBase.cs
@@ -210,11 +210,28 @@
         // 鍔ㄧ敾甯ф洿鏂板鐞�
         int triggerMFEndCount = 0;
         Action updateLocalHandler = null;
+
+        int failCallbackTimes = 0;
+
         updateLocalHandler = () =>
         {
             if (isFinish) return;
 
-            float frame = (skillTrackEntry.TrackTime * (float)BattleConst.skillMotionFps);
+            float frame = (skillTrackEntry.TrackTime * skillTrackEntry.TimeScale * (float)BattleConst.skillMotionFps);
+
+            if (skillTrackEntry.TrackTime == 0)
+            {
+                failCallbackTimes++;
+            }
+            
+            if (failCallbackTimes > 100)
+            {
+                Debug.LogError("鎶�鑳藉姩鐢绘挱鏀惧け璐ワ紝鍥炶皟寮傚父锛屽己鍒剁粨鏉� " + skillConfig.SkillID + " 瀵艰嚧閿欒鐨勫師鍥犳槸鎶�鑳藉抚閰嶇疆寰楀お涔呭鑷存妧鑳藉姩浣滅粨鏉熶簡浜嬩欢杩樻病缁撴潫");
+                skillBase.ForceFinished();
+                RemoveRunAction(updateLocalHandler);
+                isFinish = true;
+                return;
+            }
 
             // 鍓嶆憞缁撴潫锛堝彧瑙﹀彂涓�娆★級
             if (!beginPhaseTriggered && frame >= skillConfig.StartupFrames && curLoop == 0)

--
Gitblit v1.8.0