.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Action), step.Action, emptyStep.Action)
.AsSyntaxNodeOrToken(),
+ Assignment(nameof(QuestStep.Status), step.Status, emptyStep.Status)
+ .AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.EnemySpawnType), step.EnemySpawnType,
emptyStep.EnemySpawnType)
.AsSyntaxNodeOrToken(),
"Prompt": "TEXT_CLSROG011_00102_Q1_000_030",
"Yes": true
}
- ]
+ ],
+ "NextQuestId": 104
}
]
}
--- /dev/null
+{
+ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+ "Author": "liza",
+ "QuestSequence": [
+ {
+ "Sequence": 0,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "AetheryteShortcut": "Limsa Lominsa",
+ "TargetTerritoryId": 129,
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ },
+ "StepIf": {
+ "ExtraCondition": "RoguesGuild"
+ }
+ }
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "AcceptQuest"
+ }
+ ]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "Position": {
+ "X": 31.662792,
+ "Y": 44.020653,
+ "Z": 146.94322
+ },
+ "TerritoryId": 134,
+ "InteractionType": "Combat",
+ "EnemySpawnType": "OverworldEnemies",
+ "ComplexCombatData": [
+ {
+ "DataId": 347,
+ "MinimumKillCount": 3,
+ "CompletionQuestVariablesFlags": [
+ {
+ "Low": 3
+ },
+ null,
+ null,
+ null,
+ null,
+ null
+ ]
+ }
+ ],
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Fishermens' Guild",
+ "[Limsa Lominsa] Zephyr Gate (Middle La Noscea)"
+ ],
+ "CompletionQuestVariablesFlags": [
+ {
+ "Low": 3
+ },
+ null,
+ null,
+ null,
+ null,
+ null
+ ]
+ },
+ {
+ "Position": {
+ "X": 74.15681,
+ "Y": 45.953808,
+ "Z": 169.73499
+ },
+ "TerritoryId": 134,
+ "InteractionType": "Combat",
+ "EnemySpawnType": "OverworldEnemies",
+ "ComplexCombatData": [
+ {
+ "DataId": 338,
+ "MinimumKillCount": 3,
+ "CompletionQuestVariablesFlags": [
+ null,
+ {
+ "Low": 3
+ },
+ null,
+ null,
+ null,
+ null
+ ]
+ }
+ ],
+ "CompletionQuestVariablesFlags": [
+ null,
+ {
+ "Low": 3
+ },
+ null,
+ null,
+ null,
+ null
+ ]
+ },
+ {
+ "Position": {
+ "X": 5.6626997,
+ "Y": 42.625427,
+ "Z": 55.983746
+ },
+ "TerritoryId": 134,
+ "InteractionType": "Combat",
+ "EnemySpawnType": "OverworldEnemies",
+ "ComplexCombatData": [
+ {
+ "DataId": 383,
+ "MinimumKillCount": 3,
+ "CompletionQuestVariablesFlags": [
+ null,
+ {
+ "High": 3
+ },
+ null,
+ null,
+ null,
+ null
+ ]
+ }
+ ],
+ "CompletionQuestVariablesFlags": [
+ null,
+ {
+ "High": 3
+ },
+ null,
+ null,
+ null,
+ null
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "AetheryteShortcut": "Limsa Lominsa",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ]
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "CompleteQuest",
+ "NextQuestId": 110
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+ "Author": "liza",
+ "QuestSequence": [
+ {
+ "Sequence": 0,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "AetheryteShortcut": "Limsa Lominsa",
+ "TargetTerritoryId": 129,
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ },
+ "StepIf": {
+ "ExtraCondition": "RoguesGuild"
+ }
+ }
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "AcceptQuest"
+ }
+ ]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "DataId": 1010197,
+ "Position": {
+ "X": -150.98804,
+ "Y": -129.4397,
+ "Z": 266.31567
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 2,
+ "Steps": [
+ {
+ "DataId": 2004936,
+ "Position": {
+ "X": -151.90363,
+ "Y": -128.16058,
+ "Z": 256.8551
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "SkipConditions": {
+ "StepIf": {
+ "InTerritory": [
+ 135
+ ]
+ }
+ }
+ },
+ {
+ "Position": {
+ "X": 174.3623,
+ "Y": 39.811382,
+ "Z": 52.27733
+ },
+ "TerritoryId": 135,
+ "InteractionType": "Combat",
+ "EnemySpawnType": "OverworldEnemies",
+ "Fly": true,
+ "KillEnemyDataIds": [
+ 324
+ ],
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Fishermens' Guild",
+ "[Limsa Lominsa] Tempest Gate (Lower La Noscea)"
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 3,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "AetheryteShortcut": "Limsa Lominsa",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ },
+ "StepIf": {
+ "ExtraCondition": "RoguesGuild"
+ }
+ }
+ },
+ {
+ "DataId": 1010197,
+ "Position": {
+ "X": -150.98804,
+ "Y": -129.4397,
+ "Z": 266.31567
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 4,
+ "Steps": [
+ {
+ "DataId": 2004936,
+ "Position": {
+ "X": -151.90363,
+ "Y": -128.16058,
+ "Z": 256.8551
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Fishermens' Guild",
+ "[Limsa Lominsa] The Aftcastle"
+ ],
+ "SkipConditions": {
+ "StepIf": {
+ "InTerritory": [
+ 128
+ ]
+ }
+ }
+ },
+ {
+ "DataId": 1005411,
+ "Position": {
+ "X": 13.412659,
+ "Y": 40.2,
+ "Z": -13.260071
+ },
+ "TerritoryId": 128,
+ "InteractionType": "Interact",
+ "DialogueChoices": [
+ {
+ "Type": "List",
+ "Prompt": "TEXT_CLSROG050_00110_Q1_000_061",
+ "Answer": "TEXT_CLSROG050_00110_A1_000_064"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 5,
+ "Steps": [
+ {
+ "DataId": 1010206,
+ "Position": {
+ "X": 107.71338,
+ "Y": 47.783855,
+ "Z": 50.736206
+ },
+ "TerritoryId": 134,
+ "InteractionType": "Interact",
+ "Fly": true,
+ "AethernetShortcut": [
+ "[Limsa Lominsa] The Aftcastle",
+ "[Limsa Lominsa] Zephyr Gate (Middle La Noscea)"
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 6,
+ "Steps": [
+ {
+ "Position": {
+ "X": 101.76026,
+ "Y": 48.69752,
+ "Z": 10.89893
+ },
+ "TerritoryId": 134,
+ "InteractionType": "Combat",
+ "EnemySpawnType": "OverworldEnemies",
+ "KillEnemyDataIds": [
+ 769
+ ],
+ "Fly": true
+ }
+ ]
+ },
+ {
+ "Sequence": 7,
+ "Steps": [
+ {
+ "DataId": 1010206,
+ "Position": {
+ "X": 107.71338,
+ "Y": 47.783855,
+ "Z": 50.736206
+ },
+ "TerritoryId": 134,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 8,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "AetheryteShortcut": "Limsa Lominsa",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ },
+ "StepIf": {
+ "ExtraCondition": "RoguesGuild"
+ }
+ }
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "CompleteQuest",
+ "NextQuestId": 126
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+ "Author": "liza",
+ "QuestSequence": [
+ {
+ "Sequence": 0,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "AetheryteShortcut": "Limsa Lominsa",
+ "TargetTerritoryId": 129,
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ },
+ "StepIf": {
+ "ExtraCondition": "RoguesGuild"
+ }
+ }
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "AcceptQuest"
+ }
+ ]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "DataId": 1010198,
+ "Position": {
+ "X": -152.11719,
+ "Y": -129.4397,
+ "Z": 267.10913
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 2,
+ "Steps": [
+ {
+ "DataId": 2004936,
+ "Position": {
+ "X": -151.8734,
+ "Y": -128.1446,
+ "Z": 256.8712
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "SkipConditions": {
+ "StepIf": {
+ "InTerritory": [
+ 128
+ ]
+ }
+ }
+ },
+ {
+ "DataId": 1010212,
+ "Position": {
+ "X": -50.8584,
+ "Y": 40,
+ "Z": 111.40613
+ },
+ "TerritoryId": 128,
+ "InteractionType": "Interact",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Fishermens' Guild",
+ "[Limsa Lominsa] The Aftcastle"
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 3,
+ "Steps": [
+ {
+ "DataId": 1010211,
+ "Position": {
+ "X": -42.22174,
+ "Y": 42.249126,
+ "Z": 115.89221
+ },
+ "TerritoryId": 128,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 4,
+ "Steps": [
+ {
+ "Position": {
+ "X": -62.300663,
+ "Y": 42.300003,
+ "Z": -151.94725
+ },
+ "StopDistance": 0.5,
+ "TerritoryId": 128,
+ "InteractionType": "Action",
+ "Action": "Hide",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] The Aftcastle",
+ "[Limsa Lominsa] Culinarians' Guild"
+ ],
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
+ },
+ {
+ "Position": {
+ "X": -54.962505,
+ "Y": 42.300007,
+ "Z": -158.14607
+ },
+ "StopDistance": 0.5,
+ "TerritoryId": 128,
+ "InteractionType": "WalkTo",
+ "DisableNavmesh": true,
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ },
+ {
+ "TerritoryId": 128,
+ "InteractionType": "StatusOff",
+ "Status": "Hidden"
+ },
+ {
+ "Position": {
+ "X": -155.25468,
+ "Y": 18,
+ "Z": 28.882175
+ },
+ "StopDistance": 0.5,
+ "TerritoryId": 129,
+ "InteractionType": "Action",
+ "Action": "Hide",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Culinarians' Guild",
+ "[Limsa Lominsa] Hawkers' Alley"
+ ],
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
+ },
+ {
+ "Position": {
+ "X": -150.91245,
+ "Y": 18.2,
+ "Z": 34.06711
+ },
+ "StopDistance": 0.5,
+ "TerritoryId": 129,
+ "InteractionType": "WalkTo",
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ },
+ {
+ "TerritoryId": 129,
+ "InteractionType": "StatusOff",
+ "Status": "Hidden"
+ },
+ {
+ "Position": {
+ "X": -187.95581,
+ "Y": 1.2697256,
+ "Z": 208.46738
+ },
+ "StopDistance": 0.5,
+ "TerritoryId": 129,
+ "InteractionType": "Action",
+ "Action": "Hide",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Hawkers' Alley",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ],
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
+ },
+ {
+ "Position": {
+ "X": -190.81572,
+ "Y": 0.9999907,
+ "Z": 210.59836
+ },
+ "TerritoryId": 129,
+ "InteractionType": "WalkTo",
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 5,
+ "Steps": [
+ {
+ "TerritoryId": 129,
+ "InteractionType": "StatusOff",
+ "Status": "Hidden"
+ },
+ {
+ "DataId": 1010213,
+ "Position": {
+ "X": -161.12,
+ "Y": 1.9499999,
+ "Z": 239.30713
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 6,
+ "Steps": [
+ {
+ "DataId": 1010213,
+ "Position": {
+ "X": -161.12,
+ "Y": 1.9499999,
+ "Z": 239.30713
+ },
+ "TerritoryId": 129,
+ "InteractionType": "SinglePlayerDuty"
+ }
+ ]
+ },
+ {
+ "Sequence": 7,
+ "Steps": [
+ {
+ "DataId": 1010213,
+ "Position": {
+ "X": -161.12,
+ "Y": 1.9499999,
+ "Z": 239.30713
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Hawkers' Alley",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "CompleteQuest",
+ "NextQuestId": 144
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+ "Author": "liza",
+ "QuestSequence": [
+ {
+ "Sequence": 0,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "AetheryteShortcut": "Limsa Lominsa",
+ "TargetTerritoryId": 129,
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ },
+ "StepIf": {
+ "ExtraCondition": "RoguesGuild"
+ }
+ }
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "AcceptQuest"
+ }
+ ]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 2,
+ "Steps": [
+ {
+ "DataId": 1010199,
+ "Position": {
+ "X": 256.12268,
+ "Y": 21.097961,
+ "Z": 581.3839
+ },
+ "TerritoryId": 135,
+ "InteractionType": "Interact",
+ "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks",
+ "Fly": true
+ }
+ ]
+ },
+ {
+ "Sequence": 3,
+ "Steps": [
+ {
+ "DataId": 2004861,
+ "Position": {
+ "X": -131.63965,
+ "Y": 0.503479,
+ "Z": 729.9762
+ },
+ "TerritoryId": 135,
+ "InteractionType": "Interact",
+ "Fly": true
+ }
+ ]
+ },
+ {
+ "Sequence": 4,
+ "Steps": [
+ {
+ "DataId": 1010218,
+ "Position": {
+ "X": 319.44763,
+ "Y": -36.353825,
+ "Z": 346.76123
+ },
+ "TerritoryId": 138,
+ "InteractionType": "Interact",
+ "Fly": true,
+ "AetheryteShortcut": "Western La Noscea - Aleport"
+ }
+ ]
+ },
+ {
+ "Sequence": 5,
+ "Steps": [
+ {
+ "DataId": 1010218,
+ "Position": {
+ "X": 319.44763,
+ "Y": -36.353825,
+ "Z": 346.76123
+ },
+ "TerritoryId": 138,
+ "InteractionType": "SinglePlayerDuty"
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "DataId": 1010218,
+ "Position": {
+ "X": 319.44763,
+ "Y": -36.353825,
+ "Z": 346.76123
+ },
+ "StopDistance": 5,
+ "TerritoryId": 138,
+ "InteractionType": "CompleteQuest",
+ "NextQuestId": 145
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+ "Author": "liza",
+ "QuestSequence": [
+ {
+ "Sequence": 0,
+ "Steps": [
+ {
+ "DataId": 1010218,
+ "Position": {
+ "X": 319.44763,
+ "Y": -36.353825,
+ "Z": 346.76123
+ },
+ "StopDistance": 5,
+ "TerritoryId": 138,
+ "InteractionType": "AcceptQuest",
+ "AetheryteShortcut": "Western La Noscea - Aleport",
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ }
+ }
+ }
+ ]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "Position": {
+ "X": 593.2056,
+ "Y": 43.88314,
+ "Z": 304.65137
+ },
+ "TerritoryId": 138,
+ "InteractionType": "WalkTo",
+ "Fly": true
+ },
+ {
+ "DataId": 1010228,
+ "Position": {
+ "X": 594.1709,
+ "Y": 43.893982,
+ "Z": 303.76135
+ },
+ "TerritoryId": 138,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "AetheryteShortcut": "Limsa Lominsa",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ]
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "CompleteQuest",
+ "NextQuestId": 146
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+ "Author": "liza",
+ "QuestSequence": [
+ {
+ "Sequence": 0,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "AetheryteShortcut": "Limsa Lominsa",
+ "TargetTerritoryId": 129,
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ },
+ "StepIf": {
+ "ExtraCondition": "RoguesGuild"
+ }
+ }
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "AcceptQuest"
+ }
+ ]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "DataId": 2004936,
+ "Position": {
+ "X": -151.90363,
+ "Y": -128.16058,
+ "Z": 256.8551
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129
+ },
+ {
+ "DataId": 1010238,
+ "Position": {
+ "X": 146.71545,
+ "Y": 62.3279,
+ "Z": 291.82874
+ },
+ "TerritoryId": 134,
+ "InteractionType": "Interact",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Fishermens' Guild",
+ "[Limsa Lominsa] Zephyr Gate (Middle La Noscea)"
+ ],
+ "Fly": true
+ }
+ ]
+ },
+ {
+ "Sequence": 2,
+ "Steps": [
+ {
+ "Position": {
+ "X": 168.34132,
+ "Y": 69.5,
+ "Z": 327.67975
+ },
+ "StopDistance": 0.5,
+ "TerritoryId": 134,
+ "InteractionType": "Action",
+ "Action": "Hide"
+ },
+ {
+ "Position": {
+ "X": 178.24341,
+ "Y": 69.5,
+ "Z": 328.4606
+ },
+ "TerritoryId": 134,
+ "InteractionType": "WalkTo"
+ }
+ ]
+ },
+ {
+ "Sequence": 3,
+ "Steps": [
+ {
+ "TerritoryId": 134,
+ "InteractionType": "StatusOff",
+ "Status": "Hidden"
+ },
+ {
+ "DataId": 1010238,
+ "Position": {
+ "X": 146.71545,
+ "Y": 62.3279,
+ "Z": 291.82874
+ },
+ "TerritoryId": 134,
+ "InteractionType": "Interact",
+ "Fly": true
+ }
+ ]
+ },
+ {
+ "Sequence": 4,
+ "Steps": [
+ {
+ "DataId": 1010242,
+ "Position": {
+ "X": 7.2174683,
+ "Y": 57.91383,
+ "Z": -307.11835
+ },
+ "TerritoryId": 134,
+ "InteractionType": "Combat",
+ "AetheryteShortcut": "Middle La Noscea - Summerford Farms",
+ "Fly": true,
+ "EnemySpawnType": "AfterInteraction",
+ "KillEnemyDataIds": [
+ 3567,
+ 3568
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 5,
+ "Steps": [
+ {
+ "DataId": 1010242,
+ "Position": {
+ "X": 7.2174683,
+ "Y": 57.91383,
+ "Z": -307.11835
+ },
+ "TerritoryId": 134,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 6,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "AetheryteShortcut": "Limsa Lominsa",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ]
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 7,
+ "Steps": [
+ {
+ "DataId": 1010237,
+ "Position": {
+ "X": 242.29797,
+ "Y": 8.000164,
+ "Z": 668.2383
+ },
+ "TerritoryId": 135,
+ "InteractionType": "SinglePlayerDuty",
+ "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks",
+ "Fly": true
+ }
+ ]
+ },
+ {
+ "Sequence": 8,
+ "Steps": [
+ {
+ "DataId": 1010237,
+ "Position": {
+ "X": 242.29797,
+ "Y": 8.000164,
+ "Z": 668.2383
+ },
+ "StopDistance": 7,
+ "TerritoryId": 135,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "AetheryteShortcut": "Limsa Lominsa",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ]
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "CompleteQuest",
+ "NextQuestId": 148
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+ "Author": "liza",
+ "QuestSequence": [
+ {
+ "Sequence": 0,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "AetheryteShortcut": "Limsa Lominsa",
+ "TargetTerritoryId": 129,
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ },
+ "StepIf": {
+ "ExtraCondition": "RoguesGuild"
+ }
+ }
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "AcceptQuest"
+ }
+ ]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "DataId": 2004936,
+ "Position": {
+ "X": -151.90363,
+ "Y": -128.16058,
+ "Z": 256.8551
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "SkipConditions": {
+ "StepIf": {
+ "InTerritory": [
+ 134,
+ 135
+ ]
+ }
+ }
+ },
+ {
+ "Position": {
+ "X": 212.54845,
+ "Y": 65.80573,
+ "Z": 285.71436
+ },
+ "TerritoryId": 134,
+ "InteractionType": "WalkTo",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Fishermens' Guild",
+ "[Limsa Lominsa] Zephyr Gate (Middle La Noscea)"
+ ],
+ "Fly": true,
+ "SkipConditions": {
+ "StepIf": {
+ "InTerritory": [
+ 135
+ ]
+ }
+ }
+ },
+ {
+ "Position": {
+ "X": 509.26575,
+ "Y": 95.90476,
+ "Z": -446.11078
+ },
+ "StopDistance": 0.5,
+ "TerritoryId": 135,
+ "InteractionType": "Combat",
+ "EnemySpawnType": "AutoOnEnterArea",
+ "KillEnemyDataIds": [
+ 2864,
+ 2865,
+ 2866
+ ],
+ "Fly": true
+ }
+ ]
+ },
+ {
+ "Sequence": 2,
+ "Steps": [
+ {
+ "DataId": 1010252,
+ "Position": {
+ "X": 508.23218,
+ "Y": 95.95811,
+ "Z": -449.82074
+ },
+ "TerritoryId": 135,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 3,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "AetheryteShortcut": "Limsa Lominsa",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ]
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 4,
+ "Steps": [
+ {
+ "DataId": 2004936,
+ "Position": {
+ "X": -151.90363,
+ "Y": -128.16058,
+ "Z": 256.8551
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "SkipConditions": {
+ "StepIf": {
+ "AetheryteUnlocked": "Eastern La Noscea - Costa Del Sol"
+ }
+ },
+ "$": "Pathfinder ref"
+ },
+ {
+ "DataId": 1000868,
+ "Position": {
+ "X": -192.00433,
+ "Y": 0.9999907,
+ "Z": 211.68835
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 137,
+ "SkipConditions": {
+ "StepIf": {
+ "AetheryteUnlocked": "Eastern La Noscea - Costa Del Sol"
+ }
+ }
+ },
+ {
+ "TerritoryId": 137,
+ "InteractionType": "AttuneAetheryte",
+ "Aetheryte": "Eastern La Noscea - Costa Del Sol",
+ "SkipConditions": {
+ "StepIf": {
+ "AetheryteUnlocked": "Eastern La Noscea - Costa Del Sol"
+ }
+ }
+ },
+ {
+ "Position": {
+ "X": 449.17413,
+ "Y": 16.072088,
+ "Z": 406.06335
+ },
+ "TerritoryId": 137,
+ "InteractionType": "WalkTo",
+ "Fly": true,
+ "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ }
+ }
+ },
+ {
+ "DataId": 1010251,
+ "Position": {
+ "X": 450.82776,
+ "Y": 16.18121,
+ "Z": 406.69873
+ },
+ "TerritoryId": 137,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 5,
+ "Steps": [
+ {
+ "DataId": 1010251,
+ "Position": {
+ "X": 450.82776,
+ "Y": 16.18121,
+ "Z": 406.69873
+ },
+ "TerritoryId": 137,
+ "InteractionType": "SinglePlayerDuty"
+ }
+ ]
+ },
+ {
+ "Sequence": 6,
+ "Steps": [
+ {
+ "DataId": 1010250,
+ "Position": {
+ "X": 448.47778,
+ "Y": 16.154829,
+ "Z": 408.77393
+ },
+ "TerritoryId": 137,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "AetheryteShortcut": "Limsa Lominsa",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ]
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "CompleteQuest",
+ "NextQuestId": 154
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+ "Author": "liza",
+ "QuestSequence": [
+ {
+ "Sequence": 0,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "AetheryteShortcut": "Limsa Lominsa",
+ "TargetTerritoryId": 129,
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ },
+ "StepIf": {
+ "ExtraCondition": "RoguesGuild"
+ }
+ }
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "AcceptQuest"
+ }
+ ]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "Position": {
+ "X": 410.07083,
+ "Y": 31.504957,
+ "Z": -12.586371
+ },
+ "TerritoryId": 138,
+ "InteractionType": "WalkTo",
+ "AetheryteShortcut": "Western La Noscea - Aleport",
+ "TargetTerritoryId": 139,
+ "Fly": true
+ },
+ {
+ "Position": {
+ "X": -436.69995,
+ "Y": -2.0159357,
+ "Z": 48.819775
+ },
+ "StopDistance": 1,
+ "TerritoryId": 139,
+ "InteractionType": "Combat",
+ "EnemySpawnType": "AutoOnEnterArea",
+ "KillEnemyDataIds": [
+ 3569,
+ 3570,
+ 3571
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 2,
+ "Steps": [
+ {
+ "DataId": 2004916,
+ "Position": {
+ "X": -436.02655,
+ "Y": -1.9379272,
+ "Z": 48.569458
+ },
+ "TerritoryId": 139,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 3,
+ "Steps": [
+ {
+ "DataId": 1010261,
+ "Position": {
+ "X": -437.3694,
+ "Y": -2.369183,
+ "Z": 55.954834
+ },
+ "StopDistance": 7,
+ "TerritoryId": 139,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 4,
+ "Steps": [
+ {
+ "DataId": 1010267,
+ "Position": {
+ "X": -449.08832,
+ "Y": 21.634577,
+ "Z": -327.93164
+ },
+ "TerritoryId": 134,
+ "InteractionType": "Interact",
+ "AetheryteShortcut": "Middle La Noscea - Summerford Farms",
+ "Fly": true
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "AetheryteShortcut": "Limsa Lominsa",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ]
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "CompleteQuest",
+ "NextQuestId": 155
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+ "Author": "liza",
+ "QuestSequence": [
+ {
+ "Sequence": 0,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "AetheryteShortcut": "Limsa Lominsa",
+ "TargetTerritoryId": 129,
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Aetheryte Plaza",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "InSameTerritory": true
+ },
+ "StepIf": {
+ "ExtraCondition": "RoguesGuild"
+ }
+ }
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "AcceptQuest"
+ }
+ ]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "DataId": 2004936,
+ "Position": {
+ "X": -151.90363,
+ "Y": -128.16058,
+ "Z": 256.8551
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129
+ },
+ {
+ "DataId": 2004863,
+ "Position": {
+ "X": 4.4403076,
+ "Y": 44.47998,
+ "Z": 121.29382
+ },
+ "TerritoryId": 128,
+ "InteractionType": "SinglePlayerDuty",
+ "AethernetShortcut": [
+ "[Limsa Lominsa] Fishermens' Guild",
+ "[Limsa Lominsa] The Aftcastle"
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "DataId": 1009944,
+ "Position": {
+ "X": -152.66656,
+ "Y": 2.8562405,
+ "Z": 243.18298
+ },
+ "TerritoryId": 129,
+ "InteractionType": "Interact",
+ "TargetTerritoryId": 129,
+ "AethernetShortcut": [
+ "[Limsa Lominsa] The Aftcastle",
+ "[Limsa Lominsa] Fishermens' Guild"
+ ]
+ },
+ {
+ "DataId": 1009943,
+ "Position": {
+ "X": -153.36847,
+ "Y": -129.4397,
+ "Z": 265.88843
+ },
+ "StopDistance": 7,
+ "TerritoryId": 129,
+ "InteractionType": "CompleteQuest",
+ "NextQuestId": 212
+ }
+ ]
+ }
+ ]
+}
"[Limsa Lominsa] Fishermens' Guild"\r
],\r
"SkipConditions": {\r
+ "AetheryteShortcutIf": {\r
+ "InSameTerritory": true\r
+ },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -151.80984,\r
- "Y": -128.6493,\r
- "Z": 265.27332\r
- },\r
- "TerritoryId": 129,\r
- "MaximumDistance": 50\r
- }\r
+ "ExtraCondition": "RoguesGuild"\r
}\r
}\r
},\r
"Y": -129.4397,\r
"Z": 265.88843\r
},\r
+ "StopDistance": 7,\r
"TerritoryId": 129,\r
"InteractionType": "AcceptQuest"\r
}\r
"Z": -2.3651733\r
},\r
"TerritoryId": 137,\r
- "InteractionType": "Interact"\r
+ "InteractionType": "Interact",\r
+ "Fly": true\r
}\r
]\r
},\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
+ "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true }\r
- }\r
+ },\r
+ "DialogueChoices": [\r
+ {\r
+ "Type": "YesNo",\r
+ "Prompt": "TEXT_JOBNIN300_00212_Q2_000_000",\r
+ "Yes": true\r
+ }\r
+ ]\r
}\r
]\r
},\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137,\r
}\r
},\r
{\r
- "InteractionType": "WaitForManualProgress",\r
+ "DataId": 2004927,\r
+ "Position": {\r
+ "X": -10.605103,\r
+ "Y": 41.397705,\r
+ "Z": 267.87207\r
+ },\r
"TerritoryId": 137,\r
- "Comment": "Use Ten -> Fuma Shuriken on the dummy"\r
+ "InteractionType": "Action",\r
+ "Action": "Fuma Shuriken"\r
}\r
]\r
},\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
}\r
},\r
{\r
- "InteractionType": "WaitForManualProgress",\r
+ "DataId": 2004928,\r
+ "Position": {\r
+ "X": -10.605103,\r
+ "Y": 41.397705,\r
+ "Z": 267.87207\r
+ },\r
"TerritoryId": 137,\r
- "Comment": "Use Ten -> Chi -> Raiton on the dummy"\r
+ "InteractionType": "Action",\r
+ "Action": "Raiton"\r
}\r
]\r
},\r
"Sequence": 3,\r
"Steps": [\r
{\r
- "InteractionType": "WaitForManualProgress",\r
+ "DataId": 2004929,\r
+ "Position": {\r
+ "X": -10.605103,\r
+ "Y": 41.397705,\r
+ "Z": 267.87207\r
+ },\r
+ "StopDistance": 7,\r
"TerritoryId": 137,\r
- "Comment": "Use Chi -> Ten -> Katon on the dummy"\r
+ "InteractionType": "Action",\r
+ "Action": "Katon"\r
}\r
]\r
},\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"Z": 257.98413\r
},\r
"TerritoryId": 137,\r
- "InteractionType": "AcceptQuest"\r
+ "InteractionType": "AcceptQuest",\r
+ "DialogueChoices": [\r
+ {\r
+ "Type": "List",\r
+ "Prompt": "TEXT_JOBNIN400_00216_Q1_000_000",\r
+ "Answer": "TEXT_JOBNIN400_00216_A1_000_001"\r
+ }\r
+ ]\r
}\r
]\r
},\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"Z": 250.32422\r
},\r
"TerritoryId": 137,\r
- "InteractionType": "Interact"\r
+ "InteractionType": "Interact",\r
+ "DialogueChoices": [\r
+ {\r
+ "Type": "List",\r
+ "Prompt": "TEXT_JOBNIN500_00234_Q1_000_000",\r
+ "Answer": "TEXT_JOBNIN500_00234_A1_000_002"\r
+ }\r
+ ]\r
}\r
]\r
},\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"Sequence": 2,\r
"Steps": [\r
{\r
+ "DataId": 2005928,\r
"Position": {\r
- "X": -11.615023,\r
- "Y": 66.32614,\r
- "Z": 421.28235\r
+ "X": -22.842834,\r
+ "Y": 66.300415,\r
+ "Z": 426.1692\r
},\r
"TerritoryId": 135,\r
- "InteractionType": "WalkTo"\r
- },\r
- {\r
- "TerritoryId": 135,\r
- "InteractionType": "WaitForManualProgress",\r
- "Comment": "Use Raiton on destination"\r
+ "InteractionType": "Action",\r
+ "Action": "Raiton"\r
}\r
]\r
},\r
"Sequence": 3,\r
"Steps": [\r
{\r
+ "DataId": 2005929,\r
"Position": {\r
- "X": -45.41632,\r
- "Y": 50.40381,\r
- "Z": 519.4183\r
+ "X": -46.707886,\r
+ "Y": 48.41687,\r
+ "Z": 529.1676\r
},\r
"TerritoryId": 135,\r
- "InteractionType": "WalkTo"\r
- },\r
- {\r
- "TerritoryId": 135,\r
- "InteractionType": "WaitForManualProgress",\r
- "Comment": "Use Raiton on destination"\r
+ "InteractionType": "Action",\r
+ "Action": "Raiton"\r
}\r
]\r
},\r
"Sequence": 4,\r
"Steps": [\r
{\r
+ "DataId": 2005930,\r
"Position": {\r
- "X": -91.23599,\r
- "Y": 28.63774,\r
- "Z": 617.4151\r
+ "X": -93.888794,\r
+ "Y": 26.932129,\r
+ "Z": 623.25464\r
},\r
"TerritoryId": 135,\r
- "InteractionType": "WalkTo"\r
- },\r
- {\r
- "TerritoryId": 135,\r
- "InteractionType": "WaitForManualProgress",\r
- "Comment": "Use Raiton on destination"\r
+ "InteractionType": "Action",\r
+ "Action": "Raiton"\r
}\r
]\r
},\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
},\r
"TerritoryId": 398,\r
"InteractionType": "WalkTo",\r
+ "Fly": true,\r
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather"\r
},\r
{\r
"TerritoryId": 398,\r
"InteractionType": "Combat",\r
"EnemySpawnType": "AfterInteraction",\r
- "KillEnemyDataIds": [5042, 4619]\r
+ "KillEnemyDataIds": [5042, 4619],\r
+ "Fly": true\r
}\r
]\r
},\r
"Z": -217.02905\r
},\r
"TerritoryId": 398,\r
- "InteractionType": "Interact"\r
+ "InteractionType": "Interact",\r
+ "Fly": true\r
}\r
]\r
},\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 135,\r
"Fly": true,\r
"InteractionType": "Interact",\r
- "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks"\r
+ "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks",\r
+ "DialogueChoices": [\r
+ {\r
+ "Type": "List",\r
+ "Prompt": "TEXT_JOBNIN600_01688_Q1_000_000",\r
+ "Answer": "TEXT_JOBNIN600_01688_A1_000_010"\r
+ }\r
+ ]\r
}\r
]\r
},\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"AethernetShortcut": [\r
"[Limsa Lominsa] Aetheryte Plaza",\r
"[Limsa Lominsa] The Aftcastle"\r
+ ],\r
+ "DialogueChoices": [\r
+ {\r
+ "Type": "List",\r
+ "Prompt": "TEXT_JOBNIN601_02948_Q1_000_031",\r
+ "Answer": "TEXT_JOBNIN601_02948_A3_000_034"\r
+ }\r
]\r
}\r
]\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true },\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"Z": -60.22008\r
},\r
"TerritoryId": 628,\r
- "InteractionType": "WalkTo",\r
+ "InteractionType": "Action",\r
+ "Action": "Hide",\r
"AethernetShortcut": [\r
"[Kugane] Sekiseigumi Barracks",\r
"[Kugane] Aetheryte Plaza"\r
}\r
},\r
{\r
- "InteractionType": "WaitForManualProgress",\r
+ "Position": {\r
+ "X": -46.572186,\r
+ "Y": 3.0135043,\r
+ "Z": -71.70311\r
+ },\r
"TerritoryId": 628,\r
- "Comment": "Hide, then approach Loutish Lickspittle",\r
+ "InteractionType": "WalkTo",\r
"CompletionQuestVariablesFlags": [null, null, null, null, null, 128]\r
},\r
+ {\r
+ "TerritoryId": 628,\r
+ "InteractionType": "StatusOff",\r
+ "Status": "Hidden"\r
+ },\r
{\r
"Position": {\r
"X": -53.864307,\r
"Z": -106.929726\r
},\r
"TerritoryId": 628,\r
- "InteractionType": "WalkTo"\r
+ "InteractionType": "Action",\r
+ "Action": "Hide"\r
},\r
{\r
- "InteractionType": "WaitForManualProgress",\r
+ "Position": {\r
+ "X": -82.41595,\r
+ "Y": -7.300003,\r
+ "Z": -111.459076\r
+ },\r
"TerritoryId": 628,\r
- "Comment": "Hide, then approach the two NPCs downstairs"\r
+ "InteractionType": "WalkTo"\r
}\r
]\r
},\r
{\r
"Sequence": 3,\r
"Steps": [\r
+ {\r
+ "TerritoryId": 628,\r
+ "InteractionType": "StatusOff",\r
+ "Status": "Hidden"\r
+ },\r
{\r
"DataId": 1023555,\r
"Position": {\r
"AetheryteShortcut": "Yanxia - Namai",\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true }\r
- }\r
+ },\r
+ "DialogueChoices": [\r
+ {\r
+ "Type": "List",\r
+ "Prompt": "TEXT_JOBNIN680_02951_Q1_000_003",\r
+ "Answer": "TEXT_JOBNIN680_02951_A3_000_006"\r
+ }\r
+ ]\r
}\r
]\r
},\r
"Z": -96.75751\r
},\r
"TerritoryId": 614,\r
- "InteractionType": "Interact"\r
+ "InteractionType": "Interact",\r
+ "DialogueChoices": [\r
+ {\r
+ "Type": "YesNo",\r
+ "Prompt": "TEXT_JOBNIN680_02951_SYSTEM_100_049",\r
+ "Yes": true\r
+ }\r
+ ]\r
}\r
]\r
},\r
"Y": 16.160986,\r
"Z": 390.68732\r
},\r
+ "StopDistance": 1,\r
"TerritoryId": 614,\r
"InteractionType": "Combat",\r
"KillEnemyDataIds": [6641],\r
- "EnemySpawnType": "OverworldEnemies"\r
+ "EnemySpawnType": "OverworldEnemies",\r
+ "Fly": true\r
}\r
]\r
},\r
},\r
"TerritoryId": 614,\r
"InteractionType": "Interact",\r
- "AetheryteShortcut": "Yanxia - Namai"\r
+ "AetheryteShortcut": "Yanxia - Namai",\r
+ "DialogueChoices": [\r
+ {\r
+ "Type": "YesNo",\r
+ "Prompt": "TEXT_JOBNIN680_02951_SYSTEM_100_049",\r
+ "Yes": true\r
+ }\r
+ ]\r
}\r
]\r
},\r
"AetheryteShortcut": "Yanxia - Namai",\r
"SkipConditions": {\r
"AetheryteShortcutIf": { "InSameTerritory": true }\r
- }\r
+ },\r
+ "DialogueChoices": [\r
+ {\r
+ "Type": "List",\r
+ "Prompt": "TEXT_JOBNIN700_02952_Q1_100_004",\r
+ "Answer": "TEXT_JOBNIN700_02952_A1_100_005"\r
+ }\r
+ ]\r
}\r
]\r
},\r
"TerritoryId": 622,\r
"InteractionType": "SinglePlayerDuty",\r
"Fly": true,\r
- "AetheryteShortcut": "Azim Steppe - Dawn Throne",\r
+ "AetheryteShortcut": "Azim Steppe - Reunion",\r
"SkipConditions": {\r
"AetheryteShortcutIf": {\r
"NearPosition": {\r
"TerritoryId": 137,\r
"InteractionType": "Interact",\r
"AetheryteShortcut": "Eastern La Noscea - Wineport",\r
- "Fly": true,\r
"SkipConditions": {\r
"StepIf": {\r
- "NearPosition": {\r
- "Position": {\r
- "X": -25.149055,\r
- "Y": -24.773232,\r
- "Z": 258.15594\r
- },\r
- "TerritoryId": 137,\r
- "MaximumDistance": 25\r
- }\r
+ "ExtraCondition": "DockStorehouse"\r
}\r
},\r
"TargetTerritoryId": 137\r
"Say",
"Emote",
"Action",
+ "StatusOff",
"WaitForNpcAtPosition",
"WaitForManualProgress",
"Duty",
"Hop-step",
"Fuma Shuriken",
"Katon",
- "Raiton"
+ "Raiton",
+ "Hide"
]
}
},
]
}
},
+ {
+ "if": {
+ "properties": {
+ "InteractionType": {
+ "const": "StatusOff"
+ }
+ }
+ },
+ "then": {
+ "properties": {
+ "Status": {
+ "type": "string",
+ "description": "The status to disable",
+ "enum": [
+ "Hidden"
+ ]
+ }
+ },
+ "required": [
+ "Status"
+ ]
+ }
+ },
{
"if": {
"properties": {
{ EAction.BlueGulal, "Blue Gulal" },
{ EAction.ElectrixFlux, "Electric Flux" },
{ EAction.HopStep, "Hop-step" },
+ { EAction.Hide, "Hide" },
{ EAction.FumaShuriken, "Fuma Shuriken" },
{ EAction.Katon, "Katon" },
{ EAction.Raiton, "Raiton" },
{ EInteractionType.Say, "Say" },
{ EInteractionType.Emote, "Emote" },
{ EInteractionType.Action, "Action" },
+ { EInteractionType.StatusOff, "StatusOff" },
{ EInteractionType.WaitForObjectAtPosition, "WaitForNpcAtPosition" },
{ EInteractionType.WaitForManualProgress, "WaitForManualProgress" },
{ EInteractionType.Duty, "Duty" },
--- /dev/null
+using System.Collections.Generic;
+using Questionable.Model.Common.Converter;
+
+namespace Questionable.Model.Questing.Converter;
+
+public sealed class StatusConverter() : EnumConverter<EStatus>(Values)
+{
+ private static readonly Dictionary<EStatus, string> Values = new()
+ {
+ { EStatus.Hidden, "Hidden" },
+ };
+}
BlueGulal = 29384,
ElectrixFlux = 29718,
HopStep = 31116,
+ Hide = 2245,
Ten = 2259,
Ninjutsu = 2260,
Chi = 2261,
FumaShuriken = 2265,
Katon = 2266,
Raiton = 2267,
+ RabbitMedium = 2272,
CollectMiner = 240,
ScourMiner = 22182,
Say,
Emote,
Action,
+ StatusOff,
WaitForObjectAtPosition,
WaitForManualProgress,
Duty,
--- /dev/null
+using System.Text.Json.Serialization;
+using Questionable.Model.Questing.Converter;
+
+namespace Questionable.Model.Questing;
+
+[JsonConverter(typeof(StatusConverter))]
+public enum EStatus : uint
+{
+ GatheringRateUp = 218,
+ Hidden = 614,
+ Eukrasia = 2606,
+}
public EEmote? Emote { get; set; }
public ChatMessage? ChatMessage { get; set; }
public EAction? Action { get; set; }
+ public EStatus? Status { get; set; }
public EEnemySpawnType? EnemySpawnType { get; set; }
public List<uint> KillEnemyDataIds { get; set; } = [];
ICondition condition,
ILogger<GatherExecutor> logger) : TaskExecutor<Task>
{
- private const uint StatusGatheringRateUp = 218;
-
private bool _wasGathering;
private SlotInfo? _slotToGather;
private Queue<EAction>? _actionQueue;
//uint gp = clientState.LocalPlayer!.CurrentGp;
Queue<EAction> actions = new();
- if (!gameFunctions.HasStatus(StatusGatheringRateUp))
+ if (!gameFunctions.HasStatus(EStatus.GatheringRateUp))
{
// do we have an alternative item? only happens for 'evaluation' leve quests
if (Task.Request.AlternativeItemId != 0)
using System;
using System.Collections.Generic;
+using System.Collections.ObjectModel;
using Dalamud.Game.ClientState.Objects.Types;
+using FFXIVClientStructs.FFXIV.Client.Game;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps.Common;
using Questionable.Functions;
public static ITask OnObject(uint? dataId, EAction action)
{
- return new UseOnObject(dataId, action);
+ if (action is EAction.FumaShuriken or EAction.Katon or EAction.Raiton)
+ {
+ ArgumentNullException.ThrowIfNull(dataId);
+ return new UseMudraOnObject(dataId.Value, action);
+ }
+ else
+ return new UseOnObject(dataId, action);
}
}
{
if (Task.Action == EAction.Diagnosis)
{
- uint eukrasiaAura = 2606;
// If SGE have Eukrasia status, we need to remove it.
- if (gameFunctions.HasStatus(eukrasiaAura))
+ if (gameFunctions.HasStatus(EStatus.Eukrasia))
{
- if (GameFunctions.RemoveStatus(eukrasiaAura))
+ if (GameFunctions.RemoveStatus(EStatus.Eukrasia))
{
// Introduce a delay of 2 seconds before using the next action (otherwise it will try and use Eukrasia Diagnosis)
_continueAt = DateTime.Now.AddSeconds(2);
- return true;
+ return true;
}
}
}
-
+
_usedAction = gameFunctions.UseAction(gameObject, Task.Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
return true;
return ETaskResult.TaskComplete;
}
}
+
+ internal sealed record UseMudraOnObject(uint DataId, EAction Action) : ITask
+ {
+ public override string ToString() => $"Mudra({Action})";
+ }
+
+ internal sealed class UseMudraOnObjectExecutor(
+ GameFunctions gameFunctions,
+ ILogger<UseMudraOnObject> logger) : TaskExecutor<UseMudraOnObject>
+ {
+ private static readonly ReadOnlyDictionary<EAction, Dictionary<EAction, EAction>> Combos =
+ new Dictionary<EAction, Dictionary<EAction, EAction>>
+ {
+ { EAction.FumaShuriken, new() { { EAction.Ninjutsu, EAction.Ten } } },
+ { EAction.Raiton, new() { { EAction.Ninjutsu, EAction.Ten }, { EAction.FumaShuriken, EAction.Chi } } },
+ { EAction.Katon, new() {{ EAction.Ninjutsu, EAction.Chi }, { EAction.FumaShuriken, EAction.Ten } } }
+ }.AsReadOnly();
+
+ private DateTime _continueAt = DateTime.MinValue;
+
+ protected override bool Start() => true;
+
+ public override unsafe ETaskResult Update()
+ {
+ if (DateTime.Now < _continueAt)
+ return ETaskResult.StillRunning;
+
+ EAction adjustedNinjutsuId = (EAction)ActionManager.Instance()->GetAdjustedActionId((uint)EAction.Ninjutsu);
+ if (adjustedNinjutsuId == EAction.RabbitMedium)
+ {
+ _continueAt = DateTime.Now.AddSeconds(1);
+ return ETaskResult.StillRunning;
+ }
+
+ IGameObject? gameObject = gameFunctions.FindObjectByDataId(Task.DataId);
+ if (gameObject == null || !gameObject.IsTargetable)
+ return ETaskResult.StillRunning;
+
+ if (adjustedNinjutsuId == Task.Action)
+ {
+ _continueAt = DateTime.Now.AddSeconds(0.25);
+ return gameFunctions.UseAction(gameObject, Task.Action)
+ ? ETaskResult.TaskComplete
+ : ETaskResult.StillRunning;
+ }
+
+ if (Combos.TryGetValue(Task.Action, out var combo))
+ {
+ if (combo.TryGetValue(adjustedNinjutsuId, out var mudra))
+ {
+ _continueAt = DateTime.Now.AddSeconds(0.25);
+ gameFunctions.UseAction(mudra);
+ return ETaskResult.StillRunning;
+ }
+
+ _continueAt = DateTime.Now.AddSeconds(0.25);
+ return ETaskResult.StillRunning;
+ }
+
+ logger.LogError("Unable to find relevant combo for {Action}", Task.Action);
+ return ETaskResult.TaskComplete;
+ }
+ }
}
--- /dev/null
+using System;
+using Questionable.Controller.Steps.Common;
+using Questionable.Functions;
+using Questionable.Model;
+using Questionable.Model.Questing;
+
+namespace Questionable.Controller.Steps.Interactions;
+
+internal static class StatusOff
+{
+ internal sealed class Factory : SimpleTaskFactory
+ {
+ public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
+ {
+ if (step.InteractionType != EInteractionType.StatusOff)
+ return null;
+
+ ArgumentNullException.ThrowIfNull(step.Status);
+ return new Task(step.Status.Value);
+ }
+ }
+
+ internal sealed record Task(EStatus Status) : ITask
+ {
+ public bool ShouldRedoOnInterrupt() => true;
+
+ public override string ToString() => $"StatusOff({Status})";
+ }
+
+ internal sealed class DoStatusOff(
+ GameFunctions gameFunctions)
+ : AbstractDelayedTaskExecutor<Task>
+ {
+ protected override bool StartInternal()
+ {
+ if (gameFunctions.HasStatus(Task.Status))
+ return GameFunctions.RemoveStatus(Task.Status);
+
+ return false;
+ }
+
+ public override ETaskResult Update()
+ {
+ return gameFunctions.HasStatus(Task.Status) ? ETaskResult.StillRunning : ETaskResult.TaskComplete;
+ }
+ }
+}
statusManager->HasStatus(2730);
}
- public bool HasStatus(uint statusId)
+ public bool HasStatus(EStatus statusId)
{
var localPlayer = _clientState.LocalPlayer;
if (localPlayer == null)
var battleChara = (BattleChara*)localPlayer.Address;
StatusManager* statusManager = battleChara->GetStatusManager();
- return statusManager->HasStatus(statusId);
+ return statusManager->HasStatus((uint)statusId);
}
- public static bool RemoveStatus(uint statusId)
+ public static bool RemoveStatus(EStatus statusId)
{
- return StatusManager.ExecuteStatusOff(statusId);
+ return StatusManager.ExecuteStatusOff((uint)statusId);
}
public bool Mount()
serviceCollection.AddTaskExecutor<Emote.UseOnObject, Emote.UseOnObjectExecutor>();
serviceCollection.AddTaskExecutor<Emote.UseOnSelf, Emote.UseOnSelfExecutor>();
serviceCollection.AddTaskFactoryAndExecutor<Action.UseOnObject, Action.Factory, Action.UseOnObjectExecutor>();
+ serviceCollection.AddTaskExecutor<Action.UseMudraOnObject, Action.UseMudraOnObjectExecutor>();
+ serviceCollection.AddTaskFactoryAndExecutor<StatusOff.Task, StatusOff.Factory, StatusOff.DoStatusOff>();
serviceCollection.AddTaskFactoryAndExecutor<Interact.Task, Interact.Factory, Interact.DoInteract>();
serviceCollection.AddTaskFactory<Jump.Factory>();
serviceCollection.AddTaskExecutor<Jump.SingleJumpTask, Jump.DoSingleJump>();