Minor cleanup for ARR part 3
authorLiza Carvelli <liza@carvel.li>
Fri, 19 Jul 2024 19:16:40 +0000 (21:16 +0200)
committerLiza Carvelli <liza@carvel.li>
Fri, 19 Jul 2024 19:16:40 +0000 (21:16 +0200)
53 files changed:
QuestPathGenerator/QuestSourceGenerator.cs
QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/1049_Pride and Duty (Will Take You from the Mountain).json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/1050_Embracing the Beast.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/317_The Mountain That Strides.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/318_Bleeder of the Pack.json
QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/319_Bringing Down the Mountain.json [new file with mode: 0644]
QuestPaths/2.x - A Realm Reborn/MSQ-1/Shared/272_Life, Materia and Everything.json
QuestPaths/2.x - A Realm Reborn/MSQ-1/Shared/343_Lord of the Inferno.json
QuestPaths/2.x - A Realm Reborn/MSQ-1/Shared/511_A Hero in the Making.json
QuestPaths/2.x - A Realm Reborn/MSQ-1/Shared/574_Dressed to Deceive.json
QuestPaths/2.x - A Realm Reborn/MSQ-1/Shared/683_Wood's Will Be Done.json
QuestPaths/2.x - A Realm Reborn/MSQ-1/Shared/684_Till Sea Swallows All.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/3863_Terror at Fallgourd.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/3864_Ziz Is So Ridiculous.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/3865_Trial by Turtle.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/517_All Good Things.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/520_Reclamation.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/522_The Black Wolf's Ultimatum.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/685_For Coin and Country.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/748_Highbridge Times.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/756_Where There Is Smoke.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/757_On to Little Ala Mhigo.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/761_Tea for Three.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/762_Foot in the Door.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/763_Meeting with the Resistance.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/774_Helping Horn.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/777_The Bear and the Young'uns' Cares.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/778_Wilred Wants You.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/782_Big Trouble in Little Ala Mhigo.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/783_Back to Square One.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/786_Seeing Eye to Winged Eye.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/787_Rock of Rancor.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/799_Power of Deduction.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/801_Skeletons in Her Closet.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/809_Tales from the Tidus Slayer.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/811_The Lominsan Way.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/814_A Modest Proposal.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/832_The Things We Do for Cheese.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/848_Battle Scars.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/855_In the Company of Heroes.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/856_As You Wish.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/857_Lord of Crags.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/886_The Unending War.json
QuestPaths/2.x - A Realm Reborn/Unlocks/Misc/802_Broadening Horizons.json [new file with mode: 0644]
Questionable.Model/V1/QuestStep.cs
Questionable/Controller/CombatController.cs
Questionable/Controller/NavigationOverrides/MovementOverrideController.cs
Questionable/Controller/Steps/Interactions/EquipItem.cs
Questionable/Controller/Steps/Interactions/UseItem.cs
Questionable/Controller/Steps/Shared/WaitAtEnd.cs
Questionable/GameFunctions.cs
Questionable/QuestionablePlugin.cs
Questionable/Validation/Validators/UniqueStartStopValidator.cs

index 40d1fafe981b5514d1d324105f7c87e68544b05e..6190603fc5724efccdd2db48747718cabd25d867 100644 (file)
@@ -368,7 +368,7 @@ public class QuestSourceGenerator : ISourceGenerator
                                                 .AsSyntaxNodeOrToken(),
                                             AssignmentList(nameof(QuestStep.PointMenuChoices), step.PointMenuChoices)
                                                 .AsSyntaxNodeOrToken(),
-                                            Assignment(nameof(QuestStep.PickupQuestId), step.PickupQuestId, emptyStep.PickupQuestId)
+                                            Assignment(nameof(QuestStep.PickUpQuestId), step.PickUpQuestId, emptyStep.PickUpQuestId)
                                                 .AsSyntaxNodeOrToken(),
                                             Assignment(nameof(QuestStep.TurnInQuestId), step.TurnInQuestId, emptyStep.TurnInQuestId)
                                                 .AsSyntaxNodeOrToken(),
diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/1049_Pride and Duty (Will Take You from the Mountain).json b/QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/1049_Pride and Duty (Will Take You from the Mountain).json
new file mode 100644 (file)
index 0000000..7580936
--- /dev/null
@@ -0,0 +1,83 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1000927,
+          "Position": {
+            "X": -1.2055054,
+            "Y": 44.999886,
+            "Z": -255.8786
+          },
+          "TerritoryId": 128,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1006761,
+          "Position": {
+            "X": 520.2562,
+            "Y": 17.62488,
+            "Z": 470.51184
+          },
+          "TerritoryId": 137,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol"
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1006763,
+          "Position": {
+            "X": 494.9568,
+            "Y": 11.450662,
+            "Z": 329.76257
+          },
+          "TerritoryId": 137,
+          "InteractionType": "SinglePlayerDuty"
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1006762,
+          "Position": {
+            "X": 494.16345,
+            "Y": 12.305895,
+            "Z": 337.27014
+          },
+          "TerritoryId": 137,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1006746,
+          "Position": {
+            "X": 460.65454,
+            "Y": 8.309061,
+            "Z": 74.47925
+          },
+          "TerritoryId": 137,
+          "InteractionType": "CompleteQuest",
+          "NextQuestId": 1050
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/1050_Embracing the Beast.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/1050_Embracing the Beast.json
new file mode 100644 (file)
index 0000000..d927f24
--- /dev/null
@@ -0,0 +1,123 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "TerritoryId": 137,
+          "InteractionType": "EquipItem",
+          "ItemId": 4544
+        },
+        {
+          "DataId": 1006746,
+          "Position": {
+            "X": 460.65454,
+            "Y": 8.309061,
+            "Z": 74.47925
+          },
+          "TerritoryId": 137,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1004962,
+          "Position": {
+            "X": -300.1908,
+            "Y": 7.2785034,
+            "Z": 410.94055
+          },
+          "TerritoryId": 146,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Southern Thanalan - Forgotten Springs",
+          "SkipIf": [
+            "AetheryteShortcutIfInSameTerritory"
+          ],
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
+        },
+        {
+          "DataId": 1006735,
+          "Position": {
+            "X": -316.1822,
+            "Y": 8.844355,
+            "Z": 433.82922
+          },
+          "TerritoryId": 146,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
+        },
+        {
+          "DataId": 1006288,
+          "Position": {
+            "X": -361.40997,
+            "Y": 8.46532,
+            "Z": 426.13855
+          },
+          "TerritoryId": 146,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 156.89783,
+            "Y": 4.3410587,
+            "Z": 831.42926
+          },
+          "TerritoryId": 146,
+          "InteractionType": "Combat",
+          "EnemySpawnType": "AutoOnEnterArea",
+          "KillEnemyDataIds": [
+            1917
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1006746,
+          "Position": {
+            "X": 460.65454,
+            "Y": 8.309061,
+            "Z": 74.47925
+          },
+          "TerritoryId": 137,
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/317_The Mountain That Strides.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/317_The Mountain That Strides.json
new file mode 100644 (file)
index 0000000..a7f2bcb
--- /dev/null
@@ -0,0 +1,198 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1000927,
+          "Position": {
+            "X": -1.2055054,
+            "Y": 44.999886,
+            "Z": -255.8786
+          },
+          "TerritoryId": 128,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1002682,
+          "Position": {
+            "X": -86.930725,
+            "Y": 40.999992,
+            "Z": -153.91785
+          },
+          "TerritoryId": 128,
+          "InteractionType": "Interact",
+          "AethernetShortcut": [
+            "[Limsa Lominsa] Marauders' Guild",
+            "[Limsa Lominsa] Culinarians' Guild"
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1002112,
+          "Position": {
+            "X": 561.6693,
+            "Y": 89.783,
+            "Z": -81.52899
+          },
+          "TerritoryId": 135,
+          "InteractionType": "Interact",
+          "AethernetShortcut": [
+            "[Limsa Lominsa] Culinarians' Guild",
+            "[Limsa Lominsa] Tempest Gate (Lower La Noscea)"
+          ],
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1002683,
+          "Position": {
+            "X": 559.6245,
+            "Y": 89.783,
+            "Z": -80.1557
+          },
+          "TerritoryId": 135,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 4,
+      "Steps": [
+        {
+          "DataId": 1002113,
+          "Position": {
+            "X": 312.45886,
+            "Y": -24.483091,
+            "Z": 212.84802
+          },
+          "TerritoryId": 138,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 5,
+      "Steps": [
+        {
+          "DataId": 2000289,
+          "Position": {
+            "X": 348.34814,
+            "Y": -18.60083,
+            "Z": 168.3833
+          },
+          "TerritoryId": 138,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
+        },
+        {
+          "Position": {
+            "X": 297.38306,
+            "Y": -14.2977295,
+            "Z": 148.85168
+          },
+          "TerritoryId": 138,
+          "InteractionType": "WalkTo"
+        },
+        {
+          "DataId": 2000290,
+          "Position": {
+            "X": 297.38306,
+            "Y": -14.2977295,
+            "Z": 148.85168
+          },
+          "TerritoryId": 138,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ],
+          "DelaySecondsAtStart": 5
+        }
+      ]
+    },
+    {
+      "Sequence": 6,
+      "Steps": [
+        {
+          "DataId": 1002684,
+          "Position": {
+            "X": 299.1836,
+            "Y": 0.7139131,
+            "Z": 86.10657
+          },
+          "TerritoryId": 138,
+          "InteractionType": "SinglePlayerDuty"
+        }
+      ]
+    },
+    {
+      "Sequence": 7,
+      "Steps": [
+        {
+          "DataId": 1002112,
+          "Position": {
+            "X": 561.6693,
+            "Y": 89.783,
+            "Z": -81.52899
+          },
+          "TerritoryId": 135,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Limsa Lominsa",
+          "AethernetShortcut": [
+            "[Limsa Lominsa] Aetheryte Plaza",
+            "[Limsa Lominsa] Tempest Gate (Lower La Noscea)"
+          ],
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1000927,
+          "Position": {
+            "X": -1.2055054,
+            "Y": 44.999886,
+            "Z": -255.8786
+          },
+          "TerritoryId": 128,
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "Limsa Lominsa",
+          "AethernetShortcut": [
+            "[Limsa Lominsa] Aetheryte Plaza",
+            "[Limsa Lominsa] Marauders' Guild"
+          ],
+          "NextQuestId": 318
+        }
+      ]
+    }
+  ]
+}
index 2e89f06882b0008a75bf01e1b6d215d7a32c58f2..f10b55951393123d33cf9600b1c6c80bc377442b 100644 (file)
@@ -48,6 +48,7 @@
           },
           "TerritoryId": 135,
           "InteractionType": "SinglePlayerDuty",
+          "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks",
           "Fly": true
         }
       ]
@@ -68,7 +69,8 @@
           "AethernetShortcut": [
             "[Limsa Lominsa] Aetheryte Plaza",
             "[Limsa Lominsa] Marauders' Guild"
-          ]
+          ],
+          "NextQuestId": 319
         }
       ]
     }
diff --git a/QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/319_Bringing Down the Mountain.json b/QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/319_Bringing Down the Mountain.json
new file mode 100644 (file)
index 0000000..f71fbd9
--- /dev/null
@@ -0,0 +1,237 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1000927,
+          "Position": {
+            "X": -1.2055054,
+            "Y": 44.999886,
+            "Z": -255.8786
+          },
+          "TerritoryId": 128,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1002115,
+          "Position": {
+            "X": 562.3406,
+            "Y": 89.86035,
+            "Z": -80.216736
+          },
+          "TerritoryId": 135,
+          "InteractionType": "Interact",
+          "AethernetShortcut": [
+            "[Limsa Lominsa] Marauders' Guild",
+            "[Limsa Lominsa] Tempest Gate (Lower La Noscea)"
+          ],
+          "Fly": true
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1002713,
+          "Position": {
+            "X": 554.4059,
+            "Y": 89.783,
+            "Z": -67.979004
+          },
+          "TerritoryId": 135,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
+        },
+        {
+          "DataId": 1002686,
+          "Position": {
+            "X": 554.2838,
+            "Y": 89.78309,
+            "Z": -72.43463
+          },
+          "TerritoryId": 135,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 2000296,
+          "Position": {
+            "X": 565.1482,
+            "Y": 66.666626,
+            "Z": -215.2591
+          },
+          "TerritoryId": 135,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 4,
+      "Steps": [
+        {
+          "DataId": 2000297,
+          "Position": {
+            "X": 590.8141,
+            "Y": 72.40405,
+            "Z": -272.08368
+          },
+          "StopDistance": 1,
+          "TerritoryId": 135,
+          "InteractionType": "Interact",
+          "Mount": false
+        }
+      ]
+    },
+    {
+      "Sequence": 5,
+      "Steps": [
+        {
+          "Position": {
+            "X": 565.94104,
+            "Y": 85.81174,
+            "Z": -322.61465
+          },
+          "TerritoryId": 135,
+          "InteractionType": "WalkTo",
+          "Mount": false
+        },
+        {
+          "DataId": 2000298,
+          "Position": {
+            "X": 566.8268,
+            "Y": 85.52673,
+            "Z": -320.82092
+          },
+          "TerritoryId": 135,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 6,
+      "Steps": [
+        {
+          "DataId": 2000299,
+          "Position": {
+            "X": 574.0901,
+            "Y": 90.440186,
+            "Z": -429.06842
+          },
+          "TerritoryId": 135,
+          "InteractionType": "SinglePlayerDuty",
+          "Mount": false
+        }
+      ]
+    },
+    {
+      "Sequence": 7,
+      "Steps": [
+        {
+          "DataId": 1002689,
+          "Position": {
+            "X": 569.6345,
+            "Y": 86.253204,
+            "Z": -363.94293
+          },
+          "TerritoryId": 135,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
+        },
+        {
+          "DataId": 1002714,
+          "Position": {
+            "X": 572.5946,
+            "Y": 86.366455,
+            "Z": -365.3468
+          },
+          "StopDistance": 5,
+          "TerritoryId": 135,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
+        },
+        {
+          "DataId": 1002715,
+          "Position": {
+            "X": 566.4302,
+            "Y": 86.2767,
+            "Z": -364.95007
+          },
+          "StopDistance": 5,
+          "TerritoryId": 135,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1000927,
+          "Position": {
+            "X": -1.2055054,
+            "Y": 44.999886,
+            "Z": -255.8786
+          },
+          "TerritoryId": 128,
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "Limsa Lominsa",
+          "AethernetShortcut": [
+            "[Limsa Lominsa] Aetheryte Plaza",
+            "[Limsa Lominsa] Marauders' Guild"
+          ],
+          "NextQuestId": 1049
+        }
+      ]
+    }
+  ]
+}
index a7f3e9604903c94d2f25c106e2e6f421231b8844..5a78ab23919c208cc2fb1d9532ced9825b67d42a 100644 (file)
@@ -71,7 +71,8 @@
             "Z": -380.82272
           },
           "TerritoryId": 140,
