.AsSyntaxNodeOrToken(),
                                             AssignmentList(nameof(QuestStep.DialogueChoices), step.DialogueChoices)
                                                 .AsSyntaxNodeOrToken(),
+                                            AssignmentList(nameof(QuestStep.PointMenuChoices), step.PointMenuChoices)
+                                                .AsSyntaxNodeOrToken(),
                                             Assignment(nameof(QuestStep.QuestId), step.QuestId, emptyStep.QuestId)
                                                 .AsSyntaxNodeOrToken()))))),
                     Token(SyntaxKind.CommaToken),
 
             "Y": -129.27074,
             "Z": -351.33496
           },
+          "StopDistance": 0.25,
           "TerritoryId": 1187,
           "InteractionType": "Combat",
           "EnemySpawnType": "AutoOnEnterArea",
 
         }
       ]
     },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 4,
       "Steps": [
 
             "Z": 129.80847
           },
           "TerritoryId": 1185,
-          "InteractionType": "WaitForManualProgress",
-          "Comment": "Click all tablets (PointMenu)",
+          "InteractionType": "Interact",
           "DialogueChoices": [
             {
               "Type": "YesNo",
               "Prompt": "TEXT_KINGMA104_04863_Q2_000_000",
               "Answer": "TEXT_KINGMA104_04863_A2_000_001"
             }
+          ],
+          "PointMenuChoices": [
+            0,
+            1,
+            2,
+            3,
+            0,
+            1,
+            2,
+            3
           ]
         }
       ]
 
         }
       ]
     },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 3,
       "Steps": [
 
             "Z": -388.50995
           },
           "TerritoryId": 1188,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Kozama'uka - Ok'hanu"
         }
       ]
     },
     {
       "Sequence": 8,
       "Steps": [
+        {
+          "Position": {
+            "X": -510.96463,
+            "Y": -0.47684515,
+            "Z": -305.96155
+          },
+          "TerritoryId": 1188,
+          "InteractionType": "WalkTo",
+          "Comment": "Waypoint after swimming through the river"
+        },
         {
           "DataId": 2013936,
           "Position": {
 
     {
       "Sequence": 4,
       "Steps": [
+        {
+          "Position": {
+            "X": 303.21774,
+            "Y": 7.475274,
+            "Z": -215.19496
+          },
+          "TerritoryId": 1188,
+          "InteractionType": "WalkTo",
+          "DisableNavmesh": true,
+          "Mount": true
+        },
         {
           "DataId": 2013632,
           "Position": {
 
             "Z": -171.58777
           },
           "TerritoryId": 1187,
-          "InteractionType": "WaitForManualProgress",
-          "Comment": "Pick Disconcerted Hoobigo",
+          "InteractionType": "Interact",
           "DialogueChoices": [
             {
               "Type": "List",
               "Prompt": "TEXT_KINGMA114_04873_Q1_000_000",
               "Answer": "TEXT_KINGMA114_04873_A1_000_001"
             }
+          ],
+          "PointMenuChoices": [
+            3
           ]
         }
       ]
 
           "Comment": "Wachumeqimeqi"
         },
         {
-          "DataId": 1046763,
           "Position": {
-            "X": -114.64105,
-            "Y": -19.642736,
-            "Z": 201.12915
+            "X": -130.34163,
+            "Y": -14.999287,
+            "Z": 198.40685
           },
           "TerritoryId": 1185,
-          "InteractionType": "Interact",
+          "InteractionType": "WalkTo",
           "AethernetShortcut": [
             "[Tuliyollal] Wachumeqimeqi",
             "[Tuliyollal] The For'ard Cabins"
           ]
+        },
+        {
+          "Position": {
+            "X": -122.40268,
+            "Y": -19.754322,
+            "Z": 202.20439
+          },
+          "TerritoryId": 1185,
+          "InteractionType": "WalkTo",
+          "DisableNavmesh": true
+        },
+        {
+          "DataId": 1046763,
+          "Position": {
+            "X": -114.64105,
+            "Y": -19.642736,
+            "Z": 201.12915
+          },
+          "TerritoryId": 1185,
+          "InteractionType": "Interact"
         }
       ]
     },
 
         }
       ]
     },
