Add a few unlock quests
authorLiza Carvelli <liza@carvel.li>
Mon, 29 Jul 2024 19:19:22 +0000 (21:19 +0200)
committerLiza Carvelli <liza@carvel.li>
Mon, 29 Jul 2024 19:19:22 +0000 (21:19 +0200)
26 files changed:
QuestPaths/2.x - A Realm Reborn/Class Quests/CRP/138_Way of the Carpenter.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Class Quests/CRP/184_So You Want to Be a Carpenter.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Class Quests/CRP/205_My First Saw.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Tribal/Amalj'aa/Story/1217_Peace for Thanalan.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Tribal/Amalj'aa/Story/1218_Brotherhood of Ash.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Tribal/Ixal/Story/1486_A Bad Bladder.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Tribal/Ixal/Story/1487_Reaching for Cloud Nine.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Tribal/Kobolds/Story/1320_Highway Robbery.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Tribal/Kobolds/Story/1321_How Low Can You Go.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Tribal/Sahagin/Story/1374_They Came from the Deep.json
QuestPaths/2.x - A Realm Reborn/Tribal/Sylphs/Story/1252_Seeking Solace.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Tribal/Sylphs/Story/1253_Voyce of Concern.json [new file with mode: 0644]
QuestPaths/3.x - Heavensward/Tribal/Vanu Vanu/Story/2164_Three Beaks to the Wind.json [new file with mode: 0644]
QuestPaths/3.x - Heavensward/Tribal/Vath/Story/2255_The Naming of Vath.json [new file with mode: 0644]
QuestPaths/4.x - Stormblood/Unlocks/Instant/2921_Leves of Kugane.json [new file with mode: 0644]
QuestPaths/4.x - Stormblood/Unlocks/Instant/2943_Songs in the Key of Kugane.json [new file with mode: 0644]
QuestPaths/4.x - Stormblood/Unlocks/Misc/2631_I Dream of Shirogane.json [new file with mode: 0644]
QuestPaths/5.x - Shadowbringers/Unlocks/Instant/3602_Leves of the Crystarium.json [new file with mode: 0644]
QuestPaths/6.x - Endwalker/Unlocks/Misc/4170_Leves of Old Sharlayan.json [new file with mode: 0644]
QuestPaths/7.x - Dawntrail/Class Quests/PCT/4854_The Joy of Pictomancy.json [new file with mode: 0644]
QuestPaths/7.x - Dawntrail/Class Quests/PCT/4855_Mind over Manor.json [new file with mode: 0644]
QuestPaths/7.x - Dawntrail/Class Quests/VPR/4849_Fangs of the Viper.json
QuestPaths/quest-v1.json
Questionable.Model/V1/Converter/ActionConverter.cs
Questionable.Model/V1/EAction.cs
Questionable/Controller/GameUiController.cs

diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/CRP/138_Way of the Carpenter.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/CRP/138_Way of the Carpenter.json
new file mode 100644 (file)
index 0000000..e0e51f7
--- /dev/null
@@ -0,0 +1,43 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1000148,
+          "Position": {
+            "X": -20.279297,
+            "Y": -3.25,
+            "Z": 45.97534
+          },
+          "TerritoryId": 132,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1000153,
+          "Position": {
+            "X": -44.87683,
+            "Y": -1.2500024,
+            "Z": 56.839844
+          },
+          "TerritoryId": 132,
+          "InteractionType": "CompleteQuest",
+          "DialogueChoices": [
+            {
+              "Type": "YesNo",
+              "Prompt": "TEXT_CLSWDK000_00138_Q1_000_1",
+              "Yes": true
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/CRP/184_So You Want to Be a Carpenter.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/CRP/184_So You Want to Be a Carpenter.json
new file mode 100644 (file)
index 0000000..3226ac8
--- /dev/null
@@ -0,0 +1,28 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1000148,
+          "Position": {
+            "X": -20.279297,
+            "Y": -3.25,
+            "Z": 45.97534
+          },
+          "TerritoryId": 132,
+          "InteractionType": "AcceptQuest",
+          "DialogueChoices": [
+            {
+              "Type": "YesNo",
+              "Prompt": "TEXT_CLSWDK999_00184_Q1_000_1",
+              "Yes": true
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/CRP/205_My First Saw.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/CRP/205_My First Saw.json
new file mode 100644 (file)
index 0000000..c96de52
--- /dev/null
@@ -0,0 +1,41 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "TerritoryId": 132,
+          "InteractionType": "EquipItem",
+          "ItemId": 2314
+        },
+        {
+          "DataId": 1000153,
+          "Position": {
+            "X": -44.87683,
+            "Y": -1.2500024,
+            "Z": 56.839844
+          },
+          "TerritoryId": 132,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1000153,
+          "Position": {
+            "X": -44.87683,
+            "Y": -1.2500024,
+            "Z": 56.839844
+          },
+          "TerritoryId": 132,
+          "InteractionType": "CompleteQuest"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Tribal/Amalj'aa/Story/1217_Peace for Thanalan.json b/QuestPaths/2.x - A Realm Reborn/Tribal/Amalj'aa/Story/1217_Peace for Thanalan.json
new file mode 100644 (file)
index 0000000..b66e973
--- /dev/null
@@ -0,0 +1,104 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1004576,
+          "Position": {
+            "X": -141.64954,
+            "Y": 4.1,
+            "Z": -114.67157
+          },
+          "TerritoryId": 130,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1006217,
+          "Position": {
+            "X": -181.04828,
+            "Y": 28.214073,
+            "Z": -402.02948
+          },
+          "TerritoryId": 146,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo"
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": -150.9585,
+            "Y": 43.717075,
+            "Z": -345.03116
+          },
+          "TerritoryId": 146,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
+        },
+        {
+          "Position": {
+            "X": 91.463745,
+            "Y": 10.278164,
+            "Z": -461.99072
+          },
+          "TerritoryId": 146,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        },
+        {
+          "DataId": 2002919,
+          "Position": {
+            "X": 90.958984,
+            "Y": 9.994568,
+            "Z": -460.41046
+          },
+          "TerritoryId": 146,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "Position": {
+            "X": 107.40087,
+            "Y": 15.010546,
+            "Z": -360.9872
+          },
+          "TerritoryId": 146,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "$": "Southern Thanalan, Hamujj Gah Cave"
+        },
+        {
+          "DataId": 1005553,
+          "Position": {
+            "X": 122.6062,
+            "Y": 16.402647,
+            "Z": -362.11188
+          },
+          "TerritoryId": 146,
+          "InteractionType": "CompleteQuest",
+          "NextQuestId": 1218
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Tribal/Amalj'aa/Story/1218_Brotherhood of Ash.json b/QuestPaths/2.x - A Realm Reborn/Tribal/Amalj'aa/Story/1218_Brotherhood of Ash.json
new file mode 100644 (file)
index 0000000..9141443
--- /dev/null
@@ -0,0 +1,106 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1005553,
+          "Position": {
+            "X": 122.6062,
+            "Y": 16.402647,
+            "Z": -362.11188
+          },
+          "TerritoryId": 146,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "Position": {
+            "X": 107.40087,
+            "Y": 15.010546,
+            "Z": -360.9872
+          },
+          "TerritoryId": 146,
+          "InteractionType": "WalkTo",
+          "$": "Southern Thanalan, Hamujj Gah Cave"
+        },
+        {
+          "DataId": 2002931,
+          "Position": {
+            "X": -268.54352,
+            "Y": 4.7455444,
+            "Z": -77.16492
+          },
+          "StopDistance": 0.5,
+          "TerritoryId": 146,
+          "InteractionType": "Combat",
+          "EnemySpawnType": "AfterInteraction",
+          "KillEnemyDataIds": [
+            2458,
+            2459
+          ],
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1005579,
+          "Position": {
+            "X": -262.3789,
+            "Y": 4.4491196,
+            "Z": -75.791565
+          },
+          "TerritoryId": 146,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1005578,
+          "Position": {
+            "X": 89.00586,
+            "Y": 14.439478,
+            "Z": -387.77753
+          },
+          "TerritoryId": 146,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1005553,
+          "Position": {
+            "X": 122.6062,
+            "Y": 16.402647,
+            "Z": -362.11188
+          },
+          "TerritoryId": 146,
+          "InteractionType": "CompleteQuest",
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_BANAMA002_01218_SYSYTEM_Q1_000_1",
+              "Answer": "TEXT_BANAMA002_01218_SYSYTEM_A1_000_1"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Tribal/Ixal/Story/1486_A Bad Bladder.json b/QuestPaths/2.x - A Realm Reborn/Tribal/Ixal/Story/1486_A Bad Bladder.json
new file mode 100644 (file)
index 0000000..2c63945
--- /dev/null
@@ -0,0 +1,115 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1009294,
+          "Position": {
+            "X": -63.767517,
+            "Y": -1.7171676,
+            "Z": 11.673096
+          },
+          "TerritoryId": 132,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1000612,
+          "Position": {
+            "X": 357.96143,
+            "Y": 8.934158,
+            "Z": 214.46558
+          },
+          "TerritoryId": 154,
+          "InteractionType": "Interact",
+          "AethernetShortcut": [
+            "[Gridania] Aetheryte Plaza",
+            "[Gridania] Yellow Serpent Gate (North Shroud)"
+          ],
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 264.54797,
+            "Y": -14.2467,
+            "Z": 56.094566
+          },
+          "TerritoryId": 154,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        },
+        {
+          "DataId": 2004442,
+          "Position": {
+            "X": 265.00342,
+            "Y": -13.931519,
+            "Z": 58.457275
+          },
+          "TerritoryId": 154,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1000612,
+          "Position": {
+            "X": 357.96143,
+            "Y": 8.934158,
+            "Z": 214.46558
+          },
+          "TerritoryId": 154,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 4,
+      "Steps": [
+        {
+          "DataId": 2004443,
+          "Position": {
+            "X": 211.9325,
+            "Y": -4.928711,
+            "Z": 27.572998
+          },
+          "TerritoryId": 154,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1009199,
+          "Position": {
+            "X": 149.43152,
+            "Y": -18.140299,
+            "Z": 99.22937
+          },
+          "TerritoryId": 154,
+          "InteractionType": "CompleteQuest",
+          "Fly": true,
+          "NextQuestId": 1487
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Tribal/Ixal/Story/1487_Reaching for Cloud Nine.json b/QuestPaths/2.x - A Realm Reborn/Tribal/Ixal/Story/1487_Reaching for Cloud Nine.json
new file mode 100644 (file)
index 0000000..054652f
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1009199,
+          "Position": {
+            "X": 149.43152,
+            "Y": -18.140299,
+            "Z": 99.22937
+          },
+          "TerritoryId": 154,
+          "InteractionType": "AcceptQuest",
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_BANIXA002_01487_Q1_000_000",
+              "Answer": "TEXT_BANIXA002_01487_A1_000_001"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1009594,
+          "Position": {
+            "X": -22.568176,
+            "Y": -48.098206,
+            "Z": 289.66187
+          },
+          "TerritoryId": 154,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "North Shroud - Fallgourd Float"
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": -4.085219,
+            "Y": -40.94998,
+            "Z": 179.05669
+          },
+          "TerritoryId": 154,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        },
+        {
+          "DataId": 1009218,
+          "Position": {
+            "X": -4.1047363,
+            "Y": -40.949986,
+            "Z": 176.83679
+          },
+          "TerritoryId": 154,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1009595,
+          "Position": {
+            "X": -2.8534546,
+            "Y": -40.94998,
+            "Z": 178.72888
+          },
+          "TerritoryId": 154,
+          "InteractionType": "Interact",
+          "$": "Missing craft step",
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_BANIXA002_01487_Q2_000_000",
+              "Answer": "TEXT_BANIXA002_01487_A2_000_001"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 4,
+      "Steps": [
+        {
+          "DataId": 1009199,
+          "Position": {
+            "X": 149.43152,
+            "Y": -18.140299,
+            "Z": 99.22937
+          },
+          "TerritoryId": 154,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1009199,
+          "Position": {
+            "X": 149.43152,
+            "Y": -18.140299,
+            "Z": 99.22937
+          },
+          "TerritoryId": 154,
+          "InteractionType": "CompleteQuest",
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_BANIXA002_01487_Q3_000_000",
+              "Answer": "TEXT_BANIXA002_01487_A3_000_001"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Tribal/Kobolds/Story/1320_Highway Robbery.json b/QuestPaths/2.x - A Realm Reborn/Tribal/Kobolds/Story/1320_Highway Robbery.json
new file mode 100644 (file)
index 0000000..d97c732
--- /dev/null
@@ -0,0 +1,136 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1003550,
+          "Position": {
+            "X": 76.85962,
+            "Y": 39.99632,
+            "Z": 78.99597
+          },
+          "TerritoryId": 128,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1005964,
+          "Position": {
+            "X": 651.1177,
+            "Y": 9.597839,
+            "Z": 484.73328
+          },
+          "TerritoryId": 138,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Western La Noscea - Swiftperch"
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 2003711,
+          "Position": {
+            "X": 629.0836,
+            "Y": 9.719971,
+            "Z": 496.33008
+          },
+          "TerritoryId": 138,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1005964,
+          "Position": {
+            "X": 651.1177,
+            "Y": 9.597839,
+            "Z": 484.73328
+          },
+          "TerritoryId": 138,
+          "InteractionType": "Interact",
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_BANKOB001_01320_Q1_000_000",
+              "Answer": "TEXT_BANKOB001_01320_A1_000_002"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 4,
+      "Steps": [
+        {
+          "DataId": 1006325,
+          "Position": {
+            "X": -141.55798,
+            "Y": 64.59769,
+            "Z": -212.26831
+          },
+          "TerritoryId": 180,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Outer La Noscea - Camp Overlook"
+        }
+      ]
+    },
+    {
+      "Sequence": 5,
+      "Steps": [
+        {
+          "Position": {
+            "X": 19.274828,
+            "Y": 16.260347,
+            "Z": -199.21056
+          },
+          "TerritoryId": 180,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 6,
+      "Steps": [
+        {
+          "DataId": 1007950,
+          "Position": {
+            "X": 19.485779,
+            "Y": 16.159302,
+            "Z": -196.42938
+          },
+          "TerritoryId": 180,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1005927,
+          "Position": {
+            "X": -2.8534546,
+            "Y": 16.03717,
+            "Z": -172.5033
+          },
+          "TerritoryId": 180,
+          "InteractionType": "CompleteQuest",
+          "NextQuestId": 1321
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Tribal/Kobolds/Story/1321_How Low Can You Go.json b/QuestPaths/2.x - A Realm Reborn/Tribal/Kobolds/Story/1321_How Low Can You Go.json
new file mode 100644 (file)
index 0000000..7f119f7
--- /dev/null
@@ -0,0 +1,185 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1005927,
+          "Position": {
+            "X": -2.8534546,
+            "Y": 16.03717,
+            "Z": -172.5033
+          },
+          "TerritoryId": 180,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "Position": {
+            "X": 155.47716,
+            "Y": 68.658165,
+            "Z": -256.36594
+          },
+          "TerritoryId": 180,
+          "InteractionType": "WalkTo",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            -32
+          ]
+        },
+        {
+          "DataId": 2003715,
+          "Position": {
+            "X": 154.49756,
+            "Y": 69.047,
+            "Z": -254.32214
+          },
+          "TerritoryId": 180,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
+        },
+        {
+          "DataId": 2003713,
+          "Position": {
+            "X": 181.47546,
+            "Y": 64.59143,
+            "Z": -282.42926
+          },
+          "TerritoryId": 180,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
+        },
+        {
+          "DataId": 2003716,
+          "Position": {
+            "X": 180.28528,
+            "Y": 64.62195,
+            "Z": -255.17664
+          },
+          "TerritoryId": 180,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            16
+          ]
+        },
+        {
+          "DataId": 2003714,
+          "Position": {
+            "X": 197.00916,
+            "Y": 64.042114,
+            "Z": -225.60468
+          },
+          "TerritoryId": 180,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1005927,
+          "Position": {
+            "X": -2.8534546,
+            "Y": 16.03717,
+            "Z": -172.5033
+          },
+          "TerritoryId": 180,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 2003717,
+          "Position": {
+            "X": 0.38146973,
+            "Y": 16.433899,
+            "Z": -177.47778
+          },
+          "TerritoryId": 180,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 4,
+      "Steps": [
+        {
+          "DataId": 1005927,
+          "Position": {
+            "X": -2.8534546,
+            "Y": 16.03717,
+            "Z": -172.5033
+          },
+          "StopDistance": 5,
+          "TerritoryId": 180,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1005927,
+          "Position": {
+            "X": -2.8534546,
+            "Y": 16.03717,
+            "Z": -172.5033
+          },
+          "StopDistance": 5,
+          "TerritoryId": 180,
+          "InteractionType": "CompleteQuest",
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_BANKOB002_01321_Q1_000_000",
+              "Answer": "TEXT_BANKOB002_01321_A1_000_001"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
index b0f7ef9a795466ddde5a9e691d54000017329c68..3788baf159b06648e87eb32227593c270c4e5e0f 100644 (file)
           },
           "TerritoryId": 138,
           "InteractionType": "CompleteQuest",
-          "Fly": true
+          "Fly": true,
+          "NextQuestId": 1375
         }
       ]
     }
diff --git a/QuestPaths/2.x - A Realm Reborn/Tribal/Sylphs/Story/1252_Seeking Solace.json b/QuestPaths/2.x - A Realm Reborn/Tribal/Sylphs/Story/1252_Seeking Solace.json
new file mode 100644 (file)
index 0000000..505c809
--- /dev/null
@@ -0,0 +1,89 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1000168,
+          "Position": {
+            "X": -75.48645,
+            "Y": -0.5013741,
+            "Z": -5.081299
+          },
+          "TerritoryId": 132,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "Position": {
+            "X": 45.84424,
+            "Y": 6.073427,
+            "Z": 248.96754
+          },
+          "TerritoryId": 152,
+          "InteractionType": "WalkTo",
+          "AetheryteShortcut": "East Shroud - Hawthorne Hut",
+          "Fly": true
+        },
+        {
+          "DataId": 1005564,
+          "Position": {
+            "X": 48.203125,
+            "Y": 6.0734696,
+            "Z": 247.79126
+          },
+          "TerritoryId": 152,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1005577,
+          "Position": {
+            "X": 28.488525,
+            "Y": -3.6319542,
+            "Z": 210.62024
+          },
+          "TerritoryId": 152,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "Position": {
+            "X": 45.84424,
+            "Y": 6.073427,
+            "Z": 248.96754
+          },
+          "TerritoryId": 152,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        },
+        {
+          "DataId": 1005564,
+          "Position": {
+            "X": 48.203125,
+            "Y": 6.0734696,
+            "Z": 247.79126
+          },
+          "TerritoryId": 152,
+          "InteractionType": "CompleteQuest",
+          "NextQuestId": 1253
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Tribal/Sylphs/Story/1253_Voyce of Concern.json b/QuestPaths/2.x - A Realm Reborn/Tribal/Sylphs/Story/1253_Voyce of Concern.json
new file mode 100644 (file)
index 0000000..e9bd843
--- /dev/null
@@ -0,0 +1,101 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1005564,
+          "Position": {
+            "X": 48.203125,
+            "Y": 6.0734696,
+            "Z": 247.79126
+          },
+          "TerritoryId": 152,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 2002864,
+          "Position": {
+            "X": 270.28296,
+            "Y": -0.25946045,
+            "Z": 168.53589
+          },
+          "TerritoryId": 152,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1005570,
+          "Position": {
+            "X": 292.77478,
+            "Y": -0.00153354,
+            "Z": 145.12854
+          },
+          "StopDistance": 7,
+          "TerritoryId": 152,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1005565,
+          "Position": {
+            "X": 22.47644,
+            "Y": -6.2105103,
+            "Z": 252.552
+          },
+          "TerritoryId": 152,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "Position": {
+            "X": 45.84424,
+            "Y": 6.073427,
+            "Z": 248.96754
+          },
+          "TerritoryId": 152,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        },
+        {
+          "DataId": 1005564,
+          "Position": {
+            "X": 48.203125,
+            "Y": 6.0734696,
+            "Z": 247.79126
+          },
+          "TerritoryId": 152,
+          "InteractionType": "CompleteQuest",
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_BANSYL002_01253_SYSYTEM_Q1_000_1",
+              "Answer": "TEXT_BANSYL002_01253_SYSYTEM_A1_000_1"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/3.x - Heavensward/Tribal/Vanu Vanu/Story/2164_Three Beaks to the Wind.json b/QuestPaths/3.x - Heavensward/Tribal/Vanu Vanu/Story/2164_Three Beaks to the Wind.json
new file mode 100644 (file)
index 0000000..8903a9f
--- /dev/null
@@ -0,0 +1,205 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1012064,
+          "Position": {
+            "X": -542.7787,
+            "Y": -37.11544,
+            "Z": -386.7094
+          },
+          "TerritoryId": 401,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 2006621,
+          "Position": {
+            "X": -428.27502,
+            "Y": 201.34265,
+            "Z": -229.05322
+          },
+          "StopDistance": 0.5,
+          "TerritoryId": 401,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": -427.762,
+            "Y": 168.23676,
+            "Z": -215.835
+          },
+          "StopDistance": 5,
+          "TerritoryId": 401,
+          "InteractionType": "Combat",
+          "EnemySpawnType": "AutoOnEnterArea",
+          "KillEnemyDataIds": [
+            5232,
+            5233
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1016150,
+          "Position": {
+            "X": -429.52625,
+            "Y": 167.9683,
+            "Z": -224.445
+          },
+          "TerritoryId": 401,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 4,
+      "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": 5,
+      "Steps": [
+        {
+          "DataId": 1016087,
+          "Position": {
+            "X": -796.7498,
+            "Y": -133.2695,
+            "Z": -410.6966
+          },
+          "TerritoryId": 401,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 6,
+      "Steps": [
+        {
+          "DataId": 1016158,
+          "Position": {
+            "X": -779.263,
+            "Y": -117.906494,
+            "Z": -393.54547
+          },
+          "TerritoryId": 401,
+          "InteractionType": "Action",
+          "Action": "Buffet",
+          "Fly": true,
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
+        },
+        {
+          "DataId": 1016157,
+          "Position": {
+            "X": -813.2906,
+            "Y": -110.49066,
+            "Z": -434.1955
+          },
+          "TerritoryId": 401,
+          "InteractionType": "Action",
+          "Action": "Buffet",
+          "Fly": true,
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
+        },
+        {
+          "DataId": 1016156,
+          "Position": {
+            "X": -860.59357,
+            "Y": -122.91144,
+            "Z": -378.34747
+          },
+          "TerritoryId": 401,
+          "InteractionType": "Action",
+          "Action": "Buffet",
+          "Fly": true,
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "Position": {
+            "X": -796.7498,
+            "Y": -133.2695,
+            "Z": -410.6966
+          },
+          "StopDistance": 2,
+          "TerritoryId": 401,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        },
+        {
+          "DataId": 1016087,
+          "Position": {
+            "X": -796.7498,
+            "Y": -133.2695,
+            "Z": -410.6966
+          },
+          "TerritoryId": 401,
+          "InteractionType": "CompleteQuest",
+          "Mount": false,
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_BANVAN001_02164_SYSYTEM_Q1_000_110",
+              "Answer": "TEXT_BANVAN001_02164_SYSYTEM_A1_000_111"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/3.x - Heavensward/Tribal/Vath/Story/2255_The Naming of Vath.json b/QuestPaths/3.x - Heavensward/Tribal/Vath/Story/2255_The Naming of Vath.json
new file mode 100644 (file)
index 0000000..6f23c83
--- /dev/null
@@ -0,0 +1,215 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1011928,
+          "Position": {
+            "X": 73.19751,
+            "Y": -49.19563,
+            "Z": -139.05548
+          },
+          "TerritoryId": 398,
+          "InteractionType": "AcceptQuest",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1016835,
+          "Position": {
+            "X": 447.37915,
+            "Y": -51.141407,
+            "Z": 108.53735
+          },
+          "TerritoryId": 398,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "The Dravanian Forelands - Tailfeather",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1016836,
+          "Position": {
+            "X": 212.42078,
+            "Y": -58.007248,
+            "Z": -228.07666
+          },
+          "TerritoryId": 398,
+          "InteractionType": "Interact",
+          "Fly": true,
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_BANGNA001_02255_Q1_000_031",
+              "Answer": "TEXT_BANGNA001_02255_A1_000_032"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 2006874,
+          "Position": {
+            "X": 222.156,
+            "Y": -74.93713,
+            "Z": 122.51465
+          },
+          "TerritoryId": 398,
+          "InteractionType": "Combat",
+          "EnemySpawnType": "AfterInteraction",
+          "KillEnemyDataIds": [
+            5540
+          ],
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 4,
+      "Steps": [
+        {
+          "DataId": 1016836,
+          "Position": {
+            "X": 212.42078,
+            "Y": -58.007248,
+            "Z": -228.07666
+          },
+          "TerritoryId": 398,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 5,
+      "Steps": [
+        {
+          "Position": {
+            "X": 471.25446,
+            "Y": -51.141403,
+            "Z": 35.94126
+          },
+          "TerritoryId": 398,
+          "InteractionType": "WalkTo",
+          "AetheryteShortcut": "The Dravanian Forelands - Tailfeather",
+          "Fly": true
+        },
+        {
+          "DataId": 1011916,
+          "Position": {
+            "X": 470.02356,
+            "Y": -49.89133,
+            "Z": 20.370789
+          },
+          "TerritoryId": 398,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 6,
+      "Steps": [
+        {
+          "Position": {
+            "X": 471.25446,
+            "Y": -51.141403,
+            "Z": 35.94126
+          },
+          "TerritoryId": 398,
+          "InteractionType": "WalkTo",
+          "Mount": true
+        },
+        {
+          "DataId": 1011928,
+          "Position": {
+            "X": 73.19751,
+            "Y": -49.19563,
+            "Z": -139.05548
+          },
+          "TerritoryId": 398,
+          "InteractionType": "Interact",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 7,
+      "Steps": [
+        {
+          "DataId": 1016837,
+          "Position": {
+            "X": 58.88452,
+            "Y": -48.000004,
+            "Z": -171.06891
+          },
+          "TerritoryId": 398,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 8,
+      "Steps": [
+        {
+          "Position": {
+            "X": 215.13696,
+            "Y": -87.32745,
+            "Z": 217.94458
+          },
+          "TerritoryId": 398,
+          "InteractionType": "Action",
+          "Action": "Fumigate",
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "Position": {
+            "X": 58.88452,
+            "Y": -48.000004,
+            "Z": -171.06891
+          },
+          "StopDistance": 2,
+          "TerritoryId": 398,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        },
+        {
+          "DataId": 1016837,
+          "Position": {
+            "X": 58.88452,
+            "Y": -48.000004,
+            "Z": -171.06891
+          },
+          "TerritoryId": 398,
+          "InteractionType": "CompleteQuest",
+          "Mount": false,
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_BANGNA001_02255_Q1_000_105",
+              "Answer": "TEXT_BANGNA001_02255_A1_000_106"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/4.x - Stormblood/Unlocks/Instant/2921_Leves of Kugane.json b/QuestPaths/4.x - Stormblood/Unlocks/Instant/2921_Leves of Kugane.json
new file mode 100644 (file)
index 0000000..b198715
--- /dev/null
@@ -0,0 +1,22 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1018997,
+          "Position": {
+            "X": 20.492798,
+            "Y": -8.014721E-11,
+            "Z": -80.94916
+          },
+          "StopDistance": 5,
+          "TerritoryId": 628,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/4.x - Stormblood/Unlocks/Instant/2943_Songs in the Key of Kugane.json b/QuestPaths/4.x - Stormblood/Unlocks/Instant/2943_Songs in the Key of Kugane.json
new file mode 100644 (file)
index 0000000..199938f
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1022622,
+          "Position": {
+            "X": 18.08191,
+            "Y": 4.0559936,
+            "Z": 70.02356
+          },
+          "TerritoryId": 628,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/4.x - Stormblood/Unlocks/Misc/2631_I Dream of Shirogane.json b/QuestPaths/4.x - Stormblood/Unlocks/Misc/2631_I Dream of Shirogane.json
new file mode 100644 (file)
index 0000000..2668b83
--- /dev/null
@@ -0,0 +1,96 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1022628,
+          "Position": {
+            "X": 38.651123,
+            "Y": 2.99999,
+            "Z": -66.7583
+          },
+          "TerritoryId": 628,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1023604,
+          "Position": {
+            "X": -113.96973,
+            "Y": -7.010037,
+            "Z": -39.292053
+          },
+          "TerritoryId": 628,
+          "InteractionType": "Interact",
+          "AethernetShortcut": [
+            "[Kugane] Aetheryte Plaza",
+            "[Kugane] Shiokaze Hostelry"
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1019006,
+          "Position": {
+            "X": -116.80786,
+            "Y": -7.0101376,
+            "Z": -39.108948
+          },
+          "StopDistance": 7,
+          "TerritoryId": 628,
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 641,
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "ExcelSheet": "Addon",
+              "Prompt": 6347,
+              "Answer": 6349
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1023605,
+          "Position": {
+            "X": -99.99243,
+            "Y": 2.1199996,
+            "Z": 117.57068
+          },
+          "TerritoryId": 641,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1022628,
+          "Position": {
+            "X": 38.651123,
+            "Y": 2.99999,
+            "Z": -66.7583
+          },
+          "TerritoryId": 628,
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "Kugane"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/5.x - Shadowbringers/Unlocks/Instant/3602_Leves of the Crystarium.json b/QuestPaths/5.x - Shadowbringers/Unlocks/Instant/3602_Leves of the Crystarium.json
new file mode 100644 (file)
index 0000000..53af667
--- /dev/null
@@ -0,0 +1,22 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1027847,
+          "Position": {
+            "X": -76.34094,
+            "Y": 20.04979,
+            "Z": -110.97894
+          },
+          "StopDistance": 5,
+          "TerritoryId": 819,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/6.x - Endwalker/Unlocks/Misc/4170_Leves of Old Sharlayan.json b/QuestPaths/6.x - Endwalker/Unlocks/Misc/4170_Leves of Old Sharlayan.json
new file mode 100644 (file)
index 0000000..7d32c25
--- /dev/null
@@ -0,0 +1,22 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1037263,
+          "Position": {
+            "X": 46.829956,
+            "Y": -15.646994,
+            "Z": 107.86597
+          },
+          "StopDistance": 5,
+          "TerritoryId": 962,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/7.x - Dawntrail/Class Quests/PCT/4854_The Joy of Pictomancy.json b/QuestPaths/7.x - Dawntrail/Class Quests/PCT/4854_The Joy of Pictomancy.json
new file mode 100644 (file)
index 0000000..86f5071
--- /dev/null
@@ -0,0 +1,78 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1049794,
+          "Position": {
+            "X": -158.98376,
+            "Y": 4.51273,
+            "Z": -45.63977
+          },
+          "TerritoryId": 133,
+          "InteractionType": "AcceptQuest",
+          "DialogueChoices": [
+            {
+              "Type": "List",
+              "Prompt": "TEXT_KINGBB201_04854_Q1_000_000",
+              "Answer": "TEXT_KINGBB201_04854_A1_000_002"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 2013738,
+          "Position": {
+            "X": -6.9123535,
+            "Y": -1.4191895,
+            "Z": 5.508484
+          },
+          "TerritoryId": 132,
+          "InteractionType": "Interact",
+          "AethernetShortcut": [
+            "[Gridania] Conjurers' Guild",
+            "[Gridania] Aetheryte Plaza"
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1049795,
+          "Position": {
+            "X": 54.306763,
+            "Y": -8.321841,
+            "Z": 94.13281
+          },
+          "TerritoryId": 132,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1049795,
+          "Position": {
+            "X": 54.306763,
+            "Y": -8.321841,
+            "Z": 94.13281
+          },
+          "TerritoryId": 132,
+          "InteractionType": "CompleteQuest",
+          "NextQuestId": 4855
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/7.x - Dawntrail/Class Quests/PCT/4855_Mind over Manor.json b/QuestPaths/7.x - Dawntrail/Class Quests/PCT/4855_Mind over Manor.json
new file mode 100644 (file)
index 0000000..f997d61
--- /dev/null
@@ -0,0 +1,149 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "Position": {
+            "X": 54.306763,
+            "Y": -8.321841,
+            "Z": 94.13281
+          },
+          "TerritoryId": 132,
+          "InteractionType": "UseItem",
+          "ItemId": 43538,
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
+        },
+        {
+          "TerritoryId": 132,
+          "InteractionType": "EquipItem",
+          "ItemId": 41809,
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          },
+          "$": "This should probably call /equiprecommended if it exists"
+        },
+        {
+          "TerritoryId": 132,
+          "InteractionType": "EquipItem",
+          "ItemId": 43183,
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
+        },
+        {
+          "TerritoryId": 132,
+          "InteractionType": "EquipItem",
+          "ItemId": 43184,
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
+        },
+        {
+          "TerritoryId": 132,
+          "InteractionType": "EquipItem",
+          "ItemId": 43185,
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
+        },
+        {
+          "TerritoryId": 132,
+          "InteractionType": "EquipItem",
+          "ItemId": 43186,
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
+        },
+        {
+          "TerritoryId": 132,
+          "InteractionType": "EquipItem",
+          "ItemId": 43187,
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
+        },
+        {
+          "DataId": 1049795,
+          "Position": {
+            "X": 54.306763,
+            "Y": -8.321841,
+            "Z": 94.13281
+          },
+          "TerritoryId": 132,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1049794,
+          "Position": {
+            "X": -158.98376,
+            "Y": 4.51273,
+            "Z": -45.63977
+          },
+          "TerritoryId": 133,
+          "InteractionType": "Interact",
+          "AethernetShortcut": [
+            "[Gridania] Aetheryte Plaza",
+            "[Gridania] Conjurers' Guild"
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1049796,
+          "Position": {
+            "X": 27.695068,
+            "Y": 16.16987,
+            "Z": -339.13184
+          },
+          "TerritoryId": 133,
+          "InteractionType": "SinglePlayerDuty",
+          "AethernetShortcut": [
+            "[Gridania] Conjurers' Guild",
+            "[Gridania] Lancers' Guild"
+          ]
+        }
+      ]
+    }
+  ]
+}
index e03945f3d45ff62a690332aa11540a32a03ebb70..0ed32753429ccfa86a4ef494d1dcc808f2ea772a 100644 (file)
           }
         },
         {
-          "Position": {
-            "X": 89.036255,
-            "Y": 12,
-            "Z": 47.287598
-          },
-          "TerritoryId": 131,
+         "TerritoryId": 131,
           "InteractionType": "EquipItem",
           "ItemId": 41808,
           "SkipConditions": {
           "$": "This should probably call /equiprecommended if it exists"
         },
         {
-          "Position": {
-            "X": 89.036255,
-            "Y": 12,
-            "Z": 47.287598
-          },
           "TerritoryId": 131,
           "InteractionType": "EquipItem",
           "ItemId": 43178,
           }
         },
         {
-          "Position": {
-            "X": 89.036255,
-            "Y": 12,
-            "Z": 47.287598
-          },
           "TerritoryId": 131,
           "InteractionType": "EquipItem",
           "ItemId": 43179,
           }
         },
         {
-          "Position": {
-            "X": 89.036255,
-            "Y": 12,
-            "Z": 47.287598
-          },
-          "TerritoryId": 131,
+         "TerritoryId": 131,
           "InteractionType": "EquipItem",
           "ItemId": 43180,
           "SkipConditions": {
index 91193fee8964a85ea1d05a4b4e1c7437a9f1a34a..340621f11e3f61f22b1d230afb786f379a368b6a 100644 (file)
                         "enum": [
                           "Esuna",
                           "Physick",
+                          "Buffet",
+                          "Fumigate",
                           "Siphon Snout",
                           "Red Gulal",
                           "Yellow Gulal",
index 23711daec2d7f75be33d023143c5bff8d90fcfab..67a32a8d96db2b4de6851857578f2bfd5f5d3de9 100644 (file)
@@ -8,6 +8,8 @@ public sealed class ActionConverter() : EnumConverter<EAction>(Values)
     {
         { EAction.Esuna, "Esuna" },
         { EAction.Physick, "Physick" },
+        { EAction.Buffet, "Buffet" },
+        { EAction.Fumigate, "Fumigate" },
         { EAction.SiphonSnout, "Siphon Snout" },
         { EAction.RedGulal, "Red Gulal" },
         { EAction.YellowGulal, "Yellow Gulal" },
index 4464fc54516b7c4a3780d2a21a914e1bdb8103ea..b83e6c863282d13e2ee8aa5579b0e996f6c45401 100644 (file)
@@ -8,6 +8,8 @@ public enum EAction
 {
     Esuna = 7568,
     Physick = 190,
+    Buffet = 4931,
+    Fumigate = 5872,
     SiphonSnout = 18187,
     RedGulal = 29382,
     YellowGulal = 29383,
@@ -18,6 +20,12 @@ public static class EActionExtensions
 {
     public static bool RequiresMount(this EAction action)
     {
-        return action is EAction.SiphonSnout or EAction.RedGulal or EAction.YellowGulal or EAction.BlueGulal;
+        return action
+            is EAction.Buffet
+            or EAction.Fumigate
+            or EAction.SiphonSnout
+            or EAction.RedGulal
+            or EAction.YellowGulal
+            or EAction.BlueGulal;
     }
 }
index be43974cdf16ecf7528dccbcc71ea4133e0ff4b8..0bb4e12b462547018496a6aa861edbb72a664228 100644 (file)
@@ -59,6 +59,7 @@ internal sealed class GameUiController : IDisposable
         _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "AkatsukiNote", UnendingCodexPostSetup);
         _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "ContentsTutorial", ContentsTutorialPostSetup);
         _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "MultipleHelpWindow", MultipleHelpWindowPostSetup);
+        _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "HousingSelectBlock", HousingSelectBlockPostSetup);
     }
 
     internal unsafe void HandleCurrentDialogueChoices()
@@ -353,6 +354,7 @@ internal sealed class GameUiController : IDisposable
         SelectYesnoPostSetup(addonSelectYesno, false);
     }
 
+    [SuppressMessage("ReSharper", "RedundantJumpStatement")]
     private unsafe void SelectYesnoPostSetup(AddonSelectYesno* addonSelectYesno, bool checkAllSteps)
     {
         string? actualPrompt = addonSelectYesno->AtkUnitBase.AtkValues[0].ReadAtkString();
@@ -362,34 +364,42 @@ internal sealed class GameUiController : IDisposable
         _logger.LogTrace("Prompt: '{Prompt}'", actualPrompt);
 
         var currentQuest = _questController.StartedQuest;
-        if (currentQuest != null)
-        {
-            var quest = currentQuest.Quest;
-            if (checkAllSteps)
-            {
-                var sequence = quest.FindSequence(currentQuest.Sequence);
-                if (sequence != null && HandleDefaultYesNo(addonSelectYesno, quest,
-                        sequence.Steps.SelectMany(x => x.DialogueChoices).ToList(), actualPrompt))
-                    return;
-            }
-            else
-            {
-                var step = quest.FindSequence(currentQuest.Sequence)?.FindStep(currentQuest.Step);
-                if (step != null && HandleDefaultYesNo(addonSelectYesno, quest, step.DialogueChoices, actualPrompt))
-                    return;
-            }
-
-            if (HandleTravelYesNo(addonSelectYesno, currentQuest, actualPrompt))
-                return;
-        }
+        if (currentQuest != null && CheckQuestYesNo(addonSelectYesno, currentQuest, actualPrompt, checkAllSteps))
+            return;
 
         var simulatedQuest = _questController.SimulatedQuest;
         if (simulatedQuest != null && HandleTravelYesNo(addonSelectYesno, simulatedQuest, actualPrompt))
             return;
 
         var nextQuest = _questController.NextQuest;
-        if (nextQuest != null)
-            HandleTravelYesNo(addonSelectYesno, nextQuest, actualPrompt);
+        if (nextQuest != null && CheckQuestYesNo(addonSelectYesno, nextQuest, actualPrompt, checkAllSteps))
+            return;
+
+        return;
+    }
+
+    private unsafe bool CheckQuestYesNo(AddonSelectYesno* addonSelectYesno, QuestController.QuestProgress currentQuest,
+        string actualPrompt, bool checkAllSteps)
+    {
+        var quest = currentQuest.Quest;
+        if (checkAllSteps)
+        {
+            var sequence = quest.FindSequence(currentQuest.Sequence);
+            if (sequence != null && HandleDefaultYesNo(addonSelectYesno, quest,
+                    sequence.Steps.SelectMany(x => x.DialogueChoices).ToList(), actualPrompt))
+                return true;
+        }
+        else
+        {
+            var step = quest.FindSequence(currentQuest.Sequence)?.FindStep(currentQuest.Step);
+            if (step != null && HandleDefaultYesNo(addonSelectYesno, quest, step.DialogueChoices, actualPrompt))
+                return true;
+        }
+
+        if (HandleTravelYesNo(addonSelectYesno, currentQuest, actualPrompt))
+            return true;
+
+        return false;
     }
 
     private unsafe bool HandleDefaultYesNo(AddonSelectYesno* addonSelectYesno, Quest quest,
@@ -434,6 +444,13 @@ internal sealed class GameUiController : IDisposable
             return true;
         }
 
+        if (_questController.IsRunning && _gameGui.TryGetAddonByName("HousingSelectBlock", out AtkUnitBase* _))
+        {
+            _logger.LogInformation("Automatically confirming ward selection");
+            addonSelectYesno->AtkUnitBase.FireCallbackInt(0);
+            return true;
+        }
+
         var targetTerritoryId = FindTargetTerritoryFromQuestStep(currentQuest);
         if (targetTerritoryId != null &&
             TryFindWarp(targetTerritoryId.Value, actualPrompt, out uint? warpId, out string? warpText))
@@ -601,6 +618,9 @@ internal sealed class GameUiController : IDisposable
         }
     }
 
+    /// <summary>
+    /// Opened e.g. the first time you open the duty finder window during Sastasha.
+    /// </summary>
     private unsafe void MultipleHelpWindowPostSetup(AddonEvent type, AddonArgs args)
     {
         if (_questController.StartedQuest?.Quest.QuestId == 245)
@@ -612,6 +632,16 @@ internal sealed class GameUiController : IDisposable
         }
     }
 
+    private unsafe void HousingSelectBlockPostSetup(AddonEvent type, AddonArgs args)
+    {
+        if (_questController.IsRunning)
+        {
+            _logger.LogInformation("Confirming selected housing ward");
+            AtkUnitBase* addon = (AtkUnitBase*)args.Addon;
+            addon->FireCallbackInt(0);
+        }
+    }
+
     /// <summary>
     /// Ensures characters like '-' are handled equally in both strings.
     /// </summary>
@@ -643,6 +673,7 @@ internal sealed class GameUiController : IDisposable
 
     public void Dispose()
     {
+        _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "HousingSelectBlock", HousingSelectBlockPostSetup);
         _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "MultipleHelpWindow", MultipleHelpWindowPostSetup);
         _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "ContentsTutorial", ContentsTutorialPostSetup);
         _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "AkatsukiNote", UnendingCodexPostSetup);