Compare commits

...

24 Commits

Author SHA1 Message Date
Plogon Enjoyer
676745f6fc Updated step to fly 2024-08-31 01:27:51 +08:00
0a49da1682
Minor healer quest adjustments 2024-08-29 21:33:07 +02:00
a22856778b Merge pull request 'cacahuetes-ShB-Healer' (#31) from cacahuetes/Questionable:cacahuetes-ShB-Healer into master
Reviewed-on: liza/Questionable#31
2024-08-29 18:28:21 +00:00
4ecff4a433
Minor WHM quest adjustments 2024-08-29 16:55:04 +02:00
34e1f62ea9
Add Cure II as action 2024-08-29 16:29:40 +02:00
4113d52325 Merge pull request 'cacahuetes-Stb-WHM' (#30) from cacahuetes/Questionable:cacahuetes-Stb-WHM into master
Reviewed-on: liza/Questionable#30
2024-08-29 14:29:04 +00:00
85d4f5bccd Merge pull request 'cacahuetes-HW-WHM' (#29) from cacahuetes/Questionable:cacahuetes-HW-WHM into master
Reviewed-on: liza/Questionable#29
2024-08-29 13:52:58 +00:00
e4b5ccec36
Update movement logic to handle cases where you're stopped too far away 2024-08-29 15:45:16 +02:00
25bfb6033b Merge pull request '[SB][Allied Society][Ananta] Added a few quests' (#35) from plogon_enjoyer/Questionable:ananta into master
Reviewed-on: liza/Questionable#35
2024-08-29 11:43:06 +00:00
977ac6d144
Minor path updates 2024-08-29 09:59:09 +02:00
c57395fbfd
Use fixed-size icons for validation issue button 2024-08-29 09:20:51 +02:00
a5419bb455 Merge pull request 'Add Physical Role Quest for Shadowbringers' (#24) from Fifi/Questionable:shb-role-phys into master 2024-08-29 07:12:38 +00:00
6a01cd4f83
Adjust Open Arms, Closed Gate 2024-08-29 09:11:25 +02:00
1a9f870987
Fix pathing for first kholusia aether current 2024-08-29 09:05:07 +02:00
7d622c4d12 shb phys role quests 2024-08-29 03:41:21 +00:00
3a54dd1091 Update QuestPaths/3.x - Heavensward/Class Quests/WHM/1721_The Girl with the Dragon Tissue.json 2024-08-25 18:33:30 +00:00
f4475d64ca Update QuestPaths/5.x - Shadowbringers/Role Quests/Healer/3272_The Soul of Temperance.json 2024-08-25 18:21:29 +00:00
d4f122dda0 Update QuestPaths/5.x - Shadowbringers/Role Quests/Healer/3267_Traditions and Travails.json 2024-08-25 18:00:13 +00:00
db39e76e4b Upload files to "QuestPaths/5.x - Shadowbringers/Role Quests/Healer" 2024-08-25 17:59:24 +00:00
5bfc60d6ed Upload files to "QuestPaths/4.x - Stormblood/Class Quests/WHM" 2024-08-25 15:53:43 +00:00
6a15daa4e6 Interact after combat was put into a separate sequence by accident 2024-08-25 15:50:27 +00:00
11132beb22 Upload files to "QuestPaths/3.x - Heavensward/Class Quests/WHM" 2024-08-25 10:53:03 +00:00
9430ca62da Upload files to "QuestPaths/3.x - Heavensward/Class Quests/WHM" 2024-08-25 10:52:42 +00:00
75fc8f713c Merge pull request 'master' (#2) from liza/Questionable:master into master
Reviewed-on: cacahuetes/Questionable#2
2024-08-25 10:51:07 +00:00
41 changed files with 3238 additions and 39 deletions

View File

@ -0,0 +1,247 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"Position": {
"X": -146.86935,
"Y": 8.006159,
"Z": 268.78055
},
"StopDistance": 0.25,
"TerritoryId": 153,
"AetheryteShortcut": "South Shroud - Camp Tranquil",
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -137.77051,
"Y": 7.7094107,
"Z": 275.28036
},
"DelaySeconds": 0.75
},
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
},
"StepIf": {
"Flying": "Unlocked",
"NearPosition": {
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"MaximumDistance": 3
}
}
}
},
{
"Position": {
"X": -139.04318,
"Y": 8.522301,
"Z": 280.0128
},
"TerritoryId": 153,
"InteractionType": "WalkTo",
"Fly": true,
"SkipConditions": {
"StepIf": {
"Flying": "Locked"
}
}
},
{
"DataId": 1006751,
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013606,
"Position": {
"X": -317.1283,
"Y": 21.686531,
"Z": 183.03198
},
"TerritoryId": 148,
"Fly": true,
"InteractionType": "Interact",
"AetheryteShortcut": "Central Shroud - Bentbranch Meadows"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1006245,
"Position": {
"X": 4.9591064,
"Y": -46.518013,
"Z": 248.49304
},
"TerritoryId": 154,
"InteractionType": "Interact",
"AetheryteShortcut": "North Shroud - Fallgourd Float",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 1007092,
"Position": {
"X": -59.31189,
"Y": -40.90982,
"Z": 232.62378
},
"TerritoryId": 154,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 1002804,
"Position": {
"X": -26.260803,
"Y": -40.705082,
"Z": 172.74731
},
"TerritoryId": 154,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 108.506836,
"Y": 7.167203,
"Z": -47.01306
},
"Fly": true,
"TerritoryId": 154,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [4683],
"CompletionQuestVariablesFlags": [
2,
null,
null,
null,
null,
null
]
},
{
"DataId": 1013605,
"Position": {
"X": 108.506836,
"Y": 7.167203,
"Z": -47.01306
},
"TerritoryId": 154,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1013605,
"Position": {
"X": 108.506836,
"Y": 7.167203,
"Z": -47.01306
},
"TerritoryId": 154,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1013606,
"Position": {
"X": -317.1283,
"Y": 21.686531,
"Z": 183.03198
},
"TerritoryId": 148,
"Fly": true,
"InteractionType": "Interact",
"AetheryteShortcut": "Central Shroud - Bentbranch Meadows"
}
]
},
{
"Sequence": 6,
"Steps": [
{
"DataId": 1013608,
"Position": {
"X": -314.9615,
"Y": 21.609262,
"Z": 182.8794
},
"TerritoryId": 148,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1013609,
"Position": {
"X": -44.480103,
"Y": -40.949986,
"Z": 187.7622
},
"AetheryteShortcut": "North Shroud - Fallgourd Float",
"TerritoryId": 154,
"InteractionType": "CompleteQuest",
"NextQuestId": 1720
}
]
}
]
}

View File

