From d2280b3df8fddfad5b8a0ee04df7d4f2fd92f79b Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 07 一月 2026 18:27:40 +0800
Subject: [PATCH] 0312 去掉纠正战报中的新旧封包数据
---
Main/System/Battle/Skill/SkillBase.cs | 60 +++++++++++++++++++++++++++++-------------------------------
1 files changed, 29 insertions(+), 31 deletions(-)
diff --git a/Main/System/Battle/Skill/SkillBase.cs b/Main/System/Battle/Skill/SkillBase.cs
index ef7132f..056b849 100644
--- a/Main/System/Battle/Skill/SkillBase.cs
+++ b/Main/System/Battle/Skill/SkillBase.cs
@@ -536,7 +536,7 @@
// 楂樹寒鎵�鏈夌浉鍏崇洰鏍囷細璁剧疆鏂芥硶鑰呭拰鐩爣鐨勬樉绀哄眰绾�
protected void HighLightAllTargets()
{
- caster.layerMgr.SetSortingOrder(BattleConst.ActiveHeroActionSortingOrder);
+ caster.layerMgr.SetSortingOrder(BattleConst.SkillMaskOrder + BattleConst.BattleActiveHeroOffset);
if (skillConfig.FuncType != 2)
return;
@@ -609,7 +609,6 @@
battleField.battleRootNode.skillMaskNode.SetActive(true);
}
- protected long suckHp = 0;
// 鍛戒腑鐩爣鍥炶皟锛氬鐞嗘墍鏈夎鍛戒腑鐨勭洰鏍囷紙鍖呮嫭涓荤洰鏍囥�佸脊灏勭洰鏍囥�佹簠灏勭洰鏍囷級
protected virtual void OnHitTargets(int _hitIndex, List<HB427_tagSCUseSkill.tagSCUseSkillHurt> hitList)
@@ -619,13 +618,7 @@
// 閫犳垚浼ゅ鍓嶅厛澶勭悊琛�閲忓埛鏂板寘
HandleRefreshHP();
- suckHp = 0;
-
- // 缁熻鍚歌鎬婚噺锛堜富鐩爣锛�
- foreach (var hurt in hitList)
- {
- suckHp += hurt.SuckHP;
- }
+ bool suckHp = true;
// 澶勭悊涓荤洰鏍囧垪琛�
foreach (var hurt in hitList)
@@ -637,7 +630,9 @@
continue;
}
- OnHitEachTarget(_hitIndex, target, hurt);
+ OnHitEachTarget(_hitIndex, target, hurt, suckHp);
+
+ suckHp = false;
// 澶勭悊璇ョ洰鏍囩殑棰濆鐩爣鍒楄〃锛堝寮瑰皠浼ゅ鐨勫钩鎽婄洰鏍囷級
if (hurt.HurtListEx != null && hurt.HurtListEx.Length > 0)
@@ -713,7 +708,7 @@
}
// 澶勭悊鍗曚釜鐩爣琚懡涓�:搴旂敤浼ゅ鍜屾柦娉曡�呮晥鏋�
- protected virtual void OnHitEachTarget(int _hitIndex, BattleObject target, HB427_tagSCUseSkill.tagSCUseSkillHurt hurt)
+ protected virtual void OnHitEachTarget(int _hitIndex, BattleObject target, HB427_tagSCUseSkill.tagSCUseSkillHurt hurt, bool suckHp)
{
// ============ 鑾峰彇涓存椂鏁版嵁(鎺夎惤銆佹浜$瓑) ============
int objID = (int)target.ObjID;
@@ -726,14 +721,8 @@
deadPack = null;
}
- bool clearSuckHp = tagUseSkillAttack.HurtList.ToList().IndexOf(hurt) != 0;
-
// ============ 鍙傛暟鎵撳寘 ============
- BattleHurtParam hurtParam = BattleUtility.CalcBattleHurtParam(this, _hitIndex, target, hurt, battleDrops, deadPack);
- if (clearSuckHp)
- {
- hurtParam.caster.suckHpList.Clear();
- }
+ BattleHurtParam hurtParam = BattleUtility.CalcBattleHurtParam(this, _hitIndex, target, hurt, battleDrops, deadPack, suckHp);
#if UNITY_EDITOR
PrintHurtParamDebugInfo(hurtParam);
#endif
@@ -768,23 +757,13 @@
HurtHPEx = hurtEx.HurtHPEx,
CurHP = hurtEx.CurHP,
CurHPEx = hurtEx.CurHPEx,
- SuckHP = hurtEx.SuckHP,
+ SuckHP = 0,//hurtEx.SuckHP, 鑾峰彇鍏ㄩ儴鍚歌鏃跺凡缁忚绠楄繃 杩欓噷灏变笉鍐嶈绠�
BounceHP = 0, // HurtEx 娌℃湁鍙嶄激瀛楁
HurtCountEx = 0,
HurtListEx = null
};
- BattleHurtParam hurtParam = BattleUtility.CalcBattleHurtParam(this, _hitIndex, target, hurt, battleDrops, deadPack);
-
-#if UNITY_EDITOR
- PrintHurtParamDebugInfo(hurtParam);
-#endif
-
- // 鍏堣皟鐢ㄧ洰鏍囧彈浼�
- target.Hurt(hurtParam);
-
- // 鍐嶈皟鐢ㄦ柦娉曡�呭惛琛�/鍙嶄激
- caster.OnHurtTarget(hurtParam);
+ OnHitEachTarget(_hitIndex, target, hurt, false);//鑾峰彇鍏ㄩ儴鍚歌鏃跺凡缁忚绠楄繃 杩欓噷灏变笉鍐嶈绠�
}
#if UNITY_EDITOR
@@ -1110,9 +1089,28 @@
battleField.RemoveCastingSkill(caster.ObjID, this);
}
+ battleField.OnObjsDead(new List<BattleDeadPack>(tempDeadPackList.Values));
+
// 1. 寮哄埗缁撴潫鎶�鑳芥晥鏋�
skillEffect?.ForceFinished();
skillEffect = null;
+
+ foreach (var subSkillPack in tagUseSkillAttack.subSkillList)
+ {
+ SkillRecordAction recordAction = CustomHB426CombinePack.CreateSkillAction(battleField.guid, new List<GameNetPackBasic>() { subSkillPack });
+ recordAction.fromSkill = this;
+ otherSkillActionList.Add(recordAction);
+ battleField.recordPlayer.ImmediatelyPlay(recordAction);
+ }
+ tagUseSkillAttack.subSkillList.Clear();
+ foreach (var subCombinePack in tagUseSkillAttack.subSkillCombinePackList)
+ {
+ SkillRecordAction recordAction = CustomHB426CombinePack.CreateSkillAction(battleField.guid, subCombinePack.packList);
+ recordAction.fromSkill = this;
+ otherSkillActionList.Add(recordAction);
+ battleField.recordPlayer.ImmediatelyPlay(recordAction);
+ }
+ tagUseSkillAttack.subSkillCombinePackList.Clear();
// 2. 寮哄埗缁撴潫鎵�鏈夊瓙鎶�鑳藉姩浣�
otherSkillActionList.ForEach(action => action.ForceFinish());
@@ -1360,7 +1358,7 @@
BattleObject battleObj = battleField.battleObjMgr.GetBattleObject((int)buffDel.ObjID);
if (battleObj != null)
{
- battleObj.buffMgr.RemoveBuff(buffDel);
+ battleObj.buffMgr.RemoveBuff(buffDel, false);
}
}
}
--
Gitblit v1.8.0