+    {
+      "Sequence": 4,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 5,
       "Steps": [
 
     {
       "Sequence": 1,
       "Steps": [
-        {
-          "DataId": 2013943,
-          "Position": {
-            "X": 485.89294,
-            "Y": 121.3855,
-            "Z": 831.29626
-          },
-          "TerritoryId": 1188,
-          "InteractionType": "AttuneAetherCurrent",
-          "AetherCurrentId": 2818428
-        },
         {
           "DataId": 203,
           "Position": {
           "TerritoryId": 1188,
           "InteractionType": "AttuneAetheryte"
         },
+        {
+          "Position": {
+            "X": 533.37555,
+            "Y": 122.98077,
+            "Z": 790.01416
+          },
+          "TerritoryId": 1188,
+          "InteractionType": "WalkTo",
+          "AetheryteShortcut": "Tuliyollal",
+          "AethernetShortcut": [
+            "[Tuliyollal] Aetheryte Plaza",
+            "[Tuliyollal] Ihuykatumu (Kozama'uka)"
+          ]
+        },
+        {
+          "Position": {
+            "X": 522.3003,
+            "Y": 120.81023,
+            "Z": 803.62744
+          },
+          "TerritoryId": 1188,
+          "InteractionType": "WalkTo",
+          "DisableNavmesh": true
+        },
+        {
+          "DataId": 2013943,
+          "Position": {
+            "X": 485.89294,
+            "Y": 121.3855,
+            "Z": 831.29626
+          },
+          "TerritoryId": 1188,
+          "InteractionType": "AttuneAetherCurrent",
+          "AetherCurrentId": 2818428
+        },
         {
           "DataId": 1046603,
           "Position": {
             "Z": 259.66272
           },
           "TerritoryId": 1188,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Kozama'uka - Many Fires"
         }
       ]
     },
 
             "Y": 122.89019,
             "Z": 348.47034
           },
+          "StopDistance": 5,
           "TerritoryId": 1188,
           "InteractionType": "CompleteQuest"
         }
 
             "Y": 122.950645,
             "Z": 345.6626
           },
+          "StopDistance": 5,
           "TerritoryId": 1188,
           "InteractionType": "AcceptQuest"
         }
             "Y": -17.964504,
             "Z": 166.55212
           },
+          "StopDistance": 5,
           "TerritoryId": 1185,
           "InteractionType": "Interact"
         }
 
         }
       ]
     },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 3,
       "Steps": [
 
           },
           "TerritoryId": 1188,
           "InteractionType": "WaitForNpcAtPosition",
-          "NpcWaitDistance": 1
+          "NpcWaitDistance": 3
         },
         {
           "DataId": 1046648,
 
     {
       "Sequence": 1,
       "Steps": [
+        {
+          "Position": {
+            "X": 531.60944,
+            "Y": 116.17938,
+            "Z": 166.65599
+          },
+          "TerritoryId": 1188,
+          "InteractionType": "WalkTo"
+        },
         {
           "DataId": 2013610,
           "Position": {
             "Y": 110.795235,
             "Z": 256.5983
           },
+          "StopDistance": 0.25,
           "TerritoryId": 1188,
           "InteractionType": "Combat",
           "EnemySpawnType": "AutoOnEnterArea",
             "Z": 229.96863
           },
           "TerritoryId": 1188,
-          "InteractionType": "Interact",
-          "Comment": "TODO Verify this is the correct sequence"
+          "InteractionType": "Interact"
         }
       ]
     },
 
             "Z": 465.87305
           },
           "TerritoryId": 1188,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Kozama'uka - Earthenshire"
         }
       ]
     },
 
         },
         {
           "Position": {
-            "X": 282.9373,
-            "Y": 47.77521,
-            "Z": 140.4986
+            "X": 341.56342,
+            "Y": 57.53834,
+            "Z": 10.309054
+          },
+          "TerritoryId": 1187,
+          "InteractionType": "WalkTo"
+        },
+        {
+          "Position": {
+            "X": 308.72827,
+            "Y": 60.2934,
+            "Z": 111.43004
           },
           "TerritoryId": 1187,
           "InteractionType": "WalkTo"
 
             "Y": 129.04724,
             "Z": 652.12476
           },
+          "StopDistance": 5,
           "TerritoryId": 1187,
           "InteractionType": "Interact",
           "CompletionQuestVariablesFlags": [
             "Y": 111.135,
             "Z": 557.7324
           },
+          "StopDistance": 5,
           "TerritoryId": 1187,
           "InteractionType": "Interact",
           "CompletionQuestVariablesFlags": [
             "Y": 111.135,
             "Z": 697.4745
           },
+          "StopDistance": 5,
           "TerritoryId": 1187,
           "InteractionType": "Interact",
           "CompletionQuestVariablesFlags": [
 
             "Y": 109.359344,
             "Z": 395.2364
           },
