From ca85c0a70922aa219f6cad5e8af8ad004c3cb4b3 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 05 十一月 2025 14:36:02 +0800
Subject: [PATCH] 125 战斗 天子血条刷新包

---
 Main/System/Battle/BattleUtility.cs |   43 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 40 insertions(+), 3 deletions(-)

diff --git a/Main/System/Battle/BattleUtility.cs b/Main/System/Battle/BattleUtility.cs
index 2f9276c..a315880 100644
--- a/Main/System/Battle/BattleUtility.cs
+++ b/Main/System/Battle/BattleUtility.cs
@@ -302,16 +302,53 @@
     /// </summary>
     public static List<long> DivideDamageToList(int[] damageDivide, long totalDamage)
     {
+        if (damageDivide == null || damageDivide.Length == 0)
+        {
+            Debug.LogError("damageDivide 涓虹┖鎴栭暱搴︿负0");
+            return new List<long> { totalDamage };
+        }
+
         List<long> fixedDamageList = new List<long>();
+        long accumulatedDamage = 0; // 绱宸插垎閰嶇殑浼ゅ
 
         for (int i = 0; i < damageDivide.Length; i++)
         {
-            float fixedDamage = (float)totalDamage * (float)damageDivide[i] / 10000f;
-            fixedDamageList.Add((int)fixedDamage);
+            long damage;
+            
+            // 鏈�鍚庝竴娆″垎閰嶏細鐢ㄦ�讳激瀹冲噺鍘诲凡鍒嗛厤鐨勪激瀹筹紝纭繚鎬诲拰绮剧‘
+            if (i == damageDivide.Length - 1)
+            {
+                damage = totalDamage - accumulatedDamage;
+            }
+            else
+            {
+                // 璁$畻褰撳墠鍒嗘浼ゅ锛堝悜涓嬪彇鏁达級
+                damage = (long)((float)totalDamage * (float)damageDivide[i] / 10000f);
+                accumulatedDamage += damage;
+            }
+            
+            fixedDamageList.Add(damage);
         }
-        
+
         return fixedDamageList;
     }
+    
+    public static HB419_tagSCObjHPRefresh FindObjHPRefreshPack(List<GameNetPackBasic> packList)
+    {
+        for (int i = 0; i < packList.Count; i++)
+        {
+            var pack = packList[i];
+            if (pack is HB419_tagSCObjHPRefresh hpRefreshPack)
+            {
+                return hpRefreshPack;
+            }
+            else if (pack is CustomHB426CombinePack)
+            {
+                break;
+            }
+        }
+        return null;
+    }
 
     public static List<HB422_tagMCTurnFightObjDead> FindDeadPack(List<GameNetPackBasic> packList)
     {

--
Gitblit v1.8.0