-          "InteractionType": "WalkTo"
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
         },
         {
           "DataId": 2001711,
index 90b15acbd99eea991738f4b538ba815eba8b54d1..8009715baa35bacccd620455b6bca110fa4ece04 100644 (file)
             "Z": -380.82272
           },
           "TerritoryId": 140,
-          "InteractionType": "WalkTo"
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
         },
         {
           "DataId": 2001711,
index 6be4f74c1cd185057391236d85b029f3c17bedee..3e622bc6e0049c0a4acafc543864750d7299a36b 100644 (file)
             "Z": -380.82272
           },
           "TerritoryId": 140,
-          "InteractionType": "WalkTo"
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
         },
         {
           "DataId": 2001711,
index d64ec05491cc0b8ea78a1a55c59ad984d65923c2..db2817ed6204426de8d9ab015c30a307be0b4e6c 100644 (file)
             "Z": -380.82272
           },
           "TerritoryId": 140,
-          "InteractionType": "WalkTo"
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
         },
         {
           "DataId": 2001711,
index f4ef94158421e0e9cfcaef5eb7df591d06497dd6..86f494ab78b2330a75f65f97ebb602ba2bede6d4 100644 (file)
@@ -33,7 +33,8 @@
             "Z": -380.82272
           },
           "TerritoryId": 140,
-          "InteractionType": "WalkTo"
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
         },
         {
           "DataId": 2001711,
index c46bfe5173bbfa87084a57dd3da335aa55a36640..8de127a1a80c77f104460529032350c99170e813 100644 (file)
@@ -34,7 +34,8 @@
             "Z": -380.82272
           },
           "TerritoryId": 140,
-          "InteractionType": "WalkTo"
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
         },
         {
           "DataId": 2001711,
index 3933f11199078e99eee59791bce6234f04c7259c..af778f4ecb83d29b8a7bfbafc1bcf2d568659e0f 100644 (file)
@@ -28,7 +28,8 @@
             "Z": -0.015319824
           },
           "TerritoryId": 212,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 212
         },
         {
           "DataId": 1007417,
@@ -79,4 +80,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 588dbdac5b2d500548b5b4c5c9a79512c9095830..8f5618ca3b1aa811a8321c737864ed78757daf8a 100644 (file)
       "Sequence": 1,
       "Steps": [
         {
-          "DataId": 7,
+          "TerritoryId": 154,
+          "InteractionType": "AttuneAetheryte",
+          "StopDistance": 5,
+          "Aetheryte": "North Shroud - Fallgourd Float"
+        },
+        {
           "Position": {
-            "X": -41.58087,
-            "Y": -38.55963,
-            "Z": 233.7528
+            "X": -214.10292,
+            "Y": -56.837837,
+            "Z": 295.99493
           },
           "TerritoryId": 154,
-          "InteractionType": "AttuneAetheryte",
-          "StopDistance": 5
+          "InteractionType": "WalkTo"
         },
         {
           "Position": {
-            "X": -220.29037,
-            "Y": -28.43536,
-            "Z": 283.79355
+            "X": -276.81464,
+            "Y": -56.335888,
+            "Z": 302.93182
           },
           "TerritoryId": 154,
           "InteractionType": "Combat",
@@ -63,4 +67,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index a825d975ffb4378cd5f49e2f08f4d5bfcb559c27..92b1abd672305589156a841a603e23b8c57ae577 100644 (file)
       "Sequence": 255,
       "Steps": [
         {
-          "DataId": 20,
+          "DataId": 1004596,
           "Position": {
-            "X": -326.6194,
-            "Y": 10.696533,
-            "Z": 406.63757
+            "X": -471.27496,
+            "Y": -2.650424,
+            "Z": 95.628296
           },
+          "TerritoryId": 146,
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 146,
+          "AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo"
+        },
+        {
           "TerritoryId": 146,
           "InteractionType": "AttuneAetheryte",
           "StopDistance": 5,
-          "AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo"
+          "Aetheryte": "Southern Thanalan - Forgotten Springs"
         },
         {
           "DataId": 1004917,
       ]
     }
   ]
-}
\ No newline at end of file
+}
index e1ae6a7e47ecd22977f5467538491f69a0707d66..382486a7a328e87d072414a61e10b807077bbd8b 100644 (file)
@@ -57,7 +57,8 @@
             "Z": -380.82272
           },
           "TerritoryId": 140,
-          "InteractionType": "WalkTo"
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
         },
         {
           "DataId": 2001711,
index f97d4ebeaf3552fe95b5a3ad4c493a0f109061c2..7c38913eabbc33513c3de40a215f5b0a7dd79f61 100644 (file)
@@ -34,7 +34,8 @@
             "Z": -380.82272
           },
           "TerritoryId": 140,
-          "InteractionType": "WalkTo"
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
         },
         {
           "DataId": 2001711,
index f95811f8e082e36038b7c9c3efe444961dab605a..20342383a98e1af3129297a3b749a851c63739d3 100644 (file)
@@ -53,7 +53,8 @@
             "Z": -380.82272
           },
           "TerritoryId": 140,
