Load quest paths from HW/SB folders
authorLiza Carvelli <liza@carvel.li>
Wed, 17 Jul 2024 02:31:54 +0000 (04:31 +0200)
committerLiza Carvelli <liza@carvel.li>
Wed, 17 Jul 2024 02:31:54 +0000 (04:31 +0200)
14 files changed:
QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/318_Bleeder of the Pack.json [new file with mode: 0644]
QuestPaths/3.x - Heavensward/Unlocks/Misc/2392_Keeping Up with the Aliapohs.json [new file with mode: 0644]
QuestPaths/3.x - Heavensward/Unlocks/Misc/4172_Ascending to Empyreum.json [new file with mode: 0644]
QuestPaths/4.x - Stormblood/MSQ/F - 4.5/3183_The Face of War.json [new file with mode: 0644]
QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3707_Not the Beavers.json [new file with mode: 0644]
QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3708_The Once and Future Marchioness.json [new file with mode: 0644]
QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4570_Patching Up.json [new file with mode: 0644]
QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4571_A Hippo's Best Friend.json [new file with mode: 0644]
QuestPaths/QuestPaths.csproj
QuestPaths/quest-v1.json
Questionable.Model/V1/Converter/EmoteConverter.cs
Questionable.Model/V1/EEmote.cs
Questionable/Controller/QuestRegistry.cs
Questionable/Windows/QuestWindow.cs

diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/318_Bleeder of the Pack.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/318_Bleeder of the Pack.json
new file mode 100644 (file)
index 0000000..2e89f06
--- /dev/null
@@ -0,0 +1,76 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1000927,
+          "Position": {
+            "X": -1.2055054,
+            "Y": 44.999886,
+            "Z": -255.8786
+          },
+          "TerritoryId": 128,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1002682,
+          "Position": {
+            "X": -86.930725,
+            "Y": 40.999992,
+            "Z": -153.91785
+          },
+          "TerritoryId": 128,
+          "InteractionType": "Interact",
+          "AethernetShortcut": [
+            "[Limsa Lominsa] Marauders' Guild",
+            "[Limsa Lominsa] Culinarians' Guild"
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1002685,
+          "Position": {
+            "X": -235.33997,
+            "Y": -0.28636882,
+            "Z": 675.349
+          },
+          "TerritoryId": 135,
+          "InteractionType": "SinglePlayerDuty",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1000927,
+          "Position": {
+            "X": -1.2055054,
+            "Y": 44.999886,
+            "Z": -255.8786
+          },
+          "TerritoryId": 128,
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "Limsa Lominsa",
+          "AethernetShortcut": [
+            "[Limsa Lominsa] Aetheryte Plaza",
+            "[Limsa Lominsa] Marauders' Guild"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/3.x - Heavensward/Unlocks/Misc/2392_Keeping Up with the Aliapohs.json b/QuestPaths/3.x - Heavensward/Unlocks/Misc/2392_Keeping Up with the Aliapohs.json
new file mode 100644 (file)
index 0000000..c8293f7
--- /dev/null
@@ -0,0 +1,36 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1018317,
+          "Position": {
+            "X": 44.174805,
+            "Y": 206.99484,
+            "Z": -9.720032
+          },
+          "TerritoryId": 478,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1017653,
+          "Position": {
+            "X": -17.990417,
+            "Y": 211.4722,
+            "Z": -1.4801636
+          },
+          "TerritoryId": 478,
+          "InteractionType": "CompleteQuest"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/3.x - Heavensward/Unlocks/Misc/4172_Ascending to Empyreum.json b/QuestPaths/3.x - Heavensward/Unlocks/Misc/4172_Ascending to Empyreum.json
new file mode 100644 (file)
index 0000000..59c8b15
--- /dev/null
@@ -0,0 +1,93 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1012155,
+          "Position": {
+            "X": -63.21814,
+            "Y": 8.25915,
+            "Z": 28.732666
+          },
+          "TerritoryId": 418,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1031682,
+          "Position": {
+            "X": 152.97156,
+            "Y": -20.000004,
+            "Z": 63.767456
+          },
+          "TerritoryId": 418,
+          "InteractionType": "Interact",
+          "AethernetShortcut": [
+            "[Ishgard] Aetheryte Plaza",
+            "[Ishgard] The Brume"
+          ],
+          "DialogueChoices": [
+            {
+              "Type": "YesNo",
+              "Prompt": "TEXT_AKTKYR103_04172_Q1_000_000",
+              "Yes": true
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1039506,
+          "Position": {
+            "X": 20.401245,
+            "Y": -16,
+            "Z": 159.96033
+          },
+          "TerritoryId": 979,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1012155,
+          "Position": {
+            "X": -63.21814,
+            "Y": 8.25915,
+            "Z": 28.732666
+          },
+          "TerritoryId": 418,
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "Ishgard"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/4.x - Stormblood/MSQ/F - 4.5/3183_The Face of War.json b/QuestPaths/4.x - Stormblood/MSQ/F - 4.5/3183_The Face of War.json
new file mode 100644 (file)
index 0000000..53b8b0d
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "TerritoryId": 829,
+          "InteractionType": "Duty",
+          "ContentFinderConditionId": 611
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3707_Not the Beavers.json b/QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3707_Not the Beavers.json
new file mode 100644 (file)
index 0000000..998a854
--- /dev/null
@@ -0,0 +1,62 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1031809,
+          "Position": {
+            "X": -454.3069,
+            "Y": 71.43217,
+            "Z": 575.1278
+          },
+          "TerritoryId": 816,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1032170,
+          "Position": {
+            "X": 25.070557,
+            "Y": 13.914338,
+            "Z": 755.58093
+          },
+          "TerritoryId": 816,
+          "InteractionType": "Instruction",
+          "Fly": true,
+          "Comment": "Throw Porxies at Beavers"
+        }
+      ]
+    },
+    {
+      "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,
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_BANPIX119_03707_Q1_000_000",
+              "Answer": "TEXT_BANPIX119_03707_A1_000_003"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3708_The Once and Future Marchioness.json b/QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3708_The Once and Future Marchioness.json
new file mode 100644 (file)
index 0000000..e9cad79
--- /dev/null
@@ -0,0 +1,98 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1031809,
+          "Position": {
+            "X": -454.3069,
+            "Y": 71.43217,
+            "Z": 575.1278
+          },
+          "TerritoryId": 816,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 2010906,
+          "Position": {
+            "X": 60.135742,
+            "Y": 5.7526245,
+            "Z": 404.34875
+          },
+          "TerritoryId": 816,
+          "InteractionType": "Interact",
+          "Fly": true,
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
+        },
+        {
+          "DataId": 2010907,
+          "Position": {
+            "X": 50.858276,
+            "Y": 6.94281,
+            "Z": 406.51562
+          },
+          "TerritoryId": 816,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
+        },
+        {
+          "DataId": 2010908,
+          "Position": {
+            "X": 42.893066,
+            "Y": 6.668152,
+            "Z": 397.26855
+          },
+          "TerritoryId": 816,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
+        }
+      ]
+    },
+    {
+      "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
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4570_Patching Up.json b/QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4570_Patching Up.json
new file mode 100644 (file)
index 0000000..368d860
--- /dev/null
@@ -0,0 +1,153 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1042301,
+          "Position": {
+            "X": -66.02582,
+            "Y": 39.994705,
+            "Z": 321.06494
+          },
+          "TerritoryId": 957,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "Position": {
+            "X": 263.92963,
+            "Y": 7.600955,
+            "Z": 289.10162
+          },
+          "TerritoryId": 957,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            -32
+          ]
+        },
+        {
+          "DataId": 2012902,
+          "Position": {
+            "X": 264.88135,
+            "Y": 8.773865,
+            "Z": 287.98352
+          },
+          "TerritoryId": 957,
+          "InteractionType": "UseItem",
+          "ItemId": 2003405,
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
+        },
+        {
+          "Position": {
+            "X": 337.84723,
+            "Y": 6.94503,
+            "Z": 359.85526
+          },
+          "TerritoryId": 957,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            -64
+          ]
+        },
+        {
+          "DataId": 2012901,
+          "Position": {
+            "X": 340.07776,
+            "Y": 8.2855835,
+            "Z": 360.3723
+          },
+          "TerritoryId": 957,
+          "InteractionType": "UseItem",
+          "ItemId": 2003405,
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
+        },
+        {
+          "Position": {
+            "X": 254.98802,
+            "Y": 7.049597,
+            "Z": 373.44046
+          },
+          "TerritoryId": 957,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            -128
+          ]
+        },
+        {
+          "DataId": 2012900,
+          "Position": {
+            "X": 254.8103,
+            "Y": 8.377136,
+            "Z": 375.20398
+          },
+          "TerritoryId": 957,
+          "InteractionType": "UseItem",
+          "ItemId": 2003405,
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1042301,
+          "Position": {
+            "X": -66.02582,
+            "Y": 39.994705,
+            "Z": 321.06494
+          },
+          "TerritoryId": 957,
+          "InteractionType": "CompleteQuest",
+          "Fly": true
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4571_A Hippo's Best Friend.json b/QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4571_A Hippo's Best Friend.json
new file mode 100644 (file)
index 0000000..671e15c
--- /dev/null
@@ -0,0 +1,82 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1042301,
+          "Position": {
+            "X": -66.02582,
+            "Y": 39.994705,
+            "Z": 321.06494
+          },
+          "TerritoryId": 957,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "Position": {
+            "X": 459.61847,
+            "Y": 7.3659906,
+            "Z": 22.413525
+          },
+          "TerritoryId": 957,
+          "InteractionType": "WalkTo",
+          "AetheryteShortcut": "Thavnair - Palaka's Stand",
+          "Fly": true
+        },
+        {
+          "DataId": 2012895,
+          "Position": {
+            "X": 461.8142,
+            "Y": 9.262146,
+            "Z": 24.2771
+          },
+          "StopDistance": 5,
+          "TerritoryId": 957,
+          "InteractionType": "UseItem",
+          "ItemId": 2003407,
+          "GroundTarget": true
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 2012897,
+          "Position": {
+            "X": 458.39624,
+            "Y": 7.4005737,
+            "Z": 23.788818
+          },
+          "TerritoryId": 957,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1042301,
+          "Position": {
+            "X": -66.02582,
+            "Y": 39.994705,
+            "Z": 321.06494
+          },
+          "TerritoryId": 957,
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "Thavnair - Yedlihmad",
+          "Fly": true
+        }
+      ]
+    }
+  ]
+}
index a4fe470d89030879197b61cba3aa8cc4222dd2ed..1ffde5cead5ffcaf9142502de3d44a9c91d920b4 100644 (file)
 
     <ItemGroup Condition="'$(Configuration)' == 'Release'">
         <None Remove="2.x - A Realm Reborn"/>
