From b75bf9422e886b9bda37d5e3e2acf975b304ffc4 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 05 十一月 2025 16:47:25 +0800
Subject: [PATCH] 125 战斗血量问题修复

---
 Main/System/Battle/Skill/SkillBase.cs |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/Main/System/Battle/Skill/SkillBase.cs b/Main/System/Battle/Skill/SkillBase.cs
index 3a768c0..8cf3584 100644
--- a/Main/System/Battle/Skill/SkillBase.cs
+++ b/Main/System/Battle/Skill/SkillBase.cs
@@ -421,6 +421,9 @@
     // 鍛戒腑鐩爣鍥炶皟锛氬鐞嗘墍鏈夎鍛戒腑鐨勭洰鏍�
     protected virtual void OnHitTargets(int _hitIndex, List<HB427_tagSCUseSkill.tagSCUseSkillHurt> hitList)
     {
+        //  閫犳垚浼ゅ鍓嶅厛澶勭悊琛�閲忓埛鏂板寘
+        HandleRefreshHP();
+
         foreach (var hurt in hitList)
         {
             BattleObject target = caster.battleField.battleObjMgr.GetBattleObject((int)hurt.ObjID);
@@ -458,7 +461,7 @@
 
         // 璁$畻鎬讳激瀹冲拰鍒嗘浼ゅ鍒楄〃
         long totalDamage = GeneralDefine.GetFactValue(hurt.HurtHP, hurt.HurtHPEx);
-        List<long> damageList = BattleUtility.DivideDamageToList(damageDivide.ToArray(), totalDamage);
+        List<long> damageList = BattleUtility.DivideDamageToList(skillConfig.DamageDivide, _hitIndex, totalDamage);
 
         // ============ 绗簩姝�:鍒锋柊瀹為檯琛�閲� ============
         long fromHp = target.teamHero.curHp;
@@ -474,7 +477,7 @@
 
         // 鏇存柊鐩爣琛�閲�
         target.teamHero.curHp = toHp;
-        
+
 #if UNITY_EDITOR
         BattleDebug.LogError(
             (caster.Camp == BattleCamp.Red ? "銆愮孩鏂硅鍔ㄣ��" : "銆愯摑鏂硅鍔ㄣ��") + "\n" +
@@ -485,13 +488,9 @@
             $"琛�閲忓彉鍖�: {fromHp} -> {toHp}"
         );
 #endif
+
         
-        // 鍙湪鏈�鍚庝竴鍑绘椂鍚屾HP鍒锋柊鍖�
         bool isLastHit = _hitIndex >= skillConfig.DamageDivide.Length - 1;
-        if (isLastHit)
-        {
-            HandleRefreshHP(hurt);
-        }
 
         // ============ 绗笁姝�:鑾峰彇涓存椂鏁版嵁(鎺夎惤銆佹浜$瓑) ============
         int objID = (int)target.ObjID;
@@ -507,7 +506,7 @@
     }
 
     // 澶勭悊HP鍒锋柊鍖咃紙绠�鍖栭�昏緫锛�
-    private void HandleRefreshHP(HB427_tagSCUseSkill.tagSCUseSkillHurt hurt)
+    private void HandleRefreshHP()
     {
         // 鏌ユ壘HP鍒锋柊鍖�
         HB419_tagSCObjHPRefresh refreshPack = BattleUtility.FindObjHPRefreshPack(packList);

--
Gitblit v1.8.0