-          "InteractionType": "WalkTo"
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
         },
         {
           "DataId": 2001711,
index f832295180022ea1a97d78ab25156fcfecfa6563..44a41aec83553b9bc3abc5bc592c88cde288ab6a 100644 (file)
@@ -37,7 +37,8 @@
             "Z": -380.82272\r
           },\r
           "TerritoryId": 140,\r
-          "InteractionType": "WalkTo"\r
+          "InteractionType": "WalkTo",\r
+          "$": "Avoid walking around Waking Sands table"\r
         },\r
         {\r
           "DataId": 2001711,\r
@@ -63,4 +64,4 @@
       ]\r
     }\r
   ]\r
-}
\ No newline at end of file
+}\r
index 37e50319a4983d9d9035c2d515f3c04f2d4190ed..1c833daba6a3b4854569f60995acea6bb0a97f61 100644 (file)
             "Z": -58.854065
           },
           "TerritoryId": 145,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
         },
         {
           "DataId": 1006204,
             "Z": -7.5532227
           },
           "TerritoryId": 145,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
         },
         {
           "DataId": 1006205,
             "Z": 7.4310913
           },
           "TerritoryId": 145,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
         }
       ]
     },
@@ -72,4 +96,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index bedbc2ab29a44498ccba4994f14b375fc2c6e8b5..86f138cc5e9f4ad56ad022d7bf69800032e059f7 100644 (file)
     {
       "Sequence": 1,
       "Steps": [
+        {
+          "Position": {
+            "X": 318.09802,
+            "Y": 20.949646,
+            "Z": -263.94977
+          },
+          "TerritoryId": 145,
+          "InteractionType": "WalkTo"
+        },
         {
           "DataId": 2001965,
           "Position": {
@@ -37,7 +46,8 @@
           "ItemId": 2000604,
           "KillEnemyDataIds": [
             363
-          ]
+          ],
+          "DisableNavmesh": true
         }
       ]
     },
@@ -57,4 +67,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 5ef5f6fb1da7ea2d24e60685dbbae21865b1235d..806682c1a0aedaea5a459ff451ac2cc20eb6b15e 100644 (file)
           "TargetTerritoryId": 146
         },
         {
-          "DataId": 19,
-          "Position": {
-            "X": -159.3805,
-            "Y": 30.105957,
-            "Z": -415.45746
-          },
           "TerritoryId": 146,
           "InteractionType": "AttuneAetheryte",
-          "StopDistance": 7
+          "StopDistance": 7,
+          "Aetheryte": "Southern Thanalan - Little Ala Mhigo"
         },
         {
           "DataId": 1006211,
@@ -73,4 +68,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 898bfb5bb70e17581cc36be8ca8a8dafebb08f8b..273407b3f3ebc7f2af27f36a9303503dcfa4f35b 100644 (file)
             "Z": -247.82184
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
         },
         {
           "DataId": 1006704,
             "Z": -165.45361
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
         },
         {
           "DataId": 1006703,
             "Z": -133.22656
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
         }
       ]
     },
             "Z": -402.02948
           },
           "TerritoryId": 146,
-          "InteractionType": "CompleteQuest"
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo"
         }
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 1d13caeeb3ed8ae3e2b84f3f48318befb9eebd38..18c5969246712885804fbc373ad9041a474ce9c3 100644 (file)
           "InteractionType": "UseItem",
           "ItemId": 30362
         },
+        {
+          "Position": {
+            "X": -492.96475,
+            "Y": 20.999884,
+            "Z": -380.82272
+          },
+          "TerritoryId": 140,
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
+        },
         {
           "DataId": 2001711,
           "Position": {
@@ -37,7 +47,8 @@
             "Z": -386.862
           },
           "TerritoryId": 140,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 212
         },
         {
           "DataId": 2001715,
@@ -47,7 +58,8 @@
             "Z": -0.015319824
           },
           "TerritoryId": 212,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 212
         },
         {
           "DataId": 1006688,
@@ -62,4 +74,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 998e9795aff57ddc97f736386a7e7d7100f4c4d1..0bee2532a6aed62857aa588f28d0729ede11ba40 100644 (file)
@@ -28,7 +28,8 @@
             "Z": -0.015319824
           },
           "TerritoryId": 212,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 212
         },
         {
           "DataId": 1007418,
@@ -59,4 +60,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index adaa605983e0d3e32c6a44c0a5e02bdcf9999532..19f0b7271d5ae12782eecfd93be6dc90ffbb0be7 100644 (file)
       "Steps": [
         {
           "Position": {
-            "X": 260.3064,
-            "Y": 3.8526046,
-            "Z": 15.633602
+            "X": 262.89966,
+            "Y": 11.363011,
+            "Z": -143.02156
           },
           "TerritoryId": 153,
           "InteractionType": "Combat",
           "EnemySpawnType": "OverworldEnemies",
-          "KillEnemyDataIds": [
-            4
+          "ComplexCombatData": [
+            {
+              "DataId": 4,
+              "MinimumKillCount": 4,
+              "CompletionQuestVariablesFlags": [
+                null,
+                64,
+                null,
+                null,
+                null,
+                null
+              ]
+            }
           ]
         }
       ]
             "Z": -39.932922
           },
           "TerritoryId": 153,
-          "InteractionType": "CompleteQuest"
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "South Shroud - Quarrymill"
         }
       ]
     }
   ]
-}
\ No newline at end of file
+}
index e3867516c0b5000b988f6702856b1808294538f6..f3d4477f22afb84f25a1b17bd55eef173e9b0194 100644 (file)
             "Z": -337.789
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
         },
         {
           "DataId": 1006222,
             "Z": -331.34973
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "DisableNavmesh": true,
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
         },
         {
           "DataId": 1006223,
             "Z": -348.50085
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
         },
         {
           "DataId": 1006224,
             "Z": -325.42914
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            16
+          ]
         }
       ]
     },
       ]
     }
   ]
-}
\ No newline at end of file
+}
index f60e3675b9e1eaecd9e5aa1ae65f0259c912ca7b..d37c45b8d4aafc97e57503adadd9ebe9ce364d83 100644 (file)
             "Z": -352.98694
           },
           "TerritoryId": 146,
