Load disabled quests in debug; mark a few tribal quests as disabled (as they're rando...
authorLiza Carvelli <liza@carvel.li>
Mon, 15 Jul 2024 22:43:38 +0000 (00:43 +0200)
committerLiza Carvelli <liza@carvel.li>
Mon, 15 Jul 2024 22:43:38 +0000 (00:43 +0200)
QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3691_Sharing Is Caring.json
QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3692_The Aesthetician of Il Mheg.json
QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3703_Raiders of the Lost Pork.json
QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3703_Raiders of the Lost Pork.md [new file with mode: 0644]
QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3704_Pebble without a Cause.json
QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3705_There's Always a Stupider Fish.json [new file with mode: 0644]
QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4566_Hippo Scrub.json
Questionable.Model/V1/QuestRoot.cs
Questionable/Controller/QuestRegistry.cs
Questionable/Windows/QuestWindow.cs

index 9dc05e1c527fdbb1f165bbb11f8df907d9e9205e..6ba49247079fc38f0a8cf0120fdf1221cd07950b 100644 (file)
@@ -1,6 +1,7 @@
 {
   "$schema": "https://carvel.li/questionable/quest-1.0",
   "Author": "liza",
+  "Disabled": true,
   "QuestSequence": [
     {
       "Sequence": 0,
index fdba712d48cdf7b281f23580b28decb73fa19bcf..9429e2109388c7bbe285163cc15fa04be54ca21d 100644 (file)
@@ -1,6 +1,7 @@
 {
   "$schema": "https://carvel.li/questionable/quest-1.0",
   "Author": "liza",
+  "Disabled": true,
   "QuestSequence": [
     {
       "Sequence": 0,
index 5f4962f3181f535c5dc52c7358c36fea0039c54f..49f7f0eecb36e6d6450f89356c3f9f92736050c5 100644 (file)
@@ -1,6 +1,7 @@
 {
   "$schema": "https://carvel.li/questionable/quest-1.0",
   "Author": "liza",
+  "Disabled": true,
   "QuestSequence": [
     {
       "Sequence": 0,
     {
       "Sequence": 1,
       "Steps": [
+        {
+          "DataId": 1032169,
+          "Position": {
+            "X": -423.33105,
+            "Y": 25.599815,
+            "Z": 265.94946
+          },
+          "TerritoryId": 816,
+          "InteractionType": "Interact",
+          "Fly": true,
+          "SkipIf": [
+            "NotTargetable"
+          ],
+          "$": "Only if QW: 0 48 0 0 0 0"
+        },
         {
           "DataId": 1032167,
           "Position": {
           },
           "TerritoryId": 816,
           "InteractionType": "Interact",
-          "Fly": true
+          "Fly": true,
+          "SkipIf": [
+            "NotTargetable"
+          ]
         }
       ]
     },
diff --git a/QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3703_Raiders of the Lost Pork.md b/QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3703_Raiders of the Lost Pork.md
new file mode 100644 (file)
index 0000000..e130691
--- /dev/null
@@ -0,0 +1,8 @@
+## Raiders of the Lost Pork
+
+QuestWork:
+```
+0 x  0 0 0 0
+  48         → Elegant Eulmoran (1032169)
+  ??         → 1032167
+```
index 940bafba53a9b012213fe78c2ecad74f702845c0..5c1ca655be4f96c6758539c6edb2f03c4a10f6b5 100644 (file)
@@ -1,6 +1,7 @@
 {
   "$schema": "https://carvel.li/questionable/quest-1.0",
   "Author": "liza",
+  "Disabled": true,
   "QuestSequence": [
     {
       "Sequence": 0,
             "Z": -55.77173
           },
           "TerritoryId": 816,
-          "InteractionType": "Combat",
-          "EnemySpawnType": "AfterInteraction",
-          "KillEnemyDataIds": [
-            11451
-          ],
+          "InteractionType": "Interact",
           "Fly": true,
-          "Comment": "TODO Combat is optional, check where we should walk"
+          "$": "Only if QW: 0 0 ??? 0 0 0",
+          "SkipIf": ["NotTargetable"]
+        },
+        {
+          "DataId": 2010902,
+          "Position": {
+            "X": -405.9358,
+            "Y": -0.07635498,
+            "Z": -28.397034
+          },
+          "TerritoryId": 816,
+          "InteractionType": "Interact",
+          "$": "Only if QW: 0 0 1 0 0 0 → if complete, 0 16 0 0 0 0",
+          "SkipIf": ["NotTargetable"]
         }
       ]
     },
     {
       "Sequence": 255,
       "Steps": [
+        {
+          "Position": {
+            "X": -398.9776,
+            "Y": 0.82966614,
+            "Z": 8.668919
+          },
+          "TerritoryId": 816,
+          "InteractionType": "WalkTo",
+          "Mount": false,
+          "DisableNavmesh": true
+        },
         {
           "DataId": 1031809,
           "Position": {
diff --git a/QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3705_There's Always a Stupider Fish.json b/QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3705_There's Always a Stupider Fish.json
new file mode 100644 (file)
index 0000000..a71e2c2
--- /dev/null
@@ -0,0 +1,66 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "Disabled": true,
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1031809,
+          "Position": {
+            "X": -454.3069,
+            "Y": 71.43217,
+            "Z": 575.1278
+          },
+          "TerritoryId": 816,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "Position": {
+            "X": -115.77283,
+            "Y": 7.1942587,
+            "Z": 130.61378
+          },
+          "TerritoryId": 816,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        },
+        {
+          "DataId": 2010911,
+          "Position": {
+            "X": -113.93915,
+            "Y": -36.087585,
+            "Z": 87.6936
+          },
+          "TerritoryId": 816,
+          "InteractionType": "Interact",
+          "DisableNavmesh": true,
+          "$": "QW: 0 2 0 0 0 0"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1031809,
+          "Position": {
+            "X": -454.3069,
+            "Y": 71.43217,
+            "Z": 575.1278
+          },
+          "TerritoryId": 816,
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "Il Mheg - Lydha Lran",
+          "Fly": true
+        }
+      ]
+    }
+  ]
+}
index 5bb38148e43ec439a3f1c03888ac01c0bbc43ba5..2142ebcd78dcd0c9f58228fc00b45eb165534008 100644 (file)
@@ -79,7 +79,6 @@
           },
           "TerritoryId": 957,
           "InteractionType": "CompleteQuest",
-          "AetheryteShortcut": "Thavnair - Yedlihmad",
           "Fly": true
         }
       ]
index 60693898cff767c98c68886a599750e8408d76c4..cf1967c44056c9fe684482f0453d9516b446e6d2 100644 (file)
@@ -6,7 +6,12 @@ public sealed class QuestRoot
 {
     public string Author { get; set; } = null!;
     public List<string> Contributors { get; set; } = new();
+
+    /// <summary>
+    /// This is only relevant for release builds.
+    /// </summary>
     public bool Disabled { get; set; }
+
     public string? Comment { get; set; }
     public List<ushort> TerritoryBlacklist { get; set; } = new();
     public List<QuestSequence> QuestSequence { get; set; } = new();
index d836b21ebdf227007105080858f202191e35e590..e0e036302aa5d2512af6e7dd7691ecb79dae53ec 100644 (file)
@@ -173,8 +173,8 @@ internal sealed class QuestRegistry
         return ushort.Parse(parts[0], CultureInfo.InvariantCulture);
     }
 
-    public bool IsKnownQuest(ushort questId) => TryGetQuest(questId, out _);
+    public bool IsKnownQuest(ushort questId) => _quests.ContainsKey(questId);
 
     public bool TryGetQuest(ushort questId, [NotNullWhen(true)] out Quest? quest)
-        => _quests.TryGetValue(questId, out quest) && !quest.Root.Disabled;
+        => _quests.TryGetValue(questId, out quest);
 }
index 517d88940a43d25a14b755235547c8fe19af0c61..2709ab0bb6774f8216a08a2f210fe28b043d884d 100644 (file)
@@ -583,7 +583,7 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
             ImGui.SameLine();
 
             using var textColor = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed);
-            if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.ExclamationTriangle,
+            if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Flag,
                     $"{_questRegistry.ValidationIssueCount}"))
                 _questValidationWindow.IsOpen = true;
         }