+          "StopDistance": 0.25,
           "TerritoryId": 1187,
           "InteractionType": "Combat",
           "EnemySpawnType": "AutoOnEnterArea",
 
         }
       ]
     },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 3,
       "Steps": [
 
             "Z": -403.21973
           },
           "TerritoryId": 1189,
-          "InteractionType": "Interact",
-          "Comment": "TODO Verify this shouldn't have a teleport (was removed due to AC moving)"
+          "InteractionType": "Interact"
         }
       ]
     },
 
             "Y": 19.501463,
             "Z": -358.05298
           },
+          "StopDistance": 5,
           "TerritoryId": 1189,
           "InteractionType": "AcceptQuest"
         }
 
         }
       ]
     },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 3,
       "Steps": [
 
         }
       ]
     },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 3,
       "Steps": [
 
         }
       ]
     },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 3,
       "Steps": [
 
         }
       ]
     },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 3,
       "Steps": [
 
         }
       ]
     },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 4,
       "Steps": [
         }
       ]
     },
+    {
+      "Sequence": 5,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 6,
       "Steps": [
 
         }
       ]
     },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 3,
       "Steps": [
         }
       ]
     },
+    {
+      "Sequence": 4,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 5,
       "Steps": [
 
         }
       ]
     },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 4,
       "Steps": [
 
             "Z": 201.28174
           },
           "TerritoryId": 1185,
-          "InteractionType": "Interact"
+          "InteractionType": "AcceptQuest"
         }
       ]
     }
 
             "Z": 194.72034
           },
           "TerritoryId": 1185,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1048335,
+          "Position": {
+            "X": -16.739136,
+            "Y": 0.5999997,
+            "Z": -55.10034
+          },
+          "TerritoryId": 963,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Radz-at-Han"
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1048337,
+          "Position": {
+            "X": 155.87085,
+            "Y": 5.297462,
+            "Z": 618.2803
+          },
+          "TerritoryId": 957,
           "InteractionType": "Interact"
         }
       ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 2013708,
+          "Position": {
+            "X": 48.90515,
+            "Y": 90.22656,
+            "Z": -83.024414
+          },
+          "StopDistance": 0.5,
+          "TerritoryId": 957,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1048331,
+          "Position": {
+            "X": 214.03821,
+            "Y": 5.2600574,
+            "Z": 628.3817
+          },
+          "TerritoryId": 957,
+          "InteractionType": "CompleteQuest"
+        }
+      ]
     }
   ]
 }
 