-          "InteractionType": "CompleteQuest"
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo"
         }
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 78ccc8d41333a031688757d6b547122bac66b266..66c21c38e1e44460bd9181ba1520728bbd590bd6 100644 (file)
             "Z": -318.5016
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            16
+          ]
         },
         {
           "DataId": 1006225,
             "Z": -333.69952
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
         },
         {
           "DataId": 1007617,
             "Z": -339.71167
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
         },
         {
           "DataId": 2001981,
             "Z": -350.08777
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            8
+          ]
         },
         {
           "DataId": 1007616,
             "Z": -341.3291
           },
           "TerritoryId": 146,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
         }
       ]
     },
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 1b5b077c76021a989a6d7240f7032e928b8bcff3..660d62afe6891aefdf17f52d813cb31c7ba19ea2 100644 (file)
           "InteractionType": "UseItem",
           "ItemId": 30362
         },
+        {
+          "Position": {
+            "X": -492.96475,
+            "Y": 20.999884,
+            "Z": -380.82272
+          },
+          "TerritoryId": 140,
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
+        },
         {
           "DataId": 2001711,
           "Position": {
@@ -37,7 +47,8 @@
             "Z": -386.862
           },
           "TerritoryId": 140,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 212
         },
         {
           "DataId": 2001715,
@@ -47,7 +58,8 @@
             "Z": -0.015319824
           },
           "TerritoryId": 212,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 212
         },
         {
           "DataId": 1006688,
@@ -62,4 +74,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 7a8ebe2f00e5e22742f3d2015ae4ffac1ee2482d..8cec6ad0e66a9d8932faa30a9d1ae8869c92b47b 100644 (file)
@@ -12,6 +12,7 @@
             "Y": -44.865616,
             "Z": 264.54565
           },
+          "StopDistance": 7,
           "TerritoryId": 154,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "North Shroud - Fallgourd Float",
@@ -57,4 +58,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index cded24cf0616ef7a1456a3e384d2ac93dbcca60e..d846e910f68fc0d5e6bbd1e770e849c8bb8af094 100644 (file)
     {
       "Sequence": 1,
       "Steps": [
+        {
+          "Position": {
+            "X": -195.16211,
+            "Y": -63.65229,
+            "Z": 370.28903
+          },
+          "TerritoryId": 154,
+          "InteractionType": "WalkTo"
+        },
         {
           "Position": {
             "X": -222.67735,
@@ -31,8 +40,9 @@
             "Z": 396.86935
           },
           "TerritoryId": 154,
-          "InteractionType": "WaitForManualProgress",
-          "Comment": "Use Firesand Stick on glowing spot"
+          "InteractionType": "UseItem",
+          "ItemId": 2000616,
+          "GroundTarget": true
         }
       ]
     },
             "Z": 389.9137
           },
           "TerritoryId": 154,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            8
+          ]
         },
         {
           "DataId": 2001986,
             "Z": 383.3523
           },
           "TerritoryId": 154,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
         },
         {
           "DataId": 2001987,
             "Z": 376.3026
           },
           "TerritoryId": 154,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            16
+          ]
         },
         {
           "DataId": 2001985,
             "Z": 378.95776
           },
           "TerritoryId": 154,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
         },
         {
           "DataId": 2001984,
             "Z": 388.93713
           },
           "TerritoryId": 154,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
         }
       ]
     },
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 099bfc981a2115f17c7ac41ce31b0317303ddf3a..650caa726537be5b2f4c3b5890b8492cbf236910 100644 (file)
@@ -12,6 +12,7 @@
             "Y": -44.86571,
             "Z": 262.65344
           },
+          "StopDistance": 7,
           "TerritoryId": 154,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "North Shroud - Fallgourd Float",
@@ -67,4 +68,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index be3e4aac18cfdc9c11e6c93cfc089cd006fdbb7c..9daeed01f31da64bfe530091c7df3fa1bac135cf 100644 (file)
     {
       "Sequence": 1,
       "Steps": [
+        {
+          "DataId": 1006259,
+          "Position": {
+            "X": 43.808594,
+            "Y": 2.5499606,
+            "Z": 21.683044
+          },
+          "TerritoryId": 132,
+          "InteractionType": "AcceptQuest",
+          "PickUpQuestId": 802,
+          "AetheryteShortcut": "Gridania"
+        },
+        {
+          "DataId": 1000171,
+          "Position": {
+            "X": -114.366455,
+            "Y": -7.351947,
+            "Z": 94.52954
+          },
+          "TerritoryId": 132,
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 148
+        },
         {
           "DataId": 2001999,
           "Position": {
@@ -28,8 +51,7 @@
             "Z": 69.41321
           },
           "TerritoryId": 148,
-          "InteractionType": "Interact",
-          "AetheryteShortcut": "Central Shroud - Bentbranch Meadows"
+          "InteractionType": "Interact"
         }
       ]
     },
       "Sequence": 2,
       "Steps": [
         {
-          "DataId": 2002701,
-          "Position": {
-            "X": -574.4259,
-            "Y": 67.00232,
-            "Z": 71.39697
-          },
           "TerritoryId": 148,
           "InteractionType": "Duty",
           "ContentFinderConditionId": 6
         }
       ]
     },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 4,
       "Steps": [
           "InteractionType": "UseItem",
           "ItemId": 30362
         },
+        {
+          "Position": {
+            "X": -492.96475,
+            "Y": 20.999884,
+            "Z": -380.82272
+          },
+          "TerritoryId": 140,
+          "InteractionType": "WalkTo",
+          "$": "Avoid walking around Waking Sands table"
+        },
         {
           "DataId": 2001711,
           "Position": {
             "Z": -386.862
           },
           "TerritoryId": 140,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 212
         },
         {
           "DataId": 2001715,
             "Z": -0.015319824
           },
           "TerritoryId": 212,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 212
         },
         {
           "DataId": 1006688,
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 9369543ab3acb5e93b28401403c5d21fa0d45f3f..77eb0417baaa6d102254f1407d4dbeab7f46a9a5 100644 (file)
@@ -27,6 +27,7 @@
             "Y": 64.37781,
             "Z": -205.24915
           },
+          "StopDistance": 0.25,
           "TerritoryId": 135,
           "InteractionType": "Combat",
           "EnemySpawnType": "AfterInteraction",
