From ed3cbd47f51e7b3e7fafbd4361b69ad3bd8b4683 Mon Sep 17 00:00:00 2001 From: zjl Date: Tue, 31 Dec 2024 22:33:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=93=E6=9C=80=E5=90=8E=E5=87=BA=E6=8B=9B?= =?UTF-8?q?=E4=BA=BA=E4=B8=BA=E4=B8=87=E5=8F=B6=EF=BC=8C=E5=B9=B6=E4=B8=94?= =?UTF-8?q?=E5=89=A9=E4=BD=99cd>3=E6=97=B6=EF=BC=8C=E8=B7=B3=E8=BF=87?= =?UTF-8?q?=E6=AD=A4=E6=AC=A1=E4=B8=87=E5=8F=B6=E6=8B=BE=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GameTask/AutoFight/AutoFightTask.cs | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs b/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs index 0bc00272..79700074 100644 --- a/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs +++ b/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs @@ -213,7 +213,7 @@ public class AutoFightTask : ISoloTask return; }*/ var fightEndFlag = false; - + string lastFighttName = ""; // 战斗操作 var fightTask = Task.Run(async () => { @@ -234,9 +234,9 @@ public class AutoFightTask : ISoloTask } command.Execute(combatScenes); - - + + lastFighttName = command.Name; if (!fightEndFlag && _taskParam is { FightFinishDetectEnabled: true } ) { @@ -329,23 +329,31 @@ public class AutoFightTask : ISoloTask var kazuha = combatScenes.Avatars.FirstOrDefault(a => a.Name == "枫原万叶"); if (kazuha != null) { + var time = DateTime.UtcNow - kazuha.LastSkillTime; + //当万叶最后一个出招,并且cd大于3时,此时不再触发万叶拾取 + if (!(lastFighttName== "枫原万叶" && time.TotalSeconds>3)) + { + Logger.LogInformation("使用枫原万叶长E拾取掉落物"); await Delay(300, ct); if (kazuha.TrySwitch()) { - - var time = DateTime.UtcNow - kazuha.LastSkillTime; - if (time.TotalMilliseconds > 0 && time.TotalSeconds <= kazuha.SkillHoldCd) - { - Logger.LogInformation("枫原万叶长E技能可能处于冷却中,等待 {Time} s",time.TotalSeconds); - await Delay((int)Math.Ceiling(time.TotalMilliseconds), ct); - } - kazuha.UseSkill(true); - await Task.Delay(100); - Simulation.SendInput.Mouse.LeftButtonClick(); - await Delay(1500, ct); + if (time.TotalMilliseconds > 0 && time.TotalSeconds <= kazuha.SkillHoldCd) + { + Logger.LogInformation("枫原万叶长E技能可能处于冷却中,等待 {Time} s",time.TotalSeconds); + await Delay((int)Math.Ceiling(time.TotalMilliseconds), ct); + } + kazuha.UseSkill(true); + await Task.Delay(100); + Simulation.SendInput.Mouse.LeftButtonClick(); + await Delay(1500, ct); + } - + } + else + { + Logger.LogInformation("最后一次由万叶出招,不再重复拾取!"); + } }