Handle certain interaction interruptions
authorLiza Carvelli <liza@carvel.li>
Wed, 18 Sep 2024 22:54:21 +0000 (00:54 +0200)
committerLiza Carvelli <liza@carvel.li>
Wed, 18 Sep 2024 22:54:21 +0000 (00:54 +0200)
QuestPaths/6.x - Endwalker/Aether Currents/Ultima Thule/4354_Combat Evolved.json
Questionable/Controller/QuestController.cs
Questionable/Controller/Steps/Common/NextQuest.cs
Questionable/Controller/Steps/Interactions/AetherCurrent.cs
Questionable/Controller/Steps/Interactions/AethernetShard.cs
Questionable/Controller/Steps/Interactions/Aetheryte.cs
Questionable/Controller/Steps/Interactions/Interact.cs
Questionable/Controller/Steps/Shared/WaitAtEnd.cs

index 393eba29ae6ffba1e2a69481a5fe49f3fec265c1..752ec884e311afa5c91a92199e4df28201f03d93 100644 (file)
     {
       "Sequence": 1,
       "Steps": [
+        {
+          "Position": {
+            "X": 588.5607,
+            "Y": 437.99976,
+            "Z": 299.7425
+          },
+          "TerritoryId": 960,
+          "InteractionType": "Jump",
+          "JumpDestination": {
+            "Position": {
+              "X": 602.4677,
+              "Y": 438.6276,
+              "Z": 297.1612
+            }
+          }
+        },
         {
           "Position": {
             "X": 656.94653,
index 8a1ed7737390210ab0d300c5fb21719f37fe0794..b736de2ebf252896049b26fd20dbf4ec4b4f0f4a 100644 (file)
@@ -811,7 +811,6 @@ internal sealed class QuestController : MiniTaskController<QuestController>, IDi
 
     private void OnErrorToast(ref SeString message, ref bool isHandled)
     {
-        _logger.LogWarning("XXX {A} → {B} XXX", _actionCanceledText, message.TextValue);
         if (_taskQueue.CurrentTaskExecutor is IToastAware toastAware)
         {
             if (toastAware.OnErrorToast(message))
index 2c889375c4c9a03456ef5f2f6d1220a8c9b49ad7..7f4b02614b8ac1c4f2c170ad3c661beaa133e8f9 100644 (file)
@@ -30,6 +30,7 @@ internal static class NextQuest
 
     internal sealed record SetQuestTask(ElementId NextQuestId, ElementId CurrentQuestId) : ITask
     {
+        public bool ShouldRedoOnInterrupt() => true;
         public override string ToString() => $"SetNextQuest({NextQuestId})";
     }
 
index e0f65c1a8f8c3dfce9894f8668e528dd6f384032..b244bbea9f6fe35e0c594c87005fa7141d1f58f8 100644 (file)
@@ -36,6 +36,7 @@ internal static class AetherCurrent
 
     internal sealed record Attune(uint DataId, uint AetherCurrentId) : ITask
     {
+        public bool ShouldRedoOnInterrupt() => true;
         public override string ToString() => $"AttuneAetherCurrent({AetherCurrentId})";
     }
 
index d7d09a0c746d6382266a2581d202b494af950db9..b1af7fe9ad849a7a833b98444881403c1107cdda 100644 (file)
@@ -26,6 +26,7 @@ internal static class AethernetShard
 
     internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask
     {
+        public bool ShouldRedoOnInterrupt() => true;
         public override string ToString() => $"AttuneAethernetShard({AetheryteLocation})";
     }
 
index 6d3cb54dc8988bc4412d289215820347072366f9..d97547763e730a0b3c39a3b0aa3fa075d9616137 100644 (file)
@@ -24,6 +24,7 @@ internal static class Aetheryte
 
     internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask
     {
+        public bool ShouldRedoOnInterrupt() => true;
         public override string ToString() => $"AttuneAetheryte({AetheryteLocation})";
     }
 
index 286cf828690cbdc03055f23e0e247698939f436d..5dd28d206765655c20fe10d7f3cd4acd840f5523 100644 (file)
@@ -63,6 +63,8 @@ internal static class Interact
         uint? PickUpItemId = null,
         SkipStepConditions? SkipConditions = null) : ITask
     {
+        public bool ShouldRedoOnInterrupt() => true;
+
         public override string ToString() => $"Interact({DataId})";
     }
 
index 083fff420bcc9da78a679c49b048ca18e075564c..d64c009bf503ddf3eb3a7d1fd3b528049ffa82c8 100644 (file)
@@ -143,6 +143,8 @@ internal static class WaitAtEnd
         {
         }
 
+        public bool ShouldRedoOnInterrupt() => true;
+
         public override string ToString() => $"Wait(seconds: {Delay.TotalSeconds})";
     }