@@ -53,4 +54,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index c9a34e684772f2e8af78369b9265de2fb8d824e5..4f2e8d83a954d4628e8fd4022f9f62c5d5708574 100644 (file)
           "TargetTerritoryId": 137
         },
         {
-          "DataId": 11,
           "Position": {
-            "X": 489.15845,
-            "Y": 20.828491,
-            "Z": 468.80298
+            "X": 378.54834,
+            "Y": 21.81276,
+            "Z": 478.4722
           },
+          "TerritoryId": 137,
+          "InteractionType": "WalkTo",
+          "$": "Avoids the beach due to rocks, doesn't even look like a faster path"
+        },
+        {
           "TerritoryId": 137,
           "InteractionType": "AttuneAetheryte",
-          "StopDistance": 5
+          "StopDistance": 5,
+          "Aetheryte": "Eastern La Noscea - Costa Del Sol"
         },
         {
           "DataId": 1006266,
@@ -69,4 +74,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index f230eb01c8f548eccdbc1403a1021b024d1e534a..ad8c57f05ad1f198da6f7d7028628476672442c2 100644 (file)
     {
       "Sequence": 255,
       "Steps": [
-        {
-          "DataId": 6,
-          "Position": {
-            "X": -230.0603,
-            "Y": 22.62909,
-            "Z": 355.45886
-          },
-          "TerritoryId": 153,
-          "InteractionType": "AttuneAetheryte",
-          "StopDistance": 5,
-          "AetheryteShortcut": "South Shroud - Quarrymill"
-        },
         {
           "DataId": 1006279,
           "Position": {
             "Z": 339.49792
           },
           "TerritoryId": 153,
-          "InteractionType": "CompleteQuest"
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "South Shroud - Camp Tranquil"
         }
       ]
     }
   ]
-}
\ No newline at end of file
+}
index d2cafe70895f3667a5e12e92f70ae08fa3705ffa..2e7f34196384135657e155ce29397bdcc085f5b3 100644 (file)
@@ -1,6 +1,9 @@
 {
   "$schema": "https://carvel.li/questionable/quest-1.0",
   "Author": "JerryWester",
+  "TerritoryBlacklist": [
+    1041
+  ],
   "QuestSequence": [
     {
       "Sequence": 0,
             "Z": 89.37195
           },
           "TerritoryId": 137,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "TargetTerritoryId": 137
+        },
+        {
+          "TerritoryId": 137,
+          "InteractionType": "AttuneAetheryte",
+          "StopDistance": 5,
+          "Aetheryte": "Eastern La Noscea - Wineport"
         },
         {
-          "DataId": 12,
           "Position": {
-            "X": -18.387146,
-            "Y": 72.67859,
-            "Z": 3.829956
+            "X": -272.5533,
+            "Y": 59.7689,
+            "Z": 176.81541
           },
           "TerritoryId": 137,
-          "InteractionType": "AttuneAetheryte",
-          "StopDistance": 5
+          "InteractionType": "WalkTo"
         },
         {
           "DataId": 1006268,
       "Sequence": 3,
       "Steps": [
         {
-          "DataId": 2002702,
-          "Position": {
-            "X": -338.61298,
-            "Y": 69.01648,
-            "Z": 159.65515
-          },
           "TerritoryId": 137,
           "InteractionType": "Duty",
           "ContentFinderConditionId": 8
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 4d49d09ac62ef8eb3b5bdf4ac6dd3abff5b3253b..3bfbf6514b4220f5ae912bff7e91138d42be593e 100644 (file)
             "Z": 299.39722
           },
           "TerritoryId": 137,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
         },
         {
           "DataId": 2002059,
             "Z": 308.24744
           },
           "TerritoryId": 137,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
         },
         {
           "DataId": 2002060,
             "Z": 276.53918
           },
           "TerritoryId": 137,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
         }
       ]
     },
@@ -73,4 +97,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 5a7edca626936dac8d8f19be725830e82ad59a95..422962d5f0092f2f45f470f774637c93615d28b1 100644 (file)
             "Z": 454.5509
           },
           "TerritoryId": 137,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            8,
+            null
+          ]
         },
         {
           "DataId": 1006318,
             "Z": 451.0719
           },
           "TerritoryId": 137,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            16,
+            null
+          ]
         },
         {
           "DataId": 1006317,
             "Z": 450.43103
           },
           "TerritoryId": 137,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            64,
+            null
+          ]
         },
         {
           "DataId": 1006316,
             "Z": 457.02295
           },
           "TerritoryId": 137,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            32,
+            null
+          ]
         },
         {
           "DataId": 1006266,
             "Z": 455.89368
           },
           "TerritoryId": 137,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            128,
+            null
+          ]
         }
       ]
     },
             "Y": 20.706482,
             "Z": 451.13293
           },
+          "StopDistance": 7,
           "TerritoryId": 137,
           "InteractionType": "CompleteQuest"
         }
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 8db15e7fcedf506c27fad2c12511aef8416f1bf3..f0d29889417f25901483e3e73465668748a72ffe 100644 (file)
           "AetheryteShortcut": "Eastern La Noscea - Wineport"
         },
         {
-          "DataId": 15,
+          "DataId": 2002085,
           "Position": {
-            "X": 437.4303,
-            "Y": 5.508484,
-            "Z": 94.590576
+            "X": 404.86768,
+            "Y": 4.3182373,
+            "Z": 88.45642
           },
+          "TerritoryId": 139,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
+        },
+        {
           "TerritoryId": 139,
           "InteractionType": "AttuneAetheryte",
-          "StopDistance": 5
+          "StopDistance": 5,
+          "Aetheryte": "Upper La Noscea - Camp Bronze Lake"
         },
         {
           "DataId": 2002084,
             "Z": 133.04333
           },
           "TerritoryId": 139,
-          "InteractionType": "Interact"
-        },
-        {
-          "DataId": 2002085,
-          "Position": {
-            "X": 404.86768,
-            "Y": 4.3182373,
-            "Z": 88.45642
-          },
-          "TerritoryId": 139,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
         },
         {
           "DataId": 2002083,
             "Z": 47.196045
           },
           "TerritoryId": 139,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
         }
       ]
     },
             "Y": 16.258692,
             "Z": 128.37415
           },
+          "StopDistance": 7,
           "TerritoryId": 139,
           "InteractionType": "CompleteQuest"
         }
       ]
     }
   ]