+        <None Remove="3.x - Heavensward"/>
+        <None Remove="4.x - Stormblood"/>
         <None Remove="5.x - Shadowbringers"/>
         <None Remove="6.x - Endwalker"/>
         <None Remove="7.x - Dawntrail"/>
         <None Remove="quest-v1.json"/>
         <AdditionalFiles Include="2.x - A Realm Reborn\**\*.json"/>
+        <AdditionalFiles Include="3.x - Heavensward\**\*.json"/>
+        <AdditionalFiles Include="4.x - Stormblood\**\*.json"/>
         <AdditionalFiles Include="5.x - Shadowbringers\**\*.json"/>
         <AdditionalFiles Include="6.x - Endwalker\**\*.json" />
         <AdditionalFiles Include="7.x - Dawntrail\**\*.json"/>
index d22e38bf5764ad82e4a4029403bb9afaaa9cd3ca..40c859666eb2b0322c20540be9deae2c86860850 100644 (file)
                           "soothe",
                           "me",
                           "welcome",
-                          "imperialsalute"
+                          "imperialsalute",
+                          "pet"
                         ]
                       }
                     }
index 2a32d848256a29fe1ebebf9dd6f6be90b3349db3..36b9343caa9dfea850d6f3eac5e21dfcae7d28d0 100644 (file)
@@ -22,5 +22,6 @@ public sealed class EmoteConverter() : EnumConverter<EEmote>(Values)
         { EEmote.Me, "me" },
         { EEmote.Welcome, "welcome" },
         { EEmote.ImperialSalute, "imperialsalute" },
+        { EEmote.Pet, "pet" },
     };
 }
index 3085be34c0353c55db631655ef7956dba432b0ba..b8459ff3e785878e86d2b245a29874f146c42876 100644 (file)
@@ -24,4 +24,5 @@ public enum EEmote
     Me = 23,
     Welcome = 41,
     ImperialSalute = 59,
+    Pet = 105,
 }
index 93d83f9dc614be255b364bc0337d4f010b92131f..a0632997730e14154348bc646f1c8c64cb8f524d 100644 (file)
@@ -91,6 +91,10 @@ internal sealed class QuestRegistry
                 {
                     LoadFromDirectory(
                         new DirectoryInfo(Path.Combine(pathProjectDirectory.FullName, "2.x - A Realm Reborn")));
+                    LoadFromDirectory(
+                        new DirectoryInfo(Path.Combine(pathProjectDirectory.FullName, "3.x - Heavensward")));
+                    LoadFromDirectory(
+                        new DirectoryInfo(Path.Combine(pathProjectDirectory.FullName, "4.x - Stormblood")));
                     LoadFromDirectory(
                         new DirectoryInfo(Path.Combine(pathProjectDirectory.FullName, "5.x - Shadowbringers")));
                     LoadFromDirectory(
index 1f3f617ccfb4b9929b4f6f3211833131eb97d228..84a89e989cb6861dcf6bea67dee4aa314373fe73 100644 (file)
@@ -157,6 +157,12 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
                 {
                     ImGui.TextUnformatted(
                         $"Quest: {startedQuest.Quest.Info.Name} / {startedQuest.Sequence} / {startedQuest.Step}");
+
+                    if (startedQuest.Quest.Root.Disabled)
+                    {
+                        ImGui.SameLine();
+                        ImGui.TextColored(ImGuiColors.DalamudRed, "Disabled");
+                    }
                 }
 
                 using var _ = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow);
@@ -413,7 +419,7 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
                         _questRegistry.TryGetQuest(questManager->NormalQuests[trackedQuest.Index].QuestId,
                             out var quest);
                         ImGui.Text(
-                            $"Tracked quest: {questManager->NormalQuests[trackedQuest.Index].QuestId}, {trackedQuest.Index}: {quest?.Name}");
+                            $"Tracked quest: {questManager->NormalQuests[trackedQuest.Index].QuestId}, {trackedQuest.Index}: {quest?.Info.Name}");
                         break;
                 }
             }