@ -0,0 +1,92 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1013609,
"Position": {
"X": -44.480103,
"Y": -40.949986,
"Z": 187.7622
},
"AetheryteShortcut": "North Shroud - Fallgourd Float",
"TerritoryId": 154,
"InteractionType": "AcceptQuest",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013610,
"Position": {
"X": 209.21643,
"Y": 302,
"Z": -204.85242
},
"TerritoryId": 155,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Mount": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1013663,
"Position": {
"X": 161.91345,
"Y": 275.37952,
"Z": 16.403442
},
"TerritoryId": 155,
"Fly": true,
"InteractionType": "SinglePlayerDuty"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2005889,
"Position": {
"X": 143.78564,
"Y": 280.0183,
"Z": 19.882507
},
"TerritoryId": 155,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1013610,
"Position": {
"X": 209.21643,
"Y": 302,
"Z": -204.85242
},
"TerritoryId": 155,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"NextQuestId": 1721
}
]
}
]
}

View File

@ -0,0 +1,185 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1013610,
"Position": {
"X": 209.21643,
"Y": 302,
"Z": -204.85242
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013613,
"Position": {
"X": 479.91138,
"Y": 226.62401,
"Z": 817.0442
},
"TerritoryId": 397,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1011232,
"Position": {
"X": 506.8589,
"Y": 217.95148,
"Z": 792.4772
},
"TerritoryId": 397,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 1011237,
"Position": {
"X": 447.3181,
"Y": 212.53984,
"Z": 725.00183
},
"TerritoryId": 397,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1013614,
"Position": {
"X": 463.5232,
"Y": 200.23772,
"Z": 651.911
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1013617,
"Position": {
"X": -513.0846,
"Y": 101.57904,
"Z": -653.3456
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 5,
"Steps": [
{
"Position": {
"X": -336.4157,
"Y": 89.00586,
"Z": -586.5721
},
"TerritoryId": 397,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
4677
],
"Fly": true,
"CompletionQuestVariablesFlags": [
2,
null,
null,
null,
null,
null
]
},
{
"DataId": 2005855,
"Position": {
"X": -336.4157,
"Y": 89.00586,
"Z": -586.5721
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 6,
"Steps": [
{
"DataId": 1013618,
"Position": {
"X": -402.12103,
"Y": 90.9028,
"Z": -688.53284
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1013614,
"Position": {
"X": 463.5232,
"Y": 200.23772,
"Z": 651.911
},
"TerritoryId": 397,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"NextQuestId": 1722
}
]
}
]
}

View File

@ -0,0 +1,113 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1013614,
"Position": {
"X": 463.5232,
"Y": 200.23772,
"Z": 651.911
},
"TerritoryId": 397,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013619,
"Position": {
"X": -274.49457,
"Y": 125.33218,
"Z": -13.870483
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1013620,
"Position": {
"X": -275.2575,
"Y": 125.596924,
"Z": -11.215393
},
"StopDistance": 5,
"TerritoryId": 397,
"InteractionType": "Action",
"Action": "Cure II"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2005857,
"Position": {
"X": -336.4157,
"Y": 89.00586,
"Z": -586.5721
},
"TerritoryId": 397,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [4690],
"Fly": true,
"CompletionQuestVariablesFlags": [
4,
null,
null,
null,
null,
null
]
},
{
"DataId": 2005857,
"Position": {
"X": -336.4157,
"Y": 89.00586,
"Z": -586.5721
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1013623,
"Position": {
"X": 486.93054,
"Y": -51.1414,
"Z": 25.986084
},
"TerritoryId": 398,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather",
"NextQuestId": 1723
}
]
}
]
}

View File

@ -0,0 +1,144 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1013623,
"Position": {
"X": 486.93054,
"Y": -51.1414,
"Z": 25.986084
},
"TerritoryId": 398,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013624,
"Position": {
"X": -183.61182,
"Y": -104.708206,
"Z": 505.60767
},
"TerritoryId": 398,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -561.82196,
"Y": -46.707886,
"Z": 300.46533
},
"TerritoryId": 398,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [4691, 4692],
"Fly": true,
"CompletionQuestVariablesFlags": [
4,
null,
null,
null,
null,
null
]
},
{
"DataId": 2005859,
"Position": {
"X": -561.82196,
"Y": -46.707886,
"Z": 300.46533
},
"TerritoryId": 398,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1013625,
"Position": {
"X": -679.9573,
"Y": -100.52397,
"Z": 775.1736
},
"TerritoryId": 398,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1013625,
"Position": {
"X": -679.9573,
"Y": -100.52397,
"Z": 775.1736
},
"TerritoryId": 398,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [4690, 4691]
},
{
"DataId": 2005861,
"Position": {
"X": -678.4009,
"Y": -100.60278,
"Z": 778.13367
},
"TerritoryId": 398,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1013625,
"Position": {
"X": -679.9573,
"Y": -100.52397,
"Z": 775.1736
},
"TerritoryId": 398,
"InteractionType": "CompleteQuest",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_JOBWHM580_01723_Q1_000_000",
"Answer": "TEXT_JOBWHM580_01723_A1_000_001"
}
],
"NextQuestId": 1724
}
]
}
]
}

View File

@ -0,0 +1,93 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1013627,
"Position": {
"X": -679.9573,
"Y": -100.52397,
"Z": 775.1736
},
"TerritoryId": 398,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": -146.86935,
"Y": 8.006159,
"Z": 268.78055
},
"StopDistance": 0.25,
"TerritoryId": 153,
"AetheryteShortcut": "South Shroud - Camp Tranquil",
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -137.77051,
"Y": 7.7094107,
"Z": 275.28036
},
"DelaySeconds": 0.75
},
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
},
"StepIf": {
"Flying": "Unlocked",
"NearPosition": {
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"MaximumDistance": 3
}
}
}
},
{
"Position": {
"X": -139.04318,
"Y": 8.522301,
"Z": 280.0128
},
"TerritoryId": 153,
"InteractionType": "WalkTo",
"Fly": true,
"SkipConditions": {
"StepIf": {
"Flying": "Locked"
}
}
},
{
"DataId": 1006751,
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"TerritoryId": 153,
"InteractionType": "CompleteQuest",
"NextQuestId": 1725
}
]
}
]
}

View File

