From 6cfccc843f9195cc9ce44359c1d002ac45f77262 Mon Sep 17 00:00:00 2001 From: xanunderscore <149614526+xanunderscore@users.noreply.github.com> Date: Sun, 13 Oct 2024 13:24:50 -0400 Subject: [PATCH 01/11] nin --- .../212_Peasants by Day, Ninjas by Night.json | 184 +++++++++++ .../Class Quests/NIN/213_My First Mudra.json | 134 ++++++++ .../NIN/214_Killer Combinations.json | 52 +++ .../NIN/215_Once Upon a Time in Doma.json | 210 +++++++++++++ .../NIN/216_Pirates versus Ninjas.json | 68 ++++ .../Class Quests/NIN/217_Ninja Bathin'.json | 241 ++++++++++++++ .../Class Quests/NIN/232_Tough Guys.json | 295 ++++++++++++++++++ .../Class Quests/NIN/233_The Crow Knows.json | 120 +++++++ .../NIN/234_Master and Student.json | 196 ++++++++++++ .../NIN/235_Strangers in a Strange Land.json | 225 +++++++++++++ .../NIN/1684_The Impossible Girl.json | 197 ++++++++++++ .../Class Quests/NIN/1685_Ninja Assassin.json | 227 ++++++++++++++ .../NIN/1686_Medieval Espionage.json | 215 +++++++++++++ .../Class Quests/NIN/1687_Staying Alive.json | 203 ++++++++++++ .../Class Quests/NIN/1688_In Her Defense.json | 253 +++++++++++++++ .../2948_Search for the Stolen Scroll.json | 243 +++++++++++++++ .../NIN/2949_Ninja Bathin' Redux.json | 290 +++++++++++++++++ .../NIN/2950_A Game of Life and Death.json | 143 +++++++++ .../NIN/2951_True Enlightenment.json | 149 +++++++++ .../NIN/2952_When Clans Collide.json | 97 ++++++ 20 files changed, 3742 insertions(+) create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/212_Peasants by Day, Ninjas by Night.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/213_My First Mudra.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/214_Killer Combinations.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/215_Once Upon a Time in Doma.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/216_Pirates versus Ninjas.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/217_Ninja Bathin'.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/232_Tough Guys.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/233_The Crow Knows.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/234_Master and Student.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/235_Strangers in a Strange Land.json create mode 100644 QuestPaths/3.x - Heavensward/Class Quests/NIN/1684_The Impossible Girl.json create mode 100644 QuestPaths/3.x - Heavensward/Class Quests/NIN/1685_Ninja Assassin.json create mode 100644 QuestPaths/3.x - Heavensward/Class Quests/NIN/1686_Medieval Espionage.json create mode 100644 QuestPaths/3.x - Heavensward/Class Quests/NIN/1687_Staying Alive.json create mode 100644 QuestPaths/3.x - Heavensward/Class Quests/NIN/1688_In Her Defense.json create mode 100644 QuestPaths/4.x - Stormblood/Class Quests/NIN/2948_Search for the Stolen Scroll.json create mode 100644 QuestPaths/4.x - Stormblood/Class Quests/NIN/2949_Ninja Bathin' Redux.json create mode 100644 QuestPaths/4.x - Stormblood/Class Quests/NIN/2950_A Game of Life and Death.json create mode 100644 QuestPaths/4.x - Stormblood/Class Quests/NIN/2951_True Enlightenment.json create mode 100644 QuestPaths/4.x - Stormblood/Class Quests/NIN/2952_When Clans Collide.json diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/212_Peasants by Day, Ninjas by Night.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/212_Peasants by Day, Ninjas by Night.json new file mode 100644 index 000000000..b4d68b9e7 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/212_Peasants by Day, Ninjas by Night.json @@ -0,0 +1,184 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "TargetTerritoryId": 129, + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "StepIf": { + "NearPosition": { + "Position": { + "X": -151.80984, + "Y": -128.6493, + "Z": 265.27332 + }, + "TerritoryId": 129, + "MaximumDistance": 50 + } + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "TerritoryId": 129, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1010602, + "Position": { + "X": -1.449646, + "Y": 66.48521, + "Z": 46.28064 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1010603, + "Position": { + "X": -67.36859, + "Y": 70.39888, + "Z": 11.032227 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_JOBNIN300_00212_Q1_000_000", + "Answer": "TEXT_JOBNIN300_00212_A1_000_001" + } + ] + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1010607, + "Position": { + "X": 97.42883, + "Y": 68.34448, + "Z": -2.3651733 + }, + "TerritoryId": 137, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1010611, + "Position": { + "X": 585.1987, + "Y": -2.4988298, + "Z": 221.85083 + }, + "Fly": true, + "TerritoryId": 139, + "InteractionType": "Interact", + "AetheryteShortcut": "Upper La Noscea - Camp Bronze Lake", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1010615, + "Position": { + "X": -8.529846, + "Y": 39.569904, + "Z": 260.8529 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "TargetTerritoryId": 137, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_JOBNIN300_00212_Q3_000_000", + "Answer": "TEXT_JOBNIN300_00212_A3_000_001" + } + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 213 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/213_My First Mudra.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/213_My First Mudra.json new file mode 100644 index 000000000..36039c5b2 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/213_My First Mudra.json @@ -0,0 +1,134 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137, + "Comment": "Gatekeep" + }, + { + "InteractionType": "EquipItem", + "ItemId": 7886, + "TerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2004966, + "Position": { + "X": -16.128845, + "Y": -23.300598, + "Z": 258.13684 + }, + "TerritoryId": 137, + "TargetTerritoryId": 137, + "InteractionType": "Interact", + "SkipConditions": { + "StepIf": { + "NearPosition": { + "Position": { + "X": -6.8438888, + "Y": 39.451496, + "Z": 259.44324 + }, + "TerritoryId": 137, + "MaximumDistance": 20 + } + } + } + }, + { + "InteractionType": "WaitForManualProgress", + "TerritoryId": 137, + "Comment": "Use Ten -> Fuma Shuriken on the dummy" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1010616, + "Position": { + "X": -4.348877, + "Y": 39.531937, + "Z": 247.63867 + }, + "TerritoryId": 137, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1010616, + "Position": { + "X": -4.348877, + "Y": 39.531937, + "Z": 247.63867 + }, + "TerritoryId": 137, + "InteractionType": "SinglePlayerDuty" + } + ] + }, + { "Sequence": 4 }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010616, + "Position": { + "X": -4.348877, + "Y": 39.531937, + "Z": 247.63867 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 214 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/214_Killer Combinations.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/214_Killer Combinations.json new file mode 100644 index 000000000..258bcf96c --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/214_Killer Combinations.json @@ -0,0 +1,52 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010140, + "Position": { + "X": -8.712891, + "Y": 39.590378, + "Z": 255.23767 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 215 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/215_Once Upon a Time in Doma.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/215_Once Upon a Time in Doma.json new file mode 100644 index 000000000..4f10975f0 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/215_Once Upon a Time in Doma.json @@ -0,0 +1,210 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2004966, + "Position": { + "X": -16.128845, + "Y": -23.300598, + "Z": 258.13684 + }, + "TerritoryId": 137, + "TargetTerritoryId": 137, + "InteractionType": "Interact", + "SkipConditions": { + "StepIf": { + "NearPosition": { + "Position": { + "X": -6.8438888, + "Y": 39.451496, + "Z": 259.44324 + }, + "TerritoryId": 137, + "MaximumDistance": 20 + } + } + } + }, + { + "InteractionType": "WaitForManualProgress", + "TerritoryId": 137, + "Comment": "Use Ten -> Chi -> Raiton on the dummy" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1010615, + "Position": { + "X": -8.529846, + "Y": 39.569904, + "Z": 260.8529 + }, + "TerritoryId": 137, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "InteractionType": "WaitForManualProgress", + "TerritoryId": 137, + "Comment": "Use Chi -> Ten -> Katon on the dummy" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1010615, + "Position": { + "X": -8.529846, + "Y": 39.569904, + "Z": 260.8529 + }, + "TerritoryId": 137, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "Position": { + "X": 407.71924, + "Y": 32.11566, + "Z": -14.989758 + }, + "TerritoryId": 138, + "TargetTerritoryId": 139, + "Fly": true, + "InteractionType": "WalkTo", + "AetheryteShortcut": "Western La Noscea - Aleport", + "SkipConditions": { + "AetheryteShortcutIf": { "InTerritory": [139] }, + "StepIf": { "InTerritory": [139] } + } + }, + { + "DataId": 1010618, + "Position": { + "X": -570.82477, + "Y": -1.4935175, + "Z": -12.619263 + }, + "TerritoryId": 139, + "InteractionType": "SinglePlayerDuty", + "Fly": true + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1010618, + "Position": { + "X": -570.82477, + "Y": -1.4935175, + "Z": -12.619263 + }, + "TerritoryId": 139, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 216 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/216_Pirates versus Ninjas.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/216_Pirates versus Ninjas.json new file mode 100644 index 000000000..5449a01ed --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/216_Pirates versus Ninjas.json @@ -0,0 +1,68 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010619, + "Position": { + "X": 473.13635, + "Y": 16.492989, + "Z": 67.33801 + }, + "TerritoryId": 139, + "AetheryteShortcut": "Upper La Noscea - Camp Bronze Lake", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + }, + "InteractionType": "CompleteQuest", + "NextQuestId": 217 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/217_Ninja Bathin'.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/217_Ninja Bathin'.json new file mode 100644 index 000000000..2108a0ce2 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/217_Ninja Bathin'.json @@ -0,0 +1,241 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010619, + "Position": { + "X": 473.13635, + "Y": 16.492989, + "Z": 67.33801 + }, + "TerritoryId": 139, + "AetheryteShortcut": "Upper La Noscea - Camp Bronze Lake", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + }, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "Position": { + "X": 472.00787, + "Y": 16.493, + "Z": 62.747707 + }, + "TerritoryId": 139, + "Mount": false, + "InteractionType": "WalkTo" + }, + { + "InteractionType": "Jump", + "Position": { + "X": 472.10626, + "Y": 16.493, + "Z": 62.870472 + }, + "JumpDestination": { + "Position": { + "X": 463.8162, + "Y": 12.86743, + "Z": 59.443794 + } + }, + "TerritoryId": 139 + }, + { + "Position": { + "X": 462.61212, + "Y": 12.600694, + "Z": 60.520195 + }, + "JumpDestination": { + "Position": { + "X": 456.10245, + "Y": 12.277541, + "Z": 65.88876 + } + }, + "TerritoryId": 139, + "InteractionType": "Jump" + }, + { + "DataId": 2004930, + "Position": { + "X": 439.78027, + "Y": 12.161377, + "Z": 70.54236 + }, + "TerritoryId": 139, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "Position": { + "X": 441.9759, + "Y": 4.122239, + "Z": 81.76867 + }, + "TerritoryId": 139, + "InteractionType": "WalkTo", + "DisableNavmesh": true + }, + { + "DataId": 1010622, + "Position": { + "X": 488.365, + "Y": 16.907331, + "Z": 86.71704 + }, + "TerritoryId": 139, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1010623, + "Position": { + "X": 413.47375, + "Y": 3.6090105, + "Z": 76.21875 + }, + "TerritoryId": 139, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "Position": { + "X": 472.00787, + "Y": 16.493, + "Z": 62.747707 + }, + "TerritoryId": 139, + "Mount": false, + "InteractionType": "WalkTo" + }, + { + "InteractionType": "Jump", + "Position": { + "X": 472.10626, + "Y": 16.493, + "Z": 62.870472 + }, + "JumpDestination": { + "Position": { + "X": 463.8162, + "Y": 12.86743, + "Z": 59.443794 + } + }, + "TerritoryId": 139 + }, + { + "Position": { + "X": 462.61212, + "Y": 12.600694, + "Z": 60.520195 + }, + "JumpDestination": { + "Position": { + "X": 456.10245, + "Y": 12.277541, + "Z": 65.88876 + } + }, + "TerritoryId": 139, + "InteractionType": "Jump" + }, + { + "DataId": 1010621, + "Position": { + "X": 441.94702, + "Y": 15.396649, + "Z": 65.659546 + }, + "TerritoryId": 139, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "AetheryteShortcut": "Western La Noscea - Aleport", + "DataId": 2004931, + "Position": { + "X": 305.5924, + "Y": -25.0401, + "Z": 229.63293 + }, + "TerritoryId": 138, + "InteractionType": "SinglePlayerDuty", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 232 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/232_Tough Guys.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/232_Tough Guys.json new file mode 100644 index 000000000..277b3c15a --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/232_Tough Guys.json @@ -0,0 +1,295 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Position": { + "X": -116.833, + "Y": 70.279, + "Z": 47.983 + }, + "TerritoryId": 137, + "TargetTerritoryId": 134, + "InteractionType": "WalkTo", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InTerritory": [134] }, + "StepIf": { "InTerritory": [134] } + } + }, + { + "DataId": 1010573, + "Position": { + "X": -188.46423, + "Y": 30.723186, + "Z": -685.1759 + }, + "Fly": true, + "TerritoryId": 134, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [3572] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1010627, + "Position": { + "X": -189.65442, + "Y": 30.837437, + "Z": -685.298 + }, + "TerritoryId": 134, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "InteractionType": "WalkTo", + "Position": { + "X": 246.007, + "Y": 56.384, + "Z": 839.334 + }, + "Fly": true, + "TerritoryId": 137, + "TargetTerritoryId": 135, + "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true, + "InTerritory": [135] + }, + "StepIf": { "InTerritory": [135] } + } + }, + { + "DataId": 1010571, + "Position": { + "X": 491.05054, + "Y": 68.14364, + "Z": -198.50464 + }, + "TerritoryId": 135, + "Fly": true, + "KillEnemyDataIds": [3573], + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2005006, + "Position": { + "X": 492.88147, + "Y": 68.955444, + "Z": -197.58905 + }, + "TerritoryId": 135, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1010575, + "Position": { + "X": 516.68555, + "Y": 9.414734, + "Z": 351.12524 + }, + "Fly": true, + "KillEnemyDataIds": [3572], + "TerritoryId": 137, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 2005007, + "Position": { + "X": 515.5565, + "Y": 9.47583, + "Z": 349.93518 + }, + "TerritoryId": 137, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 7, + "Steps": [ + { + "DataId": 1010572, + "Position": { + "X": 209.21643, + "Y": -2.0700505, + "Z": 260.3036 + }, + "KillEnemyDataIds": [3573], + "Fly": true, + "TerritoryId": 139, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "AetheryteShortcut": "Upper La Noscea - Camp Bronze Lake", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 8, + "Steps": [ + { + "DataId": 2005008, + "Position": { + "X": 208.27039, + "Y": -2.0905762, + "Z": 259.84583 + }, + "TerritoryId": 139, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 9, + "Steps": [ + { + "DataId": 1010574, + "Position": { + "X": -76.98181, + "Y": 64.50076, + "Z": -241.56561 + }, + "TerritoryId": 180, + "InteractionType": "Combat", + "KillEnemyDataIds": [3572], + "EnemySpawnType": "AfterInteraction", + "AetheryteShortcut": "Outer La Noscea - Camp Overlook", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 10, + "Steps": [ + { + "DataId": 2005009, + "Position": { + "X": -77.195435, + "Y": 64.49988, + "Z": -240.71112 + }, + "TerritoryId": 180, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Position": { + "X": -116.833, + "Y": 70.279, + "Z": 47.983 + }, + "TerritoryId": 137, + "TargetTerritoryId": 134, + "InteractionType": "WalkTo", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true, + "InTerritory": [134] + }, + "StepIf": { "InTerritory": [134] } + } + }, + { + "DataId": 2004932, + "Position": { + "X": -182.81836, + "Y": 30.533203, + "Z": -684.93176 + }, + "Fly": true, + "TerritoryId": 134, + "InteractionType": "CompleteQuest", + "NextQuestId": 233 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/233_The Crow Knows.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/233_The Crow Knows.json new file mode 100644 index 000000000..4bc21c0a0 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/233_The Crow Knows.json @@ -0,0 +1,120 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010628, + "Position": { + "X": -189.01355, + "Y": 30.937378, + "Z": -687.2816 + }, + "TerritoryId": 134, + "Fly": true, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Middle La Noscea - Summerford Farms", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1010629, + "Position": { + "X": -8.712891, + "Y": 39.580772, + "Z": 258.2589 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "Fly": true, + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1010630, + "Position": { + "X": -70.93927, + "Y": 36.04747, + "Z": 475.66956 + }, + "TerritoryId": 137, + "InteractionType": "SinglePlayerDuty", + "Fly": true + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1010631, + "Position": { + "X": -68.95557, + "Y": 36.05801, + "Z": 471.4275 + }, + "TerritoryId": 137, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 234 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/234_Master and Student.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/234_Master and Student.json new file mode 100644 index 000000000..04608f05b --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/234_Master and Student.json @@ -0,0 +1,196 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1010632, + "Position": { + "X": -33.76825, + "Y": -24.674442, + "Z": 250.32422 + }, + "TerritoryId": 137, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "Position": { + "X": 407.71924, + "Y": 32.11566, + "Z": -14.989758 + }, + "TerritoryId": 138, + "TargetTerritoryId": 139, + "Fly": true, + "InteractionType": "WalkTo", + "AetheryteShortcut": "Western La Noscea - Aleport", + "SkipConditions": { + "AetheryteShortcutIf": { "InTerritory": [139] }, + "StepIf": { "InTerritory": [139] } + } + }, + { + "DataId": 1010633, + "Position": { + "X": -570.82477, + "Y": -1.4935175, + "Z": -12.619263 + }, + "TerritoryId": 139, + "InteractionType": "Interact", + "Fly": true, + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_JOBNIN500_00234_Q2_000_000", + "Answer": "TEXT_JOBNIN500_00234_A2_000_001" + } + ] + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1010634, + "Position": { + "X": -560.0519, + "Y": -1.7964863, + "Z": -14.572449 + }, + "TerritoryId": 139, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1002515, + "Position": { + "X": -10.421997, + "Y": 8.921356, + "Z": 831.6013 + }, + "TerritoryId": 135, + "InteractionType": "Interact", + "Fly": true, + "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 2004935, + "Position": { + "X": 19.943481, + "Y": 42.923584, + "Z": 855.46655 + }, + "TerritoryId": 135, + "InteractionType": "SinglePlayerDuty", + "Fly": true + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 235 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/235_Strangers in a Strange Land.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/235_Strangers in a Strange Land.json new file mode 100644 index 000000000..c0da4f4e3 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/235_Strangers in a Strange Land.json @@ -0,0 +1,225 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "TargetTerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "NearPosition": { + "Position": { + "X": -151.80984, + "Y": -128.6493, + "Z": 265.27332 + }, + "TerritoryId": 129, + "MaximumDistance": 50 + } + }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -151.80984, + "Y": -128.6493, + "Z": 265.27332 + }, + "TerritoryId": 129, + "MaximumDistance": 50 + } + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1013884, + "Position": { + "X": 172.8999, + "Y": 95.27325, + "Z": -202.92981 + }, + "TerritoryId": 134, + "InteractionType": "Interact", + "AetheryteShortcut": "Middle La Noscea - Summerford Farms", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 2005921, + "Position": { + "X": 30.990967, + "Y": 60.65454, + "Z": -205.40173 + }, + "TerritoryId": 134, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2005922, + "Position": { + "X": -90.37921, + "Y": 43.045654, + "Z": -308.30853 + }, + "TerritoryId": 134, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 2005923, + "Position": { + "X": -148.02783, + "Y": 20.309753, + "Z": -339.40643 + }, + "TerritoryId": 134, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1013892, + "Position": { + "X": -19.241638, + "Y": 12.516694, + "Z": -462.66882 + }, + "TerritoryId": 134, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 1684 + } + ] + } + ] +} diff --git a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1684_The Impossible Girl.json b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1684_The Impossible Girl.json new file mode 100644 index 000000000..b4bf12a18 --- /dev/null +++ b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1684_The Impossible Girl.json @@ -0,0 +1,197 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "Position": { + "X": 227.31966, + "Y": -0.91833544, + "Z": 258.60855 + }, + "TerritoryId": 139, + "InteractionType": "WalkTo", + "Fly": true, + "AetheryteShortcut": "Upper La Noscea - Camp Bronze Lake" + }, + { + "DataId": 1003587, + "Position": { + "X": 220.90479, + "Y": -0.9591979, + "Z": 257.4043 + }, + "TerritoryId": 139, + "Mount": false, + "InteractionType": "Interact", + "TargetTerritoryId": 139 + }, + { + "DataId": 1013893, + "Position": { + "X": -335.2865, + "Y": -2.7013655, + "Z": 135.17957 + }, + "TerritoryId": 139, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2005925, + "Position": { + "X": -449.08832, + "Y": -1.2055054, + "Z": 116.59412 + }, + "KillEnemyDataIds": [5048, 5046], + "TerritoryId": 139, + "InteractionType": "Combat", + "EnemySpawnType": "AfterItemUse", + "ItemId": 2001723, + "CompletionQuestVariablesFlags": [null, null, null, null, null, 128], + "$.0": "[1]", + "$.1": "QuestVariables if done first: 16 32 32 0 0 128" + }, + { + "DataId": 2005926, + "Position": { + "X": -424.24664, + "Y": -5.1728516, + "Z": 168.65796 + }, + "TerritoryId": 139, + "InteractionType": "Combat", + "KillEnemyDataIds": [5046, 5048], + "EnemySpawnType": "AfterItemUse", + "ItemId": 2001723, + "CompletionQuestVariablesFlags": [null, null, null, null, null, 64], + "$.0": "[2]", + "$.1": "QuestVariables if done after [1]: 34 32 16 0 0 192" + }, + { + "DataId": 2005927, + "Position": { + "X": -457.75543, + "Y": -12.64978, + "Z": 218.92114 + }, + "KillEnemyDataIds": [5042, 4619], + "TerritoryId": 139, + "InteractionType": "Combat", + "EnemySpawnType": "AfterItemUse", + "ItemId": 2001723, + "CompletionQuestVariablesFlags": [null, null, null, null, null, 32], + "$.0": "[3]", + "$.1": "QuestVariables if done first: 16 3 32 0 0 32" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1013896, + "Position": { + "X": -430.89954, + "Y": -12.362141, + "Z": 208.23987 + }, + "TerritoryId": 139, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 1685 + } + ] + } + ] +} diff --git a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1685_Ninja Assassin.json b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1685_Ninja Assassin.json new file mode 100644 index 000000000..7fd6311f4 --- /dev/null +++ b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1685_Ninja Assassin.json @@ -0,0 +1,227 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1013898, + "Position": { + "X": 107.71338, + "Y": 68.15523, + "Z": 332.5094 + }, + "TerritoryId": 135, + "InteractionType": "Interact", + "Fly": true, + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_JOBNIN540_01685_Q1_000_000", + "Answer": "TEXT_JOBNIN540_01685_A1_000_020" + } + ], + "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "Position": { + "X": -11.615023, + "Y": 66.32614, + "Z": 421.28235 + }, + "TerritoryId": 135, + "InteractionType": "WalkTo" + }, + { + "TerritoryId": 135, + "InteractionType": "WaitForManualProgress", + "Comment": "Use Raiton on destination" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "Position": { + "X": -45.41632, + "Y": 50.40381, + "Z": 519.4183 + }, + "TerritoryId": 135, + "InteractionType": "WalkTo" + }, + { + "TerritoryId": 135, + "InteractionType": "WaitForManualProgress", + "Comment": "Use Raiton on destination" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "Position": { + "X": -91.23599, + "Y": 28.63774, + "Z": 617.4151 + }, + "TerritoryId": 135, + "InteractionType": "WalkTo" + }, + { + "TerritoryId": 135, + "InteractionType": "WaitForManualProgress", + "Comment": "Use Raiton on destination" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 2005931, + "Position": { + "X": -185.41241, + "Y": 0.015197754, + "Z": 678.8281 + }, + "TerritoryId": 135, + "Fly": true, + "InteractionType": "SinglePlayerDuty" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1013906, + "Position": { + "X": -136.88867, + "Y": 2.2586327, + "Z": 697.8407 + }, + "TerritoryId": 135, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 7, + "Steps": [ + { + "DataId": 1013908, + "Position": { + "X": -38.010254, + "Y": 71.439964, + "Z": 111.95532 + }, + "TerritoryId": 135, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Tempest Gate (Lower La Noscea)" + ], + "SkipConditions": { "AetheryteShortcutIf": { "InTerritory": [129] } } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 1686 + } + ] + } + ] +} diff --git a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1686_Medieval Espionage.json b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1686_Medieval Espionage.json new file mode 100644 index 000000000..1fac612b4 --- /dev/null +++ b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1686_Medieval Espionage.json @@ -0,0 +1,215 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "TargetTerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "NearPosition": { + "Position": { + "X": -151.80984, + "Y": -128.6493, + "Z": 265.27332 + }, + "TerritoryId": 129, + "MaximumDistance": 50 + } + }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -151.80984, + "Y": -128.6493, + "Z": 265.27332 + }, + "TerritoryId": 129, + "MaximumDistance": 50 + } + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "InteractionType": "WalkTo", + "Position": { + "X": 246.007, + "Y": 56.384, + "Z": 839.334 + }, + "Fly": true, + "TerritoryId": 137, + "TargetTerritoryId": 135, + "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true, + "InTerritory": [135] + }, + "StepIf": { "InTerritory": [135] } + } + }, + { + "Position": { + "X": 508.80716, + "Y": 95.940796, + "Z": -450.35608 + }, + "TerritoryId": 135, + "Fly": true, + "KillEnemyDataIds": [4616], + "InteractionType": "Combat", + "EnemySpawnType": "AutoOnEnterArea" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1013909, + "Position": { + "X": 508.75085, + "Y": 95.94249, + "Z": -450.2785 + }, + "TerritoryId": 135, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2005932, + "Position": { + "X": 483.36, + "Y": 10.879639, + "Z": 348.89746 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 1687 + } + ] + } + ] +} diff --git a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1687_Staying Alive.json b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1687_Staying Alive.json new file mode 100644 index 000000000..9d8c74d85 --- /dev/null +++ b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1687_Staying Alive.json @@ -0,0 +1,203 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1001208, + "Position": { + "X": -228.16821, + "Y": 16, + "Z": 50.644653 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Hawkers' Alley" + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2005934, + "Position": { + "X": -188.79993, + "Y": 1.7241821, + "Z": 207.7821 + }, + "TerritoryId": 129, + "InteractionType": "UseItem", + "ItemId": 2001725, + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Hawkers' Alley", + "[Limsa Lominsa] Fishermens' Guild" + ] + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 2005935, + "Position": { + "X": -175.55511, + "Y": 3.982544, + "Z": 179.24768 + }, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "Position": { + "X": 234.53989, + "Y": -56.43721, + "Z": -254.02878 + }, + "TerritoryId": 398, + "InteractionType": "WalkTo", + "AetheryteShortcut": "The Dravanian Forelands - Tailfeather" + }, + { + "DataId": 1013912, + "Position": { + "X": 230.73157, + "Y": -56.71082, + "Z": -247.21143 + }, + "TerritoryId": 398, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 2005938, + "Position": { + "X": 163.28674, + "Y": -64.2558, + "Z": -102.89166 + }, + "TerritoryId": 398, + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [5042, 4619] + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1015302, + "Position": { + "X": 237.59814, + "Y": -54.04252, + "Z": -217.02905 + }, + "TerritoryId": 398, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 1688 + } + ] + } + ] +} diff --git a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1688_In Her Defense.json b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1688_In Her Defense.json new file mode 100644 index 000000000..5003e0636 --- /dev/null +++ b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1688_In Her Defense.json @@ -0,0 +1,253 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2004966, + "Position": { + "X": -16.128845, + "Y": -23.300598, + "Z": 258.13684 + }, + "TerritoryId": 137, + "TargetTerritoryId": 137, + "InteractionType": "Interact", + "SkipConditions": { + "StepIf": { + "NearPosition": { + "Position": { + "X": -6.8438888, + "Y": 39.451496, + "Z": 259.44324 + }, + "TerritoryId": 137, + "MaximumDistance": 20 + } + } + } + }, + { + "DataId": 2005940, + "Position": { + "X": -4.867676, + "Y": 39.414062, + "Z": 263.7826 + }, + "TerritoryId": 137, + "InteractionType": "Combat", + "EnemySpawnType": "AfterEmote", + "KillEnemyDataIds": [5042, 4619], + "Emote": "doze", + "CompletionQuestVariablesFlags": [null, null, null, null, null, 128] + }, + { + "DataId": 2005941, + "Position": { + "X": -47.104614, + "Y": 39.749634, + "Z": 255.6648 + }, + "TerritoryId": 137, + "InteractionType": "Combat", + "EnemySpawnType": "AfterEmote", + "KillEnemyDataIds": [5042, 4619], + "Emote": "doze", + "CompletionQuestVariablesFlags": [null, null, null, null, null, 64] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1013916, + "Position": { + "X": 103.990234, + "Y": 53.596413, + "Z": 674.8607 + }, + "TerritoryId": 135, + "Fly": true, + "InteractionType": "Interact", + "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2005942, + "Position": { + "X": 122.545166, + "Y": 60.65454, + "Z": 934.47766 + }, + "TerritoryId": 135, + "InteractionType": "Interact", + "Fly": true + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1013920, + "Position": { + "X": 259.60168, + "Y": 4.4031205, + "Z": 715.3887 + }, + "TerritoryId": 135, + "Fly": true, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1013920, + "Position": { + "X": 259.60168, + "Y": 4.4031205, + "Z": 715.3887 + }, + "TerritoryId": 135, + "InteractionType": "SinglePlayerDuty" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 2948 + } + ] + } + ] +} diff --git a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2948_Search for the Stolen Scroll.json b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2948_Search for the Stolen Scroll.json new file mode 100644 index 000000000..da54b86af --- /dev/null +++ b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2948_Search for the Stolen Scroll.json @@ -0,0 +1,243 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "TargetTerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "NearPosition": { + "Position": { + "X": -151.80984, + "Y": -128.6493, + "Z": 265.27332 + }, + "TerritoryId": 129, + "MaximumDistance": 50 + } + }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -151.80984, + "Y": -128.6493, + "Z": 265.27332 + }, + "TerritoryId": 129, + "MaximumDistance": 50 + } + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1005411, + "Position": { + "X": 13.412659, + "Y": 40.2, + "Z": -13.260071 + }, + "TerritoryId": 128, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] The Aftcastle" + ] + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1003597, + "Position": { + "X": 8.194031, + "Y": 39.999973, + "Z": 17.746216 + }, + "TerritoryId": 128, + "TargetTerritoryId": 129, + "InteractionType": "Interact", + "SkipConditions": { "StepIf": { "InTerritory": [129] } } + }, + { + "DataId": 1023751, + "Position": { + "X": 0.62561035, + "Y": 20.333344, + "Z": 5.935669 + }, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1023545, + "Position": { + "X": -3.8911133, + "Y": 66.760155, + "Z": 45.303955 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1023547, + "Position": { + "X": 468.80298, + "Y": 10.538202, + "Z": 774.13586 + }, + "TerritoryId": 137, + "Fly": true, + "KillEnemyDataIds": [7496], + "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", + "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1023550, + "Position": { + "X": 477.10376, + "Y": 11.543927, + "Z": 232.28796 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "Fly": true + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 2949 + } + ] + } + ] +} diff --git a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2949_Ninja Bathin' Redux.json b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2949_Ninja Bathin' Redux.json new file mode 100644 index 000000000..0db541cf8 --- /dev/null +++ b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2949_Ninja Bathin' Redux.json @@ -0,0 +1,290 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true }, + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010778, + "Position": { + "X": -28.854858, + "Y": -24.773243, + "Z": 265.3086 + }, + "TerritoryId": 137, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1023555, + "Position": { + "X": 116.349976, + "Y": 11.993538, + "Z": -40.45172 + }, + "TerritoryId": 628, + "InteractionType": "Interact", + "AetheryteShortcut": "Kugane", + "AethernetShortcut": [ + "[Kugane] Aetheryte Plaza", + "[Kugane] Sekiseigumi Barracks" + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "Position": { + "X": -22.793612, + "Y": 2.2649765e-6, + "Z": -60.22008 + }, + "TerritoryId": 628, + "InteractionType": "WalkTo", + "AethernetShortcut": [ + "[Kugane] Sekiseigumi Barracks", + "[Kugane] Aetheryte Plaza" + ], + "SkipConditions": { + "StepIf": { + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + } + } + }, + { + "InteractionType": "WaitForManualProgress", + "TerritoryId": 628, + "Comment": "Hide, then approach Loutish Lickspittle", + "CompletionQuestVariablesFlags": [null, null, null, null, null, 128] + }, + { + "Position": { + "X": -53.864307, + "Y": -2.1307263, + "Z": -106.929726 + }, + "TerritoryId": 628, + "InteractionType": "WalkTo" + }, + { + "InteractionType": "WaitForManualProgress", + "TerritoryId": 628, + "Comment": "Hide, then approach the two NPCs downstairs" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1023555, + "Position": { + "X": 116.349976, + "Y": 11.993538, + "Z": -40.45172 + }, + "TerritoryId": 628, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Kugane] Aetheryte Plaza", + "[Kugane] Sekiseigumi Barracks" + ] + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "JumpDestination": { + "Position": { + "X": -70.46664, + "Y": 19.583387, + "Z": -163.98515 + } + }, + "Position": { + "X": -75.76606, + "Y": 18, + "Z": -164.78288 + }, + "InteractionType": "Jump", + "TerritoryId": 628, + "AethernetShortcut": [ + "[Kugane] Sekiseigumi Barracks", + "[Kugane] Bokairo Inn" + ] + }, + { + "JumpDestination": { + "Position": { + "X": -67.09049, + "Y": 20.600859, + "Z": -163.70255 + } + }, + "Position": { + "X": -70.54904, + "Y": 19.550425, + "Z": -163.96664 + }, + "TerritoryId": 628, + "InteractionType": "Jump" + }, + { + "JumpDestination": { + "Position": { + "X": -67.90176, + "Y": 24.143099, + "Z": -159.9363 + } + }, + "Position": { + "X": -68.15528, + "Y": 20.696194, + "Z": -163.4804 + }, + "TerritoryId": 628, + "InteractionType": "Jump" + }, + { + "Position": { + "X": -39.38211, + "Y": 20.545578, + "Z": -156.03827 + }, + "TerritoryId": 628, + "InteractionType": "WalkTo", + "DisableNavmesh": true + }, + { + "DataId": 2008933, + "Position": { + "X": -40.05493, + "Y": 18.783813, + "Z": -143.3891 + }, + "TerritoryId": 628, + "InteractionType": "Interact", + "DisableNavmesh": true + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "Position": { + "X": -55.23437, + "Y": 5.9548235, + "Z": -144.91388 + }, + "TerritoryId": 628, + "InteractionType": "WalkTo", + "DisableNavmesh": true + }, + { + "DataId": 2008934, + "Position": { + "X": -117.5708, + "Y": 13.412659, + "Z": -134.35571 + }, + "TerritoryId": 628, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 2008935, + "Position": { + "X": -118.18121, + "Y": 13.199036, + "Z": -143.14496 + }, + "TerritoryId": 628, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 7, + "Steps": [ + { + "DataId": 2008936, + "Position": { + "X": -107.49988, + "Y": 19.241516, + "Z": -201.31226 + }, + "TerritoryId": 628, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 2008937, + "Position": { + "X": 116.80774, + "Y": 11.9782715, + "Z": -38.345947 + }, + "TerritoryId": 628, + "InteractionType": "CompleteQuest", + "AethernetShortcut": [ + "[Kugane] Bokairo Inn", + "[Kugane] Sekiseigumi Barracks" + ], + "NextQuestId": 2950 + } + ] + } + ] +} diff --git a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2950_A Game of Life and Death.json b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2950_A Game of Life and Death.json new file mode 100644 index 000000000..90ad79668 --- /dev/null +++ b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2950_A Game of Life and Death.json @@ -0,0 +1,143 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1023555, + "Position": { + "X": 116.349976, + "Y": 11.993538, + "Z": -40.45172 + }, + "TerritoryId": 628, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Kugane", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1023565, + "Position": { + "X": 60.77661, + "Y": 2.011992, + "Z": 34.042847 + }, + "TerritoryId": 628, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Kugane] Sekiseigumi Barracks", + "[Kugane] Kogane Dori Markets" + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1023566, + "Position": { + "X": 8.682312, + "Y": 4, + "Z": 49.881714 + }, + "TerritoryId": 628, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1023565, + "Position": { + "X": 60.77661, + "Y": 2.011992, + "Z": 34.042847 + }, + "TerritoryId": 628, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1023555, + "Position": { + "X": 116.349976, + "Y": 11.993538, + "Z": -40.45172 + }, + "TerritoryId": 628, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Kugane] Kogane Dori Markets", + "[Kugane] Sekiseigumi Barracks" + ] + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1023567, + "Position": { + "X": 696.681, + "Y": -0.051437557, + "Z": 22.659607 + }, + "TerritoryId": 613, + "Fly": true, + "InteractionType": "SinglePlayerDuty", + "AetheryteShortcut": "Ruby Sea - Tamamizu", + "SkipConditions": { + "AetheryteShortcutIf": { + "NearPosition": { + "Position": { + "X": 696.681, + "Y": -0.051437557, + "Z": 22.659607 + }, + "MaximumDistance": 100, + "TerritoryId": 613 + } + } + } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1023570, + "Position": { + "X": 412.16138, + "Y": 68.02851, + "Z": -96.75751 + }, + "TerritoryId": 614, + "InteractionType": "CompleteQuest", + "AetheryteShortcut": "Yanxia - Namai", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + }, + "NextQuestId": 2951 + } + ] + } + ] +} diff --git a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2951_True Enlightenment.json b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2951_True Enlightenment.json new file mode 100644 index 000000000..326f2abc5 --- /dev/null +++ b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2951_True Enlightenment.json @@ -0,0 +1,149 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1023571, + "Position": { + "X": 413.0769, + "Y": 68.02851, + "Z": -99.321045 + }, + "TerritoryId": 614, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Yanxia - Namai", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1023573, + "Position": { + "X": 703.24243, + "Y": 107.83904, + "Z": -341.45117 + }, + "TerritoryId": 614, + "Fly": true, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1023570, + "Position": { + "X": 412.16138, + "Y": 68.02851, + "Z": -96.75751 + }, + "TerritoryId": 614, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1023577, + "Position": { + "X": 693.2936, + "Y": 171.37398, + "Z": 84.82483 + }, + "TerritoryId": 614, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1023570, + "Position": { + "X": 412.16138, + "Y": 68.02851, + "Z": -96.75751 + }, + "TerritoryId": 614, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "Position": { + "X": 555.4114, + "Y": 16.160986, + "Z": 390.68732 + }, + "TerritoryId": 614, + "InteractionType": "Combat", + "KillEnemyDataIds": [6641], + "EnemySpawnType": "OverworldEnemies" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1023570, + "Position": { + "X": 412.16138, + "Y": 68.02851, + "Z": -96.75751 + }, + "TerritoryId": 614, + "InteractionType": "Interact", + "AetheryteShortcut": "Yanxia - Namai" + } + ] + }, + { + "Sequence": 7, + "Steps": [ + { + "DataId": 1023577, + "Position": { + "X": 693.2936, + "Y": 171.37398, + "Z": 84.82483 + }, + "TerritoryId": 614, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1023570, + "Position": { + "X": 412.16138, + "Y": 68.02851, + "Z": -96.75751 + }, + "TerritoryId": 614, + "InteractionType": "CompleteQuest", + "NextQuestId": 2952 + } + ] + } + ] +} diff --git a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2952_When Clans Collide.json b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2952_When Clans Collide.json new file mode 100644 index 000000000..ba6035e0b --- /dev/null +++ b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2952_When Clans Collide.json @@ -0,0 +1,97 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "xan", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1023570, + "Position": { + "X": 413.0769, + "Y": 68.02851, + "Z": -99.321045 + }, + "TerritoryId": 614, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Yanxia - Namai", + "SkipConditions": { + "AetheryteShortcutIf": { "InSameTerritory": true } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2008939, + "Position": { + "X": -174.60901, + "Y": 1.1138916, + "Z": 767.5134 + }, + "TerritoryId": 622, + "InteractionType": "SinglePlayerDuty", + "Fly": true, + "AetheryteShortcut": "Azim Steppe - Dawn Throne", + "SkipConditions": { + "AetheryteShortcutIf": { + "NearPosition": { + "Position": { + "X": -174.60901, + "Y": 1.1138916, + "Z": 767.5134 + }, + "MaximumDistance": 100, + "TerritoryId": 622 + } + } + } + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010601, + "Position": { + "X": -14.755493, + "Y": 41.39178, + "Z": 258.13684 + }, + "TerritoryId": 137, + "InteractionType": "Interact", + "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, + "SkipConditions": { + "StepIf": { + "NearPosition": { + "Position": { + "X": -25.149055, + "Y": -24.773232, + "Z": 258.15594 + }, + "TerritoryId": 137, + "MaximumDistance": 25 + } + } + }, + "TargetTerritoryId": 137 + }, + { + "DataId": 1010139, + "Position": { + "X": -33.218933, + "Y": -24.674446, + "Z": 257.98413 + }, + "TerritoryId": 137, + "InteractionType": "CompleteQuest", + "NextQuestId": 2949 + } + ] + } + ] +} From bcfe07c03d9ed8c4fae583caacd45c855066d875 Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Fri, 18 Oct 2024 20:27:09 +0200 Subject: [PATCH 02/11] Add All Saints Wake quests --- Directory.Build.targets | 2 +- .../5184_The Aether-starved Ahriman.json | 100 ++++++++++++++++++ ..._All Fiends Sated on All Saints' Wake.json | 98 +++++++++++++++++ .../QuestComponents/EventInfoComponent.cs | 1 + 4 files changed, 200 insertions(+), 1 deletion(-) create mode 100644 QuestPaths/7.x - Dawntrail/Seasonal Events/All Saints' Wake (2024)/5184_The Aether-starved Ahriman.json create mode 100644 QuestPaths/7.x - Dawntrail/Seasonal Events/All Saints' Wake (2024)/5185_All Fiends Sated on All Saints' Wake.json diff --git a/Directory.Build.targets b/Directory.Build.targets index 5883b50c5..eb87dd28e 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -1,5 +1,5 @@ - 3.10 + 3.11 diff --git a/QuestPaths/7.x - Dawntrail/Seasonal Events/All Saints' Wake (2024)/5184_The Aether-starved Ahriman.json b/QuestPaths/7.x - Dawntrail/Seasonal Events/All Saints' Wake (2024)/5184_The Aether-starved Ahriman.json new file mode 100644 index 000000000..7ea3ff216 --- /dev/null +++ b/QuestPaths/7.x - Dawntrail/Seasonal Events/All Saints' Wake (2024)/5184_The Aether-starved Ahriman.json @@ -0,0 +1,100 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1050484, + "Position": { + "X": -50.003845, + "Y": 6.5, + "Z": -88.39557 + }, + "TerritoryId": 133, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Gridania", + "AethernetShortcut": [ + "[Gridania] Aetheryte Plaza", + "[Gridania] Mih Khetto's Amphitheatre" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true, + "InTerritory": [ + 133 + ] + } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1050479, + "Position": { + "X": -157.33582, + "Y": 7.982081, + "Z": -143.69421 + }, + "TerritoryId": 133, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1050483, + "Position": { + "X": -151.07965, + "Y": 5.417452, + "Z": -53.330322 + }, + "TerritoryId": 133, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1050483, + "Position": { + "X": -151.07965, + "Y": 5.417452, + "Z": -53.330322 + }, + "TerritoryId": 133, + "InteractionType": "Emote", + "Emote": "soothe" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1050484, + "Position": { + "X": -50.003845, + "Y": 6.5, + "Z": -88.39557 + }, + "TerritoryId": 133, + "InteractionType": "CompleteQuest", + "AethernetShortcut": [ + "[Gridania] Conjurers' Guild", + "[Gridania] Mih Khetto's Amphitheatre" + ], + "NextQuestId": 5185 + } + ] + } + ] +} diff --git a/QuestPaths/7.x - Dawntrail/Seasonal Events/All Saints' Wake (2024)/5185_All Fiends Sated on All Saints' Wake.json b/QuestPaths/7.x - Dawntrail/Seasonal Events/All Saints' Wake (2024)/5185_All Fiends Sated on All Saints' Wake.json new file mode 100644 index 000000000..3ab2b84c3 --- /dev/null +++ b/QuestPaths/7.x - Dawntrail/Seasonal Events/All Saints' Wake (2024)/5185_All Fiends Sated on All Saints' Wake.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": 1050485, + "Position": { + "X": -48.69159, + "Y": 6.4999957, + "Z": -89.79938 + }, + "TerritoryId": 133, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Gridania", + "AethernetShortcut": [ + "[Gridania] Aetheryte Plaza", + "[Gridania] Mih Khetto's Amphitheatre" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true, + "InTerritory": [ + 133 + ] + } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1050486, + "Position": { + "X": -105.97394, + "Y": 6.9391603, + "Z": -133.95898 + }, + "TerritoryId": 133, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1050488, + "Position": { + "X": 12.619202, + "Y": 13.1293745, + "Z": -292.31714 + }, + "TerritoryId": 133, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1050489, + "Position": { + "X": 153.76514, + "Y": 11.213254, + "Z": -221.5763 + }, + "TerritoryId": 133, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1050484, + "Position": { + "X": -50.003845, + "Y": 6.5, + "Z": -88.39557 + }, + "TerritoryId": 133, + "InteractionType": "CompleteQuest", + "AethernetShortcut": [ + "[Gridania] Lancers' Guild", + "[Gridania] Mih Khetto's Amphitheatre" + ] + } + ] + } + ] +} diff --git a/Questionable/Windows/QuestComponents/EventInfoComponent.cs b/Questionable/Windows/QuestComponents/EventInfoComponent.cs index d85e1f70c..cfe507929 100644 --- a/Questionable/Windows/QuestComponents/EventInfoComponent.cs +++ b/Questionable/Windows/QuestComponents/EventInfoComponent.cs @@ -22,6 +22,7 @@ internal sealed class EventInfoComponent [SuppressMessage("ReSharper", "CollectionNeverUpdated.Local")] private readonly List _eventQuests = [ + new("All Saints' Wake", [new(5184)], AtDailyReset(new(2024, 11, 4))), ]; private readonly QuestData _questData; From 8d2c4139f92541f6e2605217a841655f8459d7dc Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Fri, 18 Oct 2024 21:27:31 +0200 Subject: [PATCH 03/11] Add missing quest id for ASW --- Questionable/Windows/QuestComponents/EventInfoComponent.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Questionable/Windows/QuestComponents/EventInfoComponent.cs b/Questionable/Windows/QuestComponents/EventInfoComponent.cs index cfe507929..fedeb0455 100644 --- a/Questionable/Windows/QuestComponents/EventInfoComponent.cs +++ b/Questionable/Windows/QuestComponents/EventInfoComponent.cs @@ -22,7 +22,7 @@ internal sealed class EventInfoComponent [SuppressMessage("ReSharper", "CollectionNeverUpdated.Local")] private readonly List _eventQuests = [ - new("All Saints' Wake", [new(5184)], AtDailyReset(new(2024, 11, 4))), + new("All Saints' Wake", [new(5184), new(5185)], AtDailyReset(new(2024, 11, 4))), ]; private readonly QuestData _questData; From 15999c8c790b96a9f411c353b9a19dae97c91b55 Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Sat, 19 Oct 2024 10:10:33 +0200 Subject: [PATCH 04/11] Add 'disappointed', 'examineself' and 'joy' emotes --- QuestPaths/quest-v1.json | 5 ++++- Questionable.Model/Questing/Converter/EmoteConverter.cs | 5 ++++- Questionable.Model/Questing/EEmote.cs | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/QuestPaths/quest-v1.json b/QuestPaths/quest-v1.json index eefbf1eb7..3751b47d0 100644 --- a/QuestPaths/quest-v1.json +++ b/QuestPaths/quest-v1.json @@ -826,7 +826,10 @@ "battlestance", "doze", "box", - "sundropdance" + "sundropdance", + "disappointed", + "examineself", + "joy" ] } } diff --git a/Questionable.Model/Questing/Converter/EmoteConverter.cs b/Questionable.Model/Questing/Converter/EmoteConverter.cs index 213d909a3..e899a582d 100644 --- a/Questionable.Model/Questing/Converter/EmoteConverter.cs +++ b/Questionable.Model/Questing/Converter/EmoteConverter.cs @@ -36,6 +36,9 @@ public sealed class EmoteConverter() : EnumConverter(Values) { EEmote.BattleStance, "battlestance" }, { EEmote.Doze, "doze" }, { EEmote.Box, "box" }, - { EEmote.SundropDance, "sundropdance"} + { EEmote.SundropDance, "sundropdance"}, + { EEmote.Disappointed, "disappointed" }, + { EEmote.ExamineSelf, "examineself" }, + { EEmote.Joy, "joy" }, }; } diff --git a/Questionable.Model/Questing/EEmote.cs b/Questionable.Model/Questing/EEmote.cs index 4f1b2c6f7..2656997b3 100644 --- a/Questionable.Model/Questing/EEmote.cs +++ b/Questionable.Model/Questing/EEmote.cs @@ -38,4 +38,7 @@ public enum EEmote Doze = 13, Box = 166, SundropDance = 120, + Disappointed = 49, + ExamineSelf = 44, + Joy = 18, } From 3dd5c07a1a770451a035b2ff28ac2895ff7de61e Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Sat, 19 Oct 2024 10:31:27 +0200 Subject: [PATCH 05/11] Add new skip conditions for NIN quests --- QuestPaths/quest-v1.json | 4 +- .../Converter/SkipConditionConverter.cs | 2 + .../Questing/EExtraSkipCondition.cs | 11 +++++- .../Controller/Steps/Shared/SkipCondition.cs | 37 ++++++++++--------- 4 files changed, 35 insertions(+), 19 deletions(-) diff --git a/QuestPaths/quest-v1.json b/QuestPaths/quest-v1.json index 3751b47d0..4551e444e 100644 --- a/QuestPaths/quest-v1.json +++ b/QuestPaths/quest-v1.json @@ -286,7 +286,9 @@ "type": "string", "enum": [ "WakingSandsMainArea", - "RisingStonesSolar" + "RisingStonesSolar", + "RoguesGuild", + "DockStorehouse" ] } }, diff --git a/Questionable.Model/Questing/Converter/SkipConditionConverter.cs b/Questionable.Model/Questing/Converter/SkipConditionConverter.cs index 4088446e7..3de919b9f 100644 --- a/Questionable.Model/Questing/Converter/SkipConditionConverter.cs +++ b/Questionable.Model/Questing/Converter/SkipConditionConverter.cs @@ -9,5 +9,7 @@ public sealed class SkipConditionConverter() : EnumConverter + /// Location for ROG quests in Limsa Lominsa; located far underneath the actual lower decks. + /// + RoguesGuild, + + /// + /// Location for NIN quests in Eastern La Noscea; located far underneath the actual zone. + /// + DockStorehouse, } diff --git a/Questionable/Controller/Steps/Shared/SkipCondition.cs b/Questionable/Controller/Steps/Shared/SkipCondition.cs index c95ee8eab..c1efdbded 100644 --- a/Questionable/Controller/Steps/Shared/SkipCondition.cs +++ b/Questionable/Controller/Steps/Shared/SkipCondition.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using System.Numerics; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; @@ -225,24 +226,14 @@ internal static class SkipCondition } } - if (skipConditions.ExtraCondition == EExtraSkipCondition.WakingSandsMainArea && - clientState.TerritoryType == 212) + if (skipConditions.ExtraCondition != null && skipConditions.ExtraCondition != EExtraSkipCondition.None) { - var position = clientState.LocalPlayer!.Position; - if (position.X < 24) + var position = clientState.LocalPlayer?.Position; + if (position != null && + clientState.TerritoryType != 0 && + MatchesExtraCondition(skipConditions.ExtraCondition.Value, position.Value, clientState.TerritoryType)) { - logger.LogInformation("Skipping step, as we're not in the Solar"); - return true; - } - } - - if (skipConditions.ExtraCondition == EExtraSkipCondition.RisingStonesSolar && - clientState.TerritoryType == 351) - { - var position = clientState.LocalPlayer!.Position; - if (position.Z <= -28) - { - logger.LogInformation("Skipping step, as we're in the Rising Stones Solar"); + logger.LogInformation("Skipping step, extra condition {} matches", skipConditions.ExtraCondition); return true; } } @@ -262,6 +253,18 @@ internal static class SkipCondition return false; } + private static bool MatchesExtraCondition(EExtraSkipCondition condition, Vector3 position, ushort territoryType) + { + return condition switch + { + EExtraSkipCondition.WakingSandsMainArea => territoryType == 212 && position.X < 24, + EExtraSkipCondition.RisingStonesSolar => territoryType == 351 && position.Z <= -28, + EExtraSkipCondition.RoguesGuild => territoryType == 129 && position.Y <= -115, + EExtraSkipCondition.DockStorehouse => territoryType == 137 && position.Y <= -20, + _ => throw new ArgumentOutOfRangeException(nameof(condition), condition, null) + }; + } + public override ETaskResult Update() => ETaskResult.SkipRemainingTasksForStep; } } From 7871025139bb059548b6f7a6699e193997880926 Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Sat, 19 Oct 2024 10:31:45 +0200 Subject: [PATCH 06/11] Add new actions for NIN quests --- QuestPaths/quest-v1.json | 5 ++++- Questionable.Model/Questing/Converter/ActionConverter.cs | 3 +++ Questionable.Model/Questing/EAction.cs | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/QuestPaths/quest-v1.json b/QuestPaths/quest-v1.json index 4551e444e..fb18c119f 100644 --- a/QuestPaths/quest-v1.json +++ b/QuestPaths/quest-v1.json @@ -942,7 +942,10 @@ "Yellow Gulal", "Blue Gulal", "Electric Flux", - "Hop-step" + "Hop-step", + "Fuma Shuriken", + "Katon", + "Raiton" ] } }, diff --git a/Questionable.Model/Questing/Converter/ActionConverter.cs b/Questionable.Model/Questing/Converter/ActionConverter.cs index 6f0be40e5..9b1be7dd8 100644 --- a/Questionable.Model/Questing/Converter/ActionConverter.cs +++ b/Questionable.Model/Questing/Converter/ActionConverter.cs @@ -35,5 +35,8 @@ public sealed class ActionConverter() : EnumConverter(Values) { EAction.BlueGulal, "Blue Gulal" }, { EAction.ElectrixFlux, "Electric Flux" }, { EAction.HopStep, "Hop-step" }, + { EAction.FumaShuriken, "Fuma Shuriken" }, + { EAction.Katon, "Katon" }, + { EAction.Raiton, "Raiton" }, }; } diff --git a/Questionable.Model/Questing/EAction.cs b/Questionable.Model/Questing/EAction.cs index 27bcca1ff..71549e6e6 100644 --- a/Questionable.Model/Questing/EAction.cs +++ b/Questionable.Model/Questing/EAction.cs @@ -36,6 +36,13 @@ public enum EAction BlueGulal = 29384, ElectrixFlux = 29718, HopStep = 31116, + Ten = 2259, + Ninjutsu = 2260, + Chi = 2261, + Jin = 2263, + FumaShuriken = 2265, + Katon = 2266, + Raiton = 2267, CollectMiner = 240, ScourMiner = 22182, From c2b6b4e6bab22c10c96f93cd882e8838999ceaaf Mon Sep 17 00:00:00 2001 From: Plogon Enjoyer Date: Sat, 19 Oct 2024 21:49:09 +0800 Subject: [PATCH 07/11] Added new daily quest: Tonight We Dine in Shells --- .../2983_Tonight We Dine in Shells.json | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 QuestPaths/4.x - Stormblood/Allied Societies/Kojin/Dailies/2983_Tonight We Dine in Shells.json diff --git a/QuestPaths/4.x - Stormblood/Allied Societies/Kojin/Dailies/2983_Tonight We Dine in Shells.json b/QuestPaths/4.x - Stormblood/Allied Societies/Kojin/Dailies/2983_Tonight We Dine in Shells.json new file mode 100644 index 000000000..ecb3ee0a3 --- /dev/null +++ b/QuestPaths/4.x - Stormblood/Allied Societies/Kojin/Dailies/2983_Tonight We Dine in Shells.json @@ -0,0 +1,112 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "plogon_enjoyer", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1024217, + "Position": { + "X": 394.39978, + "Y": -119.58932, + "Z": -232.28815 + }, + "TerritoryId": 613, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "Position": { + "X": 840.90247, + "Y": 5.923009, + "Z": 842.75916 + }, + "TerritoryId": 613, + "InteractionType": "WalkTo", + "AetheryteShortcut": "Kugane", + "AethernetShortcut": [ + "[Kugane] Aetheryte Plaza", + "[Kugane] The Ruby Price" + ], + "Fly": true + }, + { + "DataId": 2009092, + "Position": { + "X": 38.864624, + "Y": 18.20398, + "Z": 712.7947 + }, + "TerritoryId": 613, + "InteractionType": "Combat", + "EnemySpawnType": "AfterItemUse", + "ItemId": 2002401, + "KillEnemyDataIds": [8236], + "RequiredQuestVariables": [null, null, null, [16, 32], null, null], + "Fly": true + }, + { + "DataId": 2009091, + "Position": { + "X": -72.58722, + "Y": 10.513428, + "Z": 632.41016 + }, + "TerritoryId": 613, + "InteractionType": "Combat", + "EnemySpawnType": "AfterItemUse", + "ItemId": 2002401, + "KillEnemyDataIds": [8236], + "RequiredQuestVariables": [null, null, null, [16], null, null], + "Fly": true + }, + { + "DataId": 2009093, + "Position": { + "X": 29.495605, + "Y": 3.0059814, + "Z": 527.7637 + }, + "TerritoryId": 613, + "InteractionType": "Combat", + "EnemySpawnType": "AfterItemUse", + "ItemId": 2002401, + "KillEnemyDataIds": [8236], + "RequiredQuestVariables": [null, null, null, [32], null, null], + "Fly": true + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": 391.50903, + "Y": -119.58932, + "Z": -236.18898 + }, + "TerritoryId": 613, + "InteractionType": "WalkTo", + "Fly": true, + "AetheryteShortcut": "Ruby Sea - Tamamizu" + }, + { + "DataId": 1024217, + "Position": { + "X": 394.39978, + "Y": -119.58932, + "Z": -232.28815 + }, + "TerritoryId": 613, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} From 38f4f6120dcf96610b886d79b69c15484282464f Mon Sep 17 00:00:00 2001 From: Plogon Enjoyer Date: Sat, 19 Oct 2024 22:07:56 +0800 Subject: [PATCH 08/11] Added new story quest: Nest Side Story --- .../Vanu Vanu/Story/2170_Nest Side Story.json | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Story/2170_Nest Side Story.json diff --git a/QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Story/2170_Nest Side Story.json b/QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Story/2170_Nest Side Story.json new file mode 100644 index 000000000..605ff2053 --- /dev/null +++ b/QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Story/2170_Nest Side Story.json @@ -0,0 +1,87 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "plogon_enjoyer", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1016087, + "Position": { + "X": -796.7498, + "Y": -133.2695, + "Z": -410.6966 + }, + "TerritoryId": 401, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2006623, + "Position": { + "X": -761.74567, + "Y": -132.61621, + "Z": -422.1714 + }, + "TerritoryId": 401, + "InteractionType": "Emote", + "Emote": "sundropdance", + "Fly": true + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1016087, + "Position": { + "X": -796.7498, + "Y": -133.2695, + "Z": -410.6966 + }, + "TerritoryId": 401, + "InteractionType": "Interact", + "Fly": true + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1012064, + "Position": { + "X": -542.7787, + "Y": -37.11544, + "Z": -386.7094 + }, + "TerritoryId": 401, + "InteractionType": "Interact", + "AetheryteShortcut": "The Sea of Clouds - Ok' Zundu", + "Fly": true + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 2006637, + "Position": { + "X": -220.47766, + "Y": -4.9592285, + "Z": -582.3301 + }, + "TerritoryId": 401, + "InteractionType": "Interact", + "Fly": true + } + ] + } + ] +} From ffa4fbb79366986ffcc7476fb7745e1bdbc04a8c Mon Sep 17 00:00:00 2001 From: Plogon Enjoyer Date: Sat, 19 Oct 2024 22:24:10 +0800 Subject: [PATCH 09/11] Added new daily quests: - Borderline Slaughter - Fighting Firesand with Fire - Smothering Instinct - Arms of the U --- .../Dailies/1223_Borderline Slaughter.json | 63 +++++++++ .../1226_Fighting Firesand with Fire.json | 53 +++++++ .../Dailies/1227_Smothering Instinct.json | 37 +++++ .../Amalj'aa/Dailies/1230_Arms of the U.json | 132 ++++++++++++++++++ 4 files changed, 285 insertions(+) create mode 100644 QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1223_Borderline Slaughter.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1226_Fighting Firesand with Fire.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1227_Smothering Instinct.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1230_Arms of the U.json diff --git a/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1223_Borderline Slaughter.json b/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1223_Borderline Slaughter.json new file mode 100644 index 000000000..bbc7f00b3 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1223_Borderline Slaughter.json @@ -0,0 +1,63 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "plogon_enjoyer", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1005550, + "Position": { + "X": 105.27197, + "Y": 15.359643, + "Z": -357.3816 + }, + "TerritoryId": 146, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "Position": { + "X": 38.26816, + "Y": 2.6207216, + "Z": -275.37003 + }, + "TerritoryId": 146, + "InteractionType": "Combat", + "EnemySpawnType": "OverworldEnemies", + "ComplexCombatData": [ + { + "DataId": 742, + "MinimumKillCount": 2 + }, + { + "DataId": 739, + "MinimumKillCount": 2 + } + ], + "Fly": true + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1005550, + "Position": { + "X": 105.27197, + "Y": 15.359643, + "Z": -357.3816 + }, + "TerritoryId": 146, + "InteractionType": "CompleteQuest", + "Fly": true + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1226_Fighting Firesand with Fire.json b/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1226_Fighting Firesand with Fire.json new file mode 100644 index 000000000..79a7150fa --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1226_Fighting Firesand with Fire.json @@ -0,0 +1,53 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "plogon_enjoyer", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1005550, + "Position": { + "X": 105.27197, + "Y": 15.359643, + "Z": -357.3816 + }, + "TerritoryId": 146, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1008327, + "Position": { + "X": 45.303955, + "Y": 4, + "Z": -345.11334 + }, + "TerritoryId": 146, + "InteractionType": "Interact", + "Fly": true + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1005550, + "Position": { + "X": 105.27197, + "Y": 15.359643, + "Z": -357.3816 + }, + "TerritoryId": 146, + "InteractionType": "CompleteQuest", + "Fly": true + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1227_Smothering Instinct.json b/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1227_Smothering Instinct.json new file mode 100644 index 000000000..538e8a4de --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1227_Smothering Instinct.json @@ -0,0 +1,37 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "plogon_enjoyer", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1005550, + "Position": { + "X": 105.27197, + "Y": 15.359643, + "Z": -357.3816 + }, + "TerritoryId": 146, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1005550, + "Position": { + "X": 105.27197, + "Y": 15.359643, + "Z": -357.3816 + }, + "TerritoryId": 146, + "InteractionType": "CompleteQuest", + "Fly": true + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1230_Arms of the U.json b/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1230_Arms of the U.json new file mode 100644 index 000000000..971efc8db --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Allied Societies/Amalj'aa/Dailies/1230_Arms of the U.json @@ -0,0 +1,132 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "plogon_enjoyer", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1005550, + "Position": { + "X": 105.27197, + "Y": 15.359643, + "Z": -357.3816 + }, + "TerritoryId": 146, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2003141, + "Position": { + "X": -22.537598, + "Y": 3.616333, + "Z": -44.663208 + }, + "TerritoryId": 146, + "InteractionType": "Interact", + "Fly": true, + "RequiredQuestVariables": [null, null, null, [2, 3, 4], null, null] + }, + { + "DataId": 2003148, + "Position": { + "X": 15.27417, + "Y": 2.1820068, + "Z": 22.9953 + }, + "TerritoryId": 146, + "InteractionType": "Interact", + "Fly": true, + "RequiredQuestVariables": [null, null, null, [1, 4, 5], null, null] + }, + { + "DataId": 2003147, + "Position": { + "X": 25.192627, + "Y": 2.8533936, + "Z": 10.788086 + }, + "TerritoryId": 146, + "InteractionType": "Interact", + "Fly": true, + "RequiredQuestVariables": [null, null, null, [1, 3, 5], null, null] + }, + { + "DataId": 2003140, + "Position": { + "X": -37.094727, + "Y": -0.5340576, + "Z": 14.90802 + }, + "TerritoryId": 146, + "InteractionType": "Interact", + "Fly": true, + "RequiredQuestVariables": [null, null, null, [2, 5], null, null] + }, + { + "DataId": 2003136, + "Position": { + "X": -52.99463, + "Y": -1.2055054, + "Z": 17.532532 + }, + "TerritoryId": 146, + "InteractionType": "Interact", + "Fly": true, + "RequiredQuestVariables": [null, null, null, [1, 2, 3, 4], null, null] + }, + { + "Position": { + "X": -52.99463, + "Y": -1.2055054, + "Z": 17.532532 + }, + "TerritoryId": 146, + "InteractionType": "Combat", + "EnemySpawnType": "OverworldEnemies", + "ComplexCombatData": [ + { + "DataId": 740, + "MinimumKillCount": 1 + }, + { + "DataId": 741, + "MinimumKillCount": 1 + } + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -124.393555, + "Y": -2.04119, + "Z": 36.344994 + }, + "TerritoryId": 146, + "InteractionType": "WalkTo" + }, + { + "DataId": 1005550, + "Position": { + "X": 105.27197, + "Y": 15.359643, + "Z": -357.3816 + }, + "TerritoryId": 146, + "InteractionType": "CompleteQuest", + "Fly": true, + "DelaySecondsAtStart": 3 + } + ] + } + ] +} From c6272ccd88c0058be0bb43ee549bc8cdc82dee80 Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Sat, 19 Oct 2024 17:24:21 +0200 Subject: [PATCH 10/11] Add rogue quests; adjust ninja paths --- .../RoslynElements/QuestStepExtensions.cs | 2 + .../Class Quests/NIN/102_My First Dagger.json | 3 +- .../NIN/104_Stabbers in Yer Fambles.json | 196 ++++++++++ .../NIN/110_A Dainty Dilemma.json | 298 +++++++++++++++ .../NIN/126_Stray into the Shadows.json | 346 ++++++++++++++++++ .../Class Quests/NIN/144_Stifled Screams.json | 144 ++++++++ .../NIN/145_Slave to the Code.json | 86 +++++ .../NIN/146_Grinners in the Mist.json | 258 +++++++++++++ .../Class Quests/NIN/148_Sweet Sorrows.json | 292 +++++++++++++++ .../NIN/154_Market for Death.json | 160 ++++++++ .../Class Quests/NIN/155_Cloying Victory.json | 108 ++++++ .../212_Peasants by Day, Ninjas by Night.json | 27 +- .../Class Quests/NIN/213_My First Mudra.json | 20 +- .../NIN/215_Once Upon a Time in Doma.json | 41 +-- .../NIN/216_Pirates versus Ninjas.json | 20 +- .../Class Quests/NIN/217_Ninja Bathin'.json | 11 +- .../Class Quests/NIN/232_Tough Guys.json | 11 +- .../Class Quests/NIN/233_The Crow Knows.json | 11 +- .../NIN/234_Master and Student.json | 31 +- .../NIN/235_Strangers in a Strange Land.json | 22 +- .../NIN/1684_The Impossible Girl.json | 22 +- .../Class Quests/NIN/1685_Ninja Assassin.json | 67 +--- .../NIN/1686_Medieval Espionage.json | 22 +- .../Class Quests/NIN/1687_Staying Alive.json | 29 +- .../Class Quests/NIN/1688_In Her Defense.json | 42 +-- .../2948_Search for the Stolen Scroll.json | 29 +- .../NIN/2949_Ninja Bathin' Redux.json | 43 ++- .../NIN/2951_True Enlightenment.json | 31 +- .../NIN/2952_When Clans Collide.json | 22 +- QuestPaths/quest-v1.json | 27 +- .../Questing/Converter/ActionConverter.cs | 1 + .../Converter/InteractionTypeConverter.cs | 1 + .../Questing/Converter/StatusConverter.cs | 12 + Questionable.Model/Questing/EAction.cs | 2 + .../Questing/EInteractionType.cs | 1 + Questionable.Model/Questing/EStatus.cs | 12 + Questionable.Model/Questing/QuestStep.cs | 1 + .../Controller/Steps/Gathering/DoGather.cs | 4 +- .../Controller/Steps/Interactions/Action.cs | 82 ++++- .../Steps/Interactions/StatusOff.cs | 47 +++ Questionable/Functions/GameFunctions.cs | 8 +- Questionable/QuestionablePlugin.cs | 2 + 42 files changed, 2261 insertions(+), 333 deletions(-) create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/104_Stabbers in Yer Fambles.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/110_A Dainty Dilemma.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/126_Stray into the Shadows.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/144_Stifled Screams.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/145_Slave to the Code.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/146_Grinners in the Mist.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/148_Sweet Sorrows.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/154_Market for Death.json create mode 100644 QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/155_Cloying Victory.json create mode 100644 Questionable.Model/Questing/Converter/StatusConverter.cs create mode 100644 Questionable.Model/Questing/EStatus.cs create mode 100644 Questionable/Controller/Steps/Interactions/StatusOff.cs diff --git a/QuestPathGenerator/RoslynElements/QuestStepExtensions.cs b/QuestPathGenerator/RoslynElements/QuestStepExtensions.cs index 45f2a858e..d65ca7942 100644 --- a/QuestPathGenerator/RoslynElements/QuestStepExtensions.cs +++ b/QuestPathGenerator/RoslynElements/QuestStepExtensions.cs @@ -95,6 +95,8 @@ internal static class QuestStepExtensions .AsSyntaxNodeOrToken(), Assignment(nameof(QuestStep.Action), step.Action, emptyStep.Action) .AsSyntaxNodeOrToken(), + Assignment(nameof(QuestStep.Status), step.Status, emptyStep.Status) + .AsSyntaxNodeOrToken(), Assignment(nameof(QuestStep.EnemySpawnType), step.EnemySpawnType, emptyStep.EnemySpawnType) .AsSyntaxNodeOrToken(), diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/102_My First Dagger.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/102_My First Dagger.json index 431a9e90b..bece61c85 100644 --- a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/102_My First Dagger.json +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/102_My First Dagger.json @@ -53,7 +53,8 @@ "Prompt": "TEXT_CLSROG011_00102_Q1_000_030", "Yes": true } - ] + ], + "NextQuestId": 104 } ] } diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/104_Stabbers in Yer Fambles.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/104_Stabbers in Yer Fambles.json new file mode 100644 index 000000000..a87348bb6 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/104_Stabbers in Yer Fambles.json @@ -0,0 +1,196 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "TargetTerritoryId": 129, + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "ExtraCondition": "RoguesGuild" + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "Position": { + "X": 31.662792, + "Y": 44.020653, + "Z": 146.94322 + }, + "TerritoryId": 134, + "InteractionType": "Combat", + "EnemySpawnType": "OverworldEnemies", + "ComplexCombatData": [ + { + "DataId": 347, + "MinimumKillCount": 3, + "CompletionQuestVariablesFlags": [ + { + "Low": 3 + }, + null, + null, + null, + null, + null + ] + } + ], + "AethernetShortcut": [ + "[Limsa Lominsa] Fishermens' Guild", + "[Limsa Lominsa] Zephyr Gate (Middle La Noscea)" + ], + "CompletionQuestVariablesFlags": [ + { + "Low": 3 + }, + null, + null, + null, + null, + null + ] + }, + { + "Position": { + "X": 74.15681, + "Y": 45.953808, + "Z": 169.73499 + }, + "TerritoryId": 134, + "InteractionType": "Combat", + "EnemySpawnType": "OverworldEnemies", + "ComplexCombatData": [ + { + "DataId": 338, + "MinimumKillCount": 3, + "CompletionQuestVariablesFlags": [ + null, + { + "Low": 3 + }, + null, + null, + null, + null + ] + } + ], + "CompletionQuestVariablesFlags": [ + null, + { + "Low": 3 + }, + null, + null, + null, + null + ] + }, + { + "Position": { + "X": 5.6626997, + "Y": 42.625427, + "Z": 55.983746 + }, + "TerritoryId": 134, + "InteractionType": "Combat", + "EnemySpawnType": "OverworldEnemies", + "ComplexCombatData": [ + { + "DataId": 383, + "MinimumKillCount": 3, + "CompletionQuestVariablesFlags": [ + null, + { + "High": 3 + }, + null, + null, + null, + null + ] + } + ], + "CompletionQuestVariablesFlags": [ + null, + { + "High": 3 + }, + null, + null, + null, + null + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ] + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "CompleteQuest", + "NextQuestId": 110 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/110_A Dainty Dilemma.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/110_A Dainty Dilemma.json new file mode 100644 index 000000000..062d18b9d --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/110_A Dainty Dilemma.json @@ -0,0 +1,298 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "TargetTerritoryId": 129, + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "ExtraCondition": "RoguesGuild" + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1010197, + "Position": { + "X": -150.98804, + "Y": -129.4397, + "Z": 266.31567 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2004936, + "Position": { + "X": -151.90363, + "Y": -128.16058, + "Z": 256.8551 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "SkipConditions": { + "StepIf": { + "InTerritory": [ + 135 + ] + } + } + }, + { + "Position": { + "X": 174.3623, + "Y": 39.811382, + "Z": 52.27733 + }, + "TerritoryId": 135, + "InteractionType": "Combat", + "EnemySpawnType": "OverworldEnemies", + "Fly": true, + "KillEnemyDataIds": [ + 324 + ], + "AethernetShortcut": [ + "[Limsa Lominsa] Fishermens' Guild", + "[Limsa Lominsa] Tempest Gate (Lower La Noscea)" + ] + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "ExtraCondition": "RoguesGuild" + } + } + }, + { + "DataId": 1010197, + "Position": { + "X": -150.98804, + "Y": -129.4397, + "Z": 266.31567 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2004936, + "Position": { + "X": -151.90363, + "Y": -128.16058, + "Z": 256.8551 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "AethernetShortcut": [ + "[Limsa Lominsa] Fishermens' Guild", + "[Limsa Lominsa] The Aftcastle" + ], + "SkipConditions": { + "StepIf": { + "InTerritory": [ + 128 + ] + } + } + }, + { + "DataId": 1005411, + "Position": { + "X": 13.412659, + "Y": 40.2, + "Z": -13.260071 + }, + "TerritoryId": 128, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_CLSROG050_00110_Q1_000_061", + "Answer": "TEXT_CLSROG050_00110_A1_000_064" + } + ] + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1010206, + "Position": { + "X": 107.71338, + "Y": 47.783855, + "Z": 50.736206 + }, + "TerritoryId": 134, + "InteractionType": "Interact", + "Fly": true, + "AethernetShortcut": [ + "[Limsa Lominsa] The Aftcastle", + "[Limsa Lominsa] Zephyr Gate (Middle La Noscea)" + ] + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "Position": { + "X": 101.76026, + "Y": 48.69752, + "Z": 10.89893 + }, + "TerritoryId": 134, + "InteractionType": "Combat", + "EnemySpawnType": "OverworldEnemies", + "KillEnemyDataIds": [ + 769 + ], + "Fly": true + } + ] + }, + { + "Sequence": 7, + "Steps": [ + { + "DataId": 1010206, + "Position": { + "X": 107.71338, + "Y": 47.783855, + "Z": 50.736206 + }, + "TerritoryId": 134, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 8, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "ExtraCondition": "RoguesGuild" + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "CompleteQuest", + "NextQuestId": 126 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/126_Stray into the Shadows.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/126_Stray into the Shadows.json new file mode 100644 index 000000000..bf69b4562 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/126_Stray into the Shadows.json @@ -0,0 +1,346 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "TargetTerritoryId": 129, + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "ExtraCondition": "RoguesGuild" + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1010198, + "Position": { + "X": -152.11719, + "Y": -129.4397, + "Z": 267.10913 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2004936, + "Position": { + "X": -151.8734, + "Y": -128.1446, + "Z": 256.8712 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "SkipConditions": { + "StepIf": { + "InTerritory": [ + 128 + ] + } + } + }, + { + "DataId": 1010212, + "Position": { + "X": -50.8584, + "Y": 40, + "Z": 111.40613 + }, + "TerritoryId": 128, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Limsa Lominsa] Fishermens' Guild", + "[Limsa Lominsa] The Aftcastle" + ] + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1010211, + "Position": { + "X": -42.22174, + "Y": 42.249126, + "Z": 115.89221 + }, + "TerritoryId": 128, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "Position": { + "X": -62.300663, + "Y": 42.300003, + "Z": -151.94725 + }, + "StopDistance": 0.5, + "TerritoryId": 128, + "InteractionType": "Action", + "Action": "Hide", + "AethernetShortcut": [ + "[Limsa Lominsa] The Aftcastle", + "[Limsa Lominsa] Culinarians' Guild" + ], + "SkipConditions": { + "StepIf": { + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + } + } + }, + { + "Position": { + "X": -54.962505, + "Y": 42.300007, + "Z": -158.14607 + }, + "StopDistance": 0.5, + "TerritoryId": 128, + "InteractionType": "WalkTo", + "DisableNavmesh": true, + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + }, + { + "TerritoryId": 128, + "InteractionType": "StatusOff", + "Status": "Hidden" + }, + { + "Position": { + "X": -155.25468, + "Y": 18, + "Z": 28.882175 + }, + "StopDistance": 0.5, + "TerritoryId": 129, + "InteractionType": "Action", + "Action": "Hide", + "AethernetShortcut": [ + "[Limsa Lominsa] Culinarians' Guild", + "[Limsa Lominsa] Hawkers' Alley" + ], + "SkipConditions": { + "StepIf": { + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 32 + ] + } + } + }, + { + "Position": { + "X": -150.91245, + "Y": 18.2, + "Z": 34.06711 + }, + "StopDistance": 0.5, + "TerritoryId": 129, + "InteractionType": "WalkTo", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 32 + ] + }, + { + "TerritoryId": 129, + "InteractionType": "StatusOff", + "Status": "Hidden" + }, + { + "Position": { + "X": -187.95581, + "Y": 1.2697256, + "Z": 208.46738 + }, + "StopDistance": 0.5, + "TerritoryId": 129, + "InteractionType": "Action", + "Action": "Hide", + "AethernetShortcut": [ + "[Limsa Lominsa] Hawkers' Alley", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "StepIf": { + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + } + } + }, + { + "Position": { + "X": -190.81572, + "Y": 0.9999907, + "Z": 210.59836 + }, + "TerritoryId": 129, + "InteractionType": "WalkTo", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "TerritoryId": 129, + "InteractionType": "StatusOff", + "Status": "Hidden" + }, + { + "DataId": 1010213, + "Position": { + "X": -161.12, + "Y": 1.9499999, + "Z": 239.30713 + }, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1010213, + "Position": { + "X": -161.12, + "Y": 1.9499999, + "Z": 239.30713 + }, + "TerritoryId": 129, + "InteractionType": "SinglePlayerDuty" + } + ] + }, + { + "Sequence": 7, + "Steps": [ + { + "DataId": 1010213, + "Position": { + "X": -161.12, + "Y": 1.9499999, + "Z": 239.30713 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Limsa Lominsa] Hawkers' Alley", + "[Limsa Lominsa] Fishermens' Guild" + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129 + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "CompleteQuest", + "NextQuestId": 144 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/144_Stifled Screams.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/144_Stifled Screams.json new file mode 100644 index 000000000..be10582b4 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/144_Stifled Screams.json @@ -0,0 +1,144 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "TargetTerritoryId": 129, + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "ExtraCondition": "RoguesGuild" + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1010199, + "Position": { + "X": 256.12268, + "Y": 21.097961, + "Z": 581.3839 + }, + "TerritoryId": 135, + "InteractionType": "Interact", + "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks", + "Fly": true + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 2004861, + "Position": { + "X": -131.63965, + "Y": 0.503479, + "Z": 729.9762 + }, + "TerritoryId": 135, + "InteractionType": "Interact", + "Fly": true + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1010218, + "Position": { + "X": 319.44763, + "Y": -36.353825, + "Z": 346.76123 + }, + "TerritoryId": 138, + "InteractionType": "Interact", + "Fly": true, + "AetheryteShortcut": "Western La Noscea - Aleport" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1010218, + "Position": { + "X": 319.44763, + "Y": -36.353825, + "Z": 346.76123 + }, + "TerritoryId": 138, + "InteractionType": "SinglePlayerDuty" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1010218, + "Position": { + "X": 319.44763, + "Y": -36.353825, + "Z": 346.76123 + }, + "StopDistance": 5, + "TerritoryId": 138, + "InteractionType": "CompleteQuest", + "NextQuestId": 145 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/145_Slave to the Code.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/145_Slave to the Code.json new file mode 100644 index 000000000..18b09b127 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/145_Slave to the Code.json @@ -0,0 +1,86 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1010218, + "Position": { + "X": 319.44763, + "Y": -36.353825, + "Z": 346.76123 + }, + "StopDistance": 5, + "TerritoryId": 138, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Western La Noscea - Aleport", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "Position": { + "X": 593.2056, + "Y": 43.88314, + "Z": 304.65137 + }, + "TerritoryId": 138, + "InteractionType": "WalkTo", + "Fly": true + }, + { + "DataId": 1010228, + "Position": { + "X": 594.1709, + "Y": 43.893982, + "Z": 303.76135 + }, + "TerritoryId": 138, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ] + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "CompleteQuest", + "NextQuestId": 146 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/146_Grinners in the Mist.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/146_Grinners in the Mist.json new file mode 100644 index 000000000..091bc9be8 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/146_Grinners in the Mist.json @@ -0,0 +1,258 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "TargetTerritoryId": 129, + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "ExtraCondition": "RoguesGuild" + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2004936, + "Position": { + "X": -151.90363, + "Y": -128.16058, + "Z": 256.8551 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129 + }, + { + "DataId": 1010238, + "Position": { + "X": 146.71545, + "Y": 62.3279, + "Z": 291.82874 + }, + "TerritoryId": 134, + "InteractionType": "Interact", + "AethernetShortcut": [ + "[Limsa Lominsa] Fishermens' Guild", + "[Limsa Lominsa] Zephyr Gate (Middle La Noscea)" + ], + "Fly": true + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "Position": { + "X": 168.34132, + "Y": 69.5, + "Z": 327.67975 + }, + "StopDistance": 0.5, + "TerritoryId": 134, + "InteractionType": "Action", + "Action": "Hide" + }, + { + "Position": { + "X": 178.24341, + "Y": 69.5, + "Z": 328.4606 + }, + "TerritoryId": 134, + "InteractionType": "WalkTo" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "TerritoryId": 134, + "InteractionType": "StatusOff", + "Status": "Hidden" + }, + { + "DataId": 1010238, + "Position": { + "X": 146.71545, + "Y": 62.3279, + "Z": 291.82874 + }, + "TerritoryId": 134, + "InteractionType": "Interact", + "Fly": true + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1010242, + "Position": { + "X": 7.2174683, + "Y": 57.91383, + "Z": -307.11835 + }, + "TerritoryId": 134, + "InteractionType": "Combat", + "AetheryteShortcut": "Middle La Noscea - Summerford Farms", + "Fly": true, + "EnemySpawnType": "AfterInteraction", + "KillEnemyDataIds": [ + 3567, + 3568 + ] + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1010242, + "Position": { + "X": 7.2174683, + "Y": 57.91383, + "Z": -307.11835 + }, + "TerritoryId": 134, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ] + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 7, + "Steps": [ + { + "DataId": 1010237, + "Position": { + "X": 242.29797, + "Y": 8.000164, + "Z": 668.2383 + }, + "TerritoryId": 135, + "InteractionType": "SinglePlayerDuty", + "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks", + "Fly": true + } + ] + }, + { + "Sequence": 8, + "Steps": [ + { + "DataId": 1010237, + "Position": { + "X": 242.29797, + "Y": 8.000164, + "Z": 668.2383 + }, + "StopDistance": 7, + "TerritoryId": 135, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ] + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "CompleteQuest", + "NextQuestId": 148 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/148_Sweet Sorrows.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/148_Sweet Sorrows.json new file mode 100644 index 000000000..78735a356 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/148_Sweet Sorrows.json @@ -0,0 +1,292 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "TargetTerritoryId": 129, + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "ExtraCondition": "RoguesGuild" + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2004936, + "Position": { + "X": -151.90363, + "Y": -128.16058, + "Z": 256.8551 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "SkipConditions": { + "StepIf": { + "InTerritory": [ + 134, + 135 + ] + } + } + }, + { + "Position": { + "X": 212.54845, + "Y": 65.80573, + "Z": 285.71436 + }, + "TerritoryId": 134, + "InteractionType": "WalkTo", + "AethernetShortcut": [ + "[Limsa Lominsa] Fishermens' Guild", + "[Limsa Lominsa] Zephyr Gate (Middle La Noscea)" + ], + "Fly": true, + "SkipConditions": { + "StepIf": { + "InTerritory": [ + 135 + ] + } + } + }, + { + "Position": { + "X": 509.26575, + "Y": 95.90476, + "Z": -446.11078 + }, + "StopDistance": 0.5, + "TerritoryId": 135, + "InteractionType": "Combat", + "EnemySpawnType": "AutoOnEnterArea", + "KillEnemyDataIds": [ + 2864, + 2865, + 2866 + ], + "Fly": true + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1010252, + "Position": { + "X": 508.23218, + "Y": 95.95811, + "Z": -449.82074 + }, + "TerritoryId": 135, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ] + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 2004936, + "Position": { + "X": -151.90363, + "Y": -128.16058, + "Z": 256.8551 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "SkipConditions": { + "StepIf": { + "AetheryteUnlocked": "Eastern La Noscea - Costa Del Sol" + } + }, + "$": "Pathfinder ref" + }, + { + "DataId": 1000868, + "Position": { + "X": -192.00433, + "Y": 0.9999907, + "Z": 211.68835 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 137, + "SkipConditions": { + "StepIf": { + "AetheryteUnlocked": "Eastern La Noscea - Costa Del Sol" + } + } + }, + { + "TerritoryId": 137, + "InteractionType": "AttuneAetheryte", + "Aetheryte": "Eastern La Noscea - Costa Del Sol", + "SkipConditions": { + "StepIf": { + "AetheryteUnlocked": "Eastern La Noscea - Costa Del Sol" + } + } + }, + { + "Position": { + "X": 449.17413, + "Y": 16.072088, + "Z": 406.06335 + }, + "TerritoryId": 137, + "InteractionType": "WalkTo", + "Fly": true, + "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + }, + { + "DataId": 1010251, + "Position": { + "X": 450.82776, + "Y": 16.18121, + "Z": 406.69873 + }, + "TerritoryId": 137, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "DataId": 1010251, + "Position": { + "X": 450.82776, + "Y": 16.18121, + "Z": 406.69873 + }, + "TerritoryId": 137, + "InteractionType": "SinglePlayerDuty" + } + ] + }, + { + "Sequence": 6, + "Steps": [ + { + "DataId": 1010250, + "Position": { + "X": 448.47778, + "Y": 16.154829, + "Z": 408.77393 + }, + "TerritoryId": 137, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ] + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "CompleteQuest", + "NextQuestId": 154 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/154_Market for Death.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/154_Market for Death.json new file mode 100644 index 000000000..d0908b941 --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/154_Market for Death.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": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "TargetTerritoryId": 129, + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "ExtraCondition": "RoguesGuild" + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "Position": { + "X": 410.07083, + "Y": 31.504957, + "Z": -12.586371 + }, + "TerritoryId": 138, + "InteractionType": "WalkTo", + "AetheryteShortcut": "Western La Noscea - Aleport", + "TargetTerritoryId": 139, + "Fly": true + }, + { + "Position": { + "X": -436.69995, + "Y": -2.0159357, + "Z": 48.819775 + }, + "StopDistance": 1, + "TerritoryId": 139, + "InteractionType": "Combat", + "EnemySpawnType": "AutoOnEnterArea", + "KillEnemyDataIds": [ + 3569, + 3570, + 3571 + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2004916, + "Position": { + "X": -436.02655, + "Y": -1.9379272, + "Z": 48.569458 + }, + "TerritoryId": 139, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1010261, + "Position": { + "X": -437.3694, + "Y": -2.369183, + "Z": 55.954834 + }, + "StopDistance": 7, + "TerritoryId": 139, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1010267, + "Position": { + "X": -449.08832, + "Y": 21.634577, + "Z": -327.93164 + }, + "TerritoryId": 134, + "InteractionType": "Interact", + "AetheryteShortcut": "Middle La Noscea - Summerford Farms", + "Fly": true + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "AetheryteShortcut": "Limsa Lominsa", + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ] + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "CompleteQuest", + "NextQuestId": 155 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/155_Cloying Victory.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/155_Cloying Victory.json new file mode 100644 index 000000000..4b7c8044e --- /dev/null +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/155_Cloying Victory.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": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "AetheryteShortcut": "Limsa Lominsa", + "TargetTerritoryId": 129, + "AethernetShortcut": [ + "[Limsa Lominsa] Aetheryte Plaza", + "[Limsa Lominsa] Fishermens' Guild" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, + "StepIf": { + "ExtraCondition": "RoguesGuild" + } + } + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 2004936, + "Position": { + "X": -151.90363, + "Y": -128.16058, + "Z": 256.8551 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129 + }, + { + "DataId": 2004863, + "Position": { + "X": 4.4403076, + "Y": 44.47998, + "Z": 121.29382 + }, + "TerritoryId": 128, + "InteractionType": "SinglePlayerDuty", + "AethernetShortcut": [ + "[Limsa Lominsa] Fishermens' Guild", + "[Limsa Lominsa] The Aftcastle" + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1009944, + "Position": { + "X": -152.66656, + "Y": 2.8562405, + "Z": 243.18298 + }, + "TerritoryId": 129, + "InteractionType": "Interact", + "TargetTerritoryId": 129, + "AethernetShortcut": [ + "[Limsa Lominsa] The Aftcastle", + "[Limsa Lominsa] Fishermens' Guild" + ] + }, + { + "DataId": 1009943, + "Position": { + "X": -153.36847, + "Y": -129.4397, + "Z": 265.88843 + }, + "StopDistance": 7, + "TerritoryId": 129, + "InteractionType": "CompleteQuest", + "NextQuestId": 212 + } + ] + } + ] +} diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/212_Peasants by Day, Ninjas by Night.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/212_Peasants by Day, Ninjas by Night.json index b4d68b9e7..c0aece195 100644 --- a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/212_Peasants by Day, Ninjas by Night.json +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/212_Peasants by Day, Ninjas by Night.json @@ -21,16 +21,11 @@ "[Limsa Lominsa] Fishermens' Guild" ], "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + }, "StepIf": { - "NearPosition": { - "Position": { - "X": -151.80984, - "Y": -128.6493, - "Z": 265.27332 - }, - "TerritoryId": 129, - "MaximumDistance": 50 - } + "ExtraCondition": "RoguesGuild" } } }, @@ -41,6 +36,7 @@ "Y": -129.4397, "Z": 265.88843 }, + "StopDistance": 7, "TerritoryId": 129, "InteractionType": "AcceptQuest" } @@ -98,7 +94,8 @@ "Z": -2.3651733 }, "TerritoryId": 137, - "InteractionType": "Interact" + "InteractionType": "Interact", + "Fly": true } ] }, @@ -135,9 +132,17 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", + "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true } - } + }, + "DialogueChoices": [ + { + "Type": "YesNo", + "Prompt": "TEXT_JOBNIN300_00212_Q2_000_000", + "Yes": true + } + ] } ] }, diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/213_My First Mudra.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/213_My First Mudra.json index 36039c5b2..68637f769 100644 --- a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/213_My First Mudra.json +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/213_My First Mudra.json @@ -18,15 +18,7 @@ "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137, @@ -77,9 +69,15 @@ } }, { - "InteractionType": "WaitForManualProgress", + "DataId": 2004927, + "Position": { + "X": -10.605103, + "Y": 41.397705, + "Z": 267.87207 + }, "TerritoryId": 137, - "Comment": "Use Ten -> Fuma Shuriken on the dummy" + "InteractionType": "Action", + "Action": "Fuma Shuriken" } ] }, diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/215_Once Upon a Time in Doma.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/215_Once Upon a Time in Doma.json index 4f10975f0..a0d21f699 100644 --- a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/215_Once Upon a Time in Doma.json +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/215_Once Upon a Time in Doma.json @@ -18,15 +18,7 @@ "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -71,9 +63,15 @@ } }, { - "InteractionType": "WaitForManualProgress", + "DataId": 2004928, + "Position": { + "X": -10.605103, + "Y": 41.397705, + "Z": 267.87207 + }, "TerritoryId": 137, - "Comment": "Use Ten -> Chi -> Raiton on the dummy" + "InteractionType": "Action", + "Action": "Raiton" } ] }, @@ -96,9 +94,16 @@ "Sequence": 3, "Steps": [ { - "InteractionType": "WaitForManualProgress", + "DataId": 2004929, + "Position": { + "X": -10.605103, + "Y": 41.397705, + "Z": 267.87207 + }, + "StopDistance": 7, "TerritoryId": 137, - "Comment": "Use Chi -> Ten -> Katon on the dummy" + "InteractionType": "Action", + "Action": "Katon" } ] }, @@ -180,15 +185,7 @@ "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/216_Pirates versus Ninjas.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/216_Pirates versus Ninjas.json index 5449a01ed..f93110de2 100644 --- a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/216_Pirates versus Ninjas.json +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/216_Pirates versus Ninjas.json @@ -15,19 +15,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -40,7 +31,14 @@ "Z": 257.98413 }, "TerritoryId": 137, - "InteractionType": "AcceptQuest" + "InteractionType": "AcceptQuest", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_JOBNIN400_00216_Q1_000_000", + "Answer": "TEXT_JOBNIN400_00216_A1_000_001" + } + ] } ] }, diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/217_Ninja Bathin'.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/217_Ninja Bathin'.json index 2108a0ce2..47e609362 100644 --- a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/217_Ninja Bathin'.json +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/217_Ninja Bathin'.json @@ -207,19 +207,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/232_Tough Guys.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/232_Tough Guys.json index 277b3c15a..da4da560e 100644 --- a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/232_Tough Guys.json +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/232_Tough Guys.json @@ -15,19 +15,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/233_The Crow Knows.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/233_The Crow Knows.json index 4bc21c0a0..6d437dd4b 100644 --- a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/233_The Crow Knows.json +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/233_The Crow Knows.json @@ -86,19 +86,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/234_Master and Student.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/234_Master and Student.json index 04608f05b..8f2abd348 100644 --- a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/234_Master and Student.json +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/234_Master and Student.json @@ -15,19 +15,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -55,7 +46,14 @@ "Z": 250.32422 }, "TerritoryId": 137, - "InteractionType": "Interact" + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_JOBNIN500_00234_Q1_000_000", + "Answer": "TEXT_JOBNIN500_00234_A1_000_002" + } + ] } ] }, @@ -162,19 +160,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/235_Strangers in a Strange Land.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/235_Strangers in a Strange Land.json index c0da4f4e3..5bd22f6b2 100644 --- a/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/235_Strangers in a Strange Land.json +++ b/QuestPaths/2.x - A Realm Reborn/Class Quests/NIN/235_Strangers in a Strange Land.json @@ -15,19 +15,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -191,19 +182,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1684_The Impossible Girl.json b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1684_The Impossible Girl.json index b4bf12a18..62ab34356 100644 --- a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1684_The Impossible Girl.json +++ b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1684_The Impossible Girl.json @@ -15,19 +15,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -163,19 +154,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1685_Ninja Assassin.json b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1685_Ninja Assassin.json index 7fd6311f4..3bf578ba9 100644 --- a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1685_Ninja Assassin.json +++ b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1685_Ninja Assassin.json @@ -15,19 +15,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -75,18 +66,15 @@ "Sequence": 2, "Steps": [ { + "DataId": 2005928, "Position": { - "X": -11.615023, - "Y": 66.32614, - "Z": 421.28235 + "X": -22.842834, + "Y": 66.300415, + "Z": 426.1692 }, "TerritoryId": 135, - "InteractionType": "WalkTo" - }, - { - "TerritoryId": 135, - "InteractionType": "WaitForManualProgress", - "Comment": "Use Raiton on destination" + "InteractionType": "Action", + "Action": "Raiton" } ] }, @@ -94,18 +82,15 @@ "Sequence": 3, "Steps": [ { + "DataId": 2005929, "Position": { - "X": -45.41632, - "Y": 50.40381, - "Z": 519.4183 + "X": -46.707886, + "Y": 48.41687, + "Z": 529.1676 }, "TerritoryId": 135, - "InteractionType": "WalkTo" - }, - { - "TerritoryId": 135, - "InteractionType": "WaitForManualProgress", - "Comment": "Use Raiton on destination" + "InteractionType": "Action", + "Action": "Raiton" } ] }, @@ -113,18 +98,15 @@ "Sequence": 4, "Steps": [ { + "DataId": 2005930, "Position": { - "X": -91.23599, - "Y": 28.63774, - "Z": 617.4151 + "X": -93.888794, + "Y": 26.932129, + "Z": 623.25464 }, "TerritoryId": 135, - "InteractionType": "WalkTo" - }, - { - "TerritoryId": 135, - "InteractionType": "WaitForManualProgress", - "Comment": "Use Raiton on destination" + "InteractionType": "Action", + "Action": "Raiton" } ] }, @@ -193,19 +175,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1686_Medieval Espionage.json b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1686_Medieval Espionage.json index 1fac612b4..5dd02706a 100644 --- a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1686_Medieval Espionage.json +++ b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1686_Medieval Espionage.json @@ -15,19 +15,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -182,18 +173,9 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1687_Staying Alive.json b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1687_Staying Alive.json index 9d8c74d85..52e53ea9e 100644 --- a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1687_Staying Alive.json +++ b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1687_Staying Alive.json @@ -15,19 +15,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -111,6 +102,7 @@ }, "TerritoryId": 398, "InteractionType": "WalkTo", + "Fly": true, "AetheryteShortcut": "The Dravanian Forelands - Tailfeather" }, { @@ -138,7 +130,8 @@ "TerritoryId": 398, "InteractionType": "Combat", "EnemySpawnType": "AfterInteraction", - "KillEnemyDataIds": [5042, 4619] + "KillEnemyDataIds": [5042, 4619], + "Fly": true } ] }, @@ -153,7 +146,8 @@ "Z": -217.02905 }, "TerritoryId": 398, - "InteractionType": "Interact" + "InteractionType": "Interact", + "Fly": true } ] }, @@ -170,18 +164,9 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1688_In Her Defense.json b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1688_In Her Defense.json index 5003e0636..60b6c1cba 100644 --- a/QuestPaths/3.x - Heavensward/Class Quests/NIN/1688_In Her Defense.json +++ b/QuestPaths/3.x - Heavensward/Class Quests/NIN/1688_In Her Defense.json @@ -15,19 +15,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -114,19 +105,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -156,7 +138,14 @@ "TerritoryId": 135, "Fly": true, "InteractionType": "Interact", - "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks" + "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_JOBNIN600_01688_Q1_000_000", + "Answer": "TEXT_JOBNIN600_01688_A1_000_010" + } + ] } ] }, @@ -220,18 +209,9 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2948_Search for the Stolen Scroll.json b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2948_Search for the Stolen Scroll.json index da54b86af..8cec6e1b2 100644 --- a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2948_Search for the Stolen Scroll.json +++ b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2948_Search for the Stolen Scroll.json @@ -15,19 +15,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -115,6 +106,13 @@ "AethernetShortcut": [ "[Limsa Lominsa] Aetheryte Plaza", "[Limsa Lominsa] The Aftcastle" + ], + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_JOBNIN601_02948_Q1_000_031", + "Answer": "TEXT_JOBNIN601_02948_A3_000_034" + } ] } ] @@ -210,18 +208,9 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2949_Ninja Bathin' Redux.json b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2949_Ninja Bathin' Redux.json index 0db541cf8..a4e481929 100644 --- a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2949_Ninja Bathin' Redux.json +++ b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2949_Ninja Bathin' Redux.json @@ -15,19 +15,10 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true }, "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 @@ -74,7 +65,8 @@ "Z": -60.22008 }, "TerritoryId": 628, - "InteractionType": "WalkTo", + "InteractionType": "Action", + "Action": "Hide", "AethernetShortcut": [ "[Kugane] Sekiseigumi Barracks", "[Kugane] Aetheryte Plaza" @@ -93,11 +85,20 @@ } }, { - "InteractionType": "WaitForManualProgress", + "Position": { + "X": -46.572186, + "Y": 3.0135043, + "Z": -71.70311 + }, "TerritoryId": 628, - "Comment": "Hide, then approach Loutish Lickspittle", + "InteractionType": "WalkTo", "CompletionQuestVariablesFlags": [null, null, null, null, null, 128] }, + { + "TerritoryId": 628, + "InteractionType": "StatusOff", + "Status": "Hidden" + }, { "Position": { "X": -53.864307, @@ -105,18 +106,28 @@ "Z": -106.929726 }, "TerritoryId": 628, - "InteractionType": "WalkTo" + "InteractionType": "Action", + "Action": "Hide" }, { - "InteractionType": "WaitForManualProgress", + "Position": { + "X": -82.41595, + "Y": -7.300003, + "Z": -111.459076 + }, "TerritoryId": 628, - "Comment": "Hide, then approach the two NPCs downstairs" + "InteractionType": "WalkTo" } ] }, { "Sequence": 3, "Steps": [ + { + "TerritoryId": 628, + "InteractionType": "StatusOff", + "Status": "Hidden" + }, { "DataId": 1023555, "Position": { diff --git a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2951_True Enlightenment.json b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2951_True Enlightenment.json index 326f2abc5..0d833ebd2 100644 --- a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2951_True Enlightenment.json +++ b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2951_True Enlightenment.json @@ -17,7 +17,14 @@ "AetheryteShortcut": "Yanxia - Namai", "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true } - } + }, + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_JOBNIN680_02951_Q1_000_003", + "Answer": "TEXT_JOBNIN680_02951_A3_000_006" + } + ] } ] }, @@ -48,7 +55,14 @@ "Z": -96.75751 }, "TerritoryId": 614, - "InteractionType": "Interact" + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "YesNo", + "Prompt": "TEXT_JOBNIN680_02951_SYSTEM_100_049", + "Yes": true + } + ] } ] }, @@ -91,10 +105,12 @@ "Y": 16.160986, "Z": 390.68732 }, + "StopDistance": 1, "TerritoryId": 614, "InteractionType": "Combat", "KillEnemyDataIds": [6641], - "EnemySpawnType": "OverworldEnemies" + "EnemySpawnType": "OverworldEnemies", + "Fly": true } ] }, @@ -110,7 +126,14 @@ }, "TerritoryId": 614, "InteractionType": "Interact", - "AetheryteShortcut": "Yanxia - Namai" + "AetheryteShortcut": "Yanxia - Namai", + "DialogueChoices": [ + { + "Type": "YesNo", + "Prompt": "TEXT_JOBNIN680_02951_SYSTEM_100_049", + "Yes": true + } + ] } ] }, diff --git a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2952_When Clans Collide.json b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2952_When Clans Collide.json index ba6035e0b..202dfebd9 100644 --- a/QuestPaths/4.x - Stormblood/Class Quests/NIN/2952_When Clans Collide.json +++ b/QuestPaths/4.x - Stormblood/Class Quests/NIN/2952_When Clans Collide.json @@ -17,7 +17,14 @@ "AetheryteShortcut": "Yanxia - Namai", "SkipConditions": { "AetheryteShortcutIf": { "InSameTerritory": true } - } + }, + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_JOBNIN700_02952_Q1_100_004", + "Answer": "TEXT_JOBNIN700_02952_A1_100_005" + } + ] } ] }, @@ -34,7 +41,7 @@ "TerritoryId": 622, "InteractionType": "SinglePlayerDuty", "Fly": true, - "AetheryteShortcut": "Azim Steppe - Dawn Throne", + "AetheryteShortcut": "Azim Steppe - Reunion", "SkipConditions": { "AetheryteShortcutIf": { "NearPosition": { @@ -64,18 +71,9 @@ "TerritoryId": 137, "InteractionType": "Interact", "AetheryteShortcut": "Eastern La Noscea - Wineport", - "Fly": true, "SkipConditions": { "StepIf": { - "NearPosition": { - "Position": { - "X": -25.149055, - "Y": -24.773232, - "Z": 258.15594 - }, - "TerritoryId": 137, - "MaximumDistance": 25 - } + "ExtraCondition": "DockStorehouse" } }, "TargetTerritoryId": 137 diff --git a/QuestPaths/quest-v1.json b/QuestPaths/quest-v1.json index fb18c119f..dc821c51e 100644 --- a/QuestPaths/quest-v1.json +++ b/QuestPaths/quest-v1.json @@ -118,6 +118,7 @@ "Say", "Emote", "Action", + "StatusOff", "WaitForNpcAtPosition", "WaitForManualProgress", "Duty", @@ -945,7 +946,8 @@ "Hop-step", "Fuma Shuriken", "Katon", - "Raiton" + "Raiton", + "Hide" ] } }, @@ -954,6 +956,29 @@ ] } }, + { + "if": { + "properties": { + "InteractionType": { + "const": "StatusOff" + } + } + }, + "then": { + "properties": { + "Status": { + "type": "string", + "description": "The status to disable", + "enum": [ + "Hidden" + ] + } + }, + "required": [ + "Status" + ] + } + }, { "if": { "properties": { diff --git a/Questionable.Model/Questing/Converter/ActionConverter.cs b/Questionable.Model/Questing/Converter/ActionConverter.cs index 9b1be7dd8..7a2174245 100644 --- a/Questionable.Model/Questing/Converter/ActionConverter.cs +++ b/Questionable.Model/Questing/Converter/ActionConverter.cs @@ -35,6 +35,7 @@ public sealed class ActionConverter() : EnumConverter(Values) { EAction.BlueGulal, "Blue Gulal" }, { EAction.ElectrixFlux, "Electric Flux" }, { EAction.HopStep, "Hop-step" }, + { EAction.Hide, "Hide" }, { EAction.FumaShuriken, "Fuma Shuriken" }, { EAction.Katon, "Katon" }, { EAction.Raiton, "Raiton" }, diff --git a/Questionable.Model/Questing/Converter/InteractionTypeConverter.cs b/Questionable.Model/Questing/Converter/InteractionTypeConverter.cs index aef951bf4..b8367ebbb 100644 --- a/Questionable.Model/Questing/Converter/InteractionTypeConverter.cs +++ b/Questionable.Model/Questing/Converter/InteractionTypeConverter.cs @@ -21,6 +21,7 @@ public sealed class InteractionTypeConverter() : EnumConverter { EInteractionType.Say, "Say" }, { EInteractionType.Emote, "Emote" }, { EInteractionType.Action, "Action" }, + { EInteractionType.StatusOff, "StatusOff" }, { EInteractionType.WaitForObjectAtPosition, "WaitForNpcAtPosition" }, { EInteractionType.WaitForManualProgress, "WaitForManualProgress" }, { EInteractionType.Duty, "Duty" }, diff --git a/Questionable.Model/Questing/Converter/StatusConverter.cs b/Questionable.Model/Questing/Converter/StatusConverter.cs new file mode 100644 index 000000000..e16c493b7 --- /dev/null +++ b/Questionable.Model/Questing/Converter/StatusConverter.cs @@ -0,0 +1,12 @@ +using System.Collections.Generic; +using Questionable.Model.Common.Converter; + +namespace Questionable.Model.Questing.Converter; + +public sealed class StatusConverter() : EnumConverter(Values) +{ + private static readonly Dictionary Values = new() + { + { EStatus.Hidden, "Hidden" }, + }; +} diff --git a/Questionable.Model/Questing/EAction.cs b/Questionable.Model/Questing/EAction.cs index 71549e6e6..429281732 100644 --- a/Questionable.Model/Questing/EAction.cs +++ b/Questionable.Model/Questing/EAction.cs @@ -36,6 +36,7 @@ public enum EAction BlueGulal = 29384, ElectrixFlux = 29718, HopStep = 31116, + Hide = 2245, Ten = 2259, Ninjutsu = 2260, Chi = 2261, @@ -43,6 +44,7 @@ public enum EAction FumaShuriken = 2265, Katon = 2266, Raiton = 2267, + RabbitMedium = 2272, CollectMiner = 240, ScourMiner = 22182, diff --git a/Questionable.Model/Questing/EInteractionType.cs b/Questionable.Model/Questing/EInteractionType.cs index af23e90e7..137078eba 100644 --- a/Questionable.Model/Questing/EInteractionType.cs +++ b/Questionable.Model/Questing/EInteractionType.cs @@ -20,6 +20,7 @@ public enum EInteractionType Say, Emote, Action, + StatusOff, WaitForObjectAtPosition, WaitForManualProgress, Duty, diff --git a/Questionable.Model/Questing/EStatus.cs b/Questionable.Model/Questing/EStatus.cs new file mode 100644 index 000000000..780f1a4e7 --- /dev/null +++ b/Questionable.Model/Questing/EStatus.cs @@ -0,0 +1,12 @@ +using System.Text.Json.Serialization; +using Questionable.Model.Questing.Converter; + +namespace Questionable.Model.Questing; + +[JsonConverter(typeof(StatusConverter))] +public enum EStatus : uint +{ + GatheringRateUp = 218, + Hidden = 614, + Eukrasia = 2606, +} diff --git a/Questionable.Model/Questing/QuestStep.cs b/Questionable.Model/Questing/QuestStep.cs index dcb8042a9..5a6998188 100644 --- a/Questionable.Model/Questing/QuestStep.cs +++ b/Questionable.Model/Questing/QuestStep.cs @@ -63,6 +63,7 @@ public sealed class QuestStep public EEmote? Emote { get; set; } public ChatMessage? ChatMessage { get; set; } public EAction? Action { get; set; } + public EStatus? Status { get; set; } public EEnemySpawnType? EnemySpawnType { get; set; } public List KillEnemyDataIds { get; set; } = []; diff --git a/Questionable/Controller/Steps/Gathering/DoGather.cs b/Questionable/Controller/Steps/Gathering/DoGather.cs index 169b0b7c6..701f85345 100644 --- a/Questionable/Controller/Steps/Gathering/DoGather.cs +++ b/Questionable/Controller/Steps/Gathering/DoGather.cs @@ -37,8 +37,6 @@ internal static class DoGather ICondition condition, ILogger logger) : TaskExecutor { - private const uint StatusGatheringRateUp = 218; - private bool _wasGathering; private SlotInfo? _slotToGather; private Queue? _actionQueue; @@ -155,7 +153,7 @@ internal static class DoGather //uint gp = clientState.LocalPlayer!.CurrentGp; Queue actions = new(); - if (!gameFunctions.HasStatus(StatusGatheringRateUp)) + if (!gameFunctions.HasStatus(EStatus.GatheringRateUp)) { // do we have an alternative item? only happens for 'evaluation' leve quests if (Task.Request.AlternativeItemId != 0) diff --git a/Questionable/Controller/Steps/Interactions/Action.cs b/Questionable/Controller/Steps/Interactions/Action.cs index e6c4f1f48..7255fa0bf 100644 --- a/Questionable/Controller/Steps/Interactions/Action.cs +++ b/Questionable/Controller/Steps/Interactions/Action.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using Dalamud.Game.ClientState.Objects.Types; +using FFXIVClientStructs.FFXIV.Client.Game; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Common; using Questionable.Functions; @@ -29,7 +31,13 @@ internal static class Action public static ITask OnObject(uint? dataId, EAction action) { - return new UseOnObject(dataId, action); + if (action is EAction.FumaShuriken or EAction.Katon or EAction.Raiton) + { + ArgumentNullException.ThrowIfNull(dataId); + return new UseMudraOnObject(dataId.Value, action); + } + else + return new UseOnObject(dataId, action); } } @@ -62,19 +70,18 @@ internal static class Action { if (Task.Action == EAction.Diagnosis) { - uint eukrasiaAura = 2606; // If SGE have Eukrasia status, we need to remove it. - if (gameFunctions.HasStatus(eukrasiaAura)) + if (gameFunctions.HasStatus(EStatus.Eukrasia)) { - if (GameFunctions.RemoveStatus(eukrasiaAura)) + if (GameFunctions.RemoveStatus(EStatus.Eukrasia)) { // 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; + return true; } } } - + _usedAction = gameFunctions.UseAction(gameObject, Task.Action); _continueAt = DateTime.Now.AddSeconds(0.5); return true; @@ -118,4 +125,67 @@ internal static class Action return ETaskResult.TaskComplete; } } + + internal sealed record UseMudraOnObject(uint DataId, EAction Action) : ITask + { + public override string ToString() => $"Mudra({Action})"; + } + + internal sealed class UseMudraOnObjectExecutor( + GameFunctions gameFunctions, + ILogger logger) : TaskExecutor + { + private static readonly ReadOnlyDictionary> Combos = + new Dictionary> + { + { EAction.FumaShuriken, new() { { EAction.Ninjutsu, EAction.Ten } } }, + { EAction.Raiton, new() { { EAction.Ninjutsu, EAction.Ten }, { EAction.FumaShuriken, EAction.Chi } } }, + { EAction.Katon, new() {{ EAction.Ninjutsu, EAction.Chi }, { EAction.FumaShuriken, EAction.Ten } } } + }.AsReadOnly(); + + private DateTime _continueAt = DateTime.MinValue; + + protected override bool Start() => true; + + public override unsafe ETaskResult Update() + { + if (DateTime.Now < _continueAt) + return ETaskResult.StillRunning; + + EAction adjustedNinjutsuId = (EAction)ActionManager.Instance()->GetAdjustedActionId((uint)EAction.Ninjutsu); + if (adjustedNinjutsuId == EAction.RabbitMedium) + { + _continueAt = DateTime.Now.AddSeconds(1); + return ETaskResult.StillRunning; + } + + IGameObject? gameObject = gameFunctions.FindObjectByDataId(Task.DataId); + if (gameObject == null || !gameObject.IsTargetable) + return ETaskResult.StillRunning; + + if (adjustedNinjutsuId == Task.Action) + { + _continueAt = DateTime.Now.AddSeconds(0.25); + return gameFunctions.UseAction(gameObject, Task.Action) + ? ETaskResult.TaskComplete + : ETaskResult.StillRunning; + } + + if (Combos.TryGetValue(Task.Action, out var combo)) + { + if (combo.TryGetValue(adjustedNinjutsuId, out var mudra)) + { + _continueAt = DateTime.Now.AddSeconds(0.25); + gameFunctions.UseAction(mudra); + return ETaskResult.StillRunning; + } + + _continueAt = DateTime.Now.AddSeconds(0.25); + return ETaskResult.StillRunning; + } + + logger.LogError("Unable to find relevant combo for {Action}", Task.Action); + return ETaskResult.TaskComplete; + } + } } diff --git a/Questionable/Controller/Steps/Interactions/StatusOff.cs b/Questionable/Controller/Steps/Interactions/StatusOff.cs new file mode 100644 index 000000000..746f7394c --- /dev/null +++ b/Questionable/Controller/Steps/Interactions/StatusOff.cs @@ -0,0 +1,47 @@ +using System; +using Questionable.Controller.Steps.Common; +using Questionable.Functions; +using Questionable.Model; +using Questionable.Model.Questing; + +namespace Questionable.Controller.Steps.Interactions; + +internal static class StatusOff +{ + internal sealed class Factory : SimpleTaskFactory + { + public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) + { + if (step.InteractionType != EInteractionType.StatusOff) + return null; + + ArgumentNullException.ThrowIfNull(step.Status); + return new Task(step.Status.Value); + } + } + + internal sealed record Task(EStatus Status) : ITask + { + public bool ShouldRedoOnInterrupt() => true; + + public override string ToString() => $"StatusOff({Status})"; + } + + internal sealed class DoStatusOff( + GameFunctions gameFunctions) + : AbstractDelayedTaskExecutor + { + protected override bool StartInternal() + { + if (gameFunctions.HasStatus(Task.Status)) + return GameFunctions.RemoveStatus(Task.Status); + + return false; + } + + public override ETaskResult Update() + { + return gameFunctions.HasStatus(Task.Status) ? ETaskResult.StillRunning : ETaskResult.TaskComplete; + } + } +} diff --git a/Questionable/Functions/GameFunctions.cs b/Questionable/Functions/GameFunctions.cs index 2cc2e1226..bb0313ae5 100644 --- a/Questionable/Functions/GameFunctions.cs +++ b/Questionable/Functions/GameFunctions.cs @@ -298,7 +298,7 @@ internal sealed unsafe class GameFunctions statusManager->HasStatus(2730); } - public bool HasStatus(uint statusId) + public bool HasStatus(EStatus statusId) { var localPlayer = _clientState.LocalPlayer; if (localPlayer == null) @@ -306,12 +306,12 @@ internal sealed unsafe class GameFunctions var battleChara = (BattleChara*)localPlayer.Address; StatusManager* statusManager = battleChara->GetStatusManager(); - return statusManager->HasStatus(statusId); + return statusManager->HasStatus((uint)statusId); } - public static bool RemoveStatus(uint statusId) + public static bool RemoveStatus(EStatus statusId) { - return StatusManager.ExecuteStatusOff(statusId); + return StatusManager.ExecuteStatusOff((uint)statusId); } public bool Mount() diff --git a/Questionable/QuestionablePlugin.cs b/Questionable/QuestionablePlugin.cs index bdb639f45..bac542419 100644 --- a/Questionable/QuestionablePlugin.cs +++ b/Questionable/QuestionablePlugin.cs @@ -174,6 +174,8 @@ public sealed class QuestionablePlugin : IDalamudPlugin serviceCollection.AddTaskExecutor(); serviceCollection.AddTaskExecutor(); serviceCollection.AddTaskFactoryAndExecutor(); + serviceCollection.AddTaskExecutor(); + serviceCollection.AddTaskFactoryAndExecutor(); serviceCollection.AddTaskFactoryAndExecutor(); serviceCollection.AddTaskFactory(); serviceCollection.AddTaskExecutor(); From 17c90ba24bafdefd27dc85798fab16e94c164d4b Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Sat, 19 Oct 2024 17:32:37 +0200 Subject: [PATCH 11/11] Fix missing CompleteQuest in 'Nest Side Story' --- .../Allied Societies/Vanu Vanu/Story/2170_Nest Side Story.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Story/2170_Nest Side Story.json b/QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Story/2170_Nest Side Story.json index 605ff2053..55ef690f0 100644 --- a/QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Story/2170_Nest Side Story.json +++ b/QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Story/2170_Nest Side Story.json @@ -78,7 +78,7 @@ "Z": -582.3301 }, "TerritoryId": 401, - "InteractionType": "Interact", + "InteractionType": "CompleteQuest", "Fly": true } ]