From 98cca32acc7b6d85247da6052e41be72001357f6 Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Wed, 17 Jul 2024 04:31:54 +0200 Subject: [PATCH] Load quest paths from HW/SB folders --- .../WAR/318_Bleeder of the Pack.json | 76 +++++++++ .../2392_Keeping Up with the Aliapohs.json | 36 +++++ .../Misc/4172_Ascending to Empyreum.json | 93 +++++++++++ .../MSQ/F - 4.5/3183_The Face of War.json | 16 ++ .../Pixies/Dailies/3707_Not the Beavers.json | 62 +++++++ .../3708_The Once and Future Marchioness.json | 98 +++++++++++ .../Arkasodara/Dailies/4570_Patching Up.json | 153 ++++++++++++++++++ .../Dailies/4571_A Hippo's Best Friend.json | 82 ++++++++++ QuestPaths/QuestPaths.csproj | 4 + QuestPaths/quest-v1.json | 3 +- .../V1/Converter/EmoteConverter.cs | 1 + Questionable.Model/V1/EEmote.cs | 1 + Questionable/Controller/QuestRegistry.cs | 4 + Questionable/Windows/QuestWindow.cs | 8 +- 14 files changed, 635 insertions(+), 2 deletions(-) create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/318_Bleeder of the Pack.json create mode 100644 QuestPaths/3.x - Heavensward/Unlocks/Misc/2392_Keeping Up with the Aliapohs.json create mode 100644 QuestPaths/3.x - Heavensward/Unlocks/Misc/4172_Ascending to Empyreum.json create mode 100644 QuestPaths/4.x - Stormblood/MSQ/F - 4.5/3183_The Face of War.json create mode 100644 QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3707_Not the Beavers.json create mode 100644 QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3708_The Once and Future Marchioness.json create mode 100644 QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4570_Patching Up.json create mode 100644 QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4571_A Hippo's Best Friend.json 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 index 00000000..2e89f068 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/318_Bleeder of the Pack.json @@ -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 index 00000000..c8293f70 --- /dev/null +++ b/QuestPaths/3.x - Heavensward/Unlocks/Misc/2392_Keeping Up with the Aliapohs.json @@ -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 index 00000000..59c8b15f --- /dev/null +++ b/QuestPaths/3.x - Heavensward/Unlocks/Misc/4172_Ascending to Empyreum.json @@ -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 index 00000000..53b8b0d3 --- /dev/null +++ b/QuestPaths/4.x - Stormblood/MSQ/F - 4.5/3183_The Face of War.json @@ -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 index 00000000..998a8542 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3707_Not the Beavers.json @@ -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 index 00000000..e9cad790 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3708_The Once and Future Marchioness.json @@ -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 index 00000000..368d860f --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4570_Patching Up.json @@ -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 index 00000000..671e15c3 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4571_A Hippo's Best Friend.json @@ -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 + } + ] + } + ] +} diff --git a/QuestPaths/QuestPaths.csproj b/QuestPaths/QuestPaths.csproj index a4fe470d..1ffde5ce 100644 --- a/QuestPaths/QuestPaths.csproj +++ b/QuestPaths/QuestPaths.csproj @@ -20,11 +20,15 @@ + + + + diff --git a/QuestPaths/quest-v1.json b/QuestPaths/quest-v1.json index d22e38bf..40c85966 100644 --- a/QuestPaths/quest-v1.json +++ b/QuestPaths/quest-v1.json @@ -686,7 +686,8 @@ "soothe", "me", "welcome", - "imperialsalute" + "imperialsalute", + "pet" ] } } diff --git a/Questionable.Model/V1/Converter/EmoteConverter.cs b/Questionable.Model/V1/Converter/EmoteConverter.cs index 2a32d848..36b9343c 100644 --- a/Questionable.Model/V1/Converter/EmoteConverter.cs +++ b/Questionable.Model/V1/Converter/EmoteConverter.cs @@ -22,5 +22,6 @@ public sealed class EmoteConverter() : EnumConverter(Values) { EEmote.Me, "me" }, { EEmote.Welcome, "welcome" }, { EEmote.ImperialSalute, "imperialsalute" }, + { EEmote.Pet, "pet" }, }; } diff --git a/Questionable.Model/V1/EEmote.cs b/Questionable.Model/V1/EEmote.cs index 3085be34..b8459ff3 100644 --- a/Questionable.Model/V1/EEmote.cs +++ b/Questionable.Model/V1/EEmote.cs @@ -24,4 +24,5 @@ public enum EEmote Me = 23, Welcome = 41, ImperialSalute = 59, + Pet = 105, } diff --git a/Questionable/Controller/QuestRegistry.cs b/Questionable/Controller/QuestRegistry.cs index 93d83f9d..a0632997 100644 --- a/Questionable/Controller/QuestRegistry.cs +++ b/Questionable/Controller/QuestRegistry.cs @@ -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( diff --git a/Questionable/Windows/QuestWindow.cs b/Questionable/Windows/QuestWindow.cs index 1f3f617c..84a89e98 100644 --- a/Questionable/Windows/QuestWindow.cs +++ b/Questionable/Windows/QuestWindow.cs @@ -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; } }