From 10cb31af5742ed3000d1ee489ae6dea757db8dc0 Mon Sep 17 00:00:00 2001 From: zjl Date: Sun, 26 Jan 2025 18:46:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=BD=93=E6=88=98=E6=96=97?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E4=B8=AD=E4=BA=BA=E5=91=98=E4=B8=8D=E5=9C=A8?= =?UTF-8?q?=E9=98=9F=E4=BC=8D=E6=98=AF=E5=BC=95=E5=8F=91=E7=9A=84=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GameTask/AutoFight/AutoFightTask.cs | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs b/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs index 16ab96c9..20a50084 100644 --- a/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs +++ b/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs @@ -249,21 +249,30 @@ public class AutoFightTask : ISoloTask if (lastFightName != command.Name && actionSchedulerByCd.TryGetValue(command.Name,out skillCd)) { var avatar = combatScenes.Avatars.FirstOrDefault(a => a.Name == command.Name); - if (skillCd < 0) + if (avatar!=null) { - skillCd = FindMax([avatar.SkillCd,avatar.SkillHoldCd]); - } - var dif=(DateTime.UtcNow - avatar.LastSkillTime); - //当技能未冷却时,跳过此次出招 - if ((DateTime.UtcNow -avatar.LastSkillTime).TotalSeconds < skillCd) - { - if (skipFightName != command.Name) + if (skillCd < 0) { - Logger.LogInformation($"{command.Name}cd冷却为{skillCd}秒,剩余{skillCd-dif.TotalSeconds}秒,跳过此次行动"); + skillCd = FindMax([avatar.SkillCd,avatar.SkillHoldCd]); } - skipFightName = command.Name; + var dif=(DateTime.UtcNow - avatar.LastSkillTime); + //当技能未冷却时,跳过此次出招 + if ((DateTime.UtcNow -avatar.LastSkillTime).TotalSeconds < skillCd) + { + if (skipFightName != command.Name) + { + Logger.LogInformation($"{command.Name}cd冷却为{skillCd}秒,剩余{skillCd-dif.TotalSeconds}秒,跳过此次行动"); + } + skipFightName = command.Name; + continue; + } + } + else + { + Logger.LogInformation($"{command.Name}未在队伍中找到,跳过此次出手!"); continue; } + }