-}
\ No newline at end of file
+}
index 6bc4effb9d1f181317fa0cbbe725af2ec549a795..87b493400ddd26da5f7e0213153979c9e6a33d3b 100644 (file)
@@ -1,6 +1,9 @@
 {
   "$schema": "https://carvel.li/questionable/quest-1.0",
   "Author": "JerryWester",
+  "TerritoryBlacklist": [
+    1046
+  ],
   "QuestSequence": [
     {
       "Sequence": 0,
@@ -12,6 +15,7 @@
             "Y": 16.258692,
             "Z": 128.37415
           },
+          "StopDistance": 7,
           "TerritoryId": 139,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Upper La Noscea - Camp Bronze Lake",
       "Sequence": 2,
       "Steps": [
         {
-          "DataId": 2002690,
-          "Position": {
-            "X": 381.39917,
-            "Y": 23.727722,
-            "Z": -140.79504
-          },
           "TerritoryId": 139,
           "InteractionType": "Duty",
-          "ContentFinderConditionId": 20002
+          "ContentFinderConditionId": 57
         }
       ]
     },
@@ -68,4 +66,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
index ba175735a8f2ba876c053271c7fbe875726bdcdc..65c9073a34d6776fcd84eef84ed3e02e60a23429 100644 (file)
       "Sequence": 1,
       "Steps": [
         {
-          "DataId": 1006731,
           "Position": {
-            "X": 52.231567,
-            "Y": 235.30933,
-            "Z": 347.85986
+            "X": 48.65701,
+            "Y": 234.78163,
+            "Z": 348.13953
           },
+          "StopDistance": 1,
           "TerritoryId": 155,
           "InteractionType": "Combat",
           "EnemySpawnType": "AutoOnEnterArea",
@@ -93,4 +93,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/QuestPaths/2.x - A Realm Reborn/Unlocks/Misc/802_Broadening Horizons.json b/QuestPaths/2.x - A Realm Reborn/Unlocks/Misc/802_Broadening Horizons.json
new file mode 100644 (file)
index 0000000..5438bab
--- /dev/null
@@ -0,0 +1,36 @@
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1006259,
+          "Position": {
+            "X": 43.808594,
+            "Y": 2.5499606,
+            "Z": 21.683044
+          },
+          "TerritoryId": 132,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1000171,
+          "Position": {
+            "X": -114.366455,
+            "Y": -7.351947,
+            "Z": 94.52954
+          },
+          "TerritoryId": 132,
+          "InteractionType": "CompleteQuest"
+        }
+      ]
+    }
+  ]
+}
index dc932f65f1edf6e49dce5b9ab3d881d280f4f799..52793959634349b42b99cfc7ebb124ed9d45e274 100644 (file)
@@ -69,7 +69,7 @@ public sealed class QuestStep
     public IList<uint> PointMenuChoices { get; set; } = new List<uint>();
 
     // TODO: Not implemented
-    public ushort? PickupQuestId { get; set; }
+    public ushort? PickUpQuestId { get; set; }
 
     public ushort? TurnInQuestId { get; set; }
     public ushort? NextQuestId { get; set; }
index aada0a1abf5fc5b025f22361a9c9d0c6516bc0c6..bb85caffd665c457342db8289c17ce51ecdba9b6 100644 (file)
@@ -157,21 +157,21 @@ internal sealed class CombatController
 
     private unsafe bool IsEnemyToKill(IGameObject gameObject)
     {
-        if (gameObject is IBattleChara battleChara)
+        if (gameObject is IBattleNpc battleNpc)
         {
             // TODO this works as somewhat of a delay between killing enemies if certain items/flags are checked
             // but also delays killing the next enemy a little
             if (_currentFight == null || _currentFight.Data.SpawnType != EEnemySpawnType.OverworldEnemies ||
                 _currentFight.Data.ComplexCombatDatas.Count == 0)
             {
-                if (battleChara.IsDead)
+                if (battleNpc.IsDead)
                     return false;
             }
 
-            if (!battleChara.IsTargetable)
+            if (!battleNpc.IsTargetable)
                 return false;
 
-            if (battleChara.TargetObjectId == _clientState.LocalPlayer?.GameObjectId)
+            if (battleNpc.TargetObjectId == _clientState.LocalPlayer?.GameObjectId)
                 return true;
 
             if (_currentFight != null)
@@ -184,18 +184,18 @@ internal sealed class CombatController
                         if (_currentFight.Data.CompletedComplexDatas.Contains(i))
                             continue;
 
-                        if (complexCombatData[i].DataId == battleChara.DataId)
+                        if (complexCombatData[i].DataId == battleNpc.DataId)
                             return true;
                     }
                 }
                 else
                 {
-                    if (_currentFight.Data.KillEnemyDataIds.Contains(battleChara.DataId))
+                    if (_currentFight.Data.KillEnemyDataIds.Contains(battleNpc.DataId))
                         return true;
                 }
             }
 
-            if (battleChara.StatusFlags.HasFlag(StatusFlags.Hostile))
+            if (battleNpc.BattleNpcKind is BattleNpcSubKind.BattleNpcPart or BattleNpcSubKind.Enemy)
             {
                 var gameObjectStruct = (GameObject*)gameObject.Address;
                 return gameObjectStruct->NamePlateIconId != 0;
index 38f9fb4a19ea1babab8c723b81be9e04a9790788..610d59481324b0ff21b7a74aee3c1df56b45beef 100644 (file)
@@ -16,6 +16,13 @@ internal sealed class MovementOverrideController
         new BlacklistedPoint(128, new(2f, 40.25f, 36.5f), new(0.25f, 40.25f, 36.5f)),
 
         new BlacklistedPoint(132, new(45.5f, -8f, 101f), new(50.53978f, -8.046954f, 101.06045f)),
+
+        // eastern thanalan
+        new BlacklistedPoint(145, new(-139.75f, -32.25f, 75.25f), new(-139.57748f, -33.785175f, 77.87906f)),
+
+        // southern thanalan
+        new BlacklistedPoint(146, new(-201.75f, 10.5f, -265.5f), new(-203.75235f, 10.130764f, -265.15314f)),
+
         new BlacklistedPoint(1189, new(574f, -142.25f, 504.25f), new(574.44183f, -142.12766f, 507.60065f)),
 
         // heritage found: yyupye's halo (farm, npc: Mahuwsa)
index 929d33e0546a10a74ca7e624d93ccb7c7abe9fcd..8268c0dc3a6682cc6e4ccbee38a364ac0ab16c49 100644 (file)
@@ -44,6 +44,8 @@ internal static class EquipItem
             InventoryType.ArmoryWrist,
             InventoryType.ArmoryRings,
 
+            InventoryType.ArmorySoulCrystal,
+
             InventoryType.Inventory1,
             InventoryType.Inventory2,
             InventoryType.Inventory3,
@@ -81,9 +83,12 @@ internal static class EquipItem
             if (inventoryManager == null)
                 return ETaskResult.StillRunning;
 
-            if (_targetSlots.Any(x =>
-                    inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x)->ItemId == _itemId))
-                return ETaskResult.TaskComplete;
+            foreach (ushort x in _targetSlots)
+            {
+                var itemSlot = inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x);
+                if (itemSlot != null && itemSlot->ItemId == _itemId)
+                    return ETaskResult.TaskComplete;
+            }
 
             Equip();
             _continueAt = DateTime.Now.AddSeconds(1);
@@ -100,10 +105,14 @@ internal static class EquipItem
             if (equippedContainer == null)
                 return;
 
-            if (_targetSlots.Any(slot => equippedContainer->GetInventorySlot(slot)->ItemId == _itemId))
+            foreach (ushort slot in _targetSlots)
             {
-                logger.LogInformation("Already equipped {Item}, skipping step", _item.Name?.ToString());
-                return;
+                var itemSlot = equippedContainer->GetInventorySlot(slot);
+                if (itemSlot != null && itemSlot->ItemId == _itemId)
+                {
+                    logger.LogInformation("Already equipped {Item}, skipping step", _item.Name?.ToString());
+                    return;
+                }
             }
 
             foreach (InventoryType sourceInventoryType in SourceInventoryTypes)
