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