@ -0,0 +1,281 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"Position": {
"X": -146.86935,
"Y": 8.006159,
"Z": 268.78055
},
"StopDistance": 0.25,
"TerritoryId": 153,
"AetheryteShortcut": "South Shroud - Camp Tranquil",
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -137.77051,
"Y": 7.7094107,
"Z": 275.28036
},
"DelaySeconds": 0.75
},
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
},
"StepIf": {
"Flying": "Unlocked",
"NearPosition": {
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"MaximumDistance": 3
}
}
}
},
{
"Position": {
"X": -139.04318,
"Y": 8.522301,
"Z": 280.0128
},
"TerritoryId": 153,
"InteractionType": "WalkTo",
"Fly": true,
"SkipConditions": {
"StepIf": {
"Flying": "Locked"
}
}
},
{
"DataId": 1006751,
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013609,
"Position": {
"X": -44.480103,
"Y": -40.949986,
"Z": 187.7622
},
"TerritoryId": 154,
"InteractionType": "Interact",
"AetheryteShortcut": "North Shroud - Fallgourd Float"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -146.86935,
"Y": 8.006159,
"Z": 268.78055
},
"StopDistance": 0.25,
"TerritoryId": 153,
"AetheryteShortcut": "South Shroud - Camp Tranquil",
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -137.77051,
"Y": 7.7094107,
"Z": 275.28036
},
"DelaySeconds": 0.75
},
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
},
"StepIf": {
"Flying": "Unlocked",
"NearPosition": {
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"MaximumDistance": 3
}
}
}
},
{
"Position": {
"X": -139.04318,
"Y": 8.522301,
"Z": 280.0128
},
"TerritoryId": 153,
"InteractionType": "WalkTo",
"Fly": true,
"SkipConditions": {
"StepIf": {
"Flying": "Locked"
}
}
},
{
"DataId": 1006751,
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"TerritoryId": 153,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1013632,
"Position": {
"X": 491.38623,
"Y": -51.091385,
"Z": 34.561646
},
"TerritoryId": 398,
"InteractionType": "Interact",
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1013635,
"Position": {
"X": -122.453674,
"Y": 0.72138774,
"Z": -615.80835
},
"TerritoryId": 398,
"InteractionType": "SinglePlayerDuty",
"AetheryteShortcut": "The Dravanian Forelands - Anyx Trine",
"Fly": true
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1013639,
"Position": {
"X": -120.74469,
"Y": 0.555462,
"Z": -616.6323
},
"TerritoryId": 398,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 6,
"Steps": [
{
"DataId": 1013639,
"Position": {
"X": -120.74469,
"Y": 0.555462,
"Z": -616.6323
},
"TerritoryId": 398,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": -146.86935,
"Y": 8.006159,
"Z": 268.78055
},
"StopDistance": 0.25,
"TerritoryId": 153,
"AetheryteShortcut": "South Shroud - Camp Tranquil",
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -137.77051,
"Y": 7.7094107,
"Z": 275.28036
},
"DelaySeconds": 0.75
},
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
},
"StepIf": {
"Flying": "Unlocked",
"NearPosition": {
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"MaximumDistance": 3
}
}
}
},
{
"Position": {
"X": -139.04318,
"Y": 8.522301,
"Z": 280.0128
},
"TerritoryId": 153,
"InteractionType": "WalkTo",
"Fly": true,
"SkipConditions": {
"StepIf": {
"Flying": "Locked"
}
}
},
{
"DataId": 1006751,
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"TerritoryId": 153,
"InteractionType": "CompleteQuest",
"NextQuestId": 2414
}
]
}
]
}

View File

@ -50,7 +50,8 @@
}, },
"TerritoryId": 613, "TerritoryId": 613,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"$": "Sui-no-Sato, NE inside" "$": "Sui-no-Sato, NE inside",
"RestartNavigationIfCancelled": false
}, },
{ {
"Position": { "Position": {
@ -122,7 +123,8 @@
}, },
"TerritoryId": 613, "TerritoryId": 613,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"$": "Sui-no-Sato, NE outside" "$": "Sui-no-Sato, NE outside",
"RestartNavigationIfCancelled": false
}, },
{ {
"DataId": 1023280, "DataId": 1023280,

View File

@ -35,7 +35,8 @@
8578, 8578,
8579, 8579,
8580 8580
] ],
"Fly": true
} }
] ]
}, },

View File

@ -0,0 +1,157 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"Position": {
"X": -146.86935,
"Y": 8.006159,
"Z": 268.78055
},
"StopDistance": 0.25,
"TerritoryId": 153,
"AetheryteShortcut": "South Shroud - Camp Tranquil",
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -137.77051,
"Y": 7.7094107,
"Z": 275.28036
},
"DelaySeconds": 0.75
},
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
},
"StepIf": {
"Flying": "Unlocked",
"NearPosition": {
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"MaximumDistance": 3
}
}
}
},
{
"Position": {
"X": -139.04318,
"Y": 8.522301,
"Z": 280.0128
},
"TerritoryId": 153,
"InteractionType": "WalkTo",
"Fly": true,
"SkipConditions": {
"StepIf": {
"Flying": "Locked"
}
}
},
{
"DataId": 1006751,
"Position": {
"X": -139.45221,
"Y": 8.712891,
"Z": 281.69678
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1000692,
"Position": {
"X": -258.8083,
"Y": -5.7735243,
"Z": -27.267883
},
"TerritoryId": 133,
"InteractionType": "Interact",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Conjurers' Guild"
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1018744,
"Position": {
"X": 87.96814,
"Y": 5.9457893,
"Z": 490.56213
},
"TerritoryId": 152,
"InteractionType": "Interact",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1018746,
"Position": {
"X": -651.3619,
"Y": 130,
"Z": -527.8248
},
"TerritoryId": 612,
"InteractionType": "Interact",
"AetheryteShortcut": "Fringes - Castrum Oriens"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 2007687,
"Position": {
"X": -640.8331,
"Y": 120.3479,
"Z": -291.52362
},
"TerritoryId": 612,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1018752,
"Position": {
"X": -622.5834,
"Y": 130.26505,
"Z": -473.7469
},
"TerritoryId": 612,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Fringes - Castrum Oriens",
"NextQuestId": 2415
}
]
}
]
}

View File

@ -0,0 +1,108 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1018753,
"Position": {
"X": -623.621,
"Y": 130.24214,
"Z": -474.72345
},
"TerritoryId": 612,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Fringes - Castrum Oriens",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1018757,
"Position": {
"X": -437.2168,
"Y": 73.07981,
"Z": -100.23657
},
"TerritoryId": 612,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -586.0533,
"Y": 54.95936,
"Z": 204.82178
},
"StopDistance": 0.5,
"TerritoryId": 612,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [7214],
"Fly": true
},
{
"DataId": 1018758,
"Position": {
"X": -586.0533,
"Y": 54.95936,
"Z": 204.82178
},
"TerritoryId": 612,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1000692,
"Position": {
"X": -258.8083,
"Y": -5.7735243,
"Z": -27.267883
},
"TerritoryId": 133,
"InteractionType": "Interact",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Conjurers' Guild"
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1018753,
"Position": {
"X": -623.621,
"Y": 130.24214,
"Z": -474.72345
},
"TerritoryId": 612,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Fringes - Castrum Oriens",
"NextQuestId": 2416
}
]
}
]
}

View File

@ -0,0 +1,115 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1018753,
"Position": {
"X": -623.621,
"Y": 130.24214,
"Z": -474.72345
},
"TerritoryId": 612,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Fringes - Castrum Oriens",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2007711,
"Position": {
"X": -488.0293,
"Y": 50.94983,
"Z": 86.96118
},
"TerritoryId": 612,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2007712,
"Position": {
"X": -461.63123,
"Y": 57.14502,
"Z": 186.08374
},
"TerritoryId": 612,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2007713,
"Position": {
"X": -529.9306,
"Y": 36.88098,
"Z": 451.16345
},
"TerritoryId": 612,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1019090,
"Position": {
"X": -638.3002,
"Y": 38.30705,
"Z": 374.92932
},
"TerritoryId": 612,
"InteractionType": "SinglePlayerDuty",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1018753,
"Position": {
"X": -623.621,
"Y": 130.24214,
"Z": -474.72345
},
"TerritoryId": 612,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Fringes - Castrum Oriens",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_JOBWHM650_02416_Q1_000_000",
"Answer": "TEXT_JOBWHM650_02416_A1_000_001"
}
],
"NextQuestId": 2417
}
]
}
]
}

