Fix for potentially getting stuck during accepting quests
authorLiza Carvelli <liza@carvel.li>
Sat, 13 Jul 2024 11:47:15 +0000 (13:47 +0200)
committerLiza Carvelli <liza@carvel.li>
Sat, 13 Jul 2024 11:47:15 +0000 (13:47 +0200)
QuestPaths/5.x - Shadowbringers/MSQ/I-5.3/3782_Reflections in Crystal.json
QuestPaths/5.x - Shadowbringers/MSQ/J-5.4/4016_Futures Rewritten.json
QuestPaths/5.x - Shadowbringers/MSQ/K-5.5/4063_When the Dust Settles.json
Questionable/Controller/QuestController.cs

index d228498bd866e4e8963c364f84cc7c14746efcad..63c911a9425551d9377110d44064864e2e04d7b0 100644 (file)
     {
       "Sequence": 255,
       "Steps": [
+        {
+          "Position": {
+            "X": 0.1512314,
+            "Y": 1.9999986,
+            "Z": 19.4396
+          },
+          "TerritoryId": 351,
+          "InteractionType": "WalkTo"
+        },
         {
           "DataId": 1033896,
           "Position": {
index 7126df0e92a124c5d6b7eb6693aaa69317f7c63a..c5a3650d3b0b74e34d0fb16945cea30c43292811 100644 (file)
@@ -12,7 +12,7 @@
             "Y": 64.45569,
             "Z": -242.66425
           },
-          "StopDistance": 5,
+          "StopDistance": 7,
           "TerritoryId": 180,
           "InteractionType": "AcceptQuest"
         }
index 3dafb4ad1a53b81bcf57a5546cfad83d3fe87823..3a048dd0fd116a52c2b7bb394c828d56f7d9a39a 100644 (file)
@@ -12,6 +12,7 @@
             "Y": 83.2,
             "Z": 15.121643
           },
+          "StopDistance": 5,
           "TerritoryId": 130,
           "InteractionType": "AcceptQuest"
         }
index 00ba0a5e816e63cbf995c5135693b5c98396550d..de00083c51603c42b28c7f70e3a60e2c78a4a66a 100644 (file)
@@ -112,9 +112,10 @@ internal sealed class QuestController
         if (CurrentQuest != null && CurrentQuest.Quest.Root.TerritoryBlacklist.Contains(_clientState.TerritoryType))
             return;
 
-        if (_automatic && _currentTask == null && _taskQueue.Count == 0
-            && CurrentQuest is { Sequence: 0, Step: 0 } or { Sequence: 0, Step: 255 }
-            && DateTime.Now >= CurrentQuest.StepProgress.StartedAt.AddSeconds(15))
+        if (_automatic && ((_currentTask == null && _taskQueue.Count == 0) ||
+                           _currentTask is WaitAtEnd.WaitQuestAccepted)
+                       && CurrentQuest is { Sequence: 0, Step: 0 } or { Sequence: 0, Step: 255 }
+                       && DateTime.Now >= CurrentQuest.StepProgress.StartedAt.AddSeconds(15))
         {
             lock (_lock)
             {