--- /dev/null
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1048331,
+          "Position": {
+            "X": 214.03821,
+            "Y": 5.2600574,
+            "Z": 628.3817
+          },
+          "TerritoryId": 957,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1048332,
+          "Position": {
+            "X": 52.506226,
+            "Y": -5.20688E-07,
+            "Z": -54.154297
+          },
+          "TerritoryId": 963,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Radz-at-Han"
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "DataId": 1048340,
+          "Position": {
+            "X": -186.69415,
+            "Y": 4.0499983,
+            "Z": -108.11017
+          },
+          "TerritoryId": 963,
+          "InteractionType": "Interact",
+          "AethernetShortcut": [
+            "[Radz-at-Han] Aetheryte Plaza",
+            "[Radz-at-Han] Hall of the Radiant Host"
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1048332,
+          "Position": {
+            "X": 52.506226,
+            "Y": -5.20688E-07,
+            "Z": -54.154297
+          },
+          "TerritoryId": 963,
+          "InteractionType": "Interact",
+          "AethernetShortcut": [
+            "[Radz-at-Han] Hall of the Radiant Host",
+            "[Radz-at-Han] Aetheryte Plaza"
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 4,
+      "Steps": [
+        {
+          "DataId": 1048343,
+          "Position": {
+            "X": -336.53772,
+            "Y": 52.243706,
+            "Z": -165.05688
+          },
+          "TerritoryId": 957,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Thavnair - Great Work"
+        }
+      ]
+    },
+    {
+      "Sequence": 5,
+      "Steps": [
+        {
+          "Position": {
+            "X": -427.5108,
+            "Y": -0.015813708,
+            "Z": -710.37146
+          },
+          "StopDistance": 0.25,
+          "TerritoryId": 957,
+          "InteractionType": "Combat",
+          "EnemySpawnType": "AutoOnEnterArea",
+          "KillEnemyDataIds": [
+            17625
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 6,
+      "Steps": [
+        {
+          "DataId": 1048344,
+          "Position": {
+            "X": -419.028,
+            "Y": 0.06509568,
+            "Z": -710.9331
+          },
+          "StopDistance": 7,
+          "TerritoryId": 957,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1048331,
+          "Position": {
+            "X": 214.03821,
+            "Y": 5.2600574,
+            "Z": 628.3817
+          },
+          "TerritoryId": 957,
+          "InteractionType": "CompleteQuest"
+        }
+      ]
+    }
+  ]
+}
 
--- /dev/null
+{
+  "$schema": "https://carvel.li/questionable/quest-1.0",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1048331,
+          "Position": {
+            "X": 214.03821,
+            "Y": 5.2600574,
+            "Z": 628.3817
+          },
+          "TerritoryId": 957,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1048348,
+          "Position": {
+            "X": -118.76105,
+            "Y": 88.94139,
+            "Z": -556.90857
+          },
+          "TerritoryId": 957,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": 77.94611,
+            "Y": 82.44486,
+            "Z": -548.9286
+          },
+          "StopDistance": 10,
+          "TerritoryId": 957,
+          "InteractionType": "Instruction",
+          "EnemySpawnType": "AutoOnEnterArea",
+          "KillEnemyDataIds": [
+            17626
+          ],
+          "ItemId": 2003495,
+          "Comment": "TODO Needs item use?"
+        }
+      ]
+    },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "DataId": 1048348,
+          "Position": {
+            "X": -118.76105,
+            "Y": 88.94139,
+            "Z": -556.90857
+          },
+          "TerritoryId": 957,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 4,
+      "Steps": [
+        {
+          "DataId": 1048350,
+          "Position": {
+            "X": -508.53745,
+            "Y": 12.375278,
+            "Z": 97.3678
+          },
+          "TerritoryId": 957,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Thavnair - Great Work"
+        }
+      ]
+    },
+    {
+      "Sequence": 5,
+      "Steps": [
+        {
+          "DataId": 1048354,
+          "Position": {
+            "X": 154.28394,
+            "Y": 5.2641535,
+            "Z": 618.40234
+          },
+          "TerritoryId": 957,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Thavnair - Yedlihmad",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
+        },
+        {
+          "DataId": 1048355,
+          "Position": {
+            "X": 227.98499,
+            "Y": 10.19656,
+            "Z": 563.31726
+          },
+          "TerritoryId": 957,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
+        },
+        {
+          "DataId": 1048352,
+          "Position": {
+            "X": 195.5138,
+            "Y": 15.136732,
+            "Z": 529.015
+          },
+          "TerritoryId": 957,
+          "InteractionType": "Interact",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            128
+          ]
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1048331,
+          "Position": {
+            "X": 214.03821,
+            "Y": 5.2600574,
+            "Z": 628.3817
+          },
+          "TerritoryId": 957,
+          "InteractionType": "CompleteQuest"
+        }
+      ]
+    }
+  ]
+}
 
             "Z": 198.68762
           },
           "TerritoryId": 1185,
-          "InteractionType": "Interact"
+          "InteractionType": "AcceptQuest"
         }
       ]
     }
 
             "Z": 203.38745
           },
           "TerritoryId": 1185,
-          "InteractionType": "Interact"
+          "InteractionType": "AcceptQuest"
         }
       ]
     }
 
         }
       ]
     },
+    {
+      "Sequence": 3,
+      "Steps": [
+        {
+          "Position": {
+            "X": 0,
+            "Y": 0,
+            "Z": 0
+          },
+          "TerritoryId": 1,
+          "InteractionType": "WalkTo",
+          "Comment": "Filler"
+        }
+      ]
+    },
     {
       "Sequence": 4,
       "Steps": [
 
                             }
                           ]
                         }
+                      },
+                      "PointMenuChoices": {
+                        "type": "array",
+                        "items": {
+                          "type": "integer",
+                          "minimum": 0
+                        }
                       }
                     }
                   }
 
     public IList<ESkipCondition> SkipIf { get; set; } = new List<ESkipCondition>();
     public IList<short?> CompletionQuestVariablesFlags { get; set; } = new List<short?>();
     public IList<DialogueChoice> DialogueChoices { get; set; } = new List<DialogueChoice>();
+    public IList<uint> PointMenuChoices { get; set; } = new List<uint>();
     public ushort? QuestId { get; set; }
 
     [JsonConstructor]
 
         _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "CutSceneSelectString", CutsceneSelectStringPostSetup);
         _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "SelectIconString", SelectIconStringPostSetup);
         _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "SelectYesno", SelectYesnoPostSetup);
