Kill enemies if it stops you from teleporting to an aetheryte
authorLiza Carvelli <liza@carvel.li>
Thu, 7 Nov 2024 23:42:53 +0000 (00:42 +0100)
committerLiza Carvelli <liza@carvel.li>
Thu, 7 Nov 2024 23:42:53 +0000 (00:42 +0100)
Questionable/Controller/Steps/Shared/AetheryteShortcut.cs

index 7f2a8fd0304422b3a7068f19e71b12a14fbca11a..af575333413f4f8a7d22a1740841de49a1b385b9 100644 (file)
@@ -3,6 +3,7 @@ using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using System.Numerics;
+using Dalamud.Game.ClientState.Conditions;
 using Dalamud.Plugin.Services;
 using Microsoft.Extensions.Logging;
 using Questionable.Controller.Steps.Common;
@@ -56,6 +57,7 @@ internal static class AetheryteShortcut
         QuestFunctions questFunctions,
         IClientState clientState,
         IChatGui chatGui,
+        ICondition condition,
         AetheryteData aetheryteData) : TaskExecutor<Task>
     {
         private bool _teleported;
@@ -217,6 +219,8 @@ internal static class AetheryteShortcut
                 throw new TaskException("Unable to teleport to aetheryte");
             }
         }
+
+        public override bool WasInterrupted() => condition[ConditionFlag.InCombat] || base.WasInterrupted();
     }
 
     internal sealed record MoveAwayFromAetheryte(EAetheryteLocation TargetAetheryte) : ITask