View File

@ -0,0 +1,112 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1018753,
"Position": {
"X": -623.621,
"Y": 130.24214,
"Z": -474.72345
},
"TerritoryId": 612,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Fringes - Castrum Oriens",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1019125,
"Position": {
"X": -651.81964,
"Y": 40.067055,
"Z": 370.80945
},
"TerritoryId": 612,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -175.06683,
"Y": 59.779804,
"Z": -558.8312
},
"TerritoryId": 612,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [7215],
"AetheryteShortcut": "Fringes - Castrum Oriens",
"Fly": true
},
{
"DataId": 1019128,
"Position": {
"X": -175.06683,
"Y": 59.779804,
"Z": -558.8312
},
"TerritoryId": 612,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": -650.58673,
"Y": 39.856243,
"Z": 371.54846
},
"TerritoryId": 612,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1019131,
"Position": {
"X": -663.7522,
"Y": 43.594555,
"Z": 363.75977
},
"TerritoryId": 612,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1019132,
"Position": {
"X": -655.02405,
"Y": 40.43195,
"Z": 375.96704
},
"TerritoryId": 612,
"InteractionType": "CompleteQuest",
"NextQuestId": 2418
}
]
}
]
}

View File

@ -0,0 +1,139 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1019132,
"Position": {
"X": -655.02405,
"Y": 40.43195,
"Z": 375.96704
},
"TerritoryId": 612,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Fringes - Castrum Oriens",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1018759,
"Position": {
"X": -636.8048,
"Y": 130,
"Z": -528.6183
},
"TerritoryId": 612,
"InteractionType": "Interact",
"AetheryteShortcut": "Fringes - Castrum Oriens"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -650.58673,
"Y": 39.856243,
"Z": 371.54846
},
"TerritoryId": 612,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1019130,
"Position": {
"X": -665.3696,
"Y": 43.594574,
"Z": 364.40063
},
"TerritoryId": 612,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1019130,
"Position": {
"X": -665.3696,
"Y": 43.594574,
"Z": 364.40063
},
"TerritoryId": 612,
"InteractionType": "Emote",
"Emote": "soothe",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_JOBWHM700_02418_Q1_000_000",
"Answer": "TEXT_JOBWHM700_02418_A1_000_001"
}
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": -381.88757,
"Y": 40.283813,
"Z": 484.82483
},
"TerritoryId": 612,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [7216],
"Fly": true
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1019127,
"Position": {
"X": -381.88757,
"Y": 40.283813,
"Z": 484.82483
},
"TerritoryId": 612,
"InteractionType": "UseItem",
"ItemId": 2002053
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1019588,
"Position": {
"X": -382.71155,
"Y": 40.275818,
"Z": 484.36694
},
"TerritoryId": 612,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -23,7 +23,8 @@
}, },
"TerritoryId": 613, "TerritoryId": 613,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"$": "Sui-no-Sato, NE outside" "$": "Sui-no-Sato, NE outside",
"RestartNavigationIfCancelled": false
}, },
{ {
"DataId": 1023280, "DataId": 1023280,

View File

@ -85,7 +85,8 @@
}, },
"TerritoryId": 613, "TerritoryId": 613,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"$": "Sui-no-Sato, NE outside" "$": "Sui-no-Sato, NE outside",
"RestartNavigationIfCancelled": false
}, },
{ {
"DataId": 1023280, "DataId": 1023280,

View File

@ -91,6 +91,7 @@
"TerritoryId": 613, "TerritoryId": 613,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"$": "Exile, outside", "$": "Exile, outside",
"RestartNavigationIfCancelled": false,
"Fly": true "Fly": true
}, },
{ {
@ -164,6 +165,7 @@
"TerritoryId": 613, "TerritoryId": 613,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"$": "Sui-no-Sato, SW outside", "$": "Sui-no-Sato, SW outside",
"RestartNavigationIfCancelled": false,
"Fly": true "Fly": true
}, },
{ {

View File

@ -49,7 +49,8 @@
}, },
"TerritoryId": 613, "TerritoryId": 613,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"$": "Sui-no-Sato, NE outside" "$": "Sui-no-Sato, NE outside",
"RestartNavigationIfCancelled": false
}, },
{ {
"DataId": 1019970, "DataId": 1019970,

View File

@ -28,7 +28,8 @@
}, },
"TerritoryId": 613, "TerritoryId": 613,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"$": "Sui-no-Sato, NE inside" "$": "Sui-no-Sato, NE inside",
"RestartNavigationIfCancelled": false
}, },
{ {
"DataId": 1019978, "DataId": 1019978,

View File

@ -23,9 +23,9 @@
"Steps": [ "Steps": [
{ {
"Position": { "Position": {
"X": 643.7624, "X": 639.3296,
"Y": 0.35477543, "Y": 0.52189386,
"Z": 541.9913 "Z": 533.5061
}, },
"TerritoryId": 814, "TerritoryId": 814,
"InteractionType": "WalkTo" "InteractionType": "WalkTo"

View File

@ -35,6 +35,21 @@
}, },
{ {
"Sequence": 2, "Sequence": 2,
"Steps": [
{
"Position": {
"X": 338.49463,
"Y": 31.93622,
"Z": 203.53125
},
"StopDistance": 1,
"TerritoryId": 814,
"InteractionType": "WalkTo"
}
]
},
{
"Sequence": 3,
"Steps": [ "Steps": [
{ {
"Position": { "Position": {
@ -48,8 +63,7 @@
"EnemySpawnType": "AutoOnEnterArea", "EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [ "KillEnemyDataIds": [
10859 10859
], ]
"Comment": "TODO Either this step is incorrect OR the next one is missing"
} }
] ]
}, },

View File

@ -1,7 +1,6 @@
{ {
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza", "Author": "Cacahuetes",
"Disabled": true,
"QuestSequence": [ "QuestSequence": [
{ {
"Sequence": 0, "Sequence": 0,
@ -14,7 +13,87 @@
"Z": 209.88782 "Z": 209.88782
}, },
"TerritoryId": 819, "TerritoryId": 819,
"InteractionType": "AcceptQuest" "InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] Musica Universalis Markets"
],
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1029999,
"Position": {
"X": 346.66968,
"Y": 3.2878497,
"Z": 177.17249
},
"TerritoryId": 813,
"InteractionType": "Interact",
"AetheryteShortcut": "Lakeland - Fort Jobb",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 340.6667,
"Y": 3.0521033,
"Z": 208.3552
},
"TerritoryId": 813,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [10865]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1030000,
"Position": {
"X": 341.02393,
"Y": 3.5819468,
"Z": 198.32141
},
"TerritoryId": 813,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1031158,
"Position": {
"X": -26.657532,
"Y": 3.999815,
"Z": 209.88782
},
"TerritoryId": 819,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] Musica Universalis Markets"
],
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
},
"NextQuestId": 3268
} }
] ]
} }

