From c253a6c0d928274d22c20ee6eeb1760090b6c7bc Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 16 十二月 2025 18:01:55 +0800
Subject: [PATCH] 125 战斗 天子血条不使其受影响

---
 Main/System/Battle/BattleObject/BattleObject.cs |   21 +++++++++++++++++----
 Main/System/Battle/UIComp/BattleHeroInfoBar.cs  |   22 ++++++++++++++++++++--
 2 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/Main/System/Battle/BattleObject/BattleObject.cs b/Main/System/Battle/BattleObject/BattleObject.cs
index 41176c9..40b8493 100644
--- a/Main/System/Battle/BattleObject/BattleObject.cs
+++ b/Main/System/Battle/BattleObject/BattleObject.cs
@@ -177,13 +177,19 @@
         {
             case PlayerDataType.HP:
                 long toHp = GeneralDefine.GetFactValue(_refreshInfo.Value, _refreshInfo.ValueEx);
-                heroInfoBar.UpdateHP(teamHero.curHp, toHp, teamHero.maxHp, false);
+                if (!IsTianziBoss())
+                {
+                    heroInfoBar.UpdateHP(teamHero.curHp, toHp, teamHero.maxHp, false);
+                }
                 teamHero.curHp = GeneralDefine.GetFactValue(_refreshInfo.Value, _refreshInfo.ValueEx);
                 // Debug.LogError("OnObjInfoRefresh " + teamHero.curHp);
                 break;
             case PlayerDataType.MaxHP:
                 teamHero.maxHp = GeneralDefine.GetFactValue(_refreshInfo.Value, _refreshInfo.ValueEx);
-                heroInfoBar.UpdateHP(teamHero.curHp, teamHero.curHp, teamHero.maxHp, false);
+                if (!IsTianziBoss())
+                {
+                    heroInfoBar.UpdateHP(teamHero.curHp, teamHero.curHp, teamHero.maxHp, false);
+                }
                 break;
             case PlayerDataType.XP:
                 long toXp = GeneralDefine.GetFactValue(_refreshInfo.Value, _refreshInfo.ValueEx);
@@ -623,13 +629,20 @@
         {
             case PlayerDataType.HP:
                 long toHp = GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
-                heroInfoBar.UpdateHP(teamHero.curHp, toHp, teamHero.maxHp, true);
+                
+                if (!IsTianziBoss())
+                {
+                    heroInfoBar.UpdateHP(teamHero.curHp, toHp, teamHero.maxHp, true);
+                }
                 teamHero.curHp = newValue;
                 // Debug.LogError("OnObjPropertyRefreshView " + teamHero.curHp);
                 break;
             case PlayerDataType.MaxHP:
                 teamHero.maxHp = newValue;
-                heroInfoBar.UpdateHP(teamHero.curHp, teamHero.curHp, teamHero.maxHp, true);
+                if (!IsTianziBoss())
+                {
+                    heroInfoBar.UpdateHP(teamHero.curHp, teamHero.curHp, teamHero.maxHp, true);
+                }
                 break;
             case PlayerDataType.XP:
                 long toXp = newValue;
diff --git a/Main/System/Battle/UIComp/BattleHeroInfoBar.cs b/Main/System/Battle/UIComp/BattleHeroInfoBar.cs
index 95cdf7f..8387259 100644
--- a/Main/System/Battle/UIComp/BattleHeroInfoBar.cs
+++ b/Main/System/Battle/UIComp/BattleHeroInfoBar.cs
@@ -87,7 +87,12 @@
         battleObject = _battleObject;
         heroInfoContainer.SetHeroInfo(battleObject.teamHero);
         RefreshBuff(battleObject.buffMgr.GetBuffList());
-        UpdateHP(battleObject.teamHero.curHp, battleObject.teamHero.curHp, battleObject.teamHero.maxHp, false);
+
+        if (!battleObject.IsTianziBoss())
+        {
+            UpdateHP(battleObject.teamHero.curHp, battleObject.teamHero.curHp, battleObject.teamHero.maxHp, false);
+        }
+
         UpdateXP(battleObject.teamHero.rage, battleObject.teamHero.rage, 100, false);
 
         long shieldValue = battleObject.buffMgr.GetShieldValue();
@@ -150,7 +155,10 @@
         sliderShield1.value = shieldValue > 0 ? shield1Value : 0;
         sliderShield2.value = shieldValue > maxHp ? shield2Value : 0;
 
-        UpdateHP(curHp, curHp, maxHp, false);
+        if (!battleObject.IsTianziBoss())
+        {
+            UpdateHP(curHp, curHp, maxHp, false);
+        }
         
     
         // 鎵撳嵃鍒锋柊鎶ょ浘鏃剁殑鐘舵��
@@ -294,6 +302,11 @@
         {
             // 鏂芥硶鑰呰瑙掞細浣跨敤 caster 鏁版嵁
             BattleCastObj caster = dmgInfo.battleHurtParam.caster;
+            if (caster.casterObj != null && caster.casterObj.IsTianziBoss())
+            {
+                // 澶╁瓙瑙嗚涓嶅鐞嗘姢鐩惧彉鍖�
+                return;
+            }
             maxHp = caster.maxHp;
             fromHp = caster.fromHp;
             toHp = caster.toHp;
@@ -304,6 +317,11 @@
         {
             // 鐩爣瑙嗚锛氫娇鐢� hurter 鏁版嵁
             BattleHurtObj hurter = dmgInfo.battleHurtParam.hurter;
+            if (hurter.hurtObj != null && hurter.hurtObj.IsTianziBoss())
+            {
+                // 澶╁瓙瑙嗚涓嶅鐞嗘姢鐩惧彉鍖�
+                return;
+            }
             maxHp = hurter.maxHp;
             fromHp = hurter.fromHp;
             toHp = hurter.toHp;

--
Gitblit v1.8.0