From ba12a34523bc04e83af66c03ed8c77d5cda00bf2 Mon Sep 17 00:00:00 2001 From: kaiser Date: Sun, 15 Sep 2024 10:20:14 +1000 Subject: [PATCH 1/7] feat: added SGE job quests. Only managed to add last 3 as I did the first 3 already. --- .../SGE/4070_A Poisoned Gift.json | 135 +++++++++++++ .../Class Quests/SGE/4071_Pledge of Hope.json | 182 ++++++++++++++++++ .../4072_Life Ephemeral, Path Eternal.json | 92 +++++++++ 3 files changed, 409 insertions(+) create mode 100644 QuestPaths/6.x - Endwalker/Class Quests/SGE/4070_A Poisoned Gift.json create mode 100644 QuestPaths/6.x - Endwalker/Class Quests/SGE/4071_Pledge of Hope.json create mode 100644 QuestPaths/6.x - Endwalker/Class Quests/SGE/4072_Life Ephemeral, Path Eternal.json diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4070_A Poisoned Gift.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4070_A Poisoned Gift.json new file mode 100644 index 00000000..102db672 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4070_A Poisoned Gift.json @@ -0,0 +1,135 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "kaiser", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1039249, + "Position": { + "X": 0.3508911, + "Y": 210.99998, + "Z": -17.746277 + }, + "TerritoryId": 478, + "InteractionType": "AcceptQuest", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_AKTKBB121_04070_Q1_000_000", + "Answer": "TEXT_AKTKBB121_04070_A1_000_001" + } + ], + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1039274, + "Position": { + "X": 246.93665, + "Y": -24.995794, + "Z": 235.4314 + }, + "TerritoryId": 138, + "InteractionType": "Interact", + "AetheryteShortcut": "Western La Noscea - Aleport" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1039275, + "Position": { + "X": 236.9878, + "Y": -24.792122, + "Z": 202.594 + }, + "TerritoryId": 138, + "InteractionType": "Interact", + "AetheryteShortcut": "Western La Noscea - Aleport", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1039276, + "Position": { + "X": 239.79541, + "Y": -24.721268, + "Z": 205.34058 + }, + "TerritoryId": 138, + "InteractionType": "Action", + "AetheryteShortcut": "Western La Noscea - Aleport", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + }, + "Action": "Diagnosis" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1039279, + "Position": { + "X": 239.9176, + "Y": -24.724764, + "Z": 205.24902 + }, + "TerritoryId": 138, + "InteractionType": "Interact", + "AetheryteShortcut": "Western La Noscea - Aleport", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1039249, + "Position": { + "X": 0.3508911, + "Y": 210.99998, + "Z": -17.746277 + }, + "TerritoryId": 478, + "InteractionType": "CompleteQuest", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4071_Pledge of Hope.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4071_Pledge of Hope.json new file mode 100644 index 00000000..f04e5af2 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4071_Pledge of Hope.json @@ -0,0 +1,182 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "kaiser", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1039249, + "Position": { + "X": 0.3508911, + "Y": 210.99998, + "Z": -17.746277 + }, + "TerritoryId": 478, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1012133, + "Position": { + "X": -26.840637, + "Y": 206.49944, + "Z": 28.67163 + }, + "TerritoryId": 478, + "InteractionType": "Interact", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "Position": { + "X": -501.8255, + "Y": 147.54488, + "Z": -191.78416 + }, + "TerritoryId": 399, + "Fly": true, + "InteractionType": "Combat", + "AethernetShortcut": [ + "[Idyllshire] Aetheryte Plaza", + "[Idyllshire] Prologue Gate (Western Hinterlands)" + ], + "SkipConditions": { + "AethernetShortcutIf": { + "InSameTerritory": true + } + }, + "EnemySpawnType": "AutoOnEnterArea", + "ComplexCombatData": [ + { + "DataId": 14030, + "MinimumKillCount": 1 + } + ] + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1039282, + "Position": { + "X": -504.87527, + "Y": 147.53165, + "Z": -199.17603 + }, + "TerritoryId": 399, + "InteractionType": "Action", + "AethernetShortcut": [ + "[Idyllshire] Aetheryte Plaza", + "[Idyllshire] Prologue Gate (Western Hinterlands)" + ], + "SkipConditions": { + "AethernetShortcutIf": { + "InSameTerritory": true + } + }, + "Action": "Diagnosis", + "Comment": "This might get stuck if we are high level and killed the mob too fast?, we ended up locking ourselves on eukrasia aura, Diagnosis can't be casted!" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "Position": { + "X": -383.24777, + "Y": 147.98257, + "Z": 52.931572 + }, + "TerritoryId": 399, + "Fly": true, + "InteractionType": "Combat", + "AethernetShortcut": [ + "[Idyllshire] Aetheryte Plaza", + "[Idyllshire] Prologue Gate (Western Hinterlands)" + ], + "SkipConditions": { + "AethernetShortcutIf": { + "InSameTerritory": true + } + }, + "EnemySpawnType": "AutoOnEnterArea", + "ComplexCombatData": [ + { + "DataId": 14029, + "MinimumKillCount": 2 + } + ] + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1039284, + "Position": { + "X": -382.49792, + "Y": 147.96011, + "Z": 47.53174 + }, + "TerritoryId": 399, + "Fly": false, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Idyllshire] Aetheryte Plaza", + "[Idyllshire] Prologue Gate (Western Hinterlands)" + ], + "SkipConditions": { + "AethernetShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1039249, + "Position": { + "X": 0.3508911, + "Y": 210.99998, + "Z": -17.746277 + }, + "TerritoryId": 478, + "InteractionType": "CompleteQuest", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4072_Life Ephemeral, Path Eternal.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4072_Life Ephemeral, Path Eternal.json new file mode 100644 index 00000000..c600f2e4 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4072_Life Ephemeral, Path Eternal.json @@ -0,0 +1,92 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "kaiser", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1039249, + "Position": { + "X": 0.3508911, + "Y": 210.99998, + "Z": -17.746277 + }, + "TerritoryId": 478, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1039288, + "Position": { + "X": 212.9701, + "Y": 52.213486, + "Z": -787.50287 + }, + "TerritoryId": 398, + "InteractionType": "SinglePlayerDuty", + "Fly": true, + "AetheryteShortcut": "The Dravanian Forelands - Tailfeather", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1039288, + "Position": { + "X": 212.9701, + "Y": 52.213486, + "Z": -787.50287 + }, + "TerritoryId": 398, + "InteractionType": "Interact", + "Fly": true, + "AetheryteShortcut": "The Dravanian Forelands - Tailfeather", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1039280, + "Position": { + "X": 1.2054443, + "Y": 210.99997, + "Z": -16.494995 + }, + "TerritoryId": 478, + "InteractionType": "CompleteQuest", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + } + ] +} From 2a2e3cafb9ce7713ce218d64eb5d515691349000 Mon Sep 17 00:00:00 2001 From: kaiser Date: Sun, 15 Sep 2024 10:22:29 +1000 Subject: [PATCH 2/7] chore: add SGE actions --- QuestPaths/quest-v1.json | 3 +++ Questionable.Model/Questing/Converter/ActionConverter.cs | 3 +++ Questionable.Model/Questing/EAction.cs | 3 +++ 3 files changed, 9 insertions(+) diff --git a/QuestPaths/quest-v1.json b/QuestPaths/quest-v1.json index f4754382..2f06454f 100644 --- a/QuestPaths/quest-v1.json +++ b/QuestPaths/quest-v1.json @@ -875,6 +875,9 @@ "Heavy Shot", "Cure", "Cure II", + "Eukrasia", + "Diagnosis", + "Eukrasian Diagnosis", "Esuna", "Physick", "Aspected Benefic", diff --git a/Questionable.Model/Questing/Converter/ActionConverter.cs b/Questionable.Model/Questing/Converter/ActionConverter.cs index d5de1fc1..3f371494 100644 --- a/Questionable.Model/Questing/Converter/ActionConverter.cs +++ b/Questionable.Model/Questing/Converter/ActionConverter.cs @@ -15,6 +15,9 @@ public sealed class ActionConverter() : EnumConverter(Values) { EAction.HeavyShot, "Heavy Shot" }, { EAction.Cure, "Cure" }, { EAction.Cure2, "Cure II" }, + { EAction.Eukrasia, "Eukrasia"}, + { EAction.Diagnosis, "Diagnosis"}, + { EAction.EukrasianDiagnosis, "Eukrasian Diagnosis"}, { EAction.Esuna, "Esuna" }, { EAction.Physick, "Physick" }, { EAction.AspectedBenefic, "Aspected Benefic" }, diff --git a/Questionable.Model/Questing/EAction.cs b/Questionable.Model/Questing/EAction.cs index fc4afa38..f0d2ea8b 100644 --- a/Questionable.Model/Questing/EAction.cs +++ b/Questionable.Model/Questing/EAction.cs @@ -14,6 +14,9 @@ public enum EAction HeavyShot = 97, Cure = 120, Cure2 = 135, + Eukrasia = 24290, + Diagnosis = 24284, + EukrasianDiagnosis = 24291, Esuna = 7568, Physick = 190, AspectedBenefic = 3595, From b1572f583298f56fa5b109efef1dfdd70138bc61 Mon Sep 17 00:00:00 2001 From: kaiser Date: Sun, 15 Sep 2024 10:23:43 +1000 Subject: [PATCH 3/7] feat: added a way to remove status for gameFunctions. Also updated the Action a bit, that way SGE doesn't get stuck when using diagnosis. --- .../Controller/Steps/Interactions/Action.cs | 20 +++++++++++++++---- Questionable/Functions/GameFunctions.cs | 5 +++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/Questionable/Controller/Steps/Interactions/Action.cs b/Questionable/Controller/Steps/Interactions/Action.cs index 6d4da220..a39bded4 100644 --- a/Questionable/Controller/Steps/Interactions/Action.cs +++ b/Questionable/Controller/Steps/Interactions/Action.cs @@ -1,9 +1,6 @@ using System; using System.Collections.Generic; -using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.Types; -using FFXIVClientStructs.FFXIV.Client.Game; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Common; using Questionable.Functions; @@ -60,6 +57,21 @@ internal static class Action if (gameObject.IsTargetable) { + if (action == EAction.Diagnosis) + { + uint eukrasiaAura = 2606; + // If SGE have Eukrasia status, we need to remove it. + if (gameFunctions.HasStatus(eukrasiaAura)) + { + if (GameFunctions.RemoveStatus(eukrasiaAura)) + { + // Introduce a delay of 2 seconds before using the next action (otherwise it will try and use Eukrasia Diagnosis) + _continueAt = DateTime.Now.AddSeconds(2); + return true; + } + } + } + _usedAction = gameFunctions.UseAction(gameObject, action); _continueAt = DateTime.Now.AddSeconds(0.5); return true; @@ -105,4 +117,4 @@ internal static class Action public override string ToString() => $"Action({action})"; } -} +} \ No newline at end of file diff --git a/Questionable/Functions/GameFunctions.cs b/Questionable/Functions/GameFunctions.cs index 07fb8c37..2cc2e122 100644 --- a/Questionable/Functions/GameFunctions.cs +++ b/Questionable/Functions/GameFunctions.cs @@ -308,6 +308,11 @@ internal sealed unsafe class GameFunctions StatusManager* statusManager = battleChara->GetStatusManager(); return statusManager->HasStatus(statusId); } + + public static bool RemoveStatus(uint statusId) + { + return StatusManager.ExecuteStatusOff(statusId); + } public bool Mount() { From 9e65a7aa547683ae5ddb3b31ec1c72d86cd7a1d0 Mon Sep 17 00:00:00 2001 From: kaiser Date: Sun, 15 Sep 2024 10:36:54 +1000 Subject: [PATCH 4/7] chore: remove BOM --- .../6.x - Endwalker/Class Quests/SGE/4070_A Poisoned Gift.json | 2 +- .../6.x - Endwalker/Class Quests/SGE/4071_Pledge of Hope.json | 2 +- .../Class Quests/SGE/4072_Life Ephemeral, Path Eternal.json | 2 +- Questionable/Controller/Steps/Interactions/Action.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4070_A Poisoned Gift.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4070_A Poisoned Gift.json index 102db672..a47ebf05 100644 --- a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4070_A Poisoned Gift.json +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4070_A Poisoned Gift.json @@ -1,4 +1,4 @@ -{ +{ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", "Author": "kaiser", "QuestSequence": [ diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4071_Pledge of Hope.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4071_Pledge of Hope.json index f04e5af2..c22655dd 100644 --- a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4071_Pledge of Hope.json +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4071_Pledge of Hope.json @@ -1,4 +1,4 @@ -{ +{ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", "Author": "kaiser", "QuestSequence": [ diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4072_Life Ephemeral, Path Eternal.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4072_Life Ephemeral, Path Eternal.json index c600f2e4..e7405f3c 100644 --- a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4072_Life Ephemeral, Path Eternal.json +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4072_Life Ephemeral, Path Eternal.json @@ -1,4 +1,4 @@ -{ +{ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", "Author": "kaiser", "QuestSequence": [ diff --git a/Questionable/Controller/Steps/Interactions/Action.cs b/Questionable/Controller/Steps/Interactions/Action.cs index a39bded4..f50f6697 100644 --- a/Questionable/Controller/Steps/Interactions/Action.cs +++ b/Questionable/Controller/Steps/Interactions/Action.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using Dalamud.Game.ClientState.Objects.Types; using Microsoft.Extensions.Logging; From 3ba10fae3462c642a3af1feec2ccf92be6d6a74c Mon Sep 17 00:00:00 2001 From: kaiser Date: Mon, 16 Sep 2024 09:28:13 +1000 Subject: [PATCH 5/7] feat: added first quest of SGE Unlock! --- .../Class Quests/SGE/4067_Sage's Path.json | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 QuestPaths/6.x - Endwalker/Class Quests/SGE/4067_Sage's Path.json diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4067_Sage's Path.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4067_Sage's Path.json new file mode 100644 index 00000000..1c67ae48 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4067_Sage's Path.json @@ -0,0 +1,79 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "kaiser", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1039243, + "Position": { + "X": -90.28766, + "Y": 20, + "Z": 85.55737 + }, + "TerritoryId": 129, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Limsa Lominsa", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1039265, + "Position": { + "X": -27.542603, + "Y": 42.597717, + "Z": 163.7445 + }, + "TerritoryId": 134, + "InteractionType": "Interact", + "AetheryteShortcut": "Middle La Noscea - Summerford Farms", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1039265, + "Position": { + "X": -27.542603, + "Y": 42.597717, + "Z": 163.7445 + }, + "TerritoryId": 134, + "InteractionType": "CompleteQuest", + "AetheryteShortcut": "Middle La Noscea - Summerford Farms", + "Fly": true, + "DialogueChoices": [ + { + "Type": "YesNo", + "Prompt": "TEXT_AKTKBB101_04067_Q3_000_000", + "ExcelSheet": "quest/040/AktKbb101_04067", + "Yes": true + } + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + } + ] +} From 3efaa9de8b241db3da4aeb1b2b61c47682a45c37 Mon Sep 17 00:00:00 2001 From: kaiser Date: Mon, 16 Sep 2024 10:23:13 +1000 Subject: [PATCH 6/7] feat: added the rest of SGE job quests! --- .../Class Quests/SGE/4068_Sage's Focus.json | 269 ++++++++++++++++++ .../SGE/4069_Sands of Despair.json | 199 +++++++++++++ 2 files changed, 468 insertions(+) create mode 100644 QuestPaths/6.x - Endwalker/Class Quests/SGE/4068_Sage's Focus.json create mode 100644 QuestPaths/6.x - Endwalker/Class Quests/SGE/4069_Sands of Despair.json diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4068_Sage's Focus.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4068_Sage's Focus.json new file mode 100644 index 00000000..c3e2f94b --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4068_Sage's Focus.json @@ -0,0 +1,269 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "kaiser", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "InteractionType": "UseItem", + "ItemId": 35873, + "Position": { + "X": -25.441345, + "Y": 42.597717, + "Z": 162.65016 + }, + "TerritoryId": 134, + "AetheryteShortcut": "Middle La Noscea - Summerford Farms", + "Fly": true, + "Comment": "Try to use the coffer Bookwyrm's Attire Coffer (IL 385)", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "Item": { + "NotInInventory": true + } + } + } + }, + { + "TerritoryId": 134, + "InteractionType": "EquipItem", + "ItemId": 35778, + "AetheryteShortcut": "Middle La Noscea - Summerford Farms", + "Fly": true, + "Comment": "Try to Equip Stonegold Milpreves", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "Item": { + "NotInInventory": true + } + } + } + }, + { + "TerritoryId": 131, + "InteractionType": "EquipRecommended" + }, + { + "DataId": 1039265, + "Position": { + "X": -27.542603, + "Y": 42.597717, + "Z": 163.7445 + }, + "TerritoryId": 134, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Middle La Noscea - Summerford Farms", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1039244, + "Position": { + "X": 62.05847, + "Y": 207, + "Z": 49.332397 + }, + "TerritoryId": 478, + "InteractionType": "Interact", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2011759, + "Position": { + "X": 20.065613, + "Y": 215.44214, + "Z": -108.171265 + }, + "TerritoryId": 478, + "InteractionType": "Interact", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1039246, + "Position": { + "X": 71.64111, + "Y": 213.03185, + "Z": -110.7348 + }, + "TerritoryId": 478, + "InteractionType": "Interact", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1039247, + "Position": { + "X": 68.7113, + "Y": 212.84532, + "Z": -109.9718 + }, + "TerritoryId": 478, + "InteractionType": "Interact", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1039248, + "Position": { + "X": -612.2988, + "Y": 146.86842, + "Z": 42.435303 + }, + "TerritoryId": 399, + "InteractionType": "Interact", + "Fly": true, + "AetheryteShortcut": "Idyllshire", + "AethernetShortcut": [ + "[Idyllshire] Aetheryte Plaza", + "[Idyllshire] Prologue Gate (Western Hinterlands)" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "AethernetShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1039248, + "Position": { + "X": -612.2988, + "Y": 146.86842, + "Z": 42.435303 + }, + "StopDistance": 5, + "TerritoryId": 399, + "InteractionType": "SinglePlayerDuty", + "Fly": true, + "AetheryteShortcut": "Idyllshire", + "AethernetShortcut": [ + "[Idyllshire] Aetheryte Plaza", + "[Idyllshire] Prologue Gate (Western Hinterlands)" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InTerritory": [399], + "InSameTerritory": true + }, + "AethernetShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 8, + "Steps": [ + { + "DataId": 1039248, + "Position": { + "X": -612.2988, + "Y": 146.86842, + "Z": 42.435303 + }, + "TerritoryId": 399, + "InteractionType": "Interact", + "StopDistance": 5, + "Fly": true, + "AetheryteShortcut": "Idyllshire", + "AethernetShortcut": [ + "[Idyllshire] Aetheryte Plaza", + "[Idyllshire] Prologue Gate (Western Hinterlands)" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InTerritory": [399], + "InSameTerritory": true + }, + "AethernetShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1039249, + "Position": { + "X": 0.3508911, + "Y": 210.99998, + "Z": -17.746277 + }, + "TerritoryId": 478, + "InteractionType": "CompleteQuest", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4069_Sands of Despair.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4069_Sands of Despair.json new file mode 100644 index 00000000..5f47f2b0 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4069_Sands of Despair.json @@ -0,0 +1,199 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "kaiser", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1039249, + "Position": { + "X": 0.3508911, + "Y": 210.99998, + "Z": -17.746277 + }, + "TerritoryId": 478, + "InteractionType": "AcceptQuest", + "StopDistance": 5, + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1039250, + "Position": { + "X": -29.251587, + "Y": -2.0576189, + "Z": -161.08954 + }, + "TerritoryId": 141, + "InteractionType": "Interact", + "AetheryteShortcut": "Central Thanalan - Black Brush Station" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1039256, + "Position": { + "X": 59.03711, + "Y": 2.9501379, + "Z": -225.97089 + }, + "TerritoryId": 141, + "InteractionType": "Interact", + "Fly": true, + "AetheryteShortcut": "Central Thanalan - Black Brush Station", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "Position": { + "X": 177.52213, + "Y": -3.5157094, + "Z": -133.6495 + }, + "TerritoryId": 141, + "Fly": true, + "InteractionType": "Combat", + "AetheryteShortcut": "Central Thanalan - Black Brush Station", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + }, + "EnemySpawnType": "AutoOnEnterArea", + "ComplexCombatData": [ + { + "DataId": 14031, + "MinimumKillCount": 1 + } + ] + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1039263, + "Position": { + "X": 185.25977, + "Y": -4.128851, + "Z": -126.78729 + }, + "TerritoryId": 141, + "InteractionType": "Interact", + "AetheryteShortcut": "Central Thanalan - Black Brush Station", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1039258, + "Position": { + "X": 122.72827, + "Y": 0.111846395, + "Z": -215.22852 + }, + "TerritoryId": 141, + "InteractionType": "Interact", + "AetheryteShortcut": "Central Thanalan - Black Brush Station", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1039271, + "Position": { + "X": 122.819824, + "Y": 0.10310017, + "Z": -215.2591 + }, + "TerritoryId": 141, + "InteractionType": "Interact", + "AetheryteShortcut": "Central Thanalan - Black Brush Station", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 7, + "Steps": [ + { + "DataId": 1039271, + "Position": { + "X": 122.819824, + "Y": 0.10310017, + "Z": -215.2591 + }, + "TerritoryId": 141, + "InteractionType": "Interact", + "AetheryteShortcut": "Central Thanalan - Black Brush Station", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1039249, + "Position": { + "X": 0.3508911, + "Y": 210.99998, + "Z": -17.746277 + }, + "TerritoryId": 478, + "InteractionType": "CompleteQuest", + "AetheryteShortcut": "Idyllshire", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + } + ] +} From 251cd2ebfd68cb56a71f25a3da508021d4c97ed3 Mon Sep 17 00:00:00 2001 From: kaiser Date: Mon, 16 Sep 2024 10:35:34 +1000 Subject: [PATCH 7/7] chore: remove BOM --- .../6.x - Endwalker/Class Quests/SGE/4067_Sage's Path.json | 2 +- .../6.x - Endwalker/Class Quests/SGE/4068_Sage's Focus.json | 2 +- .../6.x - Endwalker/Class Quests/SGE/4069_Sands of Despair.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4067_Sage's Path.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4067_Sage's Path.json index 1c67ae48..64b7fe95 100644 --- a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4067_Sage's Path.json +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4067_Sage's Path.json @@ -1,4 +1,4 @@ -{ +{ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", "Author": "kaiser", "QuestSequence": [ diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4068_Sage's Focus.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4068_Sage's Focus.json index c3e2f94b..58c0ff77 100644 --- a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4068_Sage's Focus.json +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4068_Sage's Focus.json @@ -1,4 +1,4 @@ -{ +{ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", "Author": "kaiser", "QuestSequence": [ diff --git a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4069_Sands of Despair.json b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4069_Sands of Despair.json index 5f47f2b0..bbf573ed 100644 --- a/QuestPaths/6.x - Endwalker/Class Quests/SGE/4069_Sands of Despair.json +++ b/QuestPaths/6.x - Endwalker/Class Quests/SGE/4069_Sands of Despair.json @@ -1,4 +1,4 @@ -{ +{ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", "Author": "kaiser", "QuestSequence": [