View File

@ -0,0 +1,121 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1031158,
"Position": {
"X": -26.657532,
"Y": 3.999815,
"Z": 209.88782
},
"TerritoryId": 819,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] Musica Universalis Markets"
],
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1030004,
"Position": {
"X": 689.1127,
"Y": 30.11682,
"Z": 278.85852
},
"TerritoryId": 814,
"InteractionType": "Interact",
"AetheryteShortcut": "Kholusia - Stilltide"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2009999,
"Position": {
"X": 529.3812,
"Y": 11.9782715,
"Z": 370.83997
},
"TerritoryId": 814,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [10866],
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2010000,
"Position": {
"X": 342.48877,
"Y": 16.55597,
"Z": 454.24573
},
"TerritoryId": 814,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [10867],
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1030006,
"Position": {
"X": 181.59753,
"Y": 33.636906,
"Z": 177.47766
},
"TerritoryId": 814,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1031158,
"Position": {
"X": -26.657532,
"Y": 3.999815,
"Z": 209.88782
},
"TerritoryId": 819,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] Musica Universalis Markets"
],
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
},
"NextQuestId": 3269
}
]
}
]
}

View File

@ -0,0 +1,124 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1031158,
"Position": {
"X": -26.657532,
"Y": 3.999815,
"Z": 209.88782
},
"TerritoryId": 819,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] Musica Universalis Markets"
],
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1030012,
"Position": {
"X": 279.469,
"Y": 1.4685827,
"Z": -281.94098
},
"TerritoryId": 815,
"InteractionType": "Interact",
"AetheryteShortcut": "Amh Araeng - Mord Souq"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2010002,
"Position": {
"X": 279.65198,
"Y": 1.4800415,
"Z": -282.7345
},
"StopDistance": 4,
"TerritoryId": 815,
"InteractionType": "Interact",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_LUCKBA221_03269_Q1_000_000",
"Answer": "TEXT_LUCKBA221_03269_A1_000_002"
}
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1030013,
"Position": {
"X": 612.3292,
"Y": -25.655535,
"Z": -36.66742
},
"TerritoryId": 815,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1030014,
"Position": {
"X": 614.46545,
"Y": -25.7535,
"Z": -35.6604
},
"StopDistance": 4,
"TerritoryId": 815,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1031158,
"Position": {
"X": -26.657532,
"Y": 3.999815,
"Z": 209.88782
},
"TerritoryId": 819,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] Musica Universalis Markets"
],
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
},
"NextQuestId": 3270
}
]
}
]
}

View File

@ -0,0 +1,121 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AUTHOR",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1031158,
"Position": {
"X": -26.657532,
"Y": 3.999815,
"Z": 209.88782
},
"TerritoryId": 819,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] Musica Universalis Markets"
],
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1030015,
"Position": {
"X": -83.05487,
"Y": -19.061518,
"Z": 309.83435
},
"TerritoryId": 817,
"InteractionType": "Interact",
"AetheryteShortcut": "Rak'tika - Slitherbough"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2010003,
"Position": {
"X": 263.9048,
"Y": 12.436096,
"Z": 103.990234
},
"TerritoryId": 817,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [10950],
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2010004,
"Position": {
"X": 446.0669,
"Y": 8.041443,
"Z": 123.03345
},
"TerritoryId": 817,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [10869],
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1030017,
"Position": {
"X": 633.99695,
"Y": 24.12675,
"Z": 59.861084
},
"TerritoryId": 817,
"InteractionType": "SinglePlayerDuty",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1031158,
"Position": {
"X": -26.657532,
"Y": 3.999815,
"Z": 209.88782
},
"TerritoryId": 819,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] Musica Universalis Markets"
],
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
},
"NextQuestId": 3271
}
]
}
]
}

View File

@ -0,0 +1,78 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AUTHOR",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1031158,
"Position": {
"X": -26.657532,
"Y": 3.999815,
"Z": 209.88782
},
"TerritoryId": 819,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] Musica Universalis Markets"
],
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1030021,
"Position": {
"X": -456.6568,
"Y": 417.12558,
"Z": -597.1008
},
"TerritoryId": 814,
"InteractionType": "Interact",
"AetheryteShortcut": "Kholusia - Tomra"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1030022,
"Position": {
"X": -355.55048,
"Y": 415.2497,
"Z": -677.9431
},
"TerritoryId": 814,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1030021,
"Position": {
"X": -456.6568,
"Y": 417.12558,
"Z": -597.1008
},
"TerritoryId": 814,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Kholusia - Tomra",
"NextQuestId": 3272
}
]
}
]
}

View File

@ -0,0 +1,130 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1030021,
"Position": {
"X": -456.6568,
"Y": 417.12558,
"Z": -597.1008
},
"TerritoryId": 814,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kholusia - Tomra",
"SkipConditions": {
"AethernetShortcutIf": { "InSameTerritory": true }
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2010006,
"Position": {
"X": -115.31244,
"Y": 428.18335,
"Z": -621.4542
},
"TerritoryId": 814,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [10870],
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2010007,
"Position": {
"X": 21.194763,
"Y": 348.89746,
"Z": -251.88074
},
"TerritoryId": 814,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [10871],
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1030035,
"Position": {
"X": -650.35474,
"Y": 352.45102,
"Z": -129.01508
},
"TerritoryId": 814,
"InteractionType": "SinglePlayerDuty",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1030038,
"Position": {
"X": -650.35474,
"Y": 352.45102,
"Z": -129.01508
},
"TerritoryId": 814,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1030038,
"Position": {
"X": -650.35474,
"Y": 352.45102,
"Z": -129.01508
},
"TerritoryId": 814,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1030039,
"Position": {
"X": -26.657532,
"Y": 3.999815,
"Z": 209.88782
},
"TerritoryId": 819,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] Musica Universalis Markets"
],
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
}
}
]
}
]
}

View File

@ -0,0 +1,121 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Fifi",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1030126,
"Position": {
"X": -18.143005,
"Y": 3.9998174,
"Z": 235.40088
},
"TerritoryId": 819,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] The Pendants"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1030127,
"Position": {
"X": 200.12195,
"Y": -0.39141315,
"Z": 389.45593
},
"TerritoryId": 813,
"InteractionType": "Interact",
"AethernetShortcut": [
"[Crystarium] The Pendants",
"[Crystarium] Tessellation (Lakeland)"
],
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2010396,
"Position": {
"X": 195.48328,
"Y": -0.7477417,
"Z": 370.93152
},
"TerritoryId": 813,
"InteractionType": "UseItem",
"ItemId": 2002718
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2010397,
"Position": {
"X": 203.90625,
"Y": -0.5340576,
"Z": 389.82214
},
"TerritoryId": 813,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [10872]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1031013,
"Position": {
"X": 200.09155,
"Y": -0.39049676,
"Z": 389.4254
},
"StopDistance": 5,
"TerritoryId": 813,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1030964,
"Position": {
"X": -18.143005,
"Y": 3.9998174,
"Z": 235.40088
},
"TerritoryId": 819,
"InteractionType": "CompleteQuest",
"NextQuestId": 3274,
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] The Pendants"
]
}
]
}
]
}

