From 43e446f72a08be8b08c5e70a9e9065083897cc99 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 31 十二月 2025 12:12:42 +0800
Subject: [PATCH] 125 战斗 修复战斗卡死问题 增加处理因未知原因(可能是配置可能是其他)无法播放的技能的时候 强制跳过该技能
---
Main/System/Battle/RecordPlayer/RecordPlayer.cs | 5 +++++
Main/System/Battle/Skill/SkillFactory.cs | 1 +
Main/System/Battle/BattleUtility.cs | 24 ++++++++++++++++++++++++
3 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/Main/System/Battle/BattleUtility.cs b/Main/System/Battle/BattleUtility.cs
index f076f67..9f43f2b 100644
--- a/Main/System/Battle/BattleUtility.cs
+++ b/Main/System/Battle/BattleUtility.cs
@@ -341,6 +341,30 @@
return totalSuckHp;
}
+ public static void ForceFinishBattlePackList(BattleField battleField, List<GameNetPackBasic> packList)
+ {
+ try
+ {
+ battleField.recordPlayer.EnableForceFinish(true);
+ foreach (var pack in packList)
+ {
+ if (pack is CustomHB426CombinePack cbPack)
+ {
+ cbPack.Distribute();
+ }
+ else
+ {
+ PackageRegedit.Distribute(pack);
+ }
+ }
+ battleField.recordPlayer.EnableForceFinish(false);
+ }
+ catch (System.Exception ex)
+ {
+ battleField.recordPlayer.EnableForceFinish(false);
+ }
+ }
+
public static BattleHurtParam CalcBattleHurtParam(SkillBase skillBase, int hitIndex, BattleObject target,
HB427_tagSCUseSkill.tagSCUseSkillHurt hurt, BattleDrops battleDrops, BattleDeadPack deadPack, bool bSuckHp = true)
{
diff --git a/Main/System/Battle/RecordPlayer/RecordPlayer.cs b/Main/System/Battle/RecordPlayer/RecordPlayer.cs
index 3fcb5cf..f95cc7b 100644
--- a/Main/System/Battle/RecordPlayer/RecordPlayer.cs
+++ b/Main/System/Battle/RecordPlayer/RecordPlayer.cs
@@ -198,6 +198,11 @@
ForceFinish();
}
+ public void EnableForceFinish(bool enable)
+ {
+ isForceFinish = enable;
+ }
+
public void ForceFinish()
{
isForceFinish = true;
diff --git a/Main/System/Battle/Skill/SkillFactory.cs b/Main/System/Battle/Skill/SkillFactory.cs
index a1d6e3e..043a4bc 100644
--- a/Main/System/Battle/Skill/SkillFactory.cs
+++ b/Main/System/Battle/Skill/SkillFactory.cs
@@ -58,6 +58,7 @@
switch (skillConfig.SkillType)
{
case 1:
+ case 11:
// 鍏堝疄鐜颁竴涓敾鍑荤殑 鍚庣画鏈夊啀鎱㈡參澧炲姞
skill = new DirectlyDamageSkill(_caster, skillConfig, vNetData, packList, battleField);
break;
--
Gitblit v1.8.0