@@ -124,7 +133,11 @@ internal static class EquipItem
 
                     // Move the item to the first available slot
                     ushort targetSlot = _targetSlots
-                        .Where(x => inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x)->ItemId == 0)
+                        .Where(x =>
+                        {
+                            var itemSlot = inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x);
+                            return itemSlot == null || itemSlot->ItemId == 0;
+                        })
                         .Concat(_targetSlots).First();
 
                     logger.LogInformation(
@@ -146,7 +159,7 @@ internal static class EquipItem
                 >= 1 and <= 11 => [(ushort)(item.EquipSlotCategory.Row - 1)],
                 12 => [11, 12], // rings
                 13 => [0],
-                17 => [14], // soul crystal
+                17 => [13], // soul crystal
                 _ => null
             };
         }
index 77a168472f2f0fe7bf23ed4d7ab6f876da14ddf0..1fd7b6aa09735469a0504dfc2968ab59fa0bfc5c 100644 (file)
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Globalization;
 using System.Numerics;
 using FFXIVClientStructs.FFXIV.Client.Game;
 using Microsoft.Extensions.DependencyInjection;
@@ -38,10 +39,17 @@ internal static class UseItem
             var unmount = serviceProvider.GetRequiredService<UnmountTask>();
             if (step.GroundTarget == true)
             {
-                ArgumentNullException.ThrowIfNull(step.DataId);
+                ITask task;
+                if (step.DataId != null)
+                    task = serviceProvider.GetRequiredService<UseOnGround>()
+                        .With(step.DataId.Value, step.ItemId.Value);
+                else
+                {
+                    ArgumentNullException.ThrowIfNull(step.Position);
+                    task = serviceProvider.GetRequiredService<UseOnPosition>()
+                        .With(step.Position.Value, step.ItemId.Value);
+                }
 
-                var task = serviceProvider.GetRequiredService<UseOnGround>()
-                    .With(step.DataId.Value, step.ItemId.Value);
                 return [unmount, task];
             }
             else if (step.DataId != null)
@@ -161,6 +169,24 @@ internal static class UseItem
         public override string ToString() => $"UseItem({ItemId} on ground at {DataId})";
     }
 
+    internal sealed class UseOnPosition(GameFunctions gameFunctions, ILogger<UseOnPosition> logger)
+        : UseItemBase(logger)
+    {
+        public Vector3 Position { get; set; }
+
+        public ITask With(Vector3 position, uint itemId)
+        {
+            Position = position;
+            ItemId = itemId;
+            return this;
+        }
+
+        protected override bool UseItem() => gameFunctions.UseItemOnPosition(Position, ItemId);
+
+        public override string ToString() =>
+            $"UseItem({ItemId} on ground at {Position.ToString("G", CultureInfo.InvariantCulture)})";
+    }
+
     internal sealed class UseOnObject(GameFunctions gameFunctions, ILogger<UseOnObject> logger) : UseItemBase(logger)
     {
         public uint DataId { get; set; }
index 8e8a8c635fc8bfcee8fc6696cf5f5596d5198338..947e425f6b3d0c3b8437a789816af3579f3b2104 100644 (file)
@@ -111,7 +111,7 @@ internal static class WaitAtEnd
                     return
                     [
                         serviceProvider.GetRequiredService<WaitQuestAccepted>()
-                            .With(step.PickupQuestId ?? quest.QuestId),
+                            .With(step.PickUpQuestId ?? quest.QuestId),
                         serviceProvider.GetRequiredService<WaitDelay>()
                     ];
 
index 227d0c3ef777e3592db2699e5a3c63c19970852c..f12e1bd79b45cb8d99ee6eb05e2f5a6c4d4cf91f 100644 (file)
@@ -128,6 +128,13 @@ internal sealed unsafe class GameFunctions
             if (chocoboQuest != 0 && !QuestManager.IsQuestComplete(chocoboQuest))
                 return (chocoboQuest, QuestManager.GetQuestSequence(chocoboQuest));
         }
+        else if (currentQuest == 801)
+        {
+            // skeletons in her closet, finish 'broadening horizons' to unlock the white wolf gate
+            ushort broadeningHorizons = 802;
+            if (questManager->IsQuestAccepted(broadeningHorizons))
+                return (broadeningHorizons, QuestManager.GetQuestSequence(broadeningHorizons));
+        }
 
         return (currentQuest, sequence);
     }
@@ -443,6 +450,11 @@ internal sealed unsafe class GameFunctions
         return false;
     }
 
+    public bool UseItemOnPosition(Vector3 position, uint itemId)
+    {
+        return ActionManager.Instance()->UseActionLocation(ActionType.KeyItem, itemId, location: &position);
+    }
+
     public bool UseAction(EAction action)
     {
         if (ActionManager.Instance()->GetActionStatus(ActionType.Action, (uint)action) == 0)
index eca5656a899248519f3273a653754e5b21673284..1cb6c4c17f1608984347445b8141135243863fcc 100644 (file)
@@ -121,7 +121,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin
         serviceCollection.AddTaskWithFactory<Interact.Factory, Interact.DoInteract>();
         serviceCollection.AddTaskWithFactory<Jump.Factory, Jump.DoJump>();
         serviceCollection.AddTaskWithFactory<Say.Factory, Say.UseChat>();
-        serviceCollection.AddTaskWithFactory<UseItem.Factory, UseItem.UseOnGround, UseItem.UseOnObject, UseItem.Use>();
+        serviceCollection.AddTaskWithFactory<UseItem.Factory, UseItem.UseOnGround, UseItem.UseOnObject, UseItem.Use, UseItem.UseOnPosition>();
         serviceCollection.AddTaskWithFactory<EquipItem.Factory, EquipItem.DoEquip>();
         serviceCollection
             .AddTaskWithFactory<SinglePlayerDuty.Factory, SinglePlayerDuty.DisableYesAlready,
index 495e026e853f06116922c7c826d88af36cb895a6..678e3500fc2c152c07ef0229d13106b6e1881949 100644 (file)
@@ -10,7 +10,7 @@ internal sealed class UniqueStartStopValidator : IQuestValidator
     public IEnumerable<ValidationIssue> Validate(Quest quest)
     {
         var questAccepts = FindQuestStepsWithInteractionType(quest, EInteractionType.AcceptQuest)
-            .Where(x => x.Step.PickupQuestId == null)
+            .Where(x => x.Step.PickUpQuestId == null)
             .ToList();
         foreach (var accept in questAccepts)
         {