View File

@ -0,0 +1,119 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Fifi",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1030964,
"Position": {
"X": -18.143005,
"Y": 3.9998174,
"Z": 235.40088
},
"TerritoryId": 819,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] The Pendants"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1030130,
"Position": {
"X": 469.0775,
"Y": -32.782784,
"Z": -288.44135
},
"TerritoryId": 815,
"InteractionType": "Interact",
"AetheryteShortcut": "Amh Araeng - Mord Souq",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2010399,
"Position": {
"X": 613.39734,
"Y": -33.585205,
"Z": -180.95679
},
"TerritoryId": 815,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2010400,
"Position": {
"X": 536.9192,
"Y": -33.737732,
"Z": 38.83423
},
"TerritoryId": 815,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [10873],
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 2010401,
"Position": {
"X": 469.0775,
"Y": -32.791687,
"Z": -288.44135
},
"TerritoryId": 815,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1030964,
"Position": {
"X": -18.143005,
"Y": 3.9998174,
"Z": 235.40088
},
"TerritoryId": 819,
"InteractionType": "CompleteQuest",
"NextQuestId": 3275,
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] The Pendants"
]
}
]
}
]
}

View File

@ -0,0 +1,140 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Fifi",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1030964,
"Position": {
"X": -18.143005,
"Y": 3.9998174,
"Z": 235.40088
},
"TerritoryId": 819,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] The Pendants"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1030135,
"Position": {
"X": -251.42291,
"Y": 22.19962,
"Z": 325.7953
},
"TerritoryId": 814,
"InteractionType": "Interact",
"AetheryteShortcut": "Kholusia - Wright",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2010402,
"Position": {
"X": -550.7744,
"Y": 29.160034,
"Z": 363.4851
},
"TerritoryId": 814,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2010403,
"Position": {
"X": -550.98804,
"Y": 41.33667,
"Z": 252.24683
},
"TerritoryId": 814,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1030136,
"Position": {
"X": -192.58417,
"Y": 26.771265,
"Z": 248.46265
},
"TerritoryId": 814,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1030140,
"Position": {
"X": 67.64319,
"Y": 82.001656,
"Z": -53.330322
},
"TerritoryId": 820,
"InteractionType": "Interact",
"AetheryteShortcut": "Eulmore"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1030964,
"Position": {
"X": -18.143005,
"Y": 3.9998174,
"Z": 235.40088
},
"TerritoryId": 819,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] The Pendants"
],
"NextQuestId": 3276,
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_LUCKBA321_03275_Q1_000_000",
"Answer": "TEXT_LUCKBA321_03275_A1_000_001"
}
]
}
]
}
]
}

View File

@ -0,0 +1,83 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Fifi",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1030964,
"Position": {
"X": -18.143005,
"Y": 3.9998174,
"Z": 235.40088
},
"TerritoryId": 819,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] The Pendants"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1030144,
"Position": {
"X": 94.68213,
"Y": 37.377014,
"Z": 611.1085
},
"TerritoryId": 814,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "Kholusia - Wright"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1030146,
"Position": {
"X": -190.1427,
"Y": 12.748831,
"Z": 591.6686
},
"TerritoryId": 817,
"InteractionType": "SinglePlayerDuty",
"AetheryteShortcut": "Rak'tika - Slitherbough",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1030144,
"Position": {
"X": 94.68213,
"Y": 37.377014,
"Z": 611.1085
},
"TerritoryId": 814,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Kholusia - Wright",
"Fly": true,
"NextQuestId": 3277
}
]
}
]
}

View File

@ -0,0 +1,119 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Fifi",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1030145,
"Position": {
"X": 93.461426,
"Y": 37.43559,
"Z": 611.50525
},
"TerritoryId": 814,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kholusia - Wright",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"Fly": true
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2010405,
"Position": {
"X": -33.707214,
"Y": 3.982544,
"Z": 205.70679
},
"TerritoryId": 819,
"InteractionType": "Interact",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] The Pendants"
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1027323,
"Position": {
"X": -42.893127,
"Y": 3.9998171,
"Z": 242.08435
},
"TerritoryId": 819,
"InteractionType": "Interact"
},
{
"DataId": 1027238,
"Position": {
"X": -15.487976,
"Y": 3.9998171,
"Z": 215.3811
},
"TerritoryId": 819,
"InteractionType": "Interact"
},
{
"DataId": 1030147,
"Position": {
"X": 0.59503174,
"Y": 3.9998174,
"Z": 209.27734
},
"TerritoryId": 819,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1030148,
"Position": {
"X": -246.57056,
"Y": 10.152376,
"Z": 678.21765
},
"TerritoryId": 817,
"InteractionType": "Interact",
"AetheryteShortcut": "Rak'tika - Slitherbough",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1030145,
"Position": {
"X": 93.461426,
"Y": 37.43559,
"Z": 611.50525
},
"StopDistance": 1,
"TerritoryId": 814,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Kholusia - Wright",
"Fly": true,
"NextQuestId": 3278
}
]
}
]
}

View File

@ -0,0 +1,122 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Fifi",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1030144,
"Position": {
"X": 94.68213,
"Y": 37.377014,
"Z": 611.1085
},
"TerritoryId": 814,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kholusia - Wright",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"Fly": true
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1027253,
"Position": {
"X": 17.502075,
"Y": 19.999794,
"Z": -190.41736
},
"TerritoryId": 819,
"InteractionType": "Interact",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] The Crystalline Mean"
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2010406,
"Position": {
"X": -17.013855,
"Y": 4.470825,
"Z": 234.97363
},
"TerritoryId": 819,
"InteractionType": "Interact",
"AethernetShortcut": [
"[Crystarium] The Crystalline Mean",
"[Crystarium] The Pendants"
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1030990,
"Position": {
"X": -246.57056,
"Y": 10.152376,
"Z": 678.21765
},
"TerritoryId": 817,
"InteractionType": "SinglePlayerDuty",
"AetheryteShortcut": "Rak'tika - Slitherbough",
"Fly": true
}
]
},
{ "Sequence": 4, "Steps": [] },
{
"Sequence": 5,
"Steps": [
{
"DataId": 1030145,
"Position": {
"X": 93.461426,
"Y": 37.43559,
"Z": 611.50525
},
"TerritoryId": 814,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "Kholusia - Wright"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1030964,
"Position": {
"X": -18.143005,
"Y": 3.9998174,
"Z": 235.40088
},
"TerritoryId": 819,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Crystarium",
"AethernetShortcut": [
"[Crystarium] Aetheryte Plaza",
"[Crystarium] The Pendants"
]
}
]
}
]
}

