From 83ff2cfc367d3227449fa8414a25541374929ecb Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 29 一月 2026 15:43:50 +0800
Subject: [PATCH] 125 战斗 命格复活支持
---
Main/System/Battle/BattleUtility.cs | 52 +++++++++++++++++++++++++++-------------------------
1 files changed, 27 insertions(+), 25 deletions(-)
diff --git a/Main/System/Battle/BattleUtility.cs b/Main/System/Battle/BattleUtility.cs
index bb5744e..6bde282 100644
--- a/Main/System/Battle/BattleUtility.cs
+++ b/Main/System/Battle/BattleUtility.cs
@@ -180,7 +180,7 @@
{
uint objId = targetList[0].ObjID;
BattleObject target = caster.battleField.battleObjMgr.GetBattleObject((int)objId);
- return target.teamHero.positionNum;
+ return target.GetPositionNum();
}
break;
case 1:
@@ -191,7 +191,7 @@
BattleObject battleObject = caster.battleField.battleObjMgr.GetBattleObject((int)targetList[0].ObjID);
if (battleObject != null)
{
- returnIndex = battleObject.teamHero.positionNum;
+ returnIndex = battleObject.GetPositionNum();
}
else
{
@@ -213,12 +213,12 @@
{
uint objId = targetList[0].ObjID;
BattleObject target = caster.battleField.battleObjMgr.GetBattleObject((int)objId);
- returnIndex = target.teamHero.positionNum;
+ returnIndex = target.GetPositionNum();
}
else
{
// 鐪嬬湅瀵归潰鍓嶆帓鏄惁閮芥椿鐫�
- List<BattleObject> front = new List<BattleObject>(from bo in targetObjList where !bo.IsDead() && bo.teamHero.positionNum < 3 select bo);
+ List<BattleObject> front = new List<BattleObject>(from bo in targetObjList where !bo.IsDead() && bo.GetPositionNum() < 3 select bo);
if (front.Count > 0)
{
returnIndex = 1;
@@ -234,12 +234,12 @@
{
uint objId = targetList[0].ObjID;
BattleObject target = caster.battleField.battleObjMgr.GetBattleObject((int)objId);
- returnIndex = target.teamHero.positionNum;
+ returnIndex = target.GetPositionNum();
}
else
{
// 鐪嬬湅瀵归潰鍚庢帓鏄惁閮芥椿鐫�
- List<BattleObject> back = new List<BattleObject>(from bo in targetObjList where !bo.IsDead() && bo.teamHero.positionNum >= 3 select bo);
+ List<BattleObject> back = new List<BattleObject>(from bo in targetObjList where !bo.IsDead() && bo.GetPositionNum() >= 3 select bo);
if (back.Count > 0)
{
returnIndex = 4;
@@ -264,13 +264,13 @@
}
else
{
- returnIndex = Mathf.Min(returnIndex, target.teamHero.positionNum);
+ returnIndex = Mathf.Min(returnIndex, target.GetPositionNum());
}
}
break;
// 5 鑷繁锛岄粯璁ゅ彧閫夎嚜宸�
case 5:
- returnIndex = caster.teamHero.positionNum;
+ returnIndex = caster.GetPositionNum();
break;
case 6:
// 璺熼殢涓绘妧鑳界殑鐩爣
@@ -359,7 +359,7 @@
}
battleField.recordPlayer.EnableForceFinish(false);
}
- catch (System.Exception ex)
+ catch (System.Exception)
{
battleField.recordPlayer.EnableForceFinish(false);
}
@@ -411,8 +411,9 @@
BattleHurtObj hurter = new BattleHurtObj();
hurter.hurtObj = target;
hurter.damageList = damageList;
- hurter.fromHp = target.teamHero.curHp;
- hurter.fromShieldValue = target.buffMgr.GetShieldValue();
+ hurter.fromHp = target.GetCurHp();
+ var buffMgr = target.GetBuffMgr();
+ hurter.fromShieldValue = buffMgr != null ? buffMgr.GetShieldValue() : 0; // 鍛芥牸娌℃湁鎶ょ浘
// 鍒ゆ柇鏄惁鏄渶鍚庝竴鍑�
bool isLastHit = hitIndex >= skillConfig.DamageDivide.Length - 1;
@@ -429,7 +430,7 @@
else
{
// 闈炴渶鍚庝竴鍑伙細瀹㈡埛绔绠椾腑闂磋閲�
- long maxHp = target.teamHero.maxHp;
+ long maxHp = target.GetMaxHp();
if (isHealing)
{
@@ -442,13 +443,13 @@
if (hurter.fromShieldValue >= currentHitDamage)
{
hurter.toHp = hurter.fromHp;
- target.teamHero.curHp = hurter.toHp; // 淇濇寔涓�鑷存��
+ target.SetCurHp(hurter.toHp); // 淇濇寔涓�鑷存��
}
else
{
long remainingDamage = currentHitDamage - hurter.fromShieldValue;
hurter.toHp = Math.Max(0, hurter.fromHp - remainingDamage);
- target.teamHero.curHp = hurter.toHp; // 淇濇寔涓�鑷存��
+ target.SetCurHp(hurter.toHp); // 淇濇寔涓�鑷存��
}
}
}
@@ -481,9 +482,10 @@
caster.reflectHpList = reflectHpList;
// 鑾峰彇鏂芥硶鑰呭綋鍓嶇姸鎬�
- long casterFromHp = skillBase.caster.teamHero.curHp;
- long casterMaxHp = skillBase.caster.teamHero.maxHp;
- long casterFromShield = skillBase.caster.buffMgr.GetShieldValue();
+ long casterFromHp = skillBase.caster.GetCurHp();
+ long casterMaxHp = skillBase.caster.GetMaxHp();
+ var buffMgr = skillBase.caster.GetBuffMgr();
+ long casterFromShield = buffMgr != null ? buffMgr.GetShieldValue() : 0; // 鍛芥牸娌℃湁鎶ょ浘
caster.fromHp = casterFromHp;
caster.fromShieldValue = casterFromShield;
@@ -517,7 +519,7 @@
caster.toHp = casterToHp;
caster.toShieldValue = casterToShield;
- skillBase.caster.teamHero.curHp = caster.toHp; // 淇濇寔涓�鑷存��
+ skillBase.caster.SetCurHp(caster.toHp); // 淇濇寔涓�鑷存��
return caster;
}
@@ -807,7 +809,7 @@
BattleDebug.LogError(
$"{logColor}========== 琛�閲忎竴鑷存�ч獙璇� [{context}] {resultStr} ==========</color>\n" +
- $"鐩爣: {hurter.hurtObj.teamHero.name} (ObjID:{hurter.hurtObj.ObjID})\n" +
+ $"鐩爣: {hurter.hurtObj.GetName()} (ObjID:{hurter.hurtObj.ObjID})\n" +
$"鍑绘暟: 绗瑊hurtParam.hitIndex + 1}鍑� (鏈�鍚庝竴鍑�)\n" +
$"鏈嶅姟鍣ㄦ渶缁堣閲�: {serverFinalHp}\n" +
$"瀹㈡埛绔绠楄閲�: {clientFinalHp}\n" +
@@ -817,7 +819,7 @@
$"鍒濆琛�閲�: {hurter.fromHp}\n" +
$"鏈浼ゅ/娌荤枟: {(hurter.damageList != null ? hurter.damageList.Sum() : 0)}\n" +
$"鏈�缁堣閲�: {clientFinalHp}\n" +
- $"鏈�澶ц閲�: {hurter.hurtObj.teamHero.maxHp}\n" +
+ $"鏈�澶ц閲�: {hurter.hurtObj.GetMaxHp()}\n" +
$"\n" +
$"---- 鎶ょ浘鍙樺寲杩囩▼ ----\n" +
$"鍒濆鎶ょ浘: {hurter.fromShieldValue}\n" +
@@ -829,7 +831,7 @@
if (!isConsistent)
{
Debug.LogWarning(
- $"[琛�閲忛獙璇佸け璐 鐩爣:{hurter.hurtObj.teamHero.name} " +
+ $"[琛�閲忛獙璇佸け璐 鐩爣:{hurter.hurtObj.GetName()} " +
$"鏈嶅姟鍣�:{serverFinalHp} vs 瀹㈡埛绔�:{clientFinalHp} " +
$"宸紓:{clientFinalHp - serverFinalHp}"
);
@@ -860,7 +862,7 @@
// 搴旂敤鍚歌
if (totalSuckHp > 0)
{
- expectedHp = Math.Min(caster.casterObj.teamHero.maxHp, expectedHp + totalSuckHp);
+ expectedHp = Math.Min(caster.casterObj.GetMaxHp(), expectedHp + totalSuckHp);
}
// 搴旂敤鍙嶄激
@@ -885,7 +887,7 @@
BattleDebug.LogError(
$"{logColor}========== 鏂芥硶鑰呰閲忛獙璇� [{context}] {resultStr} ==========</color>\n" +
- $"鏂芥硶鑰�: {caster.casterObj.teamHero.name} (ObjID:{caster.casterObj.ObjID})\n" +
+ $"鏂芥硶鑰�: {caster.casterObj.GetName()} (ObjID:{caster.casterObj.ObjID})\n" +
$"鍑绘暟: 绗瑊hurtParam.hitIndex + 1}鍑� (鏈�鍚庝竴鍑�)\n" +
$"棰勬湡鏈�缁堣閲�: {expectedHp}\n" +
$"瀹為檯鏈�缁堣閲�: {clientFinalHp}\n" +
@@ -896,7 +898,7 @@
$"鍚歌鎬婚噺: {totalSuckHp}\n" +
$"鍙嶄激鎬婚噺: {totalReflectHp}\n" +
$"鏈�缁堣閲�: {clientFinalHp}\n" +
- $"鏈�澶ц閲�: {caster.casterObj.teamHero.maxHp}\n" +
+ $"鏈�澶ц閲�: {caster.casterObj.GetMaxHp()}\n" +
$"\n" +
$"---- 鎶ょ浘鍙樺寲杩囩▼ ----\n" +
$"鍒濆鎶ょ浘: {caster.fromShieldValue}\n" +
@@ -909,7 +911,7 @@
if (!isConsistent)
{
Debug.LogWarning(
- $"[鏂芥硶鑰呰閲忚绠楅敊璇痌 {caster.casterObj.teamHero.name} " +
+ $"[鏂芥硶鑰呰閲忚绠楅敊璇痌 {caster.casterObj.GetName()} " +
$"棰勬湡:{expectedHp} vs 瀹為檯:{clientFinalHp} " +
$"宸紓:{clientFinalHp - expectedHp}"
);
--
Gitblit v1.8.0