+        _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "PointMenu", PointMenuPostSetup);
         _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "Credit", CreditPostSetup);
         _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "AkatsukiNote", UnendingCodexPostSetup);
         _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "ContentsTutorial", ContentsTutorialPostSetup);
             _logger.LogInformation("SelectYesno window is open");
             SelectYesnoPostSetup(addonSelectYesno, true);
         }
+
+        if (_gameGui.TryGetAddonByName("PointMenu", out AtkUnitBase* addonPointMenu))
+        {
+            _logger.LogInformation("PointMenu is open");
+            PointMenuPostSetup(addonPointMenu);
+        }
     }
 
     private unsafe void SelectStringPostSetup(AddonEvent type, AddonArgs args)
         }
     }
 
+    private unsafe void PointMenuPostSetup(AddonEvent type, AddonArgs args)
+    {
+        AtkUnitBase* addonPointMenu = (AtkUnitBase*)args.Addon;
+        PointMenuPostSetup(addonPointMenu);
+    }
+
+    private unsafe void PointMenuPostSetup(AtkUnitBase* addonPointMenu)
+    {
+        var currentQuest = _questController.CurrentQuest;
+        if (currentQuest == null)
+        {
+            _logger.LogInformation("Ignoring point menu, no active quest");
+            return;
+        }
+
+        var sequence = currentQuest.Quest.FindSequence(currentQuest.Sequence);
+        if (sequence == null)
+            return;
+
+        QuestStep? step = sequence.FindStep(currentQuest.Step);
+        if (step == null)
+            return;
+
+        if (step.PointMenuChoices.Count == 0)
+        {
+            _logger.LogWarning("No point menu choices");
+            return;
+        }
+
+        int counter = currentQuest.StepProgress.PointMenuCounter;
+        if (counter >= step.PointMenuChoices.Count)
+        {
+            _logger.LogWarning("No remaining point menu choices");
+            return;
+        }
+
+        uint choice = step.PointMenuChoices[counter];
+
+        _logger.LogInformation("Handling point menu, picking choice {Choice} (index = {Index})", choice, counter);
+        var selectChoice = stackalloc AtkValue[]
+        {
+            new() { Type = ValueType.Int, Int = 13 },
+            new() { Type = ValueType.UInt, UInt = choice }
+        };
+        addonPointMenu->FireCallback(2, selectChoice);
+
+        _questController.CurrentQuest = currentQuest with
+        {
+            StepProgress = currentQuest.StepProgress with
+            {
+                PointMenuCounter = counter + 1,
+            }
+        };
+    }
+
     private unsafe void CreditPostSetup(AddonEvent type, AddonArgs args)
     {
         _logger.LogInformation("Closing Credits sequence");
         _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "ContentsTutorial", ContentsTutorialPostSetup);
         _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "AkatsukiNote", UnendingCodexPostSetup);
         _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "Credit", CreditPostSetup);
+        _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "PointMenu", PointMenuPostSetup);
         _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "SelectYesno", SelectYesnoPostSetup);
         _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "SelectIconString", SelectIconStringPostSetup);
         _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "CutSceneSelectString", CutsceneSelectStringPostSetup);
 
         (QuestSequence? seq, QuestStep? step) = GetNextStep();
         if (CurrentQuest == null || seq == null || step == null)
         {
-            _logger.LogWarning("Could not retrieve next quest step, not doing anything");
+            _logger.LogWarning("Could not retrieve next quest step, not doing anything [{QuestId}, {Sequence}, {Step}]",
+                CurrentQuest?.Quest.QuestId, CurrentQuest?.Sequence, CurrentQuest?.Step);
             return;
         }
 
     }
 
     public sealed record StepProgress(
-        DateTime StartedAt);
+        DateTime StartedAt,
+        int PointMenuCounter = 0);
 }
 
 using System.Collections.Generic;
 using System.Diagnostics.CodeAnalysis;
 using System.Globalization;
+using System.Linq;
 using System.IO;
 using System.Text.Json;
 using Dalamud.Plugin;
 
             quest.Name = questData.Name.ToString();
             quest.Level = questData.ClassJobLevel0;