View File

@ -92,6 +92,10 @@
"type": "boolean", "type": "boolean",
"description": "Most interactions with objects are checked for a Y (height) difference of 2 in-game units. If set to true, the game won't attempt to get any closer if the height difference is larger than this." "description": "Most interactions with objects are checked for a Y (height) difference of 2 in-game units. If set to true, the game won't attempt to get any closer if the height difference is larger than this."
}, },
"RestartNavigationIfCancelled": {
"type": "boolean",
"description": "For some specific loading screen transitions (e.g. when entering/leaving the water through the portals in the ruby sea), setting this to 'false' means it won't re-attempt to move to the portal after the loading animation"
},
"TerritoryId": { "TerritoryId": {
"type": "integer", "type": "integer",
"description": "The territory id associated with the location", "description": "The territory id associated with the location",
@ -852,6 +856,7 @@
"Heavy Swing", "Heavy Swing",
"Heavy Shot", "Heavy Shot",
"Cure", "Cure",
"Cure II",
"Esuna", "Esuna",
"Physick", "Physick",
"Buffet (Sanuwa)", "Buffet (Sanuwa)",

View File

@ -10,6 +10,7 @@ public sealed class ActionConverter() : EnumConverter<EAction>(Values)
{ EAction.HeavySwing, "Heavy Swing" }, { EAction.HeavySwing, "Heavy Swing" },
{ EAction.HeavyShot, "Heavy Shot" }, { EAction.HeavyShot, "Heavy Shot" },
{ EAction.Cure, "Cure" }, { EAction.Cure, "Cure" },
{ EAction.Cure2, "Cure II" },
{ EAction.Esuna, "Esuna" }, { EAction.Esuna, "Esuna" },
{ EAction.Physick, "Physick" }, { EAction.Physick, "Physick" },
{ EAction.BuffetSanuwa, "Buffet (Sanuwa)" }, { EAction.BuffetSanuwa, "Buffet (Sanuwa)" },

View File

@ -9,6 +9,7 @@ public enum EAction
HeavySwing = 31, HeavySwing = 31,
HeavyShot = 97, HeavyShot = 97,
Cure = 120, Cure = 120,
Cure2 = 135,
Esuna = 7568, Esuna = 7568,
Physick = 190, Physick = 190,
BuffetSanuwa = 4931, BuffetSanuwa = 4931,

View File

@ -36,6 +36,7 @@ public sealed class QuestStep
public bool? Land { get; set; } public bool? Land { get; set; }
public bool? Sprint { get; set; } public bool? Sprint { get; set; }
public bool? IgnoreDistanceToObject { get; set; } public bool? IgnoreDistanceToObject { get; set; }
public bool? RestartNavigationIfCancelled { get; set; }
public string? Comment { get; set; } public string? Comment { get; set; }
/// <summary> /// <summary>

View File

@ -151,7 +151,7 @@ internal sealed class MovementController : IDisposable
if (IsPathRunning && Destination != null) if (IsPathRunning && Destination != null)
{ {
if (_gameFunctions.IsLoadingScreenVisible(false)) if (_gameFunctions.IsLoadingScreenVisible())
{ {
_logger.LogInformation("Stopping movement, loading screen visible"); _logger.LogInformation("Stopping movement, loading screen visible");
Stop(); Stop();

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization; using System.Globalization;
using System.Numerics; using System.Numerics;
using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Conditions;
@ -67,7 +68,7 @@ internal static class MoveTo
public ITask Move(MoveParams moveParams) public ITask Move(MoveParams moveParams)
{ {
return new MoveInternal(moveParams, movementController, gameFunctions, return new MoveInternal(moveParams, movementController, gameFunctions,
loggerFactory.CreateLogger<MoveInternal>(), condition, dataManager); loggerFactory.CreateLogger<MoveInternal>(), condition, clientState, dataManager);
} }
public ITask Land() public ITask Land()
@ -163,20 +164,24 @@ internal static class MoveTo
private readonly MovementController _movementController; private readonly MovementController _movementController;
private readonly ILogger<MoveInternal> _logger; private readonly ILogger<MoveInternal> _logger;
private readonly ICondition _condition; private readonly ICondition _condition;
private readonly IClientState _clientState;
private readonly Action _startAction; private readonly Action _startAction;
private readonly Vector3 _destination; private readonly Vector3 _destination;
private readonly MoveParams _moveParams;
public MoveInternal(MoveParams moveParams, public MoveInternal(MoveParams moveParams,
MovementController movementController, MovementController movementController,
GameFunctions gameFunctions, GameFunctions gameFunctions,
ILogger<MoveInternal> logger, ILogger<MoveInternal> logger,
ICondition condition, ICondition condition,
IClientState clientState,
IDataManager dataManager) IDataManager dataManager)
{ {
_movementController = movementController; _movementController = movementController;
_logger = logger; _logger = logger;
_condition = condition; _condition = condition;
_clientState = clientState;
_cannotExecuteAtThisTime = dataManager.GetString<LogMessage>(579, x => x.Text)!; _cannotExecuteAtThisTime = dataManager.GetString<LogMessage>(579, x => x.Text)!;
_destination = moveParams.Destination; _destination = moveParams.Destination;
@ -206,6 +211,8 @@ internal static class MoveTo
ignoreDistanceToObject: moveParams.IgnoreDistanceToObject, ignoreDistanceToObject: moveParams.IgnoreDistanceToObject,
land: moveParams.Land); land: moveParams.Land);
} }
_moveParams = moveParams;
} }
public bool Start() public bool Start()
@ -224,6 +231,15 @@ internal static class MoveTo
if (movementStartedAt == DateTime.MaxValue || movementStartedAt.AddSeconds(2) >= DateTime.Now) if (movementStartedAt == DateTime.MaxValue || movementStartedAt.AddSeconds(2) >= DateTime.Now)
return ETaskResult.StillRunning; return ETaskResult.StillRunning;
if (_moveParams.RestartNavigation &&
Vector3.Distance(_clientState.LocalPlayer!.Position, _destination) >
(_moveParams.StopDistance ?? QuestStep.DefaultStopDistance) + 5f)
{
_logger.LogInformation("Looks like movement was interrupted, re-attempting to move");
_startAction();
return ETaskResult.StillRunning;
}
return ETaskResult.TaskComplete; return ETaskResult.TaskComplete;
} }
@ -248,7 +264,8 @@ internal static class MoveTo
bool Sprint = true, bool Sprint = true,
bool Fly = false, bool Fly = false,
bool Land = false, bool Land = false,
bool IgnoreDistanceToObject = false) bool IgnoreDistanceToObject = false,
bool RestartNavigation = true)
{ {
public MoveParams(QuestStep step, Vector3 destination) public MoveParams(QuestStep step, Vector3 destination)
: this(step.TerritoryId, : this(step.TerritoryId,
@ -259,7 +276,8 @@ internal static class MoveTo
step.Sprint != false, step.Sprint != false,
step.Fly == true, step.Fly == true,
step.Land == true, step.Land == true,
step.IgnoreDistanceToObject == true) step.IgnoreDistanceToObject == true,
step.RestartNavigationIfCancelled != false)
{ {
} }
} }

