From 1a4a47e3eeee3622354d6bce0cd5ff356d67936b Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Sun, 28 Jul 2024 00:13:52 +0200 Subject: [PATCH] Finish Shadowbringers MSQ --- QuestPathGenerator/RoslynShortcuts.cs | 3 + .../Shared/245_It's Probably Pirates.json | 19 +- .../1190_You Have Selected Regicide.json | 3 +- .../Sahagin/Story/1375_Clutch and Kin.json | 48 ++- .../Emotes/Throw/1310_Toss Fit Workout.json | 46 +++ .../Misc/1431_Rising to the Challenge.json | 1 - .../Amh Araeng/3503_Scavengers Assemble.json | 106 +++++++ .../Amh Araeng/3511_Charmless Man.json | 51 ++++ .../Amh Araeng/3525_A Vein Pursuit.json | 71 +++++ .../Kholusia/3537_Fugitive of Fear.json | 108 +++++++ .../Kholusia/3556_A Disagreeable Dwarf.json | 102 +++++++ .../Tempest/3588_Koal of the Cups.json | 137 +++++++++ .../Tempest/3592_Responsible Creation.json | 103 +++++++ .../Tempest/3593_Debate and Discourse.json | 96 ++++++ .../Tempest/3594_Community Cohesion.json | 106 +++++++ .../D-Amh Araeng 2/3615_The Truth Hurts.json | 46 +++ .../3616_A Convenient Distraction.json | 120 ++++++++ .../MSQ/D-Amh Araeng 2/3617_A Dirty Job.json | 288 ++++++++++++++++++ .../MSQ/D-Amh Araeng 2/3618_Have a Heart.json | 67 ++++ .../D-Amh Araeng 2/3619_Full Steam Ahead.json | 69 +++++ .../MSQ/D-Amh Araeng 2/3620_Crossroads.json | 77 +++++ .../D-Amh Araeng 2/3621_A Fresh Start.json | 65 ++++ .../3622_More than a Hunch.json | 62 ++++ .../E-Kholusia 2/3630_Return to Eulmore.json | 137 +++++++++ .../E-Kholusia 2/3631_A Feast of Lies.json | 55 ++++ .../E-Kholusia 2/3632_Paradise Fallen.json | 160 ++++++++++ .../MSQ/E-Kholusia 2/3633_The Ladder.json | 189 ++++++++++++ .../3634_The View from Above.json | 156 ++++++++++ .../3635_In Mt Gulg's Shadow.json | 110 +++++++ .../3636_A Gigantic Undertaking.json | 89 ++++++ .../E-Kholusia 2/3637_Meet the Tholls.json | 99 ++++++ .../3638_A-Digging We Will Go.json | 51 ++++ .../3639_The Duergar's Tewel.json | 139 +++++++++ .../E-Kholusia 2/3640_Rich Veins of Hope.json | 126 ++++++++ .../3641_That None Shall Ever Again.json | 83 +++++ .../3642_A Breath of Respite.json | 124 ++++++++ .../3643_Extinguishing the Last Light.json | 113 +++++++ .../F-Tempest/3644_Reassuring the Masses.json | 95 ++++++ .../MSQ/F-Tempest/3645_In His Garden.json | 160 ++++++++++ .../F-Tempest/3646_The Unbroken Thread.json | 120 ++++++++ .../F-Tempest/3647_To Storm-tossed Seas.json | 219 +++++++++++++ .../F-Tempest/3648_Waiting in the Depths.json | 120 ++++++++ .../F-Tempest/3649_City of the Ancients.json | 128 ++++++++ .../3650_The Light of Inspiration.json | 98 ++++++ .../F-Tempest/3651_The Illuminated Land.json | 207 +++++++++++++ .../F-Tempest/3652_The End of a World.json | 136 +++++++++ .../MSQ/F-Tempest/3653_A Greater Purpose.json | 180 +++++++++++ .../MSQ/F-Tempest/3654_Shadowbringers.json | 113 ++++++- .../Healer/3267_Traditions and Travails.json | 22 ++ .../Magical Ranged/3623_Hollow Pursuits.json | 22 ++ .../3243_The Man with Too Many Scars.json | 22 ++ QuestPaths/quest-v1.json | 26 +- Questionable.Model/V1/SkipConditions.cs | 1 + Questionable.Model/V1/SkipStepConditions.cs | 4 - .../MovementOverrideController.cs | 3 + Questionable/Controller/QuestController.cs | 3 + .../Controller/Steps/Interactions/UseItem.cs | 2 +- .../Steps/Shared/AethernetShortcut.cs | 16 +- .../Controller/Steps/Shared/SkipCondition.cs | 16 +- Questionable/Data/AetheryteData.cs | 11 +- Questionable/GameFunctions.cs | 1 + Questionable/Model/QuestInfo.cs | 1 + Questionable/QuestionablePlugin.cs | 1 + Questionable/Validation/EIssueType.cs | 1 + Questionable/Validation/QuestValidator.cs | 14 +- .../Validators/AethernetShortcutValidator.cs | 48 +++ 66 files changed, 5182 insertions(+), 33 deletions(-) create mode 100644 QuestPaths/2.x - A Realm Reborn/Unlocks/Emotes/Throw/1310_Toss Fit Workout.json create mode 100644 QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3503_Scavengers Assemble.json create mode 100644 QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3511_Charmless Man.json create mode 100644 QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3525_A Vein Pursuit.json create mode 100644 QuestPaths/5.x - Shadowbringers/Aether Currents/Kholusia/3537_Fugitive of Fear.json create mode 100644 QuestPaths/5.x - Shadowbringers/Aether Currents/Kholusia/3556_A Disagreeable Dwarf.json create mode 100644 QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3588_Koal of the Cups.json create mode 100644 QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3592_Responsible Creation.json create mode 100644 QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3593_Debate and Discourse.json create mode 100644 QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3594_Community Cohesion.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3616_A Convenient Distraction.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3617_A Dirty Job.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3618_Have a Heart.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3619_Full Steam Ahead.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3620_Crossroads.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3621_A Fresh Start.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3622_More than a Hunch.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3630_Return to Eulmore.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3631_A Feast of Lies.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3632_Paradise Fallen.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3633_The Ladder.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3634_The View from Above.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3635_In Mt Gulg's Shadow.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3636_A Gigantic Undertaking.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3637_Meet the Tholls.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3638_A-Digging We Will Go.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3639_The Duergar's Tewel.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3640_Rich Veins of Hope.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3641_That None Shall Ever Again.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3642_A Breath of Respite.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3643_Extinguishing the Last Light.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3644_Reassuring the Masses.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3645_In His Garden.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3646_The Unbroken Thread.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3647_To Storm-tossed Seas.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3648_Waiting in the Depths.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3649_City of the Ancients.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3650_The Light of Inspiration.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3651_The Illuminated Land.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3652_The End of a World.json create mode 100644 QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3653_A Greater Purpose.json create mode 100644 QuestPaths/5.x - Shadowbringers/Role Quests/Healer/3267_Traditions and Travails.json create mode 100644 QuestPaths/5.x - Shadowbringers/Role Quests/Magical Ranged/3623_Hollow Pursuits.json create mode 100644 QuestPaths/5.x - Shadowbringers/Role Quests/Tank/3243_The Man with Too Many Scars.json create mode 100644 Questionable/Validation/Validators/AethernetShortcutValidator.cs diff --git a/QuestPathGenerator/RoslynShortcuts.cs b/QuestPathGenerator/RoslynShortcuts.cs index c843c877..48b003be 100644 --- a/QuestPathGenerator/RoslynShortcuts.cs +++ b/QuestPathGenerator/RoslynShortcuts.cs @@ -237,6 +237,9 @@ public static class RoslynShortcuts .AsSyntaxNodeOrToken(), Assignment(nameof(SkipConditions.AetheryteShortcutIf), skipConditions.AetheryteShortcutIf, emptySkip.AetheryteShortcutIf) + .AsSyntaxNodeOrToken(), + Assignment(nameof(skipConditions.AethernetShortcutIf), + skipConditions.AethernetShortcutIf, emptySkip.AethernetShortcutIf) .AsSyntaxNodeOrToken())))); } else if (value is SkipStepConditions skipStepConditions) diff --git a/QuestPaths/2.x - A Realm Reborn/MSQ-1/Shared/245_It's Probably Pirates.json b/QuestPaths/2.x - A Realm Reborn/MSQ-1/Shared/245_It's Probably Pirates.json index 1725128f..2abe3f67 100644 --- a/QuestPaths/2.x - A Realm Reborn/MSQ-1/Shared/245_It's Probably Pirates.json +++ b/QuestPaths/2.x - A Realm Reborn/MSQ-1/Shared/245_It's Probably Pirates.json @@ -32,7 +32,14 @@ }, "TerritoryId": 128, "InteractionType": "AcceptQuest", - "PickUpQuestId": 1211 + "PickUpQuestId": 1431, + "SkipConditions": { + "StepIf": { + "InTerritory": [ + 129 + ] + } + } }, { "DataId": 1003621, @@ -43,7 +50,15 @@ }, "TerritoryId": 129, "InteractionType": "Interact", - "Comment": "NG+: Requires manual teleport to Lower Decks" + "AethernetShortcut": [ + "[Limsa Lominsa] The Aftcastle", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AethernetShortcutIf": { + "InSameTerritory": true + } + } } ] }, diff --git a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E1-2.1/1190_You Have Selected Regicide.json b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E1-2.1/1190_You Have Selected Regicide.json index 63a33a3b..60dec44a 100644 --- a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E1-2.1/1190_You Have Selected Regicide.json +++ b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E1-2.1/1190_You Have Selected Regicide.json @@ -239,7 +239,8 @@ }, "StopDistance": 4, "TerritoryId": 152, - "InteractionType": "Interact" + "InteractionType": "Interact", + "DelaySecondsAtStart": 2 } ] }, diff --git a/QuestPaths/2.x - A Realm Reborn/Tribal/Sahagin/Story/1375_Clutch and Kin.json b/QuestPaths/2.x - A Realm Reborn/Tribal/Sahagin/Story/1375_Clutch and Kin.json index b3611e24..c9070973 100644 --- a/QuestPaths/2.x - A Realm Reborn/Tribal/Sahagin/Story/1375_Clutch and Kin.json +++ b/QuestPaths/2.x - A Realm Reborn/Tribal/Sahagin/Story/1375_Clutch and Kin.json @@ -1,7 +1,6 @@ { "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", "Author": "liza", - "Disabled": true, "QuestSequence": [ { "Sequence": 0, @@ -43,9 +42,21 @@ "Y": -23.382679, "Z": -89.52834 }, + "StopDistance": 0.5, "TerritoryId": 138, "InteractionType": "WalkTo", "Fly": true + }, + { + "Position": { + "X": -41.15807, + "Y": -23.382679, + "Z": -89.52834 + }, + "StopDistance": 0.5, + "TerritoryId": 138, + "InteractionType": "WalkTo", + "Mount": false } ] }, @@ -61,10 +72,19 @@ "TerritoryId": 138, "InteractionType": "Combat", "EnemySpawnType": "AutoOnEnterArea", - "KillEnemyDataIds": [ - 2667, - 2668, - 2669 + "ComplexCombatData": [ + { + "DataId": 2867, + "IgnoreQuestMarker": true + }, + { + "DataId": 2868, + "IgnoreQuestMarker": true + }, + { + "DataId": 2869, + "IgnoreQuestMarker": true + } ] }, { @@ -83,14 +103,22 @@ "Sequence": 255, "Steps": [ { - "DataId": 1008897, + "DataId": 1005937, "Position": { - "X": -38.31543, - "Y": -23.036211, - "Z": -88.85327 + "X": -238.02551, + "Y": -40.828262, + "Z": 68.28406 }, "TerritoryId": 138, - "InteractionType": "CompleteQuest" + "InteractionType": "CompleteQuest", + "Fly": true, + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_BANSAH002_01375_Q1_000_000", + "Answer": "TEXT_BANSAH002_01375_A1_000_001" + } + ] } ] } diff --git a/QuestPaths/2.x - A Realm Reborn/Unlocks/Emotes/Throw/1310_Toss Fit Workout.json b/QuestPaths/2.x - A Realm Reborn/Unlocks/Emotes/Throw/1310_Toss Fit Workout.json new file mode 100644 index 00000000..1061d722 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Unlocks/Emotes/Throw/1310_Toss Fit Workout.json @@ -0,0 +1,46 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1006381, + "Position": { + "X": 172.99146, + "Y": 222.00034, + "Z": 314.35107 + }, + "TerritoryId": 155, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": 242.65878, + "Y": 222.21414, + "Z": 327.51016 + }, + "TerritoryId": 155, + "InteractionType": "WalkTo", + "Fly": true + }, + { + "DataId": 1006385, + "Position": { + "X": 241.50452, + "Y": 222.25885, + "Z": 325.45972 + }, + "TerritoryId": 155, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Unlocks/Misc/1431_Rising to the Challenge.json b/QuestPaths/2.x - A Realm Reborn/Unlocks/Misc/1431_Rising to the Challenge.json index 26e2a510..3d9d036e 100644 --- a/QuestPaths/2.x - A Realm Reborn/Unlocks/Misc/1431_Rising to the Challenge.json +++ b/QuestPaths/2.x - A Realm Reborn/Unlocks/Misc/1431_Rising to the Challenge.json @@ -44,7 +44,6 @@ }, "TerritoryId": 129, "InteractionType": "CompleteQuest", - "Comment": "'Rising to the Challenge'", "AethernetShortcut": [ "[Limsa Lominsa] The Aftcastle", "[Limsa Lominsa] Fishermens' Guild" diff --git a/QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3503_Scavengers Assemble.json b/QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3503_Scavengers Assemble.json new file mode 100644 index 00000000..4f9ef3f8 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3503_Scavengers Assemble.json @@ -0,0 +1,106 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030979, + "Position": { + "X": -424.61285, + "Y": 31.900826, + "Z": -226.64227 + }, + "TerritoryId": 815, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "Position": { + "X": -51.720833, + "Y": -17.25763, + "Z": 37.377193 + }, + "StopDistance": 1, + "TerritoryId": 815, + "InteractionType": "Combat", + "EnemySpawnType": "AutoOnEnterArea", + "KillEnemyDataIds": [ + 11103 + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030980, + "Position": { + "X": -53.75763, + "Y": -17.25763, + "Z": 35.416138 + }, + "StopDistance": 5, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "Position": { + "X": 56.450626, + "Y": -30.337545, + "Z": 103.22127 + }, + "StopDistance": 1, + "TerritoryId": 815, + "InteractionType": "Combat", + "EnemySpawnType": "AutoOnEnterArea", + "KillEnemyDataIds": [ + 11103 + ] + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1030981, + "Position": { + "X": 56.443115, + "Y": -30.173006, + "Z": 101.76245 + }, + "StopDistance": 5, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030982, + "Position": { + "X": 13.961914, + "Y": -47.887844, + "Z": 169.78711 + }, + "TerritoryId": 815, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3511_Charmless Man.json b/QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3511_Charmless Man.json new file mode 100644 index 00000000..3de20e02 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3511_Charmless Man.json @@ -0,0 +1,51 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1027927, + "Position": { + "X": -476.95123, + "Y": 47.78906, + "Z": -200.61041 + }, + "TerritoryId": 815, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030759, + "Position": { + "X": -558.9227, + "Y": 52.408985, + "Z": -188.79993 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030807, + "Position": { + "X": -336.6903, + "Y": 19.24816, + "Z": 75.913574 + }, + "TerritoryId": 815, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3525_A Vein Pursuit.json b/QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3525_A Vein Pursuit.json new file mode 100644 index 00000000..44ad8337 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Aether Currents/Amh Araeng/3525_A Vein Pursuit.json @@ -0,0 +1,71 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030419, + "Position": { + "X": -506.6148, + "Y": 45.614502, + "Z": -194.50684 + }, + "TerritoryId": 815, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030720, + "Position": { + "X": -464.65253, + "Y": 45.508167, + "Z": -270.4662 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "Position": { + "X": -478.15445, + "Y": 10.344208, + "Z": 191.1135 + }, + "StopDistance": 1, + "TerritoryId": 815, + "InteractionType": "Combat", + "EnemySpawnType": "AutoOnEnterArea", + "KillEnemyDataIds": [ + 11106 + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030718, + "Position": { + "X": -478.2025, + "Y": 10.549525, + "Z": 193.13342 + }, + "StopDistance": 7, + "TerritoryId": 815, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/Aether Currents/Kholusia/3537_Fugitive of Fear.json b/QuestPaths/5.x - Shadowbringers/Aether Currents/Kholusia/3537_Fugitive of Fear.json new file mode 100644 index 00000000..ca916173 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Aether Currents/Kholusia/3537_Fugitive of Fear.json @@ -0,0 +1,108 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1027956, + "Position": { + "X": -128.77094, + "Y": 354.35815, + "Z": -179.18677 + }, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030748, + "Position": { + "X": -514.8852, + "Y": 334.116, + "Z": -9.262268 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "Position": { + "X": -515.5618, + "Y": 334.116, + "Z": -15.381194 + }, + "TerritoryId": 814, + "InteractionType": "WalkTo" + }, + { + "Position": { + "X": -518.69183, + "Y": 331.39224, + "Z": -23.225534 + }, + "TerritoryId": 814, + "InteractionType": "WalkTo", + "DisableNavmesh": true + }, + { + "DataId": 1030749, + "Position": { + "X": -504.5701, + "Y": 332.93307, + "Z": -112.077515 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030749, + "Position": { + "X": -504.5701, + "Y": 332.93307, + "Z": -112.077515 + }, + "TerritoryId": 814, + "InteractionType": "Emote", + "Emote": "soothe", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKZI001_03537_Q1_000_000", + "Answer": "TEXT_LUCKZI001_03537_A1_000_001" + } + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1027956, + "Position": { + "X": -128.77094, + "Y": 354.35815, + "Z": -179.18677 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/Aether Currents/Kholusia/3556_A Disagreeable Dwarf.json b/QuestPaths/5.x - Shadowbringers/Aether Currents/Kholusia/3556_A Disagreeable Dwarf.json new file mode 100644 index 00000000..79c9e040 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Aether Currents/Kholusia/3556_A Disagreeable Dwarf.json @@ -0,0 +1,102 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030776, + "Position": { + "X": -450.85834, + "Y": 417.1344, + "Z": -610.8644 + }, + "TerritoryId": 814, + "InteractionType": "AcceptQuest", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKZI101_03556_Q1_000_000", + "Answer": "TEXT_LUCKZI101_03556_A1_000_001" + } + ] + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030778, + "Position": { + "X": -429.31256, + "Y": 417.29797, + "Z": -677.2107 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030779, + "Position": { + "X": -436.48438, + "Y": 417.21954, + "Z": -641.38245 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKZI101_03556_Q3_000_000", + "Answer": "TEXT_LUCKZI101_03556_A3_000_001" + } + ] + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030780, + "Position": { + "X": -493.2479, + "Y": 417.1531, + "Z": -610.9866 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKZI101_03556_Q4_000_000", + "Answer": "TEXT_LUCKZI101_03556_A4_000_001" + } + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030800, + "Position": { + "X": -396.68878, + "Y": 417.51825, + "Z": -657.9232 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3588_Koal of the Cups.json b/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3588_Koal of the Cups.json new file mode 100644 index 00000000..57fa3c8d --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3588_Koal of the Cups.json @@ -0,0 +1,137 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1031015, + "Position": { + "X": 530.51025, + "Y": 353.54364, + "Z": -244.00702 + }, + "TerritoryId": 818, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1031016, + "Position": { + "X": 344.04517, + "Y": 342.69537, + "Z": -310.53644 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2010463, + "Position": { + "X": 340.93237, + "Y": 342.67188, + "Z": -310.47534 + }, + "TerritoryId": 818, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKZJ101_03588_Q2_000_000", + "Answer": "TEXT_LUCKZJ101_03588_A2_000_001" + } + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + }, + { + "DataId": 2010464, + "Position": { + "X": 341.5426, + "Y": 342.76343, + "Z": -308.70532 + }, + "TerritoryId": 818, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKZJ101_03588_Q1_000_000", + "Answer": "TEXT_LUCKZJ101_03588_A1_000_001" + } + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1031016, + "Position": { + "X": 344.04517, + "Y": 342.69537, + "Z": -310.53644 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1031017, + "Position": { + "X": 603.02124, + "Y": 348.01245, + "Z": -165.30103 + }, + "TerritoryId": 818, + "InteractionType": "Interact", + "AetheryteShortcut": "Tempest - Ondo Cups" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1031019, + "Position": { + "X": 505.88232, + "Y": 371.189, + "Z": -342.79395 + }, + "TerritoryId": 818, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3592_Responsible Creation.json b/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3592_Responsible Creation.json new file mode 100644 index 00000000..7adff8bd --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3592_Responsible Creation.json @@ -0,0 +1,103 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1027775, + "Position": { + "X": -390.85986, + "Y": -260.17664, + "Z": 308.46106 + }, + "TerritoryId": 818, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030473, + "Position": { + "X": -410.1778, + "Y": -260.17664, + "Z": 256.09204 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1027774, + "Position": { + "X": -365.59094, + "Y": -260.1766, + "Z": 276.9359 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030474, + "Position": { + "X": -390.9209, + "Y": -260.1766, + "Z": 284.93164 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2010125, + "Position": { + "X": -502.7085, + "Y": -250.93463, + "Z": 449.97327 + }, + "TerritoryId": 818, + "InteractionType": "Combat", + "EnemySpawnType": "AfterItemUse", + "ItemId": 2002612, + "KillEnemyDataIds": [ + 10846, + 10847, + 10848 + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030474, + "Position": { + "X": -390.9209, + "Y": -260.1766, + "Z": 284.93164 + }, + "TerritoryId": 818, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3593_Debate and Discourse.json b/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3593_Debate and Discourse.json new file mode 100644 index 00000000..6fed6bfd --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3593_Debate and Discourse.json @@ -0,0 +1,96 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1027778, + "Position": { + "X": -713.28296, + "Y": -245.368, + "Z": 498.49683 + }, + "TerritoryId": 818, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030475, + "Position": { + "X": -627.7715, + "Y": -250.75601, + "Z": 550.65234 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030475, + "Position": { + "X": -627.7715, + "Y": -250.75601, + "Z": 550.65234 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030475, + "Position": { + "X": -627.7715, + "Y": -250.75601, + "Z": 550.65234 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1027778, + "Position": { + "X": -713.28296, + "Y": -245.368, + "Z": 498.49683 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1027778, + "Position": { + "X": -713.28296, + "Y": -245.368, + "Z": 498.49683 + }, + "TerritoryId": 818, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3594_Community Cohesion.json b/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3594_Community Cohesion.json new file mode 100644 index 00000000..dc8bdeaa --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Aether Currents/Tempest/3594_Community Cohesion.json @@ -0,0 +1,106 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030477, + "Position": { + "X": -594.6593, + "Y": -266.7698, + "Z": 338.70447 + }, + "TerritoryId": 818, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030478, + "Position": { + "X": -654.35266, + "Y": -250.89601, + "Z": 475.76086 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "Position": { + "X": -361.26102, + "Y": -260.1766, + "Z": 280.9178 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo", + "$": "Bureau of the Architect, Concept Clerk" + }, + { + "DataId": 1027777, + "Position": { + "X": -355.2453, + "Y": -260.17664, + "Z": 278.6754 + }, + "StopDistance": 7, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "Position": { + "X": -85.3181, + "Y": -281.24854, + "Z": 423.48425 + }, + "TerritoryId": 818, + "InteractionType": "Instruction", + "Comment": "Requires item usage at low health (tested with < 20 percent)", + "KillEnemyDataIds": [ + 10304 + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -361.26102, + "Y": -260.1766, + "Z": 280.9178 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo", + "$": "Bureau of the Architect, Concept Clerk" + }, + { + "DataId": 1027777, + "Position": { + "X": -355.2453, + "Y": -260.17664, + "Z": 278.6754 + }, + "StopDistance": 7, + "TerritoryId": 818, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3615_The Truth Hurts.json b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3615_The Truth Hurts.json index b007745c..d71b9d35 100644 --- a/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3615_The Truth Hurts.json +++ b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3615_The Truth Hurts.json @@ -17,6 +17,52 @@ "InteractionType": "AcceptQuest" } ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1029639, + "Position": { + "X": -478.6908, + "Y": 47.777702, + "Z": -191.36346 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1029649, + "Position": { + "X": -549.5842, + "Y": 49.964603, + "Z": -189.04407 + }, + "StopDistance": 5, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1029755, + "Position": { + "X": -462.54675, + "Y": 45.367775, + "Z": -205.31018 + }, + "TerritoryId": 815, + "InteractionType": "CompleteQuest" + } + ] } ] } diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3616_A Convenient Distraction.json b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3616_A Convenient Distraction.json new file mode 100644 index 00000000..66b6fd40 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3616_A Convenient Distraction.json @@ -0,0 +1,120 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1029755, + "Position": { + "X": -462.54675, + "Y": 45.367775, + "Z": -205.31018 + }, + "TerritoryId": 815, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1029756, + "Position": { + "X": -344.96075, + "Y": 18.147886, + "Z": 40.66516 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1029757, + "Position": { + "X": -595.72754, + "Y": 5.317615, + "Z": 38.16284 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1029758, + "Position": { + "X": -594.81195, + "Y": 5.3112187, + "Z": 41.45874 + }, + "StopDistance": 7, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2009913, + "Position": { + "X": -641.4435, + "Y": -1.4191895, + "Z": 147.29529 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1029758, + "Position": { + "X": -594.81195, + "Y": 5.3112187, + "Z": 41.45874 + }, + "TerritoryId": 815, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKMD111_03616_Q1_000_001", + "Answer": "TEXT_LUCKMD111_03616_A1_000_002" + } + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1029757, + "Position": { + "X": -595.72754, + "Y": 5.317615, + "Z": 38.16284 + }, + "StopDistance": 7, + "TerritoryId": 815, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3617_A Dirty Job.json b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3617_A Dirty Job.json new file mode 100644 index 00000000..7abd58de --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3617_A Dirty Job.json @@ -0,0 +1,288 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1029757, + "Position": { + "X": -595.72754, + "Y": 5.317615, + "Z": 38.16284 + }, + "StopDistance": 7, + "TerritoryId": 815, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1029759, + "Position": { + "X": -342.33618, + "Y": 19.004045, + "Z": 77.04285 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2010009, + "Position": { + "X": -321.3092, + "Y": 20.004517, + "Z": 99.83972 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 2009918, + "Position": { + "X": -453.08612, + "Y": 11.703674, + "Z": 185.5039 + }, + "TerritoryId": 815, + "InteractionType": "UseItem", + "ItemId": 2002562, + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 32 + ] + }, + { + "DataId": 2009916, + "Position": { + "X": -610.4677, + "Y": -0.65618896, + "Z": 135.9425 + }, + "TerritoryId": 815, + "InteractionType": "UseItem", + "ItemId": 2002562, + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + }, + { + "DataId": 2009917, + "Position": { + "X": -426.65753, + "Y": 17.196838, + "Z": 5.142273 + }, + "TerritoryId": 815, + "InteractionType": "UseItem", + "ItemId": 2002562, + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2010277, + "Position": { + "X": -411.0628, + "Y": 16.891724, + "Z": 9.536865 + }, + "TerritoryId": 815, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [ + 10884 + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + }, + { + "DataId": 2010279, + "Position": { + "X": -492.8512, + "Y": 10.574402, + "Z": 9.4453125 + }, + "TerritoryId": 815, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [ + 10884 + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 32 + ] + }, + { + "DataId": 2010276, + "Position": { + "X": -580.89575, + "Y": 6.088318, + "Z": 119.79846 + }, + "TerritoryId": 815, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [ + 10884 + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + }, + { + "DataId": 2010275, + "Position": { + "X": -589.1356, + "Y": 1.7547607, + "Z": 179.18665 + }, + "TerritoryId": 815, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [ + 10884 + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 2 + ] + }, + { + "DataId": 2010274, + "Position": { + "X": -627.039, + "Y": 0.93078613, + "Z": 131.45642 + }, + "TerritoryId": 815, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [ + 10884 + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 4 + ] + }, + { + "DataId": 2010281, + "Position": { + "X": -503.0747, + "Y": 10.666016, + "Z": 191.85156 + }, + "TerritoryId": 815, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [ + 10884 + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 16 + ] + }, + { + "DataId": 2010283, + "Position": { + "X": -419.21112, + "Y": 11.9782715, + "Z": 181.41443 + }, + "TerritoryId": 815, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [ + 10884 + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 8 + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1029759, + "Position": { + "X": -342.33618, + "Y": 19.004045, + "Z": 77.04285 + }, + "TerritoryId": 815, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3618_Have a Heart.json b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3618_Have a Heart.json new file mode 100644 index 00000000..e7f978cf --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3618_Have a Heart.json @@ -0,0 +1,67 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1029759, + "Position": { + "X": -342.33618, + "Y": 19.004045, + "Z": 77.04285 + }, + "TerritoryId": 815, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1029754, + "Position": { + "X": -543.6942, + "Y": 49.964603, + "Z": -172.47278 + }, + "TerritoryId": 815, + "InteractionType": "Interact", + "AetheryteShortcut": "Amh Araeng - Twine" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1029761, + "Position": { + "X": -503.19678, + "Y": 45.72556, + "Z": -254.01697 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1029638, + "Position": { + "X": -484.48926, + "Y": 45.553265, + "Z": -212.29883 + }, + "TerritoryId": 815, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3619_Full Steam Ahead.json b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3619_Full Steam Ahead.json new file mode 100644 index 00000000..b578ea08 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3619_Full Steam Ahead.json @@ -0,0 +1,69 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "TerritoryBlacklist": [ + 860 + ], + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1029765, + "Position": { + "X": -455.40552, + "Y": 45.692944, + "Z": -240.52802 + }, + "TerritoryId": 815, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1029768, + "Position": { + "X": 7.9804688, + "Y": 45.619083, + "Z": -583.7339 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1029771, + "Position": { + "X": 5.8136597, + "Y": 45.61908, + "Z": -591.577 + }, + "TerritoryId": 815, + "InteractionType": "SinglePlayerDuty" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1029775, + "Position": { + "X": 20.675903, + "Y": -91.19236, + "Z": 509.78857 + }, + "TerritoryId": 815, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3620_Crossroads.json b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3620_Crossroads.json new file mode 100644 index 00000000..53d9ac8d --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3620_Crossroads.json @@ -0,0 +1,77 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1029775, + "Position": { + "X": 20.675903, + "Y": -91.19236, + "Z": 509.78857 + }, + "TerritoryId": 815, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2009921, + "Position": { + "X": 138.96387, + "Y": -77.836365, + "Z": 621.3627 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2010052, + "Position": { + "X": 158.804, + "Y": -61.09476, + "Z": 674.8915 + }, + "TerritoryId": 815, + "InteractionType": "AttuneAetherCurrent", + "AetherCurrentId": 2818261 + }, + { + "DataId": 1029777, + "Position": { + "X": 147.93616, + "Y": -75.016464, + "Z": 642.359 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1029778, + "Position": { + "X": -282.1546, + "Y": -62.57727, + "Z": 380.14795 + }, + "TerritoryId": 815, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3621_A Fresh Start.json b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3621_A Fresh Start.json new file mode 100644 index 00000000..f33c24e0 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3621_A Fresh Start.json @@ -0,0 +1,65 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "TerritoryBlacklist": [ + 836 + ], + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1029783, + "Position": { + "X": -281.36108, + "Y": -62.86976, + "Z": 382.62 + }, + "TerritoryId": 815, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2009922, + "Position": { + "X": -507.59137, + "Y": -95.99457, + "Z": 490.07385 + }, + "TerritoryId": 815, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "TerritoryId": 815, + "InteractionType": "Duty", + "ContentFinderConditionId": 656 + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1029784, + "Position": { + "X": -429.92297, + "Y": -86.054756, + "Z": 464.59143 + }, + "StopDistance": 5, + "TerritoryId": 815, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3622_More than a Hunch.json b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3622_More than a Hunch.json new file mode 100644 index 00000000..0b92b58a --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/D-Amh Araeng 2/3622_More than a Hunch.json @@ -0,0 +1,62 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1029786, + "Position": { + "X": -431.08264, + "Y": -86.381516, + "Z": 462.33313 + }, + "StopDistance": 5, + "TerritoryId": 815, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1029558, + "Position": { + "X": 28.732666, + "Y": 0, + "Z": 1.87677 + }, + "TerritoryId": 819, + "InteractionType": "Interact", + "AetheryteShortcut": "Crystarium", + "AethernetShortcut": [ + "[Crystarium] Aetheryte Plaza", + "[Crystarium] The Dossal Gate" + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030610, + "Position": { + "X": 65.11023, + "Y": 1.7160122, + "Z": 249.7749 + }, + "StopDistance": 7, + "TerritoryId": 819, + "InteractionType": "CompleteQuest", + "AethernetShortcut": [ + "[Crystarium] The Dossal Gate", + "[Crystarium] The Pendants" + ] + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3630_Return to Eulmore.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3630_Return to Eulmore.json new file mode 100644 index 00000000..6a00c8a3 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3630_Return to Eulmore.json @@ -0,0 +1,137 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1027231, + "Position": { + "X": 65.35437, + "Y": 1.7160122, + "Z": 249.83594 + }, + "StopDistance": 7, + "TerritoryId": 819, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1027230, + "Position": { + "X": 117.997925, + "Y": 14.649025, + "Z": 7.156433 + }, + "TerritoryId": 819, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Crystarium] The Pendants", + "[Crystarium] The Dossal Gate" + ], + "TargetTerritoryId": 844 + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030165, + "Position": { + "X": -249.28668, + "Y": 18.603912, + "Z": 399.31323 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "AetheryteShortcut": "Kholusia - Wright" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030170, + "Position": { + "X": -87.32745, + "Y": 11.115211, + "Z": 312.09277 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 32 + ] + }, + { + "DataId": 1030167, + "Position": { + "X": -37.644104, + "Y": 7.0351543, + "Z": 372.42688 + }, + "TerritoryId": 814, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [ + 10860, + 10861 + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + }, + { + "DataId": 1030169, + "Position": { + "X": 144.57922, + "Y": 13.26848, + "Z": 356.83215 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030171, + "Position": { + "X": 164.4159, + "Y": 39.902184, + "Z": 564.9957 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3631_A Feast of Lies.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3631_A Feast of Lies.json new file mode 100644 index 00000000..4967fd04 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3631_A Feast of Lies.json @@ -0,0 +1,55 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "TerritoryBlacklist": [863], + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030172, + "Position": { + "X": 165.85034, + "Y": 40.02784, + "Z": 566.21655 + }, + "StopDistance": 7, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030179, + "Position": { + "X": 167.65088, + "Y": 40.011803, + "Z": 563.1647 + }, + "StopDistance": 7, + "TerritoryId": 814, + "InteractionType": "SinglePlayerDuty" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030184, + "Position": { + "X": 4.257263, + "Y": 82.8, + "Z": 44.663086 + }, + "StopDistance": 7, + "TerritoryId": 820, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3632_Paradise Fallen.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3632_Paradise Fallen.json new file mode 100644 index 00000000..f8f5d851 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3632_Paradise Fallen.json @@ -0,0 +1,160 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030184, + "Position": { + "X": 4.257263, + "Y": 82.8, + "Z": 44.663086 + }, + "StopDistance": 7, + "TerritoryId": 820, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "TerritoryId": 820, + "InteractionType": "AttuneAetheryte", + "Aetheryte": "Eulmore" + }, + { + "DataId": 1030190, + "Position": { + "X": -71.39697, + "Y": -0.8649193, + "Z": 66.11731 + }, + "TerritoryId": 820, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Eulmore] Aetheryte Plaza", + "[Eulmore] Nightsoil Pots" + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030190, + "Position": { + "X": -71.39697, + "Y": -0.8649193, + "Z": 66.11731 + }, + "TerritoryId": 820, + "InteractionType": "UseItem", + "ItemId": 2002609 + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "TerritoryId": 820, + "InteractionType": "AttuneAethernetShard", + "AethernetShard": "[Eulmore] Southeast Derelicts", + "Comment": "TODO This step isn't very a good place to have this attunement; the next step should use Nightsoil Pots" + }, + { + "DataId": 1030191, + "Position": { + "X": -6.729248, + "Y": 44.999493, + "Z": -22.537598 + }, + "TerritoryId": 820, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Eulmore] Southeast Derelicts", + "[Eulmore] The Mainstay" + ] + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1030191, + "Position": { + "X": -6.729248, + "Y": 44.999493, + "Z": -22.537598 + }, + "TerritoryId": 820, + "InteractionType": "UseItem", + "ItemId": 2002609 + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1030193, + "Position": { + "X": 20.950623, + "Y": 82.835106, + "Z": -49.607117 + }, + "TerritoryId": 820, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Eulmore] The Mainstay", + "[Eulmore] Aetheryte Plaza" + ] + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1030193, + "Position": { + "X": 20.950623, + "Y": 82.835106, + "Z": -49.607117 + }, + "TerritoryId": 820, + "InteractionType": "UseItem", + "ItemId": 2002609 + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030194, + "Position": { + "X": 27.359375, + "Y": 82.903946, + "Z": 22.384888 + }, + "TerritoryId": 820, + "InteractionType": "CompleteQuest", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKME103_03632_Q1_000_000", + "Answer": "TEXT_LUCKME103_03632_A1_000_001" + } + ] + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3633_The Ladder.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3633_The Ladder.json new file mode 100644 index 00000000..a7c9fd25 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3633_The Ladder.json @@ -0,0 +1,189 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030196, + "Position": { + "X": 21.377869, + "Y": 82.782265, + "Z": 25.009521 + }, + "StopDistance": 7, + "TerritoryId": 820, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030197, + "Position": { + "X": -456.68726, + "Y": 65.77815, + "Z": 79.9115 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "AetheryteShortcut": "Kholusia - Wright" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1027288, + "Position": { + "X": -457.3587, + "Y": 8.987028, + "Z": 537.04126 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "Position": { + "X": -450.89993, + "Y": 8.987026, + "Z": 545.4605 + }, + "TerritoryId": 814, + "InteractionType": "WalkTo", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + -64 + ] + }, + { + "DataId": 2010088, + "Position": { + "X": -448.2033, + "Y": 8.316162, + "Z": 546.25757 + }, + "StopDistance": 4, + "TerritoryId": 814, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + }, + { + "DataId": 1027441, + "Position": { + "X": -465.32385, + "Y": 8.987028, + "Z": 555.4131 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + }, + { + "Position": { + "X": -458.26974, + "Y": 18.818102, + "Z": 479.86996 + }, + "TerritoryId": 814, + "InteractionType": "WalkTo", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + -32 + ] + }, + { + "DataId": 2010089, + "Position": { + "X": -458.2437, + "Y": 20.004517, + "Z": 481.58997 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 32 + ] + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1027288, + "Position": { + "X": -457.3587, + "Y": 8.987028, + "Z": 537.04126 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKME104_03633_Q1_000_000", + "Answer": "TEXT_LUCKME104_03633_A1_000_006" + }, + { + "Type": "List", + "Prompt": "TEXT_LUCKME104_03633_Q2_000_000", + "Answer": "TEXT_LUCKME104_03633_A2_000_002" + } + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030197, + "Position": { + "X": -456.68726, + "Y": 65.77815, + "Z": 79.9115 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3634_The View from Above.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3634_The View from Above.json new file mode 100644 index 00000000..2c9e1fff --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3634_The View from Above.json @@ -0,0 +1,156 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030197, + "Position": { + "X": -456.68726, + "Y": 65.77815, + "Z": 79.9115 + }, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2010124, + "Position": { + "X": -482.0783, + "Y": 65.7511, + "Z": 93.12573 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030207, + "Position": { + "X": -448.661, + "Y": 334.0526, + "Z": -36.91156 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030208, + "Position": { + "X": -418.38715, + "Y": 354.3414, + "Z": 25.284058 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2010090, + "Position": { + "X": -416.28143, + "Y": 354.3297, + "Z": 22.47644 + }, + "TerritoryId": 814, + "InteractionType": "WaitForManualProgress", + "Comment": "Click on the guy left of the the rock" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 2010091, + "Position": { + "X": -120.0733, + "Y": 353.4751, + "Z": -206.71399 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + }, + { + "DataId": 2010093, + "Position": { + "X": -132.52466, + "Y": 355.24524, + "Z": -176.25696 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 32 + ] + }, + { + "DataId": 2010092, + "Position": { + "X": -151.41534, + "Y": 353.53625, + "Z": -188.89148 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030211, + "Position": { + "X": -137.3465, + "Y": 352.35822, + "Z": -188.03699 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3635_In Mt Gulg's Shadow.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3635_In Mt Gulg's Shadow.json new file mode 100644 index 00000000..33c29bbf --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3635_In Mt Gulg's Shadow.json @@ -0,0 +1,110 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030213, + "Position": { + "X": -124.62048, + "Y": 352.35822, + "Z": -192.27899 + }, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030214, + "Position": { + "X": -119.73761, + "Y": 362.56046, + "Z": -346.15094 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2010094, + "Position": { + "X": -279.07227, + "Y": 378.6831, + "Z": -404.37933 + }, + "TerritoryId": 814, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [ + 10862 + ] + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 2010095, + "Position": { + "X": -168.9021, + "Y": 396.8108, + "Z": -468.31464 + }, + "TerritoryId": 814, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [ + 10862, + 10864 + ] + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1030215, + "Position": { + "X": -160.54016, + "Y": 455.2343, + "Z": -740.261 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "TerritoryId": 814, + "InteractionType": "AttuneAetheryte", + "Aetheryte": "Kholusia - Tomra" + }, + { + "DataId": 1030216, + "Position": { + "X": -445.48718, + "Y": 334.0526, + "Z": -55.40558 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3636_A Gigantic Undertaking.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3636_A Gigantic Undertaking.json new file mode 100644 index 00000000..5d4f8767 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3636_A Gigantic Undertaking.json @@ -0,0 +1,89 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030216, + "Position": { + "X": -445.48718, + "Y": 334.0526, + "Z": -55.40558 + }, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030224, + "Position": { + "X": -437.46094, + "Y": 334.0526, + "Z": -45.059937 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030223, + "Position": { + "X": -436.5454, + "Y": 334.0526, + "Z": -46.707886 + }, + "StopDistance": 5, + "TerritoryId": 814, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKME107_03636_Q1_000_000", + "Answer": "TEXT_LUCKME107_03636_A1_000_002" + }, + { + "Type": "List", + "Prompt": "TEXT_LUCKME107_03636_Q2_000_000", + "Answer": "TEXT_LUCKME107_03636_A2_000_003" + }, + { + "Type": "List", + "Prompt": "TEXT_LUCKME107_03636_Q3_000_000", + "Answer": "TEXT_LUCKME107_03636_A3_000_002" + }, + { + "Type": "List", + "Prompt": "TEXT_LUCKME107_03636_Q4_000_000", + "Answer": "TEXT_LUCKME107_03636_A4_000_002" + } + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1027462, + "Position": { + "X": -121.87384, + "Y": 352.35822, + "Z": -191.08875 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3637_Meet the Tholls.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3637_Meet the Tholls.json new file mode 100644 index 00000000..ee2b89dc --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3637_Meet the Tholls.json @@ -0,0 +1,99 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1027462, + "Position": { + "X": -121.87384, + "Y": 352.35822, + "Z": -191.08875 + }, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030229, + "Position": { + "X": -425.80304, + "Y": 416.76733, + "Z": -586.2974 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "AetheryteShortcut": "Kholusia - Tomra" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1027296, + "Position": { + "X": -469.77954, + "Y": 417.22958, + "Z": -649.2561 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030231, + "Position": { + "X": -443.7171, + "Y": 417.16812, + "Z": -616.47974 + }, + "TerritoryId": 814, + "InteractionType": "WaitForManualProgress", + "Comment": "Click red hat dwarf (always shows up in the same location)" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1030231, + "Position": { + "X": -443.7171, + "Y": 417.16812, + "Z": -616.47974 + }, + "TerritoryId": 814, + "InteractionType": "WaitForManualProgress", + "Comment": "Click red hat dwarf" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1027296, + "Position": { + "X": -469.77954, + "Y": 417.22958, + "Z": -649.2561 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3638_A-Digging We Will Go.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3638_A-Digging We Will Go.json new file mode 100644 index 00000000..7c1c10ff --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3638_A-Digging We Will Go.json @@ -0,0 +1,51 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1027296, + "Position": { + "X": -469.77954, + "Y": 417.22958, + "Z": -649.2561 + }, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030239, + "Position": { + "X": -467.76532, + "Y": 417.22897, + "Z": -648.85944 + }, + "TerritoryId": 814, + "InteractionType": "SinglePlayerDuty" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030233, + "Position": { + "X": 349.2942, + "Y": 315.2037, + "Z": -373.25098 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3639_The Duergar's Tewel.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3639_The Duergar's Tewel.json new file mode 100644 index 00000000..eb857edd --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3639_The Duergar's Tewel.json @@ -0,0 +1,139 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030233, + "Position": { + "X": 349.2942, + "Y": 315.2037, + "Z": -373.25098 + }, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030375, + "Position": { + "X": 611.9325, + "Y": 278.146, + "Z": -512.4437 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030375, + "Position": { + "X": 611.9325, + "Y": 278.146, + "Z": -512.4437 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 2010041, + "Position": { + "X": 623.7429, + "Y": 285.93872, + "Z": -555.26056 + }, + "TerritoryId": 814, + "InteractionType": "AttuneAetherCurrent", + "AetherCurrentId": 2818245 + }, + { + "DataId": 1030235, + "Position": { + "X": 705.0431, + "Y": 270.07697, + "Z": -492.9122 + }, + "TerritoryId": 814, + "InteractionType": "UseItem", + "ItemId": 2002610, + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + }, + { + "DataId": 1030236, + "Position": { + "X": 744.53345, + "Y": 269.99976, + "Z": -515.49554 + }, + "TerritoryId": 814, + "InteractionType": "UseItem", + "ItemId": 2002610, + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + }, + { + "DataId": 1030237, + "Position": { + "X": 747.12744, + "Y": 270, + "Z": -477.4395 + }, + "TerritoryId": 814, + "InteractionType": "UseItem", + "ItemId": 2002610, + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 32 + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030375, + "Position": { + "X": 611.9325, + "Y": 278.146, + "Z": -512.4437 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3640_Rich Veins of Hope.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3640_Rich Veins of Hope.json new file mode 100644 index 00000000..fcb82d63 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3640_Rich Veins of Hope.json @@ -0,0 +1,126 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030375, + "Position": { + "X": 611.9325, + "Y": 278.146, + "Z": -512.4437 + }, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1027296, + "Position": { + "X": -469.77954, + "Y": 417.22958, + "Z": -649.2561 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "AetheryteShortcut": "Kholusia - Tomra" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030292, + "Position": { + "X": -463.73694, + "Y": 334.0526, + "Z": -81.04071 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030243, + "Position": { + "X": -473.4417, + "Y": 334.0526, + "Z": -71.15283 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + }, + { + "DataId": 1030240, + "Position": { + "X": -464.49988, + "Y": 334.0526, + "Z": -65.53754 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + }, + { + "DataId": 1030244, + "Position": { + "X": -453.23877, + "Y": 334.0526, + "Z": -76.27985 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 32 + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030292, + "Position": { + "X": -463.73694, + "Y": 334.0526, + "Z": -81.04071 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3641_That None Shall Ever Again.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3641_That None Shall Ever Again.json new file mode 100644 index 00000000..2522a345 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3641_That None Shall Ever Again.json @@ -0,0 +1,83 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030238, + "Position": { + "X": -466.08685, + "Y": 334.0526, + "Z": -81.13226 + }, + "StopDistance": 7, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030250, + "Position": { + "X": -137.59064, + "Y": 352.35822, + "Z": -190.90564 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030250, + "Position": { + "X": -137.59064, + "Y": 352.35822, + "Z": -190.90564 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 2010098, + "Position": { + "X": -137.59064, + "Y": 353.53625, + "Z": -192.52313 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030253, + "Position": { + "X": -141.22229, + "Y": 352.35822, + "Z": -188.95251 + }, + "StopDistance": 7, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3642_A Breath of Respite.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3642_A Breath of Respite.json new file mode 100644 index 00000000..8d687cb0 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3642_A Breath of Respite.json @@ -0,0 +1,124 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030253, + "Position": { + "X": -141.22229, + "Y": 352.35822, + "Z": -188.95251 + }, + "StopDistance": 7, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030254, + "Position": { + "X": -132.82983, + "Y": 354.35815, + "Z": -177.20306 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "Position": { + "X": -122.537926, + "Y": 352.3582, + "Z": -173.26604 + }, + "StopDistance": 0.5, + "TerritoryId": 814, + "InteractionType": "Jump", + "Mount": true, + "JumpDestination": { + "Position": { + "X": -119.30471, + "Y": 349.90027, + "Z": -158.2842 + } + } + }, + { + "DataId": 2010042, + "Position": { + "X": -62.912964, + "Y": 345.11328, + "Z": -16.556091 + }, + "TerritoryId": 814, + "InteractionType": "AttuneAetherCurrent", + "AetherCurrentId": 2818246 + }, + { + "Position": { + "X": -41.071743, + "Y": 324.03458, + "Z": 14.810446 + }, + "TerritoryId": 814, + "InteractionType": "WalkTo", + "DisableNavmesh": true, + "Mount": true + }, + { + "DataId": 1030293, + "Position": { + "X": -5.1728516, + "Y": 324.3521, + "Z": 190.50879 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -92.20083, + "Y": 351.37643, + "Z": -192.06285 + }, + "StopDistance": 0.25, + "TerritoryId": 814, + "InteractionType": "Jump", + "JumpDestination": { + "Position": { + "X": -106.80138, + "Y": 352.33783, + "Z": -196.68427 + } + } + }, + { + "DataId": 1030294, + "Position": { + "X": -142.13782, + "Y": 352.3582, + "Z": -189.47137 + }, + "TerritoryId": 814, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3643_Extinguishing the Last Light.json b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3643_Extinguishing the Last Light.json new file mode 100644 index 00000000..5c025ad6 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/E-Kholusia 2/3643_Extinguishing the Last Light.json @@ -0,0 +1,113 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "TerritoryBlacklist": [ + 822, + 846 + ], + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030295, + "Position": { + "X": -140.00159, + "Y": 352.35822, + "Z": -187.91486 + }, + "StopDistance": 5, + "TerritoryId": 814, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030294, + "Position": { + "X": -142.13782, + "Y": 352.3582, + "Z": -189.47137 + }, + "TerritoryId": 814, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKME114_03643_Q1_000_000", + "Answer": "TEXT_LUCKME114_03643_A1_000_001" + } + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030302, + "Position": { + "X": -173.44934, + "Y": 460.47067, + "Z": -797.3602 + }, + "TerritoryId": 814, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "TerritoryId": 814, + "InteractionType": "Duty", + "ContentFinderConditionId": 659 + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "Position": { + "X": 0, + "Y": 0, + "Z": 0 + }, + "TerritoryId": 1, + "InteractionType": "WalkTo", + "Comment": "Filler" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "TerritoryId": 880, + "InteractionType": "Duty", + "ContentFinderConditionId": 666 + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030303, + "Position": { + "X": 109.23926, + "Y": 0.0140714925, + "Z": 108.72046 + }, + "TerritoryId": 880, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3644_Reassuring the Masses.json b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3644_Reassuring the Masses.json new file mode 100644 index 00000000..7aadc344 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3644_Reassuring the Masses.json @@ -0,0 +1,95 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1027231, + "Position": { + "X": 65.35437, + "Y": 1.7160122, + "Z": 249.83594 + }, + "StopDistance": 7, + "TerritoryId": 819, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1027224, + "Position": { + "X": -57.358704, + "Y": -7.4820004, + "Z": 118.08948 + }, + "TerritoryId": 819, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Crystarium] The Pendants", + "[Crystarium] Musica Universalis Markets" + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1027248, + "Position": { + "X": -30.807983, + "Y": -0.64999914, + "Z": -51.438232 + }, + "TerritoryId": 819, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1027226, + "Position": { + "X": -61.84485, + "Y": -17.72202, + "Z": -266.2547 + }, + "TerritoryId": 819, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Crystarium] The Dossal Gate", + "[Crystarium] The Cabinet of Curiosity" + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1027232, + "Position": { + "X": -9.323303, + "Y": 20.1973, + "Z": -136.52252 + }, + "TerritoryId": 819, + "InteractionType": "CompleteQuest", + "AetheryteShortcut": "Crystarium", + "AethernetShortcut": [ + "[Crystarium] Aetheryte Plaza", + "[Crystarium] The Crystalline Mean" + ] + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3645_In His Garden.json b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3645_In His Garden.json new file mode 100644 index 00000000..8972210d --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3645_In His Garden.json @@ -0,0 +1,160 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1027232, + "Position": { + "X": -9.323303, + "Y": 20.1973, + "Z": -136.52252 + }, + "TerritoryId": 819, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2010136, + "Position": { + "X": -223.46838, + "Y": 38.590088, + "Z": -86.86963 + }, + "TerritoryId": 819, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Crystarium] The Crystalline Mean", + "[Crystarium] Temenos Rookery" + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "Position": { + "X": -171.1477, + "Y": 0, + "Z": -78.01033 + }, + "TerritoryId": 819, + "InteractionType": "WalkTo", + "DisableNavmesh": true, + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + -128 + ] + }, + { + "DataId": 1027246, + "Position": { + "X": -136.98022, + "Y": 0, + "Z": -73.777466 + }, + "TerritoryId": 819, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + }, + { + "DataId": 1027226, + "Position": { + "X": -61.84485, + "Y": -17.72202, + "Z": -266.2547 + }, + "TerritoryId": 819, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Crystarium] Temenos Rookery", + "[Crystarium] The Cabinet of Curiosity" + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 32 + ] + }, + { + "DataId": 1027854, + "Position": { + "X": 40.57373, + "Y": 36.197685, + "Z": -160.23505 + }, + "TerritoryId": 819, + "InteractionType": "Interact", + "AetheryteShortcut": "Crystarium", + "AethernetShortcut": [ + "[Crystarium] Aetheryte Plaza", + "[Crystarium] The Amaro Launch" + ], + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": 608.7031, + "Y": 12.602462, + "Z": 311.77286 + }, + "TerritoryId": 813, + "InteractionType": "WalkTo", + "AethernetShortcut": [ + "[Crystarium] The Amaro Launch", + "[Crystarium] Tessellation (Lakeland)" + ], + "Fly": true, + "SkipConditions": { + "StepIf": { + "Flying": "Locked" + } + } + }, + { + "DataId": 1030369, + "Position": { + "X": 614.4961, + "Y": 13.3097515, + "Z": 305.80603 + }, + "TerritoryId": 813, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3646_The Unbroken Thread.json b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3646_The Unbroken Thread.json new file mode 100644 index 00000000..1870f315 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3646_The Unbroken Thread.json @@ -0,0 +1,120 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030369, + "Position": { + "X": 614.4961, + "Y": 13.3097515, + "Z": 305.80603 + }, + "TerritoryId": 813, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030533, + "Position": { + "X": 117.997925, + "Y": 14.649025, + "Z": 7.156433 + }, + "TerritoryId": 819, + "InteractionType": "Interact", + "AetheryteShortcut": "Crystarium", + "AethernetShortcut": [ + "[Crystarium] Aetheryte Plaza", + "[Crystarium] The Dossal Gate" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + }, + "DialogueChoices": [ + { + "Type": "YesNo", + "Prompt": "TEXT_LUCKMF103_03646_Q0_000_006", + "Yes": true + } + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030370, + "Position": { + "X": 66.84973, + "Y": -2.9802322E-07, + "Z": 13.321045 + }, + "TerritoryId": 819, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKMF103_03646_Q1_000_000", + "Answer": "TEXT_LUCKMF103_03646_A1_000_002" + } + ] + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "Position": { + "X": 59.71554, + "Y": 36.19769, + "Z": -167.87686 + }, + "TerritoryId": 819, + "InteractionType": "WalkTo", + "AethernetShortcut": [ + "[Crystarium] The Dossal Gate", + "[Crystarium] The Amaro Launch" + ] + }, + { + "DataId": 1027225, + "Position": { + "X": 61.905884, + "Y": 36.247692, + "Z": -169.17682 + }, + "StopDistance": 7, + "TerritoryId": 819, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030327, + "Position": { + "X": 58.426758, + "Y": 36.19769, + "Z": -162.4018 + }, + "StopDistance": 7, + "TerritoryId": 819, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3647_To Storm-tossed Seas.json b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3647_To Storm-tossed Seas.json new file mode 100644 index 00000000..86cc8daa --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3647_To Storm-tossed Seas.json @@ -0,0 +1,219 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030327, + "Position": { + "X": 58.426758, + "Y": 36.19769, + "Z": -162.4018 + }, + "StopDistance": 7, + "TerritoryId": 819, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "Position": { + "X": 55.589294, + "Y": 2.0276523, + "Z": 669.1557 + }, + "TerritoryId": 813, + "InteractionType": "WalkTo", + "AethernetShortcut": [ + "[Crystarium] The Amaro Launch", + "[Crystarium] Tessellation (Lakeland)" + ], + "SkipConditions": { + "StepIf": { + "Flying": "Unlocked" + } + }, + "Comment": "these bridges have navmesh problems" + }, + { + "Position": { + "X": 15.410904, + "Y": 2.2598603, + "Z": 677.3755 + }, + "TerritoryId": 813, + "InteractionType": "WalkTo", + "DisableNavmesh": true, + "SkipConditions": { + "StepIf": { + "Flying": "Unlocked" + } + } + }, + { + "Position": { + "X": -82.79376, + "Y": 11.970126, + "Z": 765.8721 + }, + "TerritoryId": 813, + "InteractionType": "WalkTo", + "SkipConditions": { + "StepIf": { + "Flying": "Unlocked" + } + } + }, + { + "DataId": 1030346, + "Position": { + "X": -145.09808, + "Y": 9.572956, + "Z": 704.6769 + }, + "StopDistance": 1, + "TerritoryId": 813, + "InteractionType": "Interact", + "Fly": true + } + ] + }, + { + "Sequence": 2, + "Comment": "TODO Verify when flying unlocked", + "Steps": [ + { + "Position": { + "X": -164.90442, + "Y": -1.9743931, + "Z": 688.2283 + }, + "StopDistance": 0.5, + "TerritoryId": 813, + "InteractionType": "Dive", + "DisableNavmesh": true + }, + { + "Position": { + "X": -578.07544, + "Y": -28.413673, + "Z": 749.037 + }, + "TerritoryId": 813, + "InteractionType": "WalkTo" + }, + { + "DataId": 2010138, + "Position": { + "X": -606.46985, + "Y": -28.183472, + "Z": 768.6731 + }, + "TerritoryId": 813, + "InteractionType": "Interact", + "DisableNavmesh": true, + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + }, + { + "DataId": 2010137, + "Position": { + "X": -687.83093, + "Y": -40.299072, + "Z": 729.36584 + }, + "TerritoryId": 813, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + } + ] + }, + { + "Sequence": 3, + "Comment": "TODO Verify when flying unlocked", + "Steps": [ + { + "Position": { + "X": -667.5838, + "Y": -1.974393, + "Z": 698.4002 + }, + "TerritoryId": 813, + "InteractionType": "WalkTo", + "DisableNavmesh": true + }, + { + "Position": { + "X": -573.45654, + "Y": 0.39776123, + "Z": 810.7269 + }, + "TerritoryId": 813, + "InteractionType": "WalkTo" + }, + { + "Position": { + "X": -619.98676, + "Y": 24.866888, + "Z": 794.4714 + }, + "TerritoryId": 813, + "InteractionType": "WalkTo", + "Mount": true + }, + { + "DataId": 1030333, + "Position": { + "X": -612.23773, + "Y": 27.728632, + "Z": 817.65466 + }, + "TerritoryId": 813, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKMF104_03647_Q1_000_000", + "Answer": "TEXT_LUCKMF104_03647_A1_000_002" + } + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030339, + "Position": { + "X": 282.4292, + "Y": 414.78137, + "Z": -857.02295 + }, + "StopDistance": 5, + "TerritoryId": 818, + "InteractionType": "CompleteQuest", + "DisableNavmesh": true + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3648_Waiting in the Depths.json b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3648_Waiting in the Depths.json new file mode 100644 index 00000000..bac3fb6c --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3648_Waiting in the Depths.json @@ -0,0 +1,120 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030336, + "Position": { + "X": 278.7976, + "Y": 414.807, + "Z": -851.2856 + }, + "TerritoryId": 818, + "InteractionType": "AcceptQuest", + "DisableNavmesh": true + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2010074, + "Position": { + "X": 358.20544, + "Y": 396.536, + "Z": -715.90753 + }, + "TerritoryId": 818, + "InteractionType": "AttuneAetherCurrent", + "AetherCurrentId": 2818298 + }, + { + "DataId": 1030514, + "Position": { + "X": 479.5758, + "Y": 368.87827, + "Z": -340.99335 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "TerritoryId": 818, + "InteractionType": "AttuneAetheryte", + "Aetheryte": "Tempest - Ondo Cups" + }, + { + "DataId": 1030515, + "Position": { + "X": 605.3711, + "Y": 350.3518, + "Z": -196.91772 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030516, + "Position": { + "X": 569.4209, + "Y": 350.03647, + "Z": -227.95453 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "Position": { + "X": 796.1852, + "Y": 449.08664, + "Z": -710.04565 + }, + "TerritoryId": 818, + "InteractionType": "Combat", + "EnemySpawnType": "OverworldEnemies", + "ComplexCombatData": [ + { + "DataId": 10316, + "MinimumKillCount": 3 + } + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1027758, + "Position": { + "X": 568.1085, + "Y": 350.2004, + "Z": -230.36548 + }, + "TerritoryId": 818, + "InteractionType": "CompleteQuest", + "AetheryteShortcut": "Tempest - Ondo Cups" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3649_City of the Ancients.json b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3649_City of the Ancients.json new file mode 100644 index 00000000..97c8984c --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3649_City of the Ancients.json @@ -0,0 +1,128 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030517, + "Position": { + "X": 578.7594, + "Y": 349.86563, + "Z": -231.00635 + }, + "TerritoryId": 818, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030518, + "Position": { + "X": 400.38135, + "Y": 363.65552, + "Z": -439.6582 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2010141, + "Position": { + "X": 405.38635, + "Y": 361.22668, + "Z": -414.38928 + }, + "TerritoryId": 818, + "InteractionType": "WaitForManualProgress", + "Comment": "Click top left (broken) window", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + }, + { + "DataId": 2010142, + "Position": { + "X": 326.8329, + "Y": 355.79456, + "Z": -477.53113 + }, + "TerritoryId": 818, + "InteractionType": "UseItem", + "ItemId": 2002673 + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030518, + "Position": { + "X": 400.38135, + "Y": 363.65552, + "Z": -439.6582 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2010076, + "Position": { + "X": 50.18689, + "Y": 380.0868, + "Z": -512.0775 + }, + "TerritoryId": 818, + "InteractionType": "AttuneAetherCurrent", + "AetherCurrentId": 2818300 + }, + { + "DataId": 2010143, + "Position": { + "X": 25.711426, + "Y": 381.6128, + "Z": -522.3316 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030225, + "Position": { + "X": 28.824219, + "Y": 381.81906, + "Z": -524.4374 + }, + "StopDistance": 5, + "TerritoryId": 818, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3650_The Light of Inspiration.json b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3650_The Light of Inspiration.json new file mode 100644 index 00000000..6df93c70 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3650_The Light of Inspiration.json @@ -0,0 +1,98 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030225, + "Position": { + "X": 28.824219, + "Y": 381.81906, + "Z": -524.4374 + }, + "StopDistance": 5, + "TerritoryId": 818, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1027758, + "Position": { + "X": 568.1085, + "Y": 350.2004, + "Z": -230.36548 + }, + "TerritoryId": 818, + "InteractionType": "Interact", + "AetheryteShortcut": "Tempest - Ondo Cups", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_LUCKMF107_03650_Q1_000_000", + "Answer": "TEXT_LUCKMF107_03650_A1_000_002" + } + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030519, + "Position": { + "X": 638.97156, + "Y": 402.23993, + "Z": 212.78699 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030519, + "Position": { + "X": 638.97156, + "Y": 402.23993, + "Z": 212.78699 + }, + "TerritoryId": 818, + "InteractionType": "Emote", + "Emote": "psych" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030586, + "Position": { + "X": 638.97156, + "Y": 402.23993, + "Z": 212.78699 + }, + "TerritoryId": 818, + "InteractionType": "CompleteQuest", + "DialogueChoices": [ + { + "Type": "YesNo", + "Prompt": "TEXT_LUCKMF107_03650_A3_000_000", + "Yes": true + } + ] + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3651_The Illuminated Land.json b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3651_The Illuminated Land.json new file mode 100644 index 00000000..f95dd6e9 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3651_The Illuminated Land.json @@ -0,0 +1,207 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030586, + "Position": { + "X": 638.97156, + "Y": 402.23993, + "Z": 212.78699 + }, + "TerritoryId": 818, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1027757, + "Position": { + "X": 609.7047, + "Y": 350.3518, + "Z": -197.95532 + }, + "TerritoryId": 818, + "InteractionType": "Interact", + "AetheryteShortcut": "Tempest - Ondo Cups" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1031279, + "Position": { + "X": 514.6715, + "Y": 356.58453, + "Z": -268.51306 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "Position": { + "X": 486.2212, + "Y": 316.451, + "Z": -300.7331 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo" + }, + { + "Position": { + "X": 474.52316, + "Y": 313.60648, + "Z": -294.83905 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo", + "DisableNavmesh": true + }, + { + "DataId": 1030570, + "Position": { + "X": 400.59497, + "Y": 303.51035, + "Z": -245.10571 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2010079, + "Position": { + "X": 339.1012, + "Y": 298.6953, + "Z": -280.01837 + }, + "TerritoryId": 818, + "InteractionType": "AttuneAetherCurrent", + "AetherCurrentId": 2818303 + }, + { + "Position": { + "X": 318.75064, + "Y": 235.3896, + "Z": -277.77203 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo", + "DisableNavmesh": true, + "Mount": false + }, + { + "DataId": 1030532, + "Position": { + "X": 302.02173, + "Y": 238.75215, + "Z": -346.15094 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1030527, + "Position": { + "X": 87.937744, + "Y": 199.56166, + "Z": -143.0534 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1030528, + "Position": { + "X": -182.66577, + "Y": 139.76859, + "Z": -220.93542 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 7, + "Steps": [ + { + "DataId": 1030534, + "Position": { + "X": -501.915, + "Y": 127.18983, + "Z": -257.435 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 8, + "Steps": [ + { + "Position": { + "X": -634.109, + "Y": 98.06235, + "Z": -336.91452 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo" + }, + { + "Position": { + "X": -789.7743, + "Y": 73.83459, + "Z": -217.70619 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030344, + "Position": { + "X": -792.9656, + "Y": 73.244484, + "Z": -211.62744 + }, + "StopDistance": 7, + "TerritoryId": 818, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3652_The End of a World.json b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3652_The End of a World.json new file mode 100644 index 00000000..3a1cb87b --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3652_The End of a World.json @@ -0,0 +1,136 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030341, + "Position": { + "X": -794.91876, + "Y": 72.44565, + "Z": -203.05182 + }, + "TerritoryId": 818, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2010083, + "Position": { + "X": -774.25806, + "Y": 63.1875, + "Z": -97.73407 + }, + "TerritoryId": 818, + "InteractionType": "AttuneAetherCurrent", + "AetherCurrentId": 2818307 + }, + { + "DataId": 2010144, + "Position": { + "X": -610.5898, + "Y": 46.341675, + "Z": 94.01074 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030546, + "Position": { + "X": -592.9503, + "Y": -288.06882, + "Z": 151.20166 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030551, + "Position": { + "X": -703.60876, + "Y": -245.36801, + "Z": 509.14783 + }, + "TerritoryId": 818, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + }, + { + "DataId": 1030552, + "Position": { + "X": -494.16345, + "Y": -250.89603, + "Z": 365.7129 + }, + "TerritoryId": 818, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + }, + { + "DataId": 1030553, + "Position": { + "X": -364.27863, + "Y": -260.1766, + "Z": 291.0963 + }, + "TerritoryId": 818, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 32 + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1030554, + "Position": { + "X": -633.99713, + "Y": -288.06885, + "Z": 251.60596 + }, + "TerritoryId": 818, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3653_A Greater Purpose.json b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3653_A Greater Purpose.json new file mode 100644 index 00000000..42fd0d82 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3653_A Greater Purpose.json @@ -0,0 +1,180 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030554, + "Position": { + "X": -633.99713, + "Y": -288.06885, + "Z": 251.60596 + }, + "TerritoryId": 818, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "TerritoryId": 818, + "InteractionType": "AttuneAetheryte", + "Aetheryte": "Tempest - Macarenses Angle" + }, + { + "Position": { + "X": -0.41547322, + "Y": -276.906, + "Z": 269.2778 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo" + }, + { + "DataId": 1027772, + "Position": { + "X": 5.3864136, + "Y": -276.906, + "Z": 271.59534 + }, + "StopDistance": 7, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2010147, + "Position": { + "X": 1.5106201, + "Y": -276.93604, + "Z": 261.64636 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "Position": { + "X": -0.41547322, + "Y": -276.906, + "Z": 269.2778 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo" + }, + { + "DataId": 1027772, + "Position": { + "X": 5.3864136, + "Y": -276.906, + "Z": 271.59534 + }, + "StopDistance": 7, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "Position": { + "X": 314.43127, + "Y": -274.1735, + "Z": 659.203 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo" + }, + { + "DataId": 1027773, + "Position": { + "X": 316.4568, + "Y": -274.1735, + "Z": 653.65063 + }, + "StopDistance": 7, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 2010148, + "Position": { + "X": 285.69458, + "Y": -272.78558, + "Z": 672.02246 + }, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "Position": { + "X": 314.43127, + "Y": -274.1735, + "Z": 659.203 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo" + }, + { + "DataId": 1027773, + "Position": { + "X": 316.4568, + "Y": -274.1735, + "Z": 653.65063 + }, + "StopDistance": 7, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -244.05957, + "Y": -266.0001, + "Z": 444.7069 + }, + "TerritoryId": 818, + "InteractionType": "WalkTo" + }, + { + "DataId": 1030558, + "Position": { + "X": -241.32147, + "Y": -266.0001, + "Z": 444.08325 + }, + "TerritoryId": 818, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3654_Shadowbringers.json b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3654_Shadowbringers.json index 2b4dd54f..40480ce7 100644 --- a/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3654_Shadowbringers.json +++ b/QuestPaths/5.x - Shadowbringers/MSQ/F-Tempest/3654_Shadowbringers.json @@ -1,12 +1,123 @@ { "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", "Author": "liza", - "Comment": "TODO Missing Quest Start", "TerritoryBlacklist": [ 838, 847 ], "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030557, + "Position": { + "X": -244.70898, + "Y": -266.0001, + "Z": 448.3557 + }, + "StopDistance": 5, + "TerritoryId": 818, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1030556, + "Position": { + "X": -246.2959, + "Y": -266.0001, + "Z": 446.1891 + }, + "StopDistance": 5, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1030561, + "Position": { + "X": -243.39667, + "Y": -266.0001, + "Z": 442.4657 + }, + "StopDistance": 5, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1030560, + "Position": { + "X": -246.02124, + "Y": -266.0001, + "Z": 443.4729 + }, + "StopDistance": 5, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1030558, + "Position": { + "X": -241.32147, + "Y": -266.0001, + "Z": 444.08325 + }, + "StopDistance": 5, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1030559, + "Position": { + "X": -242.66425, + "Y": -266.0001, + "Z": 447.83704 + }, + "StopDistance": 5, + "TerritoryId": 818, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1030562, + "Position": { + "X": -356.8628, + "Y": -229.0648, + "Z": 700.34326 + }, + "TerritoryId": 818, + "InteractionType": "Interact", + "Fly": true + } + ] + }, { "Sequence": 7, "Steps": [ diff --git a/QuestPaths/5.x - Shadowbringers/Role Quests/Healer/3267_Traditions and Travails.json b/QuestPaths/5.x - Shadowbringers/Role Quests/Healer/3267_Traditions and Travails.json new file mode 100644 index 00000000..10e0e76d --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Role Quests/Healer/3267_Traditions and Travails.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1029998, + "Position": { + "X": -26.657532, + "Y": 3.999815, + "Z": 209.88782 + }, + "TerritoryId": 819, + "InteractionType": "AcceptQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/Role Quests/Magical Ranged/3623_Hollow Pursuits.json b/QuestPaths/5.x - Shadowbringers/Role Quests/Magical Ranged/3623_Hollow Pursuits.json new file mode 100644 index 00000000..be49e028 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Role Quests/Magical Ranged/3623_Hollow Pursuits.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1030643, + "Position": { + "X": -0.16790771, + "Y": 3.9998174, + "Z": 201.9226 + }, + "TerritoryId": 819, + "InteractionType": "AcceptQuest" + } + ] + } + ] +} diff --git a/QuestPaths/5.x - Shadowbringers/Role Quests/Tank/3243_The Man with Too Many Scars.json b/QuestPaths/5.x - Shadowbringers/Role Quests/Tank/3243_The Man with Too Many Scars.json new file mode 100644 index 00000000..be65d1d6 --- /dev/null +++ b/QuestPaths/5.x - Shadowbringers/Role Quests/Tank/3243_The Man with Too Many Scars.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1029900, + "Position": { + "X": -35.385742, + "Y": 3.9998174, + "Z": 251.75854 + }, + "TerritoryId": 819, + "InteractionType": "AcceptQuest" + } + ] + } + ] +} diff --git a/QuestPaths/quest-v1.json b/QuestPaths/quest-v1.json index e6622f29..160b1cea 100644 --- a/QuestPaths/quest-v1.json +++ b/QuestPaths/quest-v1.json @@ -152,7 +152,7 @@ "null" ] }, - "AetheryteShortcutIf": { + "AetheryteShortcut": { "description": "The Aetheryte to teleport to (before moving)", "$ref": "#/$defs/Aetheryte" }, @@ -173,10 +173,6 @@ "description": "The Item to use", "exclusiveMinimum": 0 }, - "SkipIf": { - "type": "null", - "deprecationMessage": "Please use SkipConditions instead" - }, "SkipConditions": { "type": "object", "properties": { @@ -253,6 +249,17 @@ "type": "boolean" } } + }, + "AethernetShortcutIf": { + "type": "object", + "properties": { + "Never": { + "type": "boolean" + }, + "InSameTerritory": { + "type": "boolean" + } + } } }, "additionalProperties": false @@ -998,7 +1005,14 @@ } } } - ] + ], + "not": { + "anyOf": [ + { + "required": ["SkipIf"] + } + ] + } } }, "Comment": { diff --git a/Questionable.Model/V1/SkipConditions.cs b/Questionable.Model/V1/SkipConditions.cs index 19b73f4d..5f866865 100644 --- a/Questionable.Model/V1/SkipConditions.cs +++ b/Questionable.Model/V1/SkipConditions.cs @@ -4,4 +4,5 @@ public sealed class SkipConditions { public SkipStepConditions? StepIf { get; set; } public SkipAetheryteCondition? AetheryteShortcutIf { get; set; } + public SkipAetheryteCondition? AethernetShortcutIf { get; set; } } diff --git a/Questionable.Model/V1/SkipStepConditions.cs b/Questionable.Model/V1/SkipStepConditions.cs index 480f8d11..1f420ca2 100644 --- a/Questionable.Model/V1/SkipStepConditions.cs +++ b/Questionable.Model/V1/SkipStepConditions.cs @@ -11,11 +11,7 @@ public sealed class SkipStepConditions public List InTerritory { get; set; } = new(); public List NotInTerritory { get; set; } = new(); public SkipItemConditions? Item { get; set; } - - // TODO not implemented public List QuestsAccepted { get; set; } = new(); - - // TODO not implemented public List QuestsCompleted { get; set; } = new(); public EExtraSkipCondition? ExtraCondition { get; set; } diff --git a/Questionable/Controller/NavigationOverrides/MovementOverrideController.cs b/Questionable/Controller/NavigationOverrides/MovementOverrideController.cs index f990719b..3a3dd165 100644 --- a/Questionable/Controller/NavigationOverrides/MovementOverrideController.cs +++ b/Questionable/Controller/NavigationOverrides/MovementOverrideController.cs @@ -55,6 +55,9 @@ internal sealed class MovementOverrideController new BlacklistedPoint(1189, new(574f, -142.25f, 504.25f), new(574.44183f, -142.12766f, 507.60065f)), + // kholusia, random rocks + new BlacklistedPoint(814, new(-324, 348.75f, -181.75f), new(-322.75076f, 347.0529f, -177.69328f), 3), + // sheshenewezi springs aetheryte: couple of barrel rings that get in the way if you go north new BlacklistedPoint(1190, new(-292.29004f, 18.598045f, -133.83907f), new(-288.20895f, 18.652182f, -132.67445f), 4), diff --git a/Questionable/Controller/QuestController.cs b/Questionable/Controller/QuestController.cs index b658d006..6297c4cd 100644 --- a/Questionable/Controller/QuestController.cs +++ b/Questionable/Controller/QuestController.cs @@ -632,6 +632,9 @@ internal sealed class QuestController QuestSequence? currentSequence = currentQuest.Quest.FindSequence(currentQuest.Sequence); QuestStep? currentStep = currentSequence?.FindStep(currentQuest.Step); + + // TODO Should this check that all previous steps have CompletionFlags so that we avoid running to places + // no longer relevant for the non-priority quest (after we're done with the priority quest)? return currentStep?.AetheryteShortcut != null; } diff --git a/Questionable/Controller/Steps/Interactions/UseItem.cs b/Questionable/Controller/Steps/Interactions/UseItem.cs index aa12ab2b..f0d6a22a 100644 --- a/Questionable/Controller/Steps/Interactions/UseItem.cs +++ b/Questionable/Controller/Steps/Interactions/UseItem.cs @@ -84,7 +84,7 @@ internal static class UseItem yield return serviceProvider.GetRequiredService() .With(null, EAetheryteLocation.Limsa, territoryId); yield return serviceProvider.GetRequiredService() - .With(EAetheryteLocation.Limsa, EAetheryteLocation.LimsaArcanist); + .With(EAetheryteLocation.Limsa, EAetheryteLocation.LimsaArcanist, null); yield return serviceProvider.GetRequiredService(); yield return serviceProvider.GetRequiredService() .With(territoryId, destination, dataId: npcId, sprint: false); diff --git a/Questionable/Controller/Steps/Shared/AethernetShortcut.cs b/Questionable/Controller/Steps/Shared/AethernetShortcut.cs index 7e06068f..df7f5788 100644 --- a/Questionable/Controller/Steps/Shared/AethernetShortcut.cs +++ b/Questionable/Controller/Steps/Shared/AethernetShortcut.cs @@ -23,7 +23,7 @@ internal static class AethernetShortcut return null; return serviceProvider.GetRequiredService() - .With(step.AethernetShortcut.From, step.AethernetShortcut.To); + .With(step.AethernetShortcut.From, step.AethernetShortcut.To, step.SkipConditions?.AethernetShortcutIf); } } @@ -40,16 +40,28 @@ internal static class AethernetShortcut public EAetheryteLocation From { get; set; } public EAetheryteLocation To { get; set; } + public SkipAetheryteCondition SkipConditions { get; set; } = null!; - public ITask With(EAetheryteLocation from, EAetheryteLocation to) + public ITask With(EAetheryteLocation from, EAetheryteLocation to, + SkipAetheryteCondition? skipConditions) { From = from; To = to; + SkipConditions = skipConditions ?? new(); return this; } public bool Start() { + if (!SkipConditions.Never) + { + if (SkipConditions.InSameTerritory && clientState.TerritoryType == aetheryteData.TerritoryIds[To]) + { + logger.LogInformation("Skipping aethernet shortcut because the target is in the same territory"); + return false; + } + } + if (gameFunctions.IsAetheryteUnlocked(From) && gameFunctions.IsAetheryteUnlocked(To)) { diff --git a/Questionable/Controller/Steps/Shared/SkipCondition.cs b/Questionable/Controller/Steps/Shared/SkipCondition.cs index 68982ebb..c4fd7d5f 100644 --- a/Questionable/Controller/Steps/Shared/SkipCondition.cs +++ b/Questionable/Controller/Steps/Shared/SkipCondition.cs @@ -79,6 +79,20 @@ internal static class SkipCondition return true; } + if (SkipConditions.QuestsCompleted.Count > 0 && + SkipConditions.QuestsCompleted.All(gameFunctions.IsQuestComplete)) + { + logger.LogInformation("Skipping step, all prequisite quests are complete"); + return true; + } + + if (SkipConditions.QuestsAccepted.Count > 0 && + SkipConditions.QuestsAccepted.All(gameFunctions.IsQuestAccepted)) + { + logger.LogInformation("Skipping step, all prequisite quests are accepted"); + return true; + } + if (SkipConditions.NotTargetable && Step is { DataId: not null }) { @@ -171,6 +185,6 @@ internal static class SkipCondition public ETaskResult Update() => ETaskResult.SkipRemainingTasksForStep; - public override string ToString() => $"CheckSkip({string.Join(", ", SkipConditions)})"; + public override string ToString() => "CheckSkip"; } } diff --git a/Questionable/Data/AetheryteData.cs b/Questionable/Data/AetheryteData.cs index 3aa1d728..9e216cdc 100644 --- a/Questionable/Data/AetheryteData.cs +++ b/Questionable/Data/AetheryteData.cs @@ -3,7 +3,8 @@ using System.Collections.ObjectModel; using System.Linq; using System.Numerics; using Dalamud.Plugin.Services; -using Lumina.Excel.GeneratedSheets2; +using Lumina.Excel.GeneratedSheets; +using Microsoft.Extensions.Logging; using Questionable.Model.V1; namespace Questionable.Data; @@ -14,6 +15,7 @@ internal sealed class AetheryteData { Dictionary aethernetNames = new(); Dictionary territoryIds = new(); + Dictionary aethernetGroups = new(); foreach (var aetheryte in dataManager.GetExcelSheet()!.Where(x => x.RowId > 0)) { string? aethernetName = aetheryte.AethernetName?.Value?.Name.ToString(); @@ -22,13 +24,17 @@ internal sealed class AetheryteData if (aetheryte.Territory != null && aetheryte.Territory.Row > 0) territoryIds[(EAetheryteLocation)aetheryte.RowId] = (ushort)aetheryte.Territory.Row; + + if (aetheryte.AethernetGroup > 0) + aethernetGroups[(EAetheryteLocation)aetheryte.RowId] = aetheryte.AethernetGroup; } AethernetNames = aethernetNames.AsReadOnly(); TerritoryIds = territoryIds.AsReadOnly(); + AethernetGroups = aethernetGroups.AsReadOnly(); TownTerritoryIds = dataManager.GetExcelSheet()! - .Where(x => x.RowId > 0 && !string.IsNullOrEmpty(x.Name) && x.TerritoryIntendedUse.Row == 0) + .Where(x => x.RowId > 0 && !string.IsNullOrEmpty(x.Name) && x.TerritoryIntendedUse == 0) .Select(x => (ushort)x.RowId) .ToList(); } @@ -266,6 +272,7 @@ internal sealed class AetheryteData public ReadOnlyDictionary AethernetNames { get; } public ReadOnlyDictionary TerritoryIds { get; } + public ReadOnlyDictionary AethernetGroups { get; } public IReadOnlyList TownTerritoryIds { get; set; } public float CalculateDistance(Vector3 fromPosition, ushort fromTerritoryType, EAetheryteLocation to) diff --git a/Questionable/GameFunctions.cs b/Questionable/GameFunctions.cs index 71a7dffc..6487eb98 100644 --- a/Questionable/GameFunctions.cs +++ b/Questionable/GameFunctions.cs @@ -573,6 +573,7 @@ internal sealed unsafe class GameFunctions StatusManager* statusManager = battleChara->GetStatusManager(); return statusManager->HasStatus(565) || statusManager->HasStatus(404) || + statusManager->HasStatus(416) || statusManager->HasStatus(2729) || statusManager->HasStatus(2730); } diff --git a/Questionable/Model/QuestInfo.cs b/Questionable/Model/QuestInfo.cs index 9caaef12..54fd6fad 100644 --- a/Questionable/Model/QuestInfo.cs +++ b/Questionable/Model/QuestInfo.cs @@ -48,6 +48,7 @@ internal sealed class QuestInfo public EBeastTribe BeastTribe { get; } public string SimplifiedName => Name + .Replace(".", "", StringComparison.Ordinal) .TrimStart(SeIconChar.QuestSync.ToIconChar(), SeIconChar.QuestRepeatable.ToIconChar(), ' '); [UsedImplicitly(ImplicitUseKindFlags.Assign, ImplicitUseTargetFlags.Members)] diff --git a/Questionable/QuestionablePlugin.cs b/Questionable/QuestionablePlugin.cs index 3b230b84..f44b41d7 100644 --- a/Questionable/QuestionablePlugin.cs +++ b/Questionable/QuestionablePlugin.cs @@ -177,6 +177,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); + serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(sp => sp.GetRequiredService()); } diff --git a/Questionable/Validation/EIssueType.cs b/Questionable/Validation/EIssueType.cs index a6ff28b6..a94f1f23 100644 --- a/Questionable/Validation/EIssueType.cs +++ b/Questionable/Validation/EIssueType.cs @@ -15,4 +15,5 @@ public enum EIssueType QuestDisabled, UnexpectedAcceptQuestStep, UnexpectedCompleteQuestStep, + InvalidAethernetShortcut, } diff --git a/Questionable/Validation/QuestValidator.cs b/Questionable/Validation/QuestValidator.cs index 794324f9..ce521598 100644 --- a/Questionable/Validation/QuestValidator.cs +++ b/Questionable/Validation/QuestValidator.cs @@ -41,6 +41,9 @@ internal sealed class QuestValidator { try { + _validationIssues.Clear(); + + List issues = []; Dictionary disabledTribeQuests = new(); foreach (var quest in quests) { @@ -60,12 +63,19 @@ internal sealed class QuestValidator disabledTribeQuests[quest.Info.BeastTribe]++; } else - _validationIssues.Add(issue); + issues.Add(issue); } } } - _validationIssues = _validationIssues.OrderBy(x => x.QuestId) + var disabledQuests = issues + .Where(x => x.Type == EIssueType.QuestDisabled) + .Select(x => x.QuestId) + .ToList(); + + _validationIssues = issues + .Where(x => !disabledQuests.Contains(x.QuestId) || x.Type == EIssueType.QuestDisabled) + .OrderBy(x => x.QuestId) .ThenBy(x => x.Sequence) .ThenBy(x => x.Step) .ThenBy(x => x.Description) diff --git a/Questionable/Validation/Validators/AethernetShortcutValidator.cs b/Questionable/Validation/Validators/AethernetShortcutValidator.cs new file mode 100644 index 00000000..36643c3e --- /dev/null +++ b/Questionable/Validation/Validators/AethernetShortcutValidator.cs @@ -0,0 +1,48 @@ +using System.Collections.Generic; +using System.Linq; +using Questionable.Data; +using Questionable.Model; +using Questionable.Model.V1; + +namespace Questionable.Validation.Validators; + +internal sealed class AethernetShortcutValidator : IQuestValidator +{ + private readonly AetheryteData _aetheryteData; + + public AethernetShortcutValidator(AetheryteData aetheryteData) + { + _aetheryteData = aetheryteData; + } + + public IEnumerable Validate(Quest quest) + { + return quest.AllSteps() + .Select(x => Validate(quest.QuestId, x.Sequence.Sequence, x.StepId, x.Step.AethernetShortcut)) + .Where(x => x != null) + .Cast(); + } + + private ValidationIssue? Validate(ushort questId, int sequenceNo, int stepId, AethernetShortcut? aethernetShortcut) + { + if (aethernetShortcut == null) + return null; + + byte fromGroup = _aetheryteData.AethernetGroups.GetValueOrDefault(aethernetShortcut.From); + byte toGroup = _aetheryteData.AethernetGroups.GetValueOrDefault(aethernetShortcut.To); + if (fromGroup != toGroup) + { + return new ValidationIssue + { + QuestId = questId, + Sequence = (byte)sequenceNo, + Step = stepId, + Type = EIssueType.InvalidAethernetShortcut, + Severity = EIssueSeverity.Error, + Description = $"Invalid aethernet shortcut: {aethernetShortcut.From} to {aethernetShortcut.To}" + }; + } + + return null; + } +}