Load quest paths from HW/SB folders

This commit is contained in:
Liza 2024-07-17 04:31:54 +02:00
parent 01f9b48062
commit 98cca32acc
Signed by: liza
GPG Key ID: 7199F8D727D55F67
14 changed files with 635 additions and 2 deletions

View File

@ -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"
]
}
]
}
]
}

View File

@ -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"
}
]
}
]
}

View File

@ -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"
}
]
}
]
}

View File

@ -0,0 +1,16 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 1,
"Steps": [
{
"TerritoryId": 829,
"InteractionType": "Duty",
"ContentFinderConditionId": 611
}
]
}
]
}

View File

@ -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"
}
]
}
]
}
]
}

View File

@ -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
}
]
}
]
}

View File

@ -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
}
]
}
]
}

View File

@ -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
}
]
}
]
}

View File

@ -20,11 +20,15 @@
<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"/>

View File

@ -686,7 +686,8 @@
"soothe",
"me",
"welcome",
"imperialsalute"
"imperialsalute",
"pet"
]
}
}

View File

@ -22,5 +22,6 @@ public sealed class EmoteConverter() : EnumConverter<EEmote>(Values)
{ EEmote.Me, "me" },
{ EEmote.Welcome, "welcome" },
{ EEmote.ImperialSalute, "imperialsalute" },
{ EEmote.Pet, "pet" },
};
}

View File

@ -24,4 +24,5 @@ public enum EEmote
Me = 23,
Welcome = 41,
ImperialSalute = 59,
Pet = 105,
}

View 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(

View 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;
}
}