View File

@ -398,7 +398,7 @@ internal sealed unsafe class GameFunctions
if (!_clientState.IsLoggedIn || _clientState.LocalPlayer == null) if (!_clientState.IsLoggedIn || _clientState.LocalPlayer == null)
return true; return true;
if (IsLoadingScreenVisible(true)) if (IsLoadingScreenVisible())
return true; return true;
if (_condition[ConditionFlag.Crafting]) if (_condition[ConditionFlag.Crafting])
@ -438,19 +438,16 @@ internal sealed unsafe class GameFunctions
flags.Contains(ConditionFlag.OccupiedInQuestEvent); flags.Contains(ConditionFlag.OccupiedInQuestEvent);
} }
public bool IsLoadingScreenVisible(bool all) public bool IsLoadingScreenVisible()
{ {
if (_gameGui.TryGetAddonByName("FadeMiddle", out AtkUnitBase* fade) && LAddon.IsAddonReady(fade) && fade->IsVisible) if (_gameGui.TryGetAddonByName("FadeMiddle", out AtkUnitBase* fade) && LAddon.IsAddonReady(fade) && fade->IsVisible)
return true; return true;
if (all) if (_gameGui.TryGetAddonByName("FadeBack", out fade) && LAddon.IsAddonReady(fade) && fade->IsVisible)
{ return true;
if (_gameGui.TryGetAddonByName("FadeBack", out fade) && LAddon.IsAddonReady(fade) && fade->IsVisible)
return true;
if (_gameGui.TryGetAddonByName("NowLoading", out fade) && LAddon.IsAddonReady(fade) && fade->IsVisible) if (_gameGui.TryGetAddonByName("NowLoading", out fade) && LAddon.IsAddonReady(fade) && fade->IsVisible)
return true; return true;
}
return false; return false;
} }

View File

@ -7,6 +7,7 @@ using Dalamud.Interface.Colors;
using Dalamud.Interface.Components; using Dalamud.Interface.Components;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using Dalamud.Plugin;
using Dalamud.Plugin.Services; using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.UI.Agent; using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using ImGuiNET; using ImGuiNET;
@ -28,6 +29,7 @@ internal sealed class QuickAccessButtonsComponent
private readonly IClientState _clientState; private readonly IClientState _clientState;
private readonly ICondition _condition; private readonly ICondition _condition;
private readonly ICommandManager _commandManager; private readonly ICommandManager _commandManager;
private readonly IDalamudPluginInterface _pluginInterface;
public QuickAccessButtonsComponent( public QuickAccessButtonsComponent(
MovementController movementController, MovementController movementController,
@ -39,7 +41,8 @@ internal sealed class QuickAccessButtonsComponent
JournalProgressWindow journalProgressWindow, JournalProgressWindow journalProgressWindow,
IClientState clientState, IClientState clientState,
ICondition condition, ICondition condition,
ICommandManager commandManager) ICommandManager commandManager,
IDalamudPluginInterface pluginInterface)
{ {
_movementController = movementController; _movementController = movementController;
_gameFunctions = gameFunctions; _gameFunctions = gameFunctions;
@ -51,6 +54,7 @@ internal sealed class QuickAccessButtonsComponent
_clientState = clientState; _clientState = clientState;
_condition = condition; _condition = condition;
_commandManager = commandManager; _commandManager = commandManager;
_pluginInterface = pluginInterface;
} }
public event EventHandler? Reload; public event EventHandler? Reload;
@ -109,12 +113,14 @@ internal sealed class QuickAccessButtonsComponent
int partsToRender = errorCount == 0 || infoCount == 0 ? 1 : 2; int partsToRender = errorCount == 0 || infoCount == 0 ? 1 : 2;
using var id = ImRaii.PushId("validationissues"); using var id = ImRaii.PushId("validationissues");
ImGui.PushFont(UiBuilder.IconFont);
var icon1 = FontAwesomeIcon.TimesCircle; var icon1 = FontAwesomeIcon.TimesCircle;
var icon2 = FontAwesomeIcon.InfoCircle; var icon2 = FontAwesomeIcon.InfoCircle;
Vector2 iconSize1 = errorCount > 0 ? ImGui.CalcTextSize(icon1.ToIconString()) : Vector2.Zero; Vector2 iconSize1, iconSize2;
Vector2 iconSize2 = infoCount > 0 ? ImGui.CalcTextSize(icon2.ToIconString()) : Vector2.Zero; using (var _ = _pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push())
ImGui.PopFont(); {
iconSize1 = errorCount > 0 ? ImGui.CalcTextSize(icon1.ToIconString()) : Vector2.Zero;
iconSize2 = infoCount > 0 ? ImGui.CalcTextSize(icon2.ToIconString()) : Vector2.Zero;
}
string text1 = errorCount > 0 ? errorCount.ToString(CultureInfo.InvariantCulture) : string.Empty; string text1 = errorCount > 0 ? errorCount.ToString(CultureInfo.InvariantCulture) : string.Empty;
string text2 = infoCount > 0 ? infoCount.ToString(CultureInfo.InvariantCulture) : string.Empty; string text2 = infoCount > 0 ? infoCount.ToString(CultureInfo.InvariantCulture) : string.Empty;
@ -136,9 +142,11 @@ internal sealed class QuickAccessButtonsComponent
cursor.Y + ImGui.GetStyle().FramePadding.Y); cursor.Y + ImGui.GetStyle().FramePadding.Y);
if (errorCount > 0) if (errorCount > 0)
{ {
ImGui.PushFont(UiBuilder.IconFont); using (var _ = _pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push())
dl.AddText(position, ImGui.GetColorU32(ImGuiColors.DalamudRed), icon1.ToIconString()); {
ImGui.PopFont(); dl.AddText(position, ImGui.GetColorU32(ImGuiColors.DalamudRed), icon1.ToIconString());
}
position = position with { X = position.X + iconSize1.X + iconPadding }; position = position with { X = position.X + iconSize1.X + iconPadding };
// Draw the text on the window drawlist // Draw the text on the window drawlist
@ -148,9 +156,11 @@ internal sealed class QuickAccessButtonsComponent
if (infoCount > 0) if (infoCount > 0)
{ {
ImGui.PushFont(UiBuilder.IconFont); using (var _ = _pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push())
dl.AddText(position, ImGui.GetColorU32(ImGuiColors.ParsedBlue), icon2.ToIconString()); {
ImGui.PopFont(); dl.AddText(position, ImGui.GetColorU32(ImGuiColors.ParsedBlue), icon2.ToIconString());
}
position = position with { X = position.X + iconSize2.X + iconPadding }; position = position with { X = position.X + iconSize2.X + iconPadding };
// Draw the text on the window drawlist // Draw the text on the window drawlist