+
+#if !RELEASE
+            int missingSteps = quest.Data.QuestSequence.Where(x => x.Sequence < 255).Max(x => x.Sequence) - quest.Data.QuestSequence.Count(x => x.Sequence < 255) + 1;
+            if (missingSteps != 0)
+                _logger.LogWarning("Quest has missing steps: {QuestId} / {QuestName} → {Count}", quest.QuestId, quest.Name, missingSteps);
+#endif
         }
 
         _logger.LogInformation("Loaded {Count} quests", _quests.Count);
 
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
 using Questionable.Controller.Steps.BaseTasks;
+using Questionable.Data;
 using Questionable.Model;
 using Questionable.Model.V1;
 
         ILogger<MoveBuilder> logger,
         GameFunctions gameFunctions,
         IClientState clientState,
-        MovementController movementController)
+        MovementController movementController,
+        TerritoryData territoryData)
     {
         public QuestStep Step { get; set; } = null!;
         public Vector3 Destination { get; set; }
             }
 
             yield return new WaitConditionTask(() => clientState.TerritoryType == Step.TerritoryId,
-                $"Wait(territory: {Step.TerritoryId})");
+                $"Wait(territory: {territoryData.GetNameAndId(Step.TerritoryId)})");
 
             if (!Step.DisableNavmesh)
                 yield return new WaitConditionTask(() => movementController.IsNavmeshReady,
 
 using FFXIVClientStructs.FFXIV.Client.Game;
 using Microsoft.Extensions.DependencyInjection;
 using Questionable.Controller.Steps.BaseTasks;
+using Questionable.Data;
 using Questionable.Model;
 using Questionable.Model.V1;
 
 
 internal static class WaitAtEnd
 {
-    internal sealed class Factory(IServiceProvider serviceProvider, IClientState clientState, ICondition condition)
+    internal sealed class Factory(IServiceProvider serviceProvider, IClientState clientState, ICondition condition,
+        TerritoryData territoryData)
         : ITaskFactory
     {
         public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
                         // interaction moves to a different territory
                         waitInteraction = new WaitConditionTask(
                             () => clientState.TerritoryType == step.TargetTerritoryId,
-                            $"Wait(tp to territory: {step.TargetTerritoryId})");
+                            $"Wait(tp to territory: {territoryData.GetNameAndId(step.TargetTerritoryId.Value)})");
                     }
                     else
                     {
 
 using System.Collections.Immutable;
+using System.Globalization;
 using System.Linq;
 using Dalamud.Plugin.Services;
+using FFXIVClientStructs.FFXIV.Client.Game.Character;
 using Lumina.Excel.GeneratedSheets;
 
 namespace Questionable.Data;
 
     public string? GetName(ushort territoryId) => _territoryNames.GetValueOrDefault(territoryId);
 
+    public string GetNameAndId(ushort territoryId)
+    {
+        string? territoryName = GetName(territoryId);
+        if (territoryName != null)
+            return string.Create(CultureInfo.InvariantCulture, $"{territoryName} ({territoryId})");
+        else
+            return territoryId.ToString(CultureInfo.InvariantCulture);
+    }
+
     public bool CanUseMount(ushort territoryId) => _territoriesWithMount.Contains(territoryId);
 }
 
     {
         Debug.Assert(_clientState.LocalPlayer != null, "_clientState.LocalPlayer != null");
 
-        string? territoryName = _territoryData.GetName(_clientState.TerritoryType);
-        if (territoryName != null)
-            territoryName += string.Create(CultureInfo.InvariantCulture, $" ({_clientState.TerritoryType})");
-        else
-            territoryName = _clientState.TerritoryType.ToString(CultureInfo.InvariantCulture);
-
+        string territoryName = _territoryData.GetNameAndId(_clientState.TerritoryType);
         ImGui.Text(territoryName);
+
         if (_gameFunctions.IsFlyingUnlockedInCurrentZone())
         {
             ImGui.SameLine();
             {
                 string interactionType = gameObject->NamePlateIconId switch
                 {
-                    71201 or 71211 or 71221 or 71231 or 71341 => "AcceptQuest",
-                    71202 or 71212 or 71222 or 71232 or 71342 => "AcceptQuest", // repeatable
-                    71205 or 71215 or 71225 or 71235 or 71345 => "CompleteQuest",
+                    71201 or 71211 or 71221 or 71231 or 71341 or 71351 => "AcceptQuest",
+                    71202 or 71212 or 71222 or 71232 or 71342 or 71352 => "AcceptQuest", // repeatable
+                    71205 or 71215 or 71225 or 71235 or 71345 or 71355 => "CompleteQuest",
                     _ => "Interact",
                 };
                 ImGui.SetClipboardText($$"""