Compare commits

...

80 Commits

Author SHA1 Message Date
Plogon Enjoyer
46b462dfb3 Added action Fiery Breath 2024-11-04 21:08:20 +08:00
cc599b3645
Update waypoint order in 'Braced for Trouble' 2024-11-04 01:37:18 +01:00
f42540bd66
Add notification settings for when manual interactions are required 2024-11-03 22:25:03 +01:00
eb81c74930
Add missing SB MCH quests 2024-11-03 21:26:57 +01:00
6bed108c70 Merge pull request '[Stormblood][MCH] Job Quest' (#94) from UcanPatates/Questionable:master into master
Reviewed-on: liza/Questionable#94
2024-11-03 19:58:25 +00:00
cc3dc7b4ff
Add second half of 'The Merchant of Komra' 2024-11-03 20:56:22 +01:00
fb0180ce3b
Minor DRG updates 2024-11-03 20:42:33 +01:00
b02a24ee32 Merge pull request '[HW][DRG] Job Quests' (#88) from AnimaMachinae/Questionable:drg into master
Reviewed-on: liza/Questionable#88
2024-11-03 19:18:40 +00:00
1f5b9ac687
Update THM paths; fix /cry being the wrong emote 2024-11-03 20:18:00 +01:00
9aad77e486
Close window when clicking 'FInish setup' 2024-11-03 19:28:16 +01:00
bd38b330ed
Add plugin setup window 2024-11-03 19:25:46 +01:00
ad76bb88c0
Update distances when following NPC in 'Scales of Blue' 2024-11-02 15:51:29 +01:00
fb975363d2 Merge pull request '[EW][Lopporits] Sparking Artist (last lopporit daily quest~)' (#96) from pot0to/Questionable:master into master
Reviewed-on: liza/Questionable#96
2024-10-28 09:07:40 +00:00
5aa44b2f53
Add 'Braving New Depths' 2024-10-28 10:07:14 +01:00
pot0to
5161971bbb restoring quest after accidental overwrite 2024-10-27 15:38:13 -07:00
pot0to
88df503f43 last 2 lopporit dailies 2024-10-27 15:36:08 -07:00
c7d359430c
Add 'Gilding the Bilious' 2024-10-27 17:16:02 +01:00
2bd649af33
Use modified position when trying to fly in Camp Dragonhead 2024-10-27 16:58:43 +01:00
f9e02640d9
Update flying waypoint for 'Returning Home' 2024-10-27 00:24:52 +02:00
7fe0b06add
Adjust jump timings in 'A Taste of the Moon' 2024-10-26 23:50:51 +02:00
31991e12a6
Add one of the missing weekly NieR quests 2024-10-26 17:28:52 +02:00
4cb3a9a221 Update QuestPaths/3.x - Heavensward/Class Quests/DRG/1695_Dragoon's Fate.json 2024-10-26 02:37:10 +00:00
4b8049d699 Update QuestPaths/3.x - Heavensward/Class Quests/DRG/1694_Sanguine Dragoon.json 2024-10-26 02:36:54 +00:00
1ffffd0e83 Update QuestPaths/3.x - Heavensward/Class Quests/DRG/1693_Dragoon's Errand.json 2024-10-26 02:36:39 +00:00
b2c42a8c49 Update QuestPaths/3.x - Heavensward/Class Quests/DRG/1692_Sworn Upon a Lance.json 2024-10-26 02:36:24 +00:00
23f93f7de5 Update QuestPaths/3.x - Heavensward/Class Quests/DRG/1691_Heart of Justice.json 2024-10-26 02:36:13 +00:00
9a550fe8e0 Update QuestPaths/3.x - Heavensward/Class Quests/DRG/1690_Days of Azure.json 2024-10-26 02:36:00 +00:00
23256c6abf Update QuestPaths/3.x - Heavensward/Class Quests/DRG/1689_Sky's the Limit.json 2024-10-26 02:35:48 +00:00
55ec23f6ec Dosyaları "QuestPaths/4.x - Stormblood/Class Quests/MCH" dizinine yükle 2024-10-25 20:34:38 +00:00
6fcfe77b21 QuestPaths/5.x - Shadowbringers/Class Quests/MCH/2909_The Mongrel and the Knight.json Sil 2024-10-25 20:33:34 +00:00
d41febd9f3 QuestPaths/5.x - Shadowbringers/Class Quests/MCH/2908_Snouts Down, Tails Up.json Sil 2024-10-25 20:33:30 +00:00
d5a9a6b06c QuestPaths/5.x - Shadowbringers/Class Quests/MCH/2907_Release the Hounds.json Sil 2024-10-25 20:33:25 +00:00
49321ad6cf Merge pull request '[SB][Allied Society][Kojin] Added new daily quests. For additional verification.' (#75) from plogon_enjoyer/Questionable:kojin-special into master
Reviewed-on: liza/Questionable#75
2024-10-25 19:28:08 +00:00
64e45c72c2 Dosyaları "QuestPaths/5.x - Shadowbringers/Class Quests/MCH" dizinine yükle 2024-10-25 16:41:04 +00:00
eec08014e0 Dosyaları "QuestPaths/5.x - Shadowbringers/Class Quests/MCH" dizinine yükle 2024-10-25 15:33:45 +00:00
cd9600d840
Version bump 2024-10-24 20:24:57 +02:00
ca20cfcd88
Add NextQuestId to some quests 2024-10-24 20:18:45 +02:00
01ba0cebae Merge pull request 'master' (#84) from UcanPatates/Questionable:master into master
Reviewed-on: liza/Questionable#84
2024-10-24 17:04:45 +00:00
c3dbb144e4 Merge pull request '[ARR][THM] thaumaturge quests + [EW][Loporrit] one more loporrit daily' (#92) from pot0to/Questionable:master into master
Reviewed-on: liza/Questionable#92
2024-10-24 15:04:33 +00:00
1e1c6f9c11
Minor PLD updates 2024-10-24 16:54:56 +02:00
2c989d0aa2
Fix wrong $schema declarations 2024-10-24 16:23:42 +02:00
8e2ceff3c4
Minor code cleanup 2024-10-24 16:20:14 +02:00
faeeb93f01 Merge pull request '[HW][Job Quests][Paladin] Added paths.' (#82) from goatzone/Questionable:hw-paladin into master
Reviewed-on: liza/Questionable#82
2024-10-24 14:17:08 +00:00
abbe52e67f Merge pull request '[EW][Loporrit]Story Quest 4' (#87) from AnimaMachinae/Questionable:loporrit into master
Reviewed-on: liza/Questionable#87
2024-10-24 14:16:56 +00:00
4edf8cfeb6 Merge pull request '[HW][Vanu]Dailies and Story Quest' (#86) from AnimaMachinae/Questionable:vanu-vanu into master
Reviewed-on: liza/Questionable#86
2024-10-24 14:16:26 +00:00
c9484c481f Merge pull request '[HW][Vath] Story and Dailies' (#93) from AnimaMachinae/Questionable:vath into master
Reviewed-on: liza/Questionable#93
2024-10-24 14:15:48 +00:00
1f709cdc5c Upload files to "QuestPaths/3.x - Heavensward/Class Quests/DRG" 2024-10-22 00:28:16 +00:00
78ca9f2c91 Upload files to "QuestPaths/3.x - Heavensward/Allied Societies/Vath/Dailies" 2024-10-22 00:27:23 +00:00
126ad5a5fb Upload files to "QuestPaths/3.x - Heavensward/Allied Societies/Vath/Story" 2024-10-22 00:26:45 +00:00
dec4fb64c8 Upload files to "QuestPaths/3.x - Heavensward/Class Quests/DRG" 2024-10-22 00:25:35 +00:00
ec36e7bebf Upload files to "QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies" 2024-10-22 00:24:50 +00:00
b6b0644aa6 Upload files to "QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies" 2024-10-22 00:24:38 +00:00
786f79a75a Upload files to "QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Story" 2024-10-22 00:23:35 +00:00
pot0to
c176bc2b79 cleaned up omicrons quest 2024-10-21 11:56:55 -07:00
pot0to
eabea17d92 Merge branch 'master' of https://git.carvel.li/liza/Questionable 2024-10-20 02:35:27 -07:00
pot0to
f336de8f9b adding all ARR thaumaturge quests and one more loporrit 2024-10-20 02:27:30 -07:00
0b8a18cd2a Update QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Story/4684_Teamwork Makes the Dream Work.json 2024-10-20 06:05:46 +00:00
08f2be449a Upload files to "QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies" 2024-10-20 06:01:24 +00:00
04c96efbe0 Update QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies/2173_Endymion Disco.json 2024-10-20 05:25:45 +00:00
2dfd1c2b0f Update QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies/2183_Fishing in Troubled Waters.json
Adds a jump to fly to prevent pathfinding errors to the opposite corner of map
2024-10-20 05:11:22 +00:00
8b8c940d34 Upload files to "QuestPaths/3.x - Heavensward/Class Quests/DRG"
50-54 quests
2024-10-18 08:40:08 +00:00
afdc92cc8c Upload files to "QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies" 2024-10-18 08:36:52 +00:00
1cd11e8375 Upload files to "QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Story"
Story Rank 5-6 quest
2024-10-18 08:35:40 +00:00
5b0b6c688d QuestPaths/2.x - A Realm Reborn/Side Quests/Black Shroud/Gridania/972_This One's for the Lovers.json Ekle 2024-10-17 19:08:14 +00:00
87765768ad QuestPaths/2.x - A Realm Reborn/Side Quests/Black Shroud/Gridania/970_Some Seedy Business.json Ekle 2024-10-17 18:59:26 +00:00
e2c93942de QuestPaths/2.x - A Realm Reborn/Side Quests/Black Shroud/Gridania/969_Adventurer for Hire.json Ekle 2024-10-17 13:01:10 +00:00
156721c57f QuestPaths/2.x - A Realm Reborn/Side Quests/Black Shroud/Gridania/27_Preserving the Past.json Ekle 2024-10-17 12:49:27 +00:00
eebae38db9 QuestPaths/2.x - A Realm Reborn/Side Quests/La Noscea/Limsa/117_A Thousand Words.json Ekle 2024-10-17 12:03:32 +00:00
5f12f8f78e QuestPaths/2.x - A Realm Reborn/Side Quests/La Noscea/Limsa/116_A Sheepish Request.json Ekle 2024-10-17 11:52:39 +00:00
d21f3bbf49 QuestPaths/2.x - A Realm Reborn/Side Quests/La Noscea/Limsa/661_The Rats in the Wharf.json Ekle 2024-10-17 11:16:08 +00:00
a27fc8400d QuestPaths/3.x - Heavensward/Unlocks/Instant/2386_Let Me Gubal That for You.json Sil 2024-10-17 09:44:04 +00:00
8fadd31e9b QuestPaths/3.x - Heavensward/Unlocks/Dungeons/2386_Let Me Gubal That for You.json Ekle 2024-10-17 09:42:53 +00:00
849ebac0ca QuestPaths/3.x - Heavensward/Unlocks/Instant/2386_Let Me Gubal That for You.json Ekle 2024-10-17 09:31:47 +00:00
14ec0d6213
+2037, +comment on 2033, nix errant skipcondition on 2036 2024-10-15 00:25:17 +01:00
955c02b454
+2036, added forgotten NextQuestIds 2024-10-14 23:46:27 +01:00
bb6a2178fb
+2035 2024-10-14 08:07:46 +01:00
e411608375
+2034 2024-10-14 07:55:21 +01:00
e04432ea49
+2033, formatting in 2032 2024-10-14 07:31:07 +01:00
6515a88066
+2032 2024-10-14 05:56:33 +01:00
Plogon Enjoyer
6f18796642 Added the following daily quests:
- Best Served Foul
- A Real Pearler
2024-09-30 00:27:27 +08:00
92 changed files with 7932 additions and 198 deletions

3
.gitmodules vendored
View File

@ -4,3 +4,6 @@
[submodule "vendor/ECommons"]
path = vendor/ECommons
url = https://github.com/NightmareXIV/ECommons.git
[submodule "vendor/NotificationMasterAPI"]
path = vendor/NotificationMasterAPI
url = https://github.com/NightmareXIV/NotificationMasterAPI.git

View File

@ -1,5 +1,5 @@
<Project>
<PropertyGroup>
<Version>3.11</Version>
<Version>3.13</Version>
</PropertyGroup>
</Project>

2
LLib

@ -1 +1 @@
Subproject commit 6dfc18ee6a187138036ee2d51ba2257741c1e568
Subproject commit 912a7b04ce180e337af9beeef2d1393b040c1ba8

View File

@ -36,7 +36,7 @@
"Yes": true
}
],
"NextQuestId": 553
"NextQuestId": 351
}
]
}

View File

@ -36,7 +36,8 @@
"Prompt": "TEXT_CLSTHM020_00345_Q1_001_1",
"Yes": true
}
]
],
"NextQuestId": 351
}
]
}

View File

@ -0,0 +1,151 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -71.92632,
"Y": 9.839797,
"Z": 283.98495
},
"TerritoryId": 141,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 351,
"MinimumKillCount": 3,
"$": "Slay star marmots as a thaumaturge",
"CompletionQuestVariablesFlags": [
{
"Low": 3
},
null,
null,
null,
null,
null
]
},
{
"DataId": 385,
"MinimumKillCount": 3,
"$": "Slay huge hornets as a thaumaturge",
"CompletionQuestVariablesFlags": [
null,
{
"High": 3
},
null,
null,
null,
null
]
}
],
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Thaumaturges' Guild",
"[Ul'dah] Gate of Nald (Central Thanalan)"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
141
]
}
},
"CompletionQuestVariablesFlags": [
{
"Low": 3
},
{
"High": 3
},
null,
null,
null,
null
]
},
{
"Position": {
"X": 39.449,
"Y": 3.082914,
"Z": 272.46896
},
"TerritoryId": 141,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 205,
"MinimumKillCount": 3,
"$": "Slay snapping shrews as a thaumaturge"
}
],
"CompletionQuestVariablesFlags": [
null,
{
"Low": 3
},
null,
null,
null,
null
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"NextQuestId": 351
}
]
}
]
}

View File

@ -0,0 +1,140 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1001709,
"Position": {
"X": -240.4975,
"Y": 18.7,
"Z": 85.58777
},
"TerritoryId": 130,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2001468,
"Position": {
"X": -87.38843,
"Y": 50.614136,
"Z": 315.6023
},
"TerritoryId": 140,
"InteractionType": "UseItem",
"ItemId": 2000414,
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Thaumaturges' Guild",
"[Ul'dah] Gate of the Sultana (Western Thanalan)"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
140
]
}
}
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2001469,
"Position": {
"X": -74.96759,
"Y": 53.238647,
"Z": 336.78186
},
"TerritoryId": 140,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
12
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": -253.97243,
"Y": 33.2412,
"Z": 408.68488
},
"TerritoryId": 140,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1002027,
"Position": {
"X": -255.23767,
"Y": 33.238777,
"Z": 407.27856
},
"TerritoryId": 140,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1001709,
"Position": {
"X": -240.4975,
"Y": 18.7,
"Z": 85.58777
},
"TerritoryId": 130,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"NextQuestId": 349
}
]
}
]
}

View File

@ -0,0 +1,215 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1001710,
"Position": {
"X": -240.2533,
"Y": 18.8,
"Z": 86.900024
},
"TerritoryId": 130,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"TerritoryId": 130,
"InteractionType": "None",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Thaumaturges' Guild",
"[Ul'dah] Gate of Nald (Central Thanalan)"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
141
],
"AetheryteUnlocked": "Central Thanalan - Black Brush Station"
},
"AethernetShortcutIf": {
"AetheryteUnlocked": "Central Thanalan - Black Brush Station"
}
}
},
{
"Position": {
"X": -62.183617,
"Y": -3.6582246,
"Z": 145.88391
},
"InteractionType": "WalkTo",
"TerritoryId": 141,
"SkipConditions": {
"StepIf": {
"Flying": "Unlocked",
"AetheryteUnlocked": "Central Thanalan - Black Brush Station"
}
}
},
{
"Position": {
"X": 149.07747,
"Y": -2,
"Z": -225.21188
},
"TerritoryId": 141,
"AetheryteShortcut": "Central Thanalan - Black Brush Station",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"Fly": true,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 160,
"MinimumKillCount": 8,
"$": "Slay efts",
"CompletionQuestVariablesFlags": [
{
"Low": 8
},
null,
null,
null,
null,
null
]
}
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1001710,
"Position": {
"X": -240.2533,
"Y": 18.8,
"Z": 86.900024
},
"TerritoryId": 130,
"InteractionType": "Interact",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_CLSTHM101_00349_Q_000_1",
"Answer": "TEXT_CLSTHM101_00349_A_000_3"
}
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 2001512,
"Position": {
"X": -366.29285,
"Y": -34.989014,
"Z": 293.56824
},
"TerritoryId": 145,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
166
],
"Fly": true,
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 2001499,
"Position": {
"X": -366.29285,
"Y": -34.989014,
"Z": 293.56824
},
"TerritoryId": 145,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1001710,
"Position": {
"X": -240.2533,
"Y": 18.8,
"Z": 86.900024
},
"TerritoryId": 130,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"NextQuestId": 350
}
]
}
]
}

View File

@ -0,0 +1,149 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1001711,
"Position": {
"X": -241.62665,
"Y": 18.8,
"Z": 83.32947
},
"TerritoryId": 130,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1002301,
"Position": {
"X": -178.2102,
"Y": 18,
"Z": 61.41748
},
"TerritoryId": 130,
"InteractionType": "Emote",
"Emote": "cry"
},
{
"DataId": 1002300,
"Position": {
"X": -176.9284,
"Y": 18,
"Z": 62.363525
},
"TerritoryId": 130,
"InteractionType": "Emote",
"Emote": "cry"
},
{
"DataId": 1002302,
"Position": {
"X": -176.71478,
"Y": 18,
"Z": 64.34729
},
"TerritoryId": 130,
"InteractionType": "Emote",
"Emote": "cry"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1001711,
"Position": {
"X": -241.62665,
"Y": 18.8,
"Z": 83.32947
},
"TerritoryId": 130,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 2001470,
"Position": {
"X": -24.887512,
"Y": -25.345276,
"Z": 321.94995
},
"TerritoryId": 145,
"InteractionType": "SinglePlayerDuty",
"Fly": true,
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1001711,
"Position": {
"X": -241.62665,
"Y": 18.8,
"Z": 83.32947
},
"TerritoryId": 130,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_CLSTHM150_00350_Q1_000_1",
"Answer": "TEXT_CLSTHM150_00350_A1_000_1"
}
],
"NextQuestId": 352
}
]
}
]
}

View File

@ -209,7 +209,8 @@
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "CompleteQuest"
"InteractionType": "CompleteQuest",
"NextQuestId": 352
}
]
}

View File

@ -0,0 +1,199 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1001709,
"Position": {
"X": -240.4975,
"Y": 18.7,
"Z": 85.58777
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
130
]
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1002309,
"Position": {
"X": -374.28857,
"Y": -57.079987,
"Z": 144.12134
},
"TerritoryId": 145,
"InteractionType": "Interact",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
145
]
}
}
},
{
"DataId": 1002308,
"Position": {
"X": -386.7094,
"Y": -59.300003,
"Z": 166.39954
},
"TerritoryId": 145,
"InteractionType": "Interact"
},
{
"DataId": 1002307,
"Position": {
"X": -396.65833,
"Y": -48.15,
"Z": 99.68713
},
"TerritoryId": 145,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "Interact",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
130
]
}
}
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1001709,
"Position": {
"X": -240.4975,
"Y": 18.7,
"Z": 85.58777
},
"TerritoryId": 130,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"Position": {
"X": 222.64497,
"Y": 5.099169,
"Z": -265.77835
},
"TerritoryId": 145,
"Fly": true,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
145
]
}
}
},
{
"DataId": 1002310,
"Position": {
"X": 184.89343,
"Y": 3.1809213,
"Z": -338.64355
},
"TerritoryId": 145,
"InteractionType": "SinglePlayerDuty"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
130
]
}
},
"NextQuestId": 353
}
]
}
]
}

View File

@ -0,0 +1,183 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
130
]
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"TerritoryId": 145,
"InteractionType": "UseItem",
"ItemId": 30362,
"TargetTerritoryId": 140,
"SkipConditions": {
"StepIf": {
"InTerritory": [
140
]
}
}
},
{
"DataId": 1004070,
"Position": {
"X": -455.86328,
"Y": 23.11398,
"Z": -326.92456
},
"TerritoryId": 140,
"InteractionType": "Interact"
},
{
"DataId": 1004096,
"Position": {
"X": -444.75476,
"Y": 25,
"Z": -324.26947
},
"TerritoryId": 140,
"InteractionType": "Interact"
},
{
"DataId": 1004094,
"Position": {
"X": -413.47375,
"Y": 23.113977,
"Z": -383.71863
},
"TerritoryId": 140,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1002316,
"Position": {
"X": -436.72852,
"Y": 23.774809,
"Z": -350.8202
},
"TerritoryId": 140,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1002315,
"Position": {
"X": -392.32477,
"Y": 23.557693,
"Z": -546.9902
},
"TerritoryId": 140,
"InteractionType": "Combat",
"Fly": true,
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
1239
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1002315,
"Position": {
"X": -392.32477,
"Y": 23.557693,
"Z": -546.9902
},
"TerritoryId": 140,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1002317,
"Position": {
"X": -269.85577,
"Y": 15.346575,
"Z": -718.1354
},
"TerritoryId": 140,
"InteractionType": "SinglePlayerDuty",
"Fly": true,
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_CLSTHM300_00353_Q_000_1",
"Answer": "TEXT_CLSTHM300_00353_A_000_2"
}
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
130
]
}
}
}
]
}
]
}

View File

@ -0,0 +1,76 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "UcanPatates",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000194,
"Position": {
"X": -16.281433,
"Y": -3.2499998,
"Z": 41.000854
},
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1000686,
"Position": {
"X": -66.36151,
"Y": -3.896366,
"Z": 67.00232
},
"TerritoryId": 132,
"InteractionType": "Interact",
"AetheryteShortcut": "Gridania",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000789,
"Position": {
"X": -33.76825,
"Y": 7.3172073,
"Z": -117.052
},
"TerritoryId": 133,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Mih Khetto's Amphitheatre"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
132
]
}
}
}
]
}
]
}

View File

@ -0,0 +1,60 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "UcanPatates",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1006711,
"Position": {
"X": -140.39832,
"Y": 7.8986163,
"Z": -142.99237
},
"TerritoryId": 133,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Mih Khetto's Amphitheatre"
],
"SkipConditions": {
"AethernetShortcutIf": {
"InSameTerritory": true
},
"AetheryteShortcutIf": {
"InTerritory": [
132,
133
]
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000617,
"Position": {
"X": 5.722107,
"Y": -7.2786255,
"Z": 270.95447
},
"TerritoryId": 152,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"NextQuestId": 970
}
]
}
]
}

View File

@ -0,0 +1,164 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "UcanPatates",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000617,
"Position": {
"X": 5.722107,
"Y": -7.2786255,
"Z": 270.95447
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1000587,
"Position": {
"X": -7.248047,
"Y": -8.407776,
"Z": 268.23828
},
"TerritoryId": 152,
"InteractionType": "Interact",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2002191,
"Position": {
"X": 189.6543,
"Y": 7.94989,
"Z": 133.65369
},
"TerritoryId": 152,
"InteractionType": "Interact",
"StopDistance": 0.1,
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2002192,
"Position": {
"X": 181.04822,
"Y": 0.07623291,
"Z": 43.289795
},
"TerritoryId": 152,
"InteractionType": "Interact",
"StopDistance": 0.1,
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2002190,
"Position": {
"X": 233.66138,
"Y": 6.42395,
"Z": 199.11487
},
"TerritoryId": 152,
"InteractionType": "Interact",
"StopDistance": 0.1,
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 124.74073,
"Y": 6.729165,
"Z": 190.69174
},
"TerritoryId": 152,
"InteractionType": "WalkTo",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
},
{
"DataId": 1006715,
"Position": {
"X": -170.67218,
"Y": 56.713512,
"Z": -255.9701
},
"TerritoryId": 152,
"InteractionType": "CompleteQuest",
"Fly": true,
"NextQuestId": 972
}
]
}
]
}

View File

@ -0,0 +1,80 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "UcanPatates",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1006715,
"Position": {
"X": -170.67218,
"Y": 56.713512,
"Z": -255.9701
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -193.69008,
"Y": 55.59636,
"Z": -177.57457
},
"TerritoryId": 152,
"InteractionType": "WalkTo",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
},
{
"DataId": 1007568,
"Position": {
"X": -183.88647,
"Y": 57.451885,
"Z": -143.93835
},
"TerritoryId": 152,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1006715,
"Position": {
"X": -170.67218,
"Y": 56.713512,
"Z": -255.9701
},
"TerritoryId": 152,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
}
]
}

View File

@ -0,0 +1,176 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "UcanPatates",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000959,
"Position": {
"X": -65.62909,
"Y": 41.999985,
"Z": -139.45221
},
"TerritoryId": 128,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] Culinarians' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InTerritory": [
129,
128
]
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1003603,
"Position": {
"X": 20.34021,
"Y": 20,
"Z": 4.3182373
},
"TerritoryId": 129,
"InteractionType": "Interact",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Culinarians' Guild",
"[Limsa Lominsa] Aetheryte Plaza"
],
"SkipConditions": {
"AethernetShortcutIf": {
"InSameTerritory": true
},
"AetheryteShortcutIf": {
"InTerritory": [
129,
128
]
}
}
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 64.20255,
"Y": 19.94936,
"Z": 1.0639327
},
"TerritoryId": 129,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Limsa Lominsa",
"SkipConditions": {
"AetheryteShortcutIf": {
"InTerritory": [
134,
129
]
},
"StepIf": {
"InTerritory": [
134
]
}
}
},
{
"DataId": 338,
"Position": {
"X": 130.05261,
"Y": 51.719154,
"Z": 185.6565
},
"TerritoryId": 134,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 338,
"CompletionQuestVariablesFlags": [
{
"Low": 4
},
null,
null,
null,
null,
null
],
"MinimumKillCount": 4
}
],
"CompletionQuestVariablesFlags": [
{
"Low": 4
},
null,
null,
null,
null,
null
],
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": -57.281883,
"Y": 33.088005,
"Z": 160.24603
},
"TerritoryId": 134,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"NotInTerritory": [
134
]
}
},
"Fly": true
},
{
"DataId": 1000959,
"Position": {
"X": -65.62909,
"Y": 41.999985,
"Z": -139.45221
},
"TerritoryId": 128,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] Culinarians' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InTerritory": [
129,
128
]
}
}
}
]
}
]
}

View File

@ -0,0 +1,118 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "UcanPatates",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1001537,
"Position": {
"X": -58.854065,
"Y": 42.299744,
"Z": -164.08032
},
"TerritoryId": 128,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] Culinarians' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InTerritory": [
129,
128
]
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1000957,
"Position": {
"X": -49.271423,
"Y": 43.999977,
"Z": -146.37988
},
"TerritoryId": 128,
"InteractionType": "Interact",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] Culinarians' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InTerritory": [
129,
128
]
}
}
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1000937,
"Position": {
"X": -12.222534,
"Y": 44.99988,
"Z": -251.88074
},
"TerritoryId": 128,
"InteractionType": "Interact",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] Marauders' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InTerritory": [
129,
128
]
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000957,
"Position": {
"X": -49.271423,
"Y": 43.999977,
"Z": -146.37988
},
"TerritoryId": 128,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Marauders' Guild",
"[Limsa Lominsa] Culinarians' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InTerritory": [
129,
128
]
}
}
}
]
}
]
}

View File

@ -0,0 +1,158 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "UcanPatates",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1001000,
"Position": {
"X": -32.028687,
"Y": 41.499985,
"Z": 208.39233
},
"TerritoryId": 128,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] The Aftcastle"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InTerritory": [
129,
128
]
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 25.29642,
"Y": 44.499924,
"Z": 184.26752
},
"TerritoryId": 128,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] The Aftcastle"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InTerritory": [
129,
128
]
},
"StepIf": {
"InTerritory": [
135
]
}
}
},
{
"Position": {
"X": 21.738638,
"Y": 61.836372,
"Z": 139.60422
},
"TerritoryId": 135,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] Tempest Gate (Lower La Noscea)"
],
"ComplexCombatData": [
{
"DataId": 347,
"CompletionQuestVariablesFlags": [
{
"Low": 5
},
null,
null,
null,
null,
null
],
"MinimumKillCount": 5
}
],
"CompletionQuestVariablesFlags": [
{
"Low": 5
},
null,
null,
null,
null,
null
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InTerritory": [
135
]
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": -67.00804,
"Y": 75.84114,
"Z": 116.815384
},
"TerritoryId": 135,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"NotInTerritory": [
135
]
}
}
},
{
"DataId": 1000972,
"Position": {
"X": 20.279175,
"Y": 40.19993,
"Z": -6.1189575
},
"TerritoryId": 128,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] The Aftcastle"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InTerritory": [
129,
128
]
}
}
}
]
}
]
}

View File

@ -29,7 +29,8 @@
},
"TerritoryId": 155,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead"
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Fly": true
}
]
},

View File

@ -29,7 +29,8 @@
},
"TerritoryId": 155,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead"
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Fly": true
}
]
},

View File

@ -29,7 +29,8 @@
},
"TerritoryId": 155,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead"
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Fly": true
}
]
},

View File

@ -0,0 +1,99 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1003281,
"Position": {
"X": 97.520386,
"Y": 40.248554,
"Z": 81.1322
},
"TerritoryId": 128,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 126.33908,
"Y": 31.31262,
"Z": -772.82794
},
"TerritoryId": 156,
"InteractionType": "WalkTo",
"TargetTerritoryId": 155,
"AetheryteShortcut": "Mor Dhona",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"AetheryteLocked": "Mor Dhona",
"InTerritory": [
155
]
},
"StepIf": {
"AetheryteLocked": "Mor Dhona",
"InTerritory": [
155
]
}
}
},
{
"DataId": 1007625,
"Position": {
"X": -354.1772,
"Y": 214.60808,
"Z": 692.65283
},
"TerritoryId": 155,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 2,
"Steps": [
{
"TerritoryId": 155,
"InteractionType": "Duty",
"ContentFinderConditionId": 5
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1003281,
"Position": {
"X": 97.520386,
"Y": 40.248554,
"Z": 81.1322
},
"TerritoryId": 128,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] The Aftcastle"
]
}
]
}
]
}

View File

@ -0,0 +1,95 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000168,
"Position": {
"X": -75.48645,
"Y": -0.5013741,
"Z": -5.081299
},
"TerritoryId": 132,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 126.33908,
"Y": 31.31262,
"Z": -772.82794
},
"TerritoryId": 156,
"InteractionType": "WalkTo",
"TargetTerritoryId": 155,
"AetheryteShortcut": "Mor Dhona",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"AetheryteLocked": "Mor Dhona",
"InTerritory": [
155
]
},
"StepIf": {
"AetheryteLocked": "Mor Dhona",
"InTerritory": [
155
]
}
}
},
{
"DataId": 1007625,
"Position": {
"X": -354.1772,
"Y": 214.60808,
"Z": 692.65283
},
"TerritoryId": 155,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 2,
"Steps": [
{
"TerritoryId": 155,
"InteractionType": "Duty",
"ContentFinderConditionId": 5
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000168,
"Position": {
"X": -75.48645,
"Y": -0.5013741,
"Z": -5.081299
},
"TerritoryId": 132,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Gridania"
}
]
}
]
}

View File

@ -0,0 +1,95 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1004576,
"Position": {
"X": -141.64954,
"Y": 4.1,
"Z": -114.67157
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 126.33908,
"Y": 31.31262,
"Z": -772.82794
},
"TerritoryId": 156,
"InteractionType": "WalkTo",
"TargetTerritoryId": 155,
"AetheryteShortcut": "Mor Dhona",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"AetheryteLocked": "Mor Dhona",
"InTerritory": [
155
]
},
"StepIf": {
"AetheryteLocked": "Mor Dhona",
"InTerritory": [
155
]
}
}
},
{
"DataId": 1007625,
"Position": {
"X": -354.1772,
"Y": 214.60808,
"Z": 692.65283
},
"TerritoryId": 155,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 2,
"Steps": [
{
"TerritoryId": 155,
"InteractionType": "Duty",
"ContentFinderConditionId": 5
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1004576,
"Position": {
"X": -141.64954,
"Y": 4.1,
"Z": -114.67157
},
"TerritoryId": 130,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ul'dah"
}
]
}
]
}

View File

@ -0,0 +1,48 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1005021,
"Position": {
"X": -472.49567,
"Y": 23.008797,
"Z": -355.00116
},
"TerritoryId": 140,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": -157.07425,
"Y": 24.884384,
"Z": -354.37775
},
"TerritoryId": 146,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
"Fly": true
},
{
"DataId": 1006220,
"Position": {
"X": 185.74805,
"Y": 13.721187,
"Z": -443.1983
},
"TerritoryId": 146,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,153 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1016089,
"Position": {
"X": -799.46594,
"Y": -133.2695,
"Z": -404.1352
},
"TerritoryId": 401,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1016093,
"Position": {
"X": -776.0281,
"Y": -133.35559,
"Z": -414.32825
},
"TerritoryId": 401,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -544.89056,
"Y": 61.602722,
"Z": -373.9669
},
"TerritoryId": 401,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 2006649,
"Position": {
"X": -539.0555,
"Y": 64.22522,
"Z": -377.0047
},
"TerritoryId": 401,
"InteractionType": "Action",
"Action": "Buffet (Sanuwa)",
"StopDistance": 3,
"$": "0 0 0 0 0 0 --> 1 0 0 0 0 16",
"CompletionQuestVariablesFlags": [null,null,null,null,null,16]
},
{
"Position": {
"X": -505.35422,
"Y": -28.166508,
"Z": -528.1072
},
"TerritoryId": 401,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 2006647,
"Position": {
"X": -504.78372,
"Y": -26.68805,
"Z": -530.93774
},
"TerritoryId": 401,
"InteractionType": "Action",
"Action": "Buffet (Sanuwa)",
"StopDistance": 3,
"$": "1 0 0 0 0 16 --> 2 0 0 0 0 80",
"CompletionQuestVariablesFlags": [null,null,null,null,null,64]
},
{
"Position": {
"X": -478.25208,
"Y": -31.101946,
"Z": -663.0455
},
"TerritoryId": 401,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 2006648,
"Position": {
"X": -477.40906,
"Y": -28.885437,
"Z": -668.32996
},
"TerritoryId": 401,
"InteractionType": "Action",
"Action": "Buffet (Sanuwa)",
"StopDistance": 3,
"$": "2 0 0 0 0 80 --> 3 0 0 0 0 112",
"CompletionQuestVariablesFlags": [null,null,null,null,null,32]
},
{
"Position": {
"X": -102.45963,
"Y": -1.2632592,
"Z": -619.294
},
"TerritoryId": 401,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 2006646,
"Position": {
"X": -96.20813,
"Y": 0.32037354,
"Z": -620.26404
},
"TerritoryId": 401,
"InteractionType": "Action",
"Action": "Buffet (Sanuwa)",
"StopDistance": 3,
"$": "3 0 0 0 0 112 --> 0 0 0 0 0 0"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1016089,
"Position": {
"X": -799.46594,
"Y": -133.2695,
"Z": -404.1352
},
"TerritoryId": 401,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "The Sea of Clouds - Ok' Zundu",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,129 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1016089,
"Position": {
"X": -799.46594,
"Y": -133.2695,
"Z": -404.1352
},
"TerritoryId": 401,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -797.36957,
"Y": -130.0076,
"Z": -404.2746
},
"TerritoryId": 401,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 2006651,
"Position": {
"X": 664.3624,
"Y": -30.86908,
"Z": -137.0108
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 2006652,
"Position": {
"X": 847.2876,
"Y": -50.58368,
"Z": 7.2174683
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2006653,
"Position": {
"X": 860.2273,
"Y": -84.45868,
"Z": 19.272095
},
"TerritoryId": 401,
"InteractionType": "Combat",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
],
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
5235
]
},
{
"DataId": 2006654,
"Position": {
"X": 642.63354,
"Y": -92.57648,
"Z": 63.035034
},
"TerritoryId": 401,
"InteractionType": "Combat",
"Fly": true,
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
5235
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1016089,
"Position": {
"X": -799.46594,
"Y": -133.2695,
"Z": -404.1352
},
"TerritoryId": 401,
"InteractionType": "CompleteQuest",
"Fly": true,
"AetheryteShortcut": "The Sea of Clouds - Ok' Zundu"
}
]
}
]
}

View File

@ -0,0 +1,104 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1016089,
"Position": {
"X": -799.46594,
"Y": -133.2695,
"Z": -404.1352
},
"TerritoryId": 401,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1016093,
"Position": {
"X": -776.0281,
"Y": -133.35559,
"Z": -414.32825
},
"TerritoryId": 401,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2006655,
"Position": {
"X": -48.325317,
"Y": 17.990356,
"Z": -852.47577
},
"TerritoryId": 401,
"InteractionType": "Action",
"Fly": true,
"Action": "Buffet (Sanuwa)"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2006656,
"Position": {
"X": 95.23157,
"Y": -11.886841,
"Z": -817.6242
},
"TerritoryId": 401,
"InteractionType": "Action",
"Fly": true,
"Action": "Buffet (Sanuwa)"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 2006657,
"Position": {
"X": 205.8899,
"Y": -6.9123535,
"Z": -785.70233
},
"TerritoryId": 401,
"InteractionType": "Action",
"Fly": true,
"Action": "Buffet (Sanuwa)"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1016089,
"Position": {
"X": -799.46594,
"Y": -133.2695,
"Z": -404.1352
},
"TerritoryId": 401,
"InteractionType": "CompleteQuest",
"Fly": true,
"AetheryteShortcut": "The Sea of Clouds - Ok' Zundu"
}
]
}
]
}

View File

@ -0,0 +1,108 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1016089,
"Position": {
"X": -799.46594,
"Y": -133.2695,
"Z": -404.1352
},
"TerritoryId": 401,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1011952,
"Position": {
"X": -277.63788,
"Y": -184.59735,
"Z": 741.60376
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "The Sea of Clouds - Camp Cloudtop"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2006662,
"Position": {
"X": 150.77429,
"Y": -133.98956,
"Z": 610.00977
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
8
]
},
{
"DataId": 2006661,
"Position": {
"X": 207.2633,
"Y": -124.101685,
"Z": 631.8303
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
},
{
"DataId": 2006658,
"Position": {
"X": 407.187,
"Y": -122.51471,
"Z": 724.0558
},
"TerritoryId": 401,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1016089,
"Position": {
"X": -799.46594,
"Y": -133.2695,
"Z": -404.1352
},
"TerritoryId": 401,
"InteractionType": "CompleteQuest",
"Fly": true,
"AetheryteShortcut": "The Sea of Clouds - Ok' Zundu"
}
]
}
]
}

View File

@ -0,0 +1,169 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1016089,
"Position": {
"X": -799.46594,
"Y": -133.2695,
"Z": -404.1352
},
"TerritoryId": 401,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1016091,
"Position": {
"X": -804.25726,
"Y": -133.2695,
"Z": -390.89038
},
"TerritoryId": 401,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2006705,
"Position": {
"X": -356.1914,
"Y": -153.21588,
"Z": 246.23486
},
"TerritoryId": 401,
"InteractionType": "Interact",
"AetheryteShortcut": "The Sea of Clouds - Camp Cloudtop",
"Fly": true,
"$": "QW: 1 0 16 0 0 2",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
2
]
},
{
"DataId": 2006706,
"Position": {
"X": -292.34766,
"Y": -142.2904,
"Z": 325.91736
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true,
"$": "QW: 2 0 32 0 0 3",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
1
]
},
{
"DataId": 2006704,
"Position": {
"X": -281.11694,
"Y": -133.13501,
"Z": 345.2964
},
"TerritoryId": 401,
"InteractionType": "Interact",
"$": "QW: 19 0 48 0 0 7",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
4
]
},
{
"DataId": 2006670,
"Position": {
"X": 165.85034,
"Y": -86.13721,
"Z": 415.94556
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true,
"$": "QW: 19 17 48 0 0 39",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2006669,
"Position": {
"X": 282.88696,
"Y": -82.26141,
"Z": 366.07922
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true,
"$": "QW: 19 34 48 0 0 103",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2006671,
"Position": {
"X": 129.8695,
"Y": -92.17981,
"Z": 293.11047
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1016091,
"Position": {
"X": -804.25726,
"Y": -133.2695,
"Z": -390.89038
},
"TerritoryId": 401,
"InteractionType": "CompleteQuest",
"Fly": true,
"AetheryteShortcut": "The Sea of Clouds - Ok' Zundu"
}
]
}
]
}

View File

@ -71,7 +71,8 @@
"TerritoryId": 401,
"InteractionType": "Action",
"Action": "Buffet (Sanuwa)",
"Fly": true
"Fly": true,
"CompletionQuestVariablesFlags": [null,null,null,null,null,32]
},
{
"DataId": 1016221,
@ -83,7 +84,8 @@
"TerritoryId": 401,
"InteractionType": "Action",
"Action": "Buffet (Sanuwa)",
"Fly": true
"Fly": true,
"CompletionQuestVariablesFlags": [null,null,null,null,null,64]
},
{
"DataId": 1016220,

View File

@ -36,6 +36,16 @@
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -834.9571,
"Y": -130.33038,
"Z": -386.03116
},
"TerritoryId": 401,
"InteractionType": "WalkTo",
"Fly": true
},
{
"Position": {
"X": 833.7674,

View File

@ -0,0 +1,216 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1016087,
"Position": {
"X": -796.7498,
"Y": -133.2695,
"Z": -410.6966
},
"TerritoryId": 401,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -790.3409,
"Y": -129.17549,
"Z": -409.1912
},
"TerritoryId": 401,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1016166,
"Position": {
"X": 557.885,
"Y": -126.23241,
"Z": 283.07007
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2006627,
"Position": {
"X": 583.52014,
"Y": -126.81775,
"Z": 268.0857
},
"TerritoryId": 401,
"InteractionType": "UseItem",
"ItemId": 2001901,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 2006628,
"Position": {
"X": 632.95935,
"Y": -111.680786,
"Z": 157.85449
},
"TerritoryId": 401,
"InteractionType": "UseItem",
"ItemId": 2001901,
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2006629,
"Position": {
"X": 688.5939,
"Y": -95.99457,
"Z": 101.27405
},
"TerritoryId": 401,
"InteractionType": "UseItem",
"ItemId": 2001901,
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2006630,
"Position": {
"X": 709.86475,
"Y": -85.19116,
"Z": 29.892456
},
"TerritoryId": 401,
"InteractionType": "UseItem",
"ItemId": 2001901,
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
},
{
"DataId": 2006631,
"Position": {
"X": 722.8656,
"Y": -65.84277,
"Z": -57.938538
},
"TerritoryId": 401,
"InteractionType": "UseItem",
"ItemId": 2001901,
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
8
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1016166,
"Position": {
"X": 557.885,
"Y": -126.23241,
"Z": 283.07007
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1016166,
"Position": {
"X": 557.885,
"Y": -126.23241,
"Z": 283.07007
},
"TerritoryId": 401,
"InteractionType": "Emote",
"Emote": "dance"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1012064,
"Position": {
"X": -542.7787,
"Y": -37.11544,
"Z": -386.7094
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "The Sea of Clouds - Ok' Zundu"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1016087,
"Position": {
"X": -796.7498,
"Y": -133.2695,
"Z": -410.6966
},
"TerritoryId": 401,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,114 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1016803,
"Position": {
"X": 57.297607,
"Y": -47.842846,
"Z": -174.63953
},
"TerritoryId": 398,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1017031,
"Position": {
"X": 74.20459,
"Y": -48.533592,
"Z": -171.12994
},
"TerritoryId": 398,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2006915,
"Position": {
"X": 96.45227,
"Y": -66.2395,
"Z": 616.6017
},
"TerritoryId": 398,
"InteractionType": "Action",
"Action": "Fumigate",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2006916,
"Position": {
"X": -149.95044,
"Y": -55.25299,
"Z": 541.37476
},
"TerritoryId": 398,
"InteractionType": "Action",
"Action": "Fumigate",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 2006917,
"Position": {
"X": -625.0859,
"Y": -49.94281,
"Z": 491.02002
},
"TerritoryId": 398,
"InteractionType": "Action",
"Action": "Fumigate",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 59.511234,
"Y": -48,
"Z": -171.35385
},
"TerritoryId": 398,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
"AetheryteShortcut": "The Dravanian Forelands - Anyx Trine"
},
{
"DataId": 1016803,
"Position": {
"X": 57.297607,
"Y": -47.842846,
"Z": -174.63953
},
"TerritoryId": 398,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,173 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1016803,
"Position": {
"X": 57.297607,
"Y": -47.842846,
"Z": -174.63953
},
"TerritoryId": 398,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 449.65012,
"Y": -51.141403,
"Z": 106.932205
},
"TerritoryId": 398,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather"
},
{
"DataId": 1011922,
"Position": {
"X": 448.56934,
"Y": -51.141407,
"Z": 108.93408
},
"TerritoryId": 398,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2006918,
"Position": {
"X": 475.69995,
"Y": -44.174927,
"Z": -231.46417
},
"TerritoryId": 398,
"InteractionType": "Combat",
"EnemySpawnType": "AfterItemUse",
"ItemId": 2001961,
"KillEnemyDataIds": [
71224
],
"Fly": true,
"Land": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 2006920,
"Position": {
"X": 329.4879,
"Y": -45.487183,
"Z": -262.13477
},
"TerritoryId": 398,
"InteractionType": "Combat",
"EnemySpawnType": "AfterItemUse",
"ItemId": 2001961,
"KillEnemyDataIds": [
5548
],
"Fly": true,
"Land": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2006919,
"Position": {
"X": 535.45435,
"Y": -32.39496,
"Z": -410.60504
},
"TerritoryId": 398,
"InteractionType": "Combat",
"EnemySpawnType": "AfterItemUse",
"ItemId": 2001961,
"KillEnemyDataIds": [
71224
],
"Fly": true,
"Land": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 449.65012,
"Y": -51.141403,
"Z": 106.932205
},
"TerritoryId": 398,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather"
},
{
"DataId": 1011922,
"Position": {
"X": 448.56934,
"Y": -51.141407,
"Z": 108.93408
},
"TerritoryId": 398,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 59.511234,
"Y": -48,
"Z": -171.35385
},
"TerritoryId": 398,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true
},
{
"DataId": 1016803,
"Position": {
"X": 57.297607,
"Y": -47.842846,
"Z": -174.63953
},
"TerritoryId": 398,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,194 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1016802,
"Position": {
"X": 53.360718,
"Y": -48.000004,
"Z": -169.97028
},
"TerritoryId": 398,
"InteractionType": "AcceptQuest",
"Fly": true,
"Land": true,
"AetheryteShortcut": "The Dravanian Forelands - Anyx Trine",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1016841,
"Position": {
"X": 842.9846,
"Y": -8.926968,
"Z": 338.2467
},
"TerritoryId": 398,
"InteractionType": "Combat",
"Fly": true,
"Land": true,
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
5541
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1016841,
"Position": {
"X": 842.9846,
"Y": -8.926968,
"Z": 338.2467
},
"TerritoryId": 398,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 875.1023,
"Y": -3.6736863,
"Z": 355.24545
},
"TerritoryId": 398,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true
},
{
"DataId": 1016842,
"Position": {
"X": -791.9585,
"Y": 113.93191,
"Z": -624.59753
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true,
"Land": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1011907,
"Position": {
"X": -288.8686,
"Y": 127.06639,
"Z": 13.199036
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true,
"Land": true
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 2006877,
"Position": {
"X": -276.63086,
"Y": 122.27051,
"Z": -45.02942
},
"TerritoryId": 397,
"InteractionType": "UseItem",
"ItemId": 2001950
}
]
},
{
"Sequence": 6,
"Steps": [
{
"DataId": 1016890,
"Position": {
"X": -273.91473,
"Y": 122.361694,
"Z": -43.320435
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 7,
"Steps": [
{
"DataId": 1011928,
"Position": {
"X": 73.19751,
"Y": -49.19563,
"Z": -139.05548
},
"TerritoryId": 398,
"InteractionType": "Interact",
"Fly": true,
"Land": true,
"AetheryteShortcut": "The Dravanian Forelands - Anyx Trine"
}
]
},
{
"Sequence": 8,
"Steps": [
{
"DataId": 1016843,
"Position": {
"X": 103.16626,
"Y": -50.70595,
"Z": -184.31378
},
"TerritoryId": 398,
"InteractionType": "Interact",
"Fly": true,
"Land": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1016802,
"Position": {
"X": 53.360718,
"Y": -48.000004,
"Z": -169.97028
},
"TerritoryId": 398,
"InteractionType": "CompleteQuest",
"Fly": true,
"Land": true
}
]
}
]
}

View File

@ -0,0 +1,108 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"Position": {
"X": 215.65454,
"Y": 222.1,
"Z": 345.1806
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Land": true,
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"$": "Alberic"
},
{
"DataId": 1006748,
"Position": {
"X": 217.88354,
"Y": 222,
"Z": 345.3269
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013437,
"Position": {
"X": -580.5906,
"Y": 206.85785,
"Z": -407.64478
},
"TerritoryId": 155,
"InteractionType": "Combat",
"Land": true,
"Fly": true,
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
4478
],
"CompletionQuestVariablesFlags": [
1,
null,
null,
null,
null,
null
]
},
{
"DataId": 1013437,
"Position": {
"X": -580.5906,
"Y": 206.85785,
"Z": -407.64478
},
"TerritoryId": 155,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 215.65454,
"Y": 222.1,
"Z": 345.1806
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Land": true,
"Fly": true,
"$": "Alberic"
},
{
"DataId": 1006748,
"Position": {
"X": 217.88354,
"Y": 222,
"Z": 345.3269
},
"TerritoryId": 155,
"InteractionType": "CompleteQuest",
"NextQuestId": 1690
}
]
}
]
}

View File

@ -0,0 +1,112 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"Position": {
"X": 215.65454,
"Y": 222.1,
"Z": 345.1806
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Land": true,
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"$": "Alberic"
},
{
"DataId": 1006748,
"Position": {
"X": 217.88354,
"Y": 222,
"Z": 345.3269
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013441,
"Position": {
"X": 468.58923,
"Y": 166.28001,
"Z": 256.73303
},
"TerritoryId": 397,
"InteractionType": "Combat",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"Land": true,
"Fly": true,
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
4504
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1013441,
"Position": {
"X": 468.58923,
"Y": 166.28001,
"Z": 256.73303
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2006182,
"Position": {
"X": 197.40588,
"Y": 184.00854,
"Z": -102.80011
},
"TerritoryId": 397,
"InteractionType": "Combat",
"Land": true,
"Fly": true,
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
4486
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1013445,
"Position": {
"X": 202.19727,
"Y": 183.6595,
"Z": -96.11658
},
"TerritoryId": 397,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,81 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1013445,
"Position": {
"X": 202.19727,
"Y": 183.6595,
"Z": -96.11658
},
"TerritoryId": 397,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013448,
"Position": {
"X": 83.26843,
"Y": 23.979126,
"Z": 2.3345947
},
"TerritoryId": 418,
"InteractionType": "Interact",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Forgotten Knight"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 215.65454,
"Y": 222.1,
"Z": 345.1806
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Land": true,
"Fly": true,
"$": "Alberic"
},
{
"DataId": 1006748,
"Position": {
"X": 217.88354,
"Y": 222,
"Z": 345.3269
},
"TerritoryId": 155,
"InteractionType": "CompleteQuest",
"NextQuestId": 1690
}
]
}
]
}

View File

@ -0,0 +1,146 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"Position": {
"X": 215.65454,
"Y": 222.1,
"Z": 345.1806
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Land": true,
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"$": "Alberic"
},
{
"DataId": 1006748,
"Position": {
"X": 217.88354,
"Y": 222,
"Z": 345.3269
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013450,
"Position": {
"X": 84.30603,
"Y": 23.979128,
"Z": -12.802368
},
"TerritoryId": 418,
"InteractionType": "Interact",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Forgotten Knight"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1013456,
"Position": {
"X": 489.82983,
"Y": 164.7244,
"Z": 266.25464
},
"TerritoryId": 397,
"InteractionType": "SinglePlayerDuty",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"Land": true,
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1013457,
"Position": {
"X": 492.88147,
"Y": 164.6694,
"Z": 265.06445
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1013464,
"Position": {
"X": 133.47058,
"Y": 24.400866,
"Z": -6.149414
},
"TerritoryId": 418,
"InteractionType": "Interact",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Forgotten Knight"
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 215.65454,
"Y": 222.1,
"Z": 345.1806
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Land": true,
"Fly": true,
"$": "Alberic"
},
{
"DataId": 1006748,
"Position": {
"X": 217.88354,
"Y": 222,
"Z": 345.3269
},
"TerritoryId": 155,
"InteractionType": "CompleteQuest",
"NextQuestId": 1690
}
]
}
]
}

View File

@ -0,0 +1,165 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"Position": {
"X": 215.65454,
"Y": 222.1,
"Z": 345.1806
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Land": true,
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"$": "Alberic"
},
{
"DataId": 1006748,
"Position": {
"X": 217.88354,
"Y": 222,
"Z": 345.3269
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -48.009445,
"Y": 98.00955,
"Z": 106.47891
},
"TerritoryId": 397,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"Fly": true,
"Land": true
},
{
"DataId": 1013467,
"Position": {
"X": -51.10254,
"Y": 98.63026,
"Z": 105.1499
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1013466,
"Position": {
"X": -155.5047,
"Y": 175.79733,
"Z": 693.26306
},
"TerritoryId": 397,
"InteractionType": "Combat",
"Fly": true,
"Land": true,
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
4482,
5049
],
"CompletionQuestVariablesFlags": [
2,
null,
null,
null,
null,
null
]
},
{
"DataId": 1013466,
"Position": {
"X": -155.5047,
"Y": 175.79733,
"Z": 693.26306
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1012163,
"Position": {
"X": 128.25195,
"Y": 24.458832,
"Z": -0.6867676
},
"TerritoryId": 418,
"InteractionType": "Interact",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Forgotten Knight"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 215.65454,
"Y": 222.1,
"Z": 345.1806
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Land": true,
"Fly": true
},
{
"DataId": 1013470,
"Position": {
"X": 218.00562,
"Y": 222,
"Z": 346.45605
},
"TerritoryId": 155,
"InteractionType": "CompleteQuest",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_JOBDRG560_01693_Q1_000_000",
"Answer": "TEXT_JOBDRG560_01693_A1_000_002"
}
]
}
]
}
]
}

View File

@ -0,0 +1,141 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"Position": {
"X": 215.65454,
"Y": 222.1,
"Z": 345.1806
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Land": true,
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"$": "Alberic"
},
{
"DataId": 1006748,
"Position": {
"X": 217.88354,
"Y": 222,
"Z": 345.3269
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013471,
"Position": {
"X": 503.53247,
"Y": -51.363117,
"Z": 79.941895
},
"TerritoryId": 398,
"InteractionType": "Interact",
"Fly": true,
"Land": true,
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1013472,
"Position": {
"X": 396.35315,
"Y": -50.87535,
"Z": 73.04492
},
"TerritoryId": 398,
"InteractionType": "Combat",
"Fly": true,
"Land": true,
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
4497
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1013471,
"Position": {
"X": 503.53247,
"Y": -51.363117,
"Z": 79.941895
},
"TerritoryId": 398,
"InteractionType": "Interact",
"Fly": true,
"Land": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1013476,
"Position": {
"X": 571.5571,
"Y": -36.290947,
"Z": 359.3651
},
"TerritoryId": 398,
"InteractionType": "Interact",
"Fly": true,
"Land": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 215.65454,
"Y": 222.1,
"Z": 345.1806
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Land": true,
"Fly": true,
"$": "Alberic"
},
{
"DataId": 1006748,
"Position": {
"X": 217.88354,
"Y": 222,
"Z": 345.3269
},
"TerritoryId": 155,
"InteractionType": "CompleteQuest",
"NextQuestId": 1690
}
]
}
]
}

View File

@ -0,0 +1,123 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"Position": {
"X": 215.65454,
"Y": 222.1,
"Z": 345.1806
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Land": true,
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"$": "Alberic"
},
{
"DataId": 1006748,
"Position": {
"X": 217.88354,
"Y": 222,
"Z": 345.3269
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1013483,
"Position": {
"X": -272.26672,
"Y": 124.213005,
"Z": -23.361572
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true,
"Land": true,
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1013485,
"Position": {
"X": -360.1892,
"Y": 101.91492,
"Z": -178.79004
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true,
"Land": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1013489,
"Position": {
"X": -429.099,
"Y": 121.59912,
"Z": -309.49878
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true,
"Land": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1013494,
"Position": {
"X": -505.30255,
"Y": 120.61159,
"Z": -311.39087
},
"TerritoryId": 397,
"InteractionType": "SinglePlayerDuty",
"Fly": true,
"Land": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1013494,
"Position": {
"X": -505.30255,
"Y": 120.61159,
"Z": -311.39087
},
"TerritoryId": 397,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,149 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "goatzone",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1006747,
"Position": {
"X": -20.828613,
"Y": 29.999964,
"Z": -2.4262085
},
"TerritoryId": 131,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] The Chamber of Rule"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [131]
},
"AethernetShortcutIf": { "InSameTerritory": true }
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1014046,
"Position": {
"X": 38.223755,
"Y": 5.000002,
"Z": 404.28784
},
"TerritoryId": 147,
"InteractionType": "Interact",
"AetheryteShortcut": "Northern Thanalan - Camp Bluefog",
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
}
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1014121,
"Position": {
"X": 47.104614,
"Y": 14.24741,
"Z": 197.92468
},
"TerritoryId": 147,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2005978,
"Position": {
"X": 1.5715942,
"Y": 21.316772,
"Z": 181.8722
},
"TerritoryId": 147,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [4686]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1014121,
"Position": {
"X": 47.104614,
"Y": 14.24741,
"Z": 197.92468
},
"TerritoryId": 147,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1006747,
"Position": {
"X": -20.828613,
"Y": 29.999964,
"Z": -2.4262085
},
"TerritoryId": 131,
"InteractionType": "Interact",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] The Chamber of Rule"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [131]
},
"AethernetShortcutIf": { "InSameTerritory": true }
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1003995,
"Position": {
"X": 75.33374,
"Y": 2.135708,
"Z": 316.33472
},
"TerritoryId": 141,
"InteractionType": "CompleteQuest",
"Fly": true,
"AethernetShortcut": [
"[Ul'dah] The Chamber of Rule",
"[Ul'dah] Gate of Thal (Central Thanalan)"
],
"$": "nald and thal are approx. the same distance but coming from nald requires an extra walkto because it tries and fails to land on the ledge",
"NextQuestId": 2033
}
]
}
]
}

View File

@ -0,0 +1,150 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "goatzone",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1003995,
"Position": {
"X": 75.33374,
"Y": 2.135708,
"Z": 316.33472
},
"TerritoryId": 141,
"InteractionType": "AcceptQuest",
"Fly": true,
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Gate of Thal (Central Thanalan)"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [141]
},
"AethernetShortcutIf": { "InSameTerritory": true }
},
"$":"you could swap this shortcut out for black brush station, just figured it worked once."
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1011237,
"Position": {
"X": 447.3181,
"Y": 212.53984,
"Z": 725.00183
},
"TerritoryId": 397,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
},
"CompletionQuestVariablesFlags": [null, null, null, null, null, 32],
"$": "0 0 0 0 0 0 -> 1 0 0 0 0 32"
},
{
"DataId": 1011233,
"Position": {
"X": 518.9136,
"Y": 217.95152,
"Z": 769.9243
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [null, null, null, null, null, 128],
"$": "1 0 0 0 0 32 -> 2 0 0 0 0 160"
},
{
"DataId": 1011235,
"Position": {
"X": 522.54517,
"Y": 228.3512,
"Z": 723.5675
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [null, null, null, null, null, 64],
"$": "if done as second step, 1 0 0 0 0 32 -> 2 0 0 0 0 96"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1014052,
"Position": {
"X": 458.12158,
"Y": 200.23763,
"Z": 658.0757
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 50.883884,
"Y": 124.41451,
"Z": 174.64914
},
"TerritoryId": 397,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"Fly": true,
"KillEnemyDataIds": [5043, 4619],
"CompletionQuestVariablesFlags": [
{ "Low": 3 },
null,
null,
null,
null,
null
]
},
{
"DataId": 1014053,
"Position": {
"X": 48.966187,
"Y": 124.34676,
"Z": 175.73816
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1014054,
"Position": {
"X": 509.17822,
"Y": 212.5399,
"Z": 695.796
},
"TerritoryId": 397,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"NextQuestId": 2034
}
]
}
]
}

View File

@ -0,0 +1,194 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "goatzone",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1014054,
"Position": {
"X": 509.17822,
"Y": 212.5399,
"Z": 695.796
},
"TerritoryId": 397,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1014055,
"Position": {
"X": 173.69336,
"Y": 133.38922,
"Z": -413.47375
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2005983,
"Position": {
"X": 108.07959,
"Y": 129.41174,
"Z": -403.52484
},
"TerritoryId": 397,
"InteractionType": "Interact"
},
{
"DataId": 2005980,
"Position": {
"X": 64.68298,
"Y": 128.61829,
"Z": -397.42126
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1014055,
"Position": {
"X": 173.69336,
"Y": 133.38922,
"Z": -413.47375
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 2005981,
"Position": {
"X": 15.487854,
"Y": 106.09595,
"Z": -419.30273
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 2005982,
"Position": {
"X": -4.6845703,
"Y": 94.13281,
"Z": -506.15704
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 6,
"Steps": [
{
"Position": {
"X": -134.89986,
"Y": 88.67885,
"Z": -576.3159
},
"TerritoryId": 397,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"Fly": true,
"KillEnemyDataIds": [4360, 4619],
"CompletionQuestVariablesFlags": [
{ "Low": 3 },
null,
null,
null,
null,
null
]
},
{
"DataId": 1014058,
"Position": {
"X": -138.35364,
"Y": 88.59643,
"Z": -577.0504
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 7,
"Steps": [
{
"DataId": 1014059,
"Position": {
"X": -788.02167,
"Y": 113.151276,
"Z": -589.807
},
"TerritoryId": 397,
"InteractionType": "SinglePlayerDuty",
"Fly": true
}
]
},
{
"Sequence": 8,
"Steps": [
{
"DataId": 1014064,
"Position": {
"X": -788.02167,
"Y": 113.151276,
"Z": -589.807
},
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1014065,
"Position": {
"X": 509.17822,
"Y": 212.5399,
"Z": 695.796
},
"TerritoryId": 397,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"NextQuestId": 2035
}
]
}
]
}

View File

@ -0,0 +1,91 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "goatzone",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1014065,
"Position": {
"X": 509.17822,
"Y": 212.5399,
"Z": 695.796
},
"TerritoryId": 397,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1011922,
"Position": {
"X": 448.56934,
"Y": -51.141407,
"Z": 108.93408
},
"TerritoryId": 398,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1014067,
"Position": {
"X": 451.34656,
"Y": -24.978418,
"Z": -496.39127
},
"TerritoryId": 398,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2005986,
"Position": {
"X": 507.86584,
"Y": -21.927307,
"Z": -524.4374
},
"TerritoryId": 398,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1014068,
"Position": {
"X": 51.132935,
"Y": 124.95631,
"Z": 178.69836
},
"TerritoryId": 397,
"InteractionType": "CompleteQuest",
"Fly": true,
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"SkipConditions": {
"AetheryteShortcutIf": { "InSameTerritory": true }
},
"NextQuestId": 2036
}
]
}
]
}

View File

@ -0,0 +1,170 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "goatzone",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1014068,
"Position": {
"X": 51.132935,
"Y": 124.95631,
"Z": 178.69836
},
"TerritoryId": 397,
"InteractionType": "AcceptQuest",
"Fly": true,
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1014069,
"Position": {
"X": 460.5935,
"Y": 200.23763,
"Z": 658.56396
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1011233,
"Position": {
"X": 518.9136,
"Y": 217.95152,
"Z": 769.9243
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1014073,
"Position": {
"X": -693.8125,
"Y": -109.83532,
"Z": 490.95898
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "The Sea of Clouds - Camp Cloudtop"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1014075,
"Position": {
"X": -272.17517,
"Y": -184.2003,
"Z": 736.0493
},
"TerritoryId": 401,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 5,
"Steps": [
{
"Position": {
"X": -43.012157,
"Y": -176.80112,
"Z": 753.7885
},
"TerritoryId": 401,
"InteractionType": "Combat",
"Fly": true,
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [5048, 5049]
}
]
},
{
"Sequence": 6,
"Steps": [
{
"Position": {
"X": 207.48586,
"Y": -176.39336,
"Z": 721.5167
},
"TerritoryId": 401,
"InteractionType": "Combat",
"Fly": true,
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [4687, 4688]
}
]
},
{
"Sequence": 7,
"Steps": [
{
"DataId": 1014088,
"Position": {
"X": 200.42712,
"Y": -176.62952,
"Z": 737.0565
},
"TerritoryId": 401,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 8,
"Steps": [
{
"DataId": 1014089,
"Position": {
"X": 205.98145,
"Y": -176.69763,
"Z": 739.52844
},
"TerritoryId": 401,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1015055,
"Position": {
"X": 509.17822,
"Y": 212.5399,
"Z": 695.796
},
"TerritoryId": 397,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"NextQuestId": 2037
}
]
}
]
}

View File

@ -0,0 +1,135 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "goatzone",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1014092,
"Position": {
"X": 509.17822,
"Y": 212.5399,
"Z": 695.796
},
"TerritoryId": 397,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1014094,
"Position": {
"X": 457.51123,
"Y": 200.23764,
"Z": 660.8834
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2005990,
"Position": {
"X": 51.865356,
"Y": 125.26123,
"Z": 179.85803
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1014096,
"Position": {
"X": 458.64026,
"Y": 200.23764,
"Z": 659.7848
},
"TerritoryId": 397,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1014097,
"Position": {
"X": 452.90295,
"Y": 130.79962,
"Z": -850.1869
},
"TerritoryId": 397,
"InteractionType": "Interact",
"Fly": true,
"$": "it might be faster to shortcut to ok' zundu and fly to the adjoiner? this is simpler; smacks into the North Star but doesn't get stuck."
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1014099,
"Position": {
"X": 457.20605,
"Y": 130.79962,
"Z": -848.6
},
"TerritoryId": 397,
"InteractionType": "SinglePlayerDuty"
}
]
},
{
"Sequence": 6,
"Steps": [
{
"DataId": 1014102,
"Position": {
"X": 454.5204,
"Y": 130.79962,
"Z": -850.2479
},
"StopDistance": 5,
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1014103,
"Position": {
"X": 509.17822,
"Y": 212.5399,
"Z": 695.796
},
"TerritoryId": 397,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest"
}
]
}
]
}

View File

@ -0,0 +1,100 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "UcanPatates",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1012133,
"Position": {
"X": -26.840637,
"Y": 206.49944,
"Z": 28.67163
},
"TerritoryId": 478,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Idyllshire",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
478
]
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 148.23425,
"Y": 207,
"Z": 119.497574
},
"TerritoryId": 478,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Idyllshire",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
399
]
},
"StepIf": {
"InTerritory": [
399
]
}
}
},
{
"DataId": 1018367,
"Position": {
"X": 302.11328,
"Y": 232.54102,
"Z": 767.14734
},
"TerritoryId": 399,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"TerritoryId": 399,
"InteractionType": "Duty",
"ContentFinderConditionId": 196
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1012133,
"Position": {
"X": -26.840637,
"Y": 206.49944,
"Z": 28.67163
},
"TerritoryId": 478,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Idyllshire",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
}
]
}

View File

@ -0,0 +1,146 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "plogon_enjoyer",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1024217,
"Position": {
"X": 394.39978,
"Y": -119.58932,
"Z": -232.28815
},
"TerritoryId": 613,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1024538,
"Position": {
"X": 703.7003,
"Y": 0.73878324,
"Z": -26.077698
},
"TerritoryId": 613,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2009241,
"Position": {
"X": 532.6465,
"Y": 0.99176025,
"Z": -201.2818
},
"TerritoryId": 613,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [8234],
"Fly": true,
"RequiredQuestVariables": [null, null, [34], null, null, null]
},
{
"DataId": 8234,
"Position": {
"X": 534.78296,
"Y": 1,
"Z": -193.164
},
"TerritoryId": 613,
"InteractionType": "UseItem",
"ItemId": 2002398,
"RequiredQuestVariables": [null, null, [34], null, null, null]
},
{
"DataId": 2009240,
"Position": {
"X": 620.2334,
"Y": 0.10675049,
"Z": -315.9076
},
"TerritoryId": 613,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [8233],
"Fly": true,
"RequiredQuestVariables": [null, null, [18, 35], null, null, null]
},
{
"DataId": 8233,
"Position": {
"X": 616.9984,
"Y": 0.04129504,
"Z": -318.1964
},
"TerritoryId": 613,
"InteractionType": "UseItem",
"ItemId": 2002398,
"RequiredQuestVariables": [null, null, [18, 35], null, null, null]
},
{
"DataId": 2009239,
"Position": {
"X": 762.9358,
"Y": 0.44250488,
"Z": -286.7323
},
"TerritoryId": 613,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [8232],
"Fly": true,
"RequiredQuestVariables": [null, null, [19], null, null, null]
},
{
"DataId": 8232,
"Position": {
"X": 760.98267,
"Y": 0.36481446,
"Z": -290.0893
},
"TerritoryId": 613,
"InteractionType": "UseItem",
"ItemId": 2002398,
"RequiredQuestVariables": [null, null, [19], null, null, null]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 391.50903,
"Y": -119.58932,
"Z": -236.18898
},
"TerritoryId": 613,
"InteractionType": "WalkTo",
"Fly": true,
"AetheryteShortcut": "Ruby Sea - Tamamizu"
},
{
"DataId": 1024217,
"Position": {
"X": 394.39978,
"Y": -119.58932,
"Z": -232.28815
},
"TerritoryId": 613,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,206 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "plogon_enjoyer",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1024217,
"Position": {
"X": 394.39978,
"Y": -119.58932,
"Z": -232.28815
},
"TerritoryId": 613,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 291.9449,
"Y": -62.62814,
"Z": -214.1033
},
"TerritoryId": 613,
"InteractionType": "WalkTo",
"Fly": true,
"RestartNavigationIfCancelled": false
},
{
"DataId": 2009094,
"Position": {
"X": 211.078,
"Y": -135.14917,
"Z": 56.168457
},
"TerritoryId": 613,
"InteractionType": "Interact",
"Fly": true,
"RequiredQuestVariables": [
null,
[1, 3, 5, 6, 7, 8],
null,
null,
null,
null
]
},
{
"DataId": 2009095,
"Position": {
"X": 163.0426,
"Y": -148.05829,
"Z": 72.28198
},
"TerritoryId": 613,
"InteractionType": "Interact",
"Fly": true,
"RequiredQuestVariables": [null, [2, 9, 21], null, null, null, null]
},
{
"DataId": 2009096,
"Position": {
"X": 134.23352,
"Y": -161.21161,
"Z": 70.450806
},
"TerritoryId": 613,
"InteractionType": "Interact",
"Fly": true,
"RequiredQuestVariables": [null, [24, 37], null, null, null, null]
},
{
"DataId": 2009080,
"Position": {
"X": 196.27673,
"Y": -146.685,
"Z": 40.45166
},
"TerritoryId": 613,
"InteractionType": "Interact",
"Fly": true,
"RequiredQuestVariables": [null, [4, 19], null, null, null, null]
},
{
"DataId": 2009081,
"Position": {
"X": 151.56775,
"Y": -168.1087,
"Z": 49.454468
},
"TerritoryId": 613,
"InteractionType": "Interact",
"Fly": true,
"RequiredQuestVariables": [null, [22, 23, 40], null, null, null, null]
},
{
"DataId": 2009082,
"Position": {
"X": 141.86316,
"Y": -170.30597,
"Z": 96.75745
},
"TerritoryId": 613,
"InteractionType": "Interact",
"Fly": true,
"RequiredQuestVariables": [
null,
[18, 17, 20, 35, 38],
null,
null,
null,
null
]
},
{
"DataId": 2009083,
"Position": {
"X": 165.08728,
"Y": -143.54169,
"Z": 116.227905
},
"TerritoryId": 613,
"InteractionType": "Interact",
"Fly": true,
"RequiredQuestVariables": [
null,
[25, 33, 36, 39],
null,
null,
null,
null
]
},
{
"DataId": 2009084,
"Position": {
"X": 173.81543,
"Y": -167.3457,
"Z": 114.61047
},
"TerritoryId": 613,
"InteractionType": "Interact",
"Fly": true,
"RequiredQuestVariables": [null, [34, 41], null, null, null, null]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 804.21405,
"Y": 1.4000988,
"Z": 720.92487
},
"TerritoryId": 613,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1024460,
"Position": {
"X": 873.9298,
"Y": 1.1792068,
"Z": 851.9568
},
"TerritoryId": 613,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 392.59683,
"Y": -119.589325,
"Z": -234.30063
},
"TerritoryId": 613,
"InteractionType": "WalkTo",
"Fly": true,
"AetheryteShortcut": "Ruby Sea - Tamamizu"
},
{
"DataId": 1024217,
"Position": {
"X": 394.39978,
"Y": -119.58932,
"Z": -232.28815
},
"TerritoryId": 613,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,141 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1014577,
"Position": {
"X": -154.31458,
"Y": 16.999992,
"Z": -53.3609
},
"TerritoryId": 418,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] Skysteel Manufactory"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1022146,
"Position": {
"X": 56.321045,
"Y": 207.33994,
"Z": -31.937195
},
"TerritoryId": 478,
"InteractionType": "Interact",
"AetheryteShortcut": "Idyllshire"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1017656,
"Position": {
"X": 70.7561,
"Y": 207.28993,
"Z": 0.59503174
},
"TerritoryId": 478,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 1013721,
"Position": {
"X": 17.380005,
"Y": 205.38686,
"Z": 37.491333
},
"TerritoryId": 478,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 1012133,
"Position": {
"X": -26.840637,
"Y": 206.49944,
"Z": 28.67163
},
"TerritoryId": 478,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1022148,
"Position": {
"X": -78.965515,
"Y": 206.50021,
"Z": 23.575134
},
"TerritoryId": 478,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1012251,
"Position": {
"X": 12.313965,
"Y": -12.020877,
"Z": 40.268433
},
"TerritoryId": 418,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Brume"
]
}
]
}
]
}

View File

@ -0,0 +1,145 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1012251,
"Position": {
"X": 12.313965,
"Y": -12.020877,
"Z": 40.268433
},
"TerritoryId": 418,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Brume"
],
"SkipConditions": {
"AethernetShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1022151,
"Position": {
"X": 115.098755,
"Y": 24.398598,
"Z": 2.822876
},
"TerritoryId": 418,
"InteractionType": "Interact",
"AethernetShortcut": [
"[Ishgard] The Brume",
"[Ishgard] The Forgotten Knight"
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1022152,
"Position": {
"X": 3.9215698,
"Y": 27.790508,
"Z": -150.83551
},
"TerritoryId": 419,
"InteractionType": "Interact",
"AethernetShortcut": [
"[Ishgard] The Forgotten Knight",
"[Ishgard] Saint Reymanaud's Cathedral"
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1014577,
"Position": {
"X": -154.31458,
"Y": 16.999992,
"Z": -53.3609
},
"TerritoryId": 418,
"InteractionType": "Interact",
"AethernetShortcut": [
"[Ishgard] Saint Reymanaud's Cathedral",
"[Ishgard] Skysteel Manufactory"
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": 660.36426,
"Y": 202.54167,
"Z": -180.60214
},
"StopDistance": 1,
"TerritoryId": 397,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
7486
],
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
"Fly": true
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1022153,
"Position": {
"X": 662.95874,
"Y": 202.59106,
"Z": -177.14203
},
"StopDistance": 7,
"TerritoryId": 397,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1012251,
"Position": {
"X": 12.313965,
"Y": -12.020877,
"Z": 40.268433
},
"TerritoryId": 418,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Brume"
]
}
]
}
]
}

View File

@ -0,0 +1,127 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "UcanPatates",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1012251,
"Position": {
"X": 12.313965,
"Y": -12.020877,
"Z": 40.268433
},
"TerritoryId": 418,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Brume"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1022157,
"Position": {
"X": -323.9643,
"Y": 239.9684,
"Z": 372.91516
},
"TerritoryId": 155,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1022163,
"Position": {
"X": -395.95636,
"Y": 240.14958,
"Z": 340.59656
},
"TerritoryId": 155,
"InteractionType": "SinglePlayerDuty",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 3,
"Steps": [
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1022167,
"Position": {
"X": -385.36664,
"Y": 232.23338,
"Z": 314.65625
},
"StopDistance": 5,
"TerritoryId": 155,
"InteractionType": "Interact",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1012251,
"Position": {
"X": 12.313965,
"Y": -12.020877,
"Z": 40.268433
},
"TerritoryId": 418,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Brume"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
}
]
}

View File

@ -0,0 +1,184 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "UcanPatates",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1012251,
"Position": {
"X": 12.313965,
"Y": -12.020877,
"Z": 40.268433
},
"TerritoryId": 418,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Brume"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1022169,
"Position": {
"X": -58.854065,
"Y": 20.000334,
"Z": 42.83203
},
"TerritoryId": 129,
"InteractionType": "Interact",
"AetheryteShortcut": "Limsa Lominsa",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1022170,
"Position": {
"X": -172.6253,
"Y": 41.10136,
"Z": 175.89062
},
"TerritoryId": 128,
"InteractionType": "Interact",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] The Aftcastle"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
128
]
},
"AethernetShortcutIf": {
"InSameTerritory": true
}
},
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_JOBMCH680_02908_Q1_000_000",
"Answer": "TEXT_JOBMCH680_02908_A1_000_001"
}
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1022173,
"Position": {
"X": 356.5575,
"Y": 351.0862,
"Z": -545.2201
},
"TerritoryId": 155,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Fly": true,
"ComplexCombatData": [
{
"DataId": 7487,
"MinimumKillCount": 2
}
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1022173,
"Position": {
"X": 356.5575,
"Y": 351.0862,
"Z": -545.2201
},
"TerritoryId": 155,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1022151,
"Position": {
"X": 115.098755,
"Y": 24.398598,
"Z": 2.822876
},
"TerritoryId": 418,
"InteractionType": "Interact",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Forgotten Knight"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1012251,
"Position": {
"X": 12.313965,
"Y": -12.020877,
"Z": 40.268433
},
"TerritoryId": 418,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] The Forgotten Knight",
"[Ishgard] The Brume"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
}
]
}

View File

@ -0,0 +1,102 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "UcanPatates",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1012251,
"Position": {
"X": 12.313965,
"Y": -12.020877,
"Z": 40.268433
},
"TerritoryId": 418,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ishgard",
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Brume"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1014577,
"Position": {
"X": -154.31458,
"Y": 16.999992,
"Z": -53.3609
},
"TerritoryId": 418,
"InteractionType": "Interact",
"AetheryteShortcut": "Ishgard",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"AethernetShortcut": [
"[Ishgard] Aetheryte Plaza",
"[Ishgard] Skysteel Manufactory"
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1012251,
"Position": {
"X": 12.313965,
"Y": -12.020877,
"Z": 40.268433
},
"TerritoryId": 418,
"InteractionType": "SinglePlayerDuty",
"AetheryteShortcut": "Ishgard",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"AethernetShortcut": [
"[Ishgard] Skysteel Manufactory",
"[Ishgard] Aetheryte Plaza"
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1012251,
"Position": {
"X": 12.313965,
"Y": -12.020877,
"Z": 40.268433
},
"TerritoryId": 418,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ishgard",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
}
]
}

View File

@ -0,0 +1,359 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1036043,
"Position": {
"X": 653.8948,
"Y": 297.51984,
"Z": -171.80133
},
"TerritoryId": 814,
"InteractionType": "AcceptQuest",
"Fly": true,
"AetheryteShortcut": "Kholusia - Stilltide",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_LUCKTA522_04051_Q1_000_000",
"Answer": "TEXT_LUCKTA522_04051_A1_000_001"
}
]
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2011154,
"Position": {
"X": 703.1509,
"Y": 295.3993,
"Z": -160.20447
},
"TerritoryId": 814,
"InteractionType": "Interact",
"TargetTerritoryId": 928,
"SkipConditions": {
"StepIf": {
"InTerritory": [
928
]
}
}
},
{
"Position": {
"X": -352.89597,
"Y": 106.840775,
"Z": 337.33798
},
"TerritoryId": 928,
"InteractionType": "WalkTo",
"RestartNavigationIfCancelled": false
},
{
"TerritoryId": 928,
"InteractionType": "None",
"DelaySecondsAtStart": 3
},
{
"Position": {
"X": -271.62762,
"Y": 69.97228,
"Z": 273.0655
},
"TerritoryId": 928,
"InteractionType": "WalkTo",
"RestartNavigationIfCancelled": false
},
{
"TerritoryId": 928,
"InteractionType": "None",
"DelaySecondsAtStart": 2
},
{
"Position": {
"X": -234.40671,
"Y": 30,
"Z": 168.78214
},
"TerritoryId": 928,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": -237.90593,
"Y": 36.4109,
"Z": 107.25123
},
"TerritoryId": 928,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": -264.81836,
"Y": 20.597822,
"Z": 72.87652
},
"TerritoryId": 928,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{
"Position": {
"X": -246.3392,
"Y": 2.727209,
"Z": 47.629112
},
"TerritoryId": 928,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{
"DataId": 2011477,
"Position": {
"X": -233.6004,
"Y": 2.5177002,
"Z": 49.637573
},
"TerritoryId": 928,
"InteractionType": "Interact",
"DisableNavmesh": true,
"RequiredQuestVariables": [
null,
null,
null,
[
1
],
null,
null
],
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"Position": {
"X": -246.3392,
"Y": 2.727209,
"Z": 47.629112
},
"TerritoryId": 928,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{
"Position": {
"X": -233.77907,
"Y": -3.860001,
"Z": 31.767477
},
"TerritoryId": 928,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{
"DataId": 2011234,
"Position": {
"X": -230.12134,
"Y": -2.609314,
"Z": 11.612061
},
"TerritoryId": 928,
"InteractionType": "Interact",
"TargetTerritoryId": 928
},
{
"Position": {
"X": -229.71193,
"Y": -115.06235,
"Z": -115.379684
},
"TerritoryId": 928,
"InteractionType": "WalkTo",
"RestartNavigationIfCancelled": false
},
{
"TerritoryId": 928,
"InteractionType": "None",
"DelaySecondsAtStart": 2
},
{
"Position": {
"X": -229.93883,
"Y": -150.49908,
"Z": -219.08035
},
"TerritoryId": 928,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": -229.96237,
"Y": -168.28922,
"Z": -329.79776
},
"TerritoryId": 928,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{
"Position": {
"X": -237.64621,
"Y": -168.16484,
"Z": -336.7267
},
"TerritoryId": 928,
"InteractionType": "WalkTo",
"RestartNavigationIfCancelled": false,
"DelaySecondsAtStart": 2
},
{
"TerritoryId": 928,
"InteractionType": "None",
"DelaySecondsAtStart": 2
},
{
"DataId": 2011458,
"Position": {
"X": -295.1858,
"Y": -203.93689,
"Z": -329.36603
},
"TerritoryId": 928,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"Position": {
"X": -305.8408,
"Y": -204.6433,
"Z": -336.8385
},
"TerritoryId": 928,
"InteractionType": "WalkTo",
"RestartNavigationIfCancelled": false,
"DelaySecondsAtStart": 2,
"RequiredQuestVariables": [
null,
null,
null,
[2],
null,
null
]
},
{
"TerritoryId": 928,
"InteractionType": "None",
"DelaySecondsAtStart": 2
},
{
"Position": {
"X": -366.50647,
"Y": -241.32147,
"Z": -311.57397
},
"StopDistance": 0.5,
"TerritoryId": 928,
"InteractionType": "Jump",
"JumpDestination": {
"DataId": 2011269,
"Position": {
"X": -366.558,
"Y": -249.74661,
"Z": -301.74612
}
},
"DelaySecondsAtStart": 2,
"RequiredQuestVariables": [
null,
null,
null,
[2],
null,
null
]
},
{
"DataId": 2011269,
"Position": {
"X": -366.50647,
"Y": -248.43219,
"Z": -285.6947
},
"TerritoryId": 928,
"InteractionType": "Interact",
"TargetTerritoryId": 928,
"RequiredQuestVariables": [
null,
null,
null,
[2],
null,
null
]
},
{
"DataId": 2011459,
"Position": {
"X": 205.8899,
"Y": -500.0229,
"Z": -167.86456
},
"TerritoryId": 928,
"InteractionType": "Interact",
"RequiredQuestVariables": [
null,
null,
null,
[2],
null,
null
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1036043,
"Position": {
"X": 653.8948,
"Y": 297.51984,
"Z": -171.80133
},
"TerritoryId": 814,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Kholusia - Stilltide",
"Fly": true
}
]
}
]
}

View File

@ -1,7 +1,6 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
@ -13,7 +12,8 @@
"Z": -273.68756
},
"TerritoryId": 959,
"InteractionType": "WalkTo"
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1044403,
@ -30,6 +30,38 @@
{
"Sequence": 1,
"Steps": [
{
"DataId": 1044412,
"Position": {
"X": -181.56714,
"Y": -49.19972,
"Z": -304.76843
},
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"TerritoryId": 959,
"InteractionType": "Craft",
"ItemId": 38871,
"ItemCount": 1
},
{
"DataId": 1044584,
"Position": {
"X": 563.8971,
"Y": -167.50002,
"Z": -594.53723
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
@ -42,7 +74,8 @@
"Z": -273.68756
},
"TerritoryId": 959,
"InteractionType": "WalkTo"
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1044403,

View File

@ -1,7 +1,6 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
@ -30,6 +29,51 @@
{
"Sequence": 1,
"Steps": [
{
"DataId": 1044571,
"Position": {
"X": 20.09607,
"Y": 64.97662,
"Z": 43.411865
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1044571,
"Position": {
"X": 20.09607,
"Y": 64.97662,
"Z": 43.411865
},
"TerritoryId": 959,
"InteractionType": "UseItem",
"ItemId": 2003449,
"GroundTarget": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1044571,
"Position": {
"X": 20.09607,
"Y": 64.97662,
"Z": 43.411865
},
"TerritoryId": 959,
"InteractionType": "UseItem",
"ItemId": 2003449,
"GroundTarget": true
}
]
},
{
@ -42,7 +86,9 @@
"Z": -273.68756
},
"TerritoryId": 959,
"InteractionType": "WalkTo"
"InteractionType": "WalkTo",
"AetheryteShortcut": "Mare Lamentorum - Bestways Burrow",
"Fly": true
},
{
"DataId": 1044403,

View File

@ -0,0 +1,179 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "AnimaMachinae",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1044402,
"Position": {
"X": -193.89642,
"Y": -49.19972,
"Z": -262.13477
},
"TerritoryId": 959,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2013281,
"Position": {
"X": -330.19,
"Y": 105.1499,
"Z": 554.5586
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "Mare Lamentorum - Sinus Lacrimarum"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1044942,
"Position": {
"X": -331.838,
"Y": 105.39431,
"Z": 551.2322
},
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1044931,
"Position": {
"X": 148.30237,
"Y": -49.589592,
"Z": -361.77618
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "Mare Lamentorum - Bestways Burrow"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1044402,
"Position": {
"X": -193.89642,
"Y": -49.19972,
"Z": -262.13477
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1044944,
"Position": {
"X": -463.55383,
"Y": -157.99237,
"Z": -513.3593
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "Mare Lamentorum - Bestways Burrow",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 1044945,
"Position": {
"X": -540.1236,
"Y": -167.8502,
"Z": -620.63025
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 1044943,
"Position": {
"X": -414.54187,
"Y": -158.1177,
"Z": -639.9481
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 6,
"Steps": [
{
"DataId": 1044947,
"Position": {
"X": -145.70844,
"Y": -49.19972,
"Z": -271.5343
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "Mare Lamentorum - Bestways Burrow"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"TerritoryId": 959,
"InteractionType": "Craft",
"ItemId": 38849,
"ItemCount": 1
},
{
"DataId": 1044947,
"Position": {
"X": -145.70844,
"Y": -49.19972,
"Z": -271.5343
},
"TerritoryId": 959,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -48,6 +48,31 @@
}
]
},
{
"DataId": 2013072,
"Position": {
"X": 456.65674,
"Y": 438.04077,
"Z": 310.2312
},
"TerritoryId": 960,
"InteractionType": "Interact",
"AetheryteShortcut": "Ultima Thule - Base Omicron",
"TargetTerritoryId": 960,
"$": "Portal to A-4 Research"
},
{
"DataId": 1043865,
"Position": {
"X": 301.8081,
"Y": 482.13644,
"Z": 165.02625
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 960,
"$": "Last Dregs Host Unit"
},
{
"DataId": 1043936,
"Position": {
@ -56,15 +81,25 @@
"Z": 250.93457
},
"TerritoryId": 960,
"InteractionType": "Interact",
"AetheryteShortcut": "Ultima Thule - Base Omicron",
"Mount": true
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043864,
"Position": {
"X": 244.83093,
"Y": 564.8203,
"Z": 261.76843
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 960,
"$": "A-4 Transport Unit"
},
{
"DataId": 1043417,
"Position": {

View File

@ -110,18 +110,19 @@
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -443.62042,
"Y": -160.7644,
"Z": -644.7719
}
"X": -444.56757,
"Y": -160.76439,
"Z": -644.749
},
"DelaySeconds": 0.7
},
"Comment": "Platform 4"
},
{
"Position": {
"X": -443.62042,
"Y": -160.7644,
"Z": -644.7719
"X": -444.56757,
"Y": -160.76439,
"Z": -644.749
},
"TerritoryId": 959,
"InteractionType": "Jump",

View File

@ -29,7 +29,12 @@
},
"TerritoryId": 959,
"InteractionType": "WalkTo",
"Comment": "Avoids Combat"
"Comment": "Avoids Combat",
"SkipConditions": {
"StepIf": {
"Flying": "Unlocked"
}
}
},
{
"DataId": 2012531,
@ -40,7 +45,8 @@
},
"TerritoryId": 959,
"InteractionType": "Interact",
"TargetTerritoryId": 1024
"TargetTerritoryId": 1024,
"Fly": true
},
{
"DataId": 1038960,

View File

@ -0,0 +1,94 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1039375,
"Position": {
"X": 148.3634,
"Y": 5.192836,
"Z": 611.2611
},
"TerritoryId": 957,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1039376,
"Position": {
"X": -15.640564,
"Y": 35.742054,
"Z": 392.20264
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2011900,
"Position": {
"X": -17.135986,
"Y": 35.62976,
"Z": 394.39978
},
"TerritoryId": 957,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
14121
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1039376,
"Position": {
"X": -15.640564,
"Y": 35.742054,
"Z": 392.20264
},
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1039377,
"Position": {
"X": 147.60046,
"Y": 5.186336,
"Z": 610.62024
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Thavnair - Yedlihmad",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_AKTKZA019_04198_Q1_000_000",
"Answer": "TEXT_AKTKZA019_04198_A1_000_002"
}
]
}
]
}
]
}

View File

@ -104,16 +104,6 @@
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818450
},
{
"Position": {
"X": -725.3725,
"Y": 28.795446,
"Z": -39.464005
},
"TerritoryId": 1190,
"InteractionType": "WalkTo",
"Mount": true
},
{
"DataId": 2013799,
"Position": {
@ -133,6 +123,16 @@
64
]
},
{
"Position": {
"X": -725.3725,
"Y": 28.795446,
"Z": -39.464005
},
"TerritoryId": 1190,
"InteractionType": "WalkTo",
"Mount": true
},
{
"DataId": 2013800,
"Position": {

View File

@ -92,7 +92,8 @@
"Z": 50.459126
},
"TerritoryId": 1186,
"InteractionType": "WaitForNpcAtPosition"
"InteractionType": "WaitForNpcAtPosition",
"StopDistance": 1
},
{
"DataId": 1048078,
@ -103,7 +104,8 @@
},
"TerritoryId": 1186,
"InteractionType": "WaitForNpcAtPosition",
"NpcWaitDistance": 2
"NpcWaitDistance": 3,
"StopDistance": 5
},
{
"DataId": 1048078,

View File

@ -6,8 +6,7 @@
"type": "object",
"properties": {
"$schema": {
"type": "string",
"const": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json"
"type": "string"
},
"Author": {
"description": "Author of the quest sequence",
@ -830,6 +829,7 @@
"doze",
"box",
"sundropdance",
"cry",
"disappointed",
"examineself",
"joy"
@ -931,6 +931,7 @@
"Physick",
"Aspected Benefic",
"Form Shift",
"Fiery Breath",
"Buffet (Sanuwa)",
"Buffet (Griffin)",
"Trample",

View File

@ -22,6 +22,7 @@ public sealed class ActionConverter() : EnumConverter<EAction>(Values)
{ EAction.Physick, "Physick" },
{ EAction.AspectedBenefic, "Aspected Benefic" },
{ EAction.FormShift, "Form Shift" },
{ EAction.FieryBreath, "Fiery Breath" },
{ EAction.BuffetSanuwa, "Buffet (Sanuwa)" },
{ EAction.BuffetGriffin, "Buffet (Griffin)" },
{ EAction.Trample, "Trample" },

View File

@ -7,38 +7,39 @@ public sealed class EmoteConverter() : EnumConverter<EEmote>(Values)
{
private static readonly Dictionary<EEmote, string> Values = new()
{
{ EEmote.Stretch, "stretch" },
{ EEmote.Wave, "wave" },
{ EEmote.Rally, "rally" },
{ EEmote.Deny, "deny" },
{ EEmote.Pray, "pray" },
{ EEmote.Slap, "slap" },
{ EEmote.Doubt, "doubt" },
{ EEmote.Psych, "psych" },
{ EEmote.Bow, "bow" },
{ EEmote.Cheer, "cheer" },
{ EEmote.Happy, "happy" },
{ EEmote.Poke, "poke" },
{ EEmote.Flex, "flex" },
{ EEmote.Soothe, "soothe" },
{ EEmote.Clap, "clap" },
{ EEmote.Comfort, "comfort" },
{ EEmote.Cry, "cry" },
{ EEmote.Dance, "dance" },
{ EEmote.Doubt, "doubt" },
{ EEmote.Doze, "doze" },
{ EEmote.Wave, "wave" },
{ EEmote.Joy, "joy" },
{ EEmote.Kneel, "kneel" },
{ EEmote.Lookout, "lookout" },
{ EEmote.Me, "me" },
{ EEmote.Deny, "deny" },
{ EEmote.Poke, "poke" },
{ EEmote.Psych, "psych" },
{ EEmote.Rally, "rally" },
{ EEmote.Soothe, "soothe" },
{ EEmote.Stretch, "stretch" },
{ EEmote.Welcome, "welcome" },
{ EEmote.ExamineSelf, "examineself" },
{ EEmote.Happy, "happy" },
{ EEmote.Disappointed, "disappointed" },
{ EEmote.Pray, "pray" },
{ EEmote.ImperialSalute, "imperialsalute" },
{ EEmote.Pet, "pet" },
{ EEmote.Dance, "dance" },
{ EEmote.Respect, "respect" },
{ EEmote.Lookout, "lookout" },
{ EEmote.Kneel, "kneel" },
{ EEmote.Bow, "bow" },
{ EEmote.Uchiwasshoi, "uchiwasshoi" },
{ EEmote.Clap, "clap" },
{ EEmote.VictoryPose, "victorypose" },
{ EEmote.Comfort, "comfort" },
{ EEmote.BattleStance, "battlestance" },
{ EEmote.Doze, "doze" },
{ EEmote.Box, "box" },
{ EEmote.Slap, "slap" },
{ EEmote.SundropDance, "sundropdance"},
{ EEmote.Disappointed, "disappointed" },
{ EEmote.ExamineSelf, "examineself" },
{ EEmote.Joy, "joy" },
{ EEmote.BattleStance, "battlestance" },
{ EEmote.VictoryPose, "victorypose" },
{ EEmote.Flex, "flex" },
{ EEmote.Respect, "respect" },
{ EEmote.Box, "box" },
{ EEmote.Uchiwasshoi, "uchiwasshoi" }
};
}

View File

@ -21,6 +21,7 @@ public enum EAction
Physick = 190,
AspectedBenefic = 3595,
FormShift = 4262,
FieryBreath = 1764,
BuffetSanuwa = 4931,
BuffetGriffin = 4583,
Trample = 4585,
@ -69,7 +70,8 @@ public static class EActionExtensions
public static bool RequiresMount(this EAction action)
{
return action
is EAction.BuffetSanuwa
is EAction.FieryBreath
or EAction.BuffetSanuwa
or EAction.BuffetGriffin
or EAction.Trample
or EAction.Fumigate

View File

@ -8,37 +8,39 @@ public enum EEmote
{
None = 0,
Stretch = 37,
Wave = 16,
Rally = 34,
Deny = 25,
Pray = 58,
Slap = 111,
Doubt = 12,
Psych = 30,
Bow = 5,
Cheer = 6,
Happy = 48,
Poke = 28,
Flex = 139,
Soothe = 35,
Clap = 7,
Comfort = 9,
Cry = 10,
Dance = 11,
Doubt = 12,
Doze = 13,
Wave = 16,
Joy = 18,
Kneel = 19,
Lookout = 22,
Me = 23,
Deny = 25,
Poke = 28,
Psych = 30,
Rally = 34,
Soothe = 35,
Stretch = 37,
Welcome = 41,
ExamineSelf = 44,
Happy = 48,
Disappointed = 49,
Pray = 58,
ImperialSalute = 59,
Pet = 105,
Dance = 11,
Respect = 140,
Lookout = 22,
Kneel = 19,
Bow = 5,
Uchiwasshoi = 278,
Clap = 7,
VictoryPose = 122,
Comfort = 9,
BattleStance = 121,
Doze = 13,
Box = 166,
Slap = 111,
SundropDance = 120,
Disappointed = 49,
ExamineSelf = 44,
Joy = 18,
BattleStance = 121,
VictoryPose = 122,
Flex = 139,
Respect = 140,
Box = 166,
Uchiwasshoi = 278
}

View File

@ -26,6 +26,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
Directory.Build.targets = Directory.Build.targets
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vendor", "vendor", "{8F5EC9D5-4CE7-433B-BB3A-782500E84DDB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotificationMasterAPI", "vendor\NotificationMasterAPI\NotificationMasterAPI\NotificationMasterAPI.csproj", "{9BD494ED-22F2-487B-BCE1-435399A8720E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
@ -68,8 +72,16 @@ Global
{A12D7B4B-8E6E-4DCF-A41A-12F62E9FF94B}.Debug|x64.Build.0 = Debug|x64
{A12D7B4B-8E6E-4DCF-A41A-12F62E9FF94B}.Release|x64.ActiveCfg = Release|x64
{A12D7B4B-8E6E-4DCF-A41A-12F62E9FF94B}.Release|x64.Build.0 = Release|x64
{9BD494ED-22F2-487B-BCE1-435399A8720E}.Debug|x64.ActiveCfg = Debug|x64
{9BD494ED-22F2-487B-BCE1-435399A8720E}.Debug|x64.Build.0 = Debug|x64
{9BD494ED-22F2-487B-BCE1-435399A8720E}.Release|x64.ActiveCfg = Release|x64
{9BD494ED-22F2-487B-BCE1-435399A8720E}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{A12D7B4B-8E6E-4DCF-A41A-12F62E9FF94B} = {8F5EC9D5-4CE7-433B-BB3A-782500E84DDB}
{9BD494ED-22F2-487B-BCE1-435399A8720E} = {8F5EC9D5-4CE7-433B-BB3A-782500E84DDB}
EndGlobalSection
EndGlobal

View File

@ -1,4 +1,5 @@
using Dalamud.Configuration;
using Dalamud.Game.Text;
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using LLib.ImGui;
@ -6,12 +7,20 @@ namespace Questionable;
internal sealed class Configuration : IPluginConfiguration
{
public int Version { get; set; } = 1;
public const int PluginSetupVersion = 1;
public int Version { get; set; } =1 ;
public int PluginSetupCompleteVersion { get; set; }
public GeneralConfiguration General { get; } = new();
public NotificationConfiguration Notifications { get; } = new();
public AdvancedConfiguration Advanced { get; } = new();
public WindowConfig DebugWindowConfig { get; } = new();
public WindowConfig ConfigWindowConfig { get; } = new();
internal bool IsPluginSetupComplete() => PluginSetupCompleteVersion == PluginSetupVersion;
internal void MarkPluginSetupComplete() => PluginSetupCompleteVersion = PluginSetupVersion;
internal sealed class GeneralConfiguration
{
public uint MountId { get; set; } = 71;
@ -23,6 +32,14 @@ internal sealed class Configuration : IPluginConfiguration
public bool ConfigureTextAdvance { get; set; } = true;
}
internal sealed class NotificationConfiguration
{
public bool Enabled { get; set; } = true;
public XivChatType ChatType { get; set; } = XivChatType.Debug;
public bool ShowTrayMessage { get; set; }
public bool FlashTaskbar { get; set; }
}
internal sealed class AdvancedConfiguration
{
public bool DebugOverlay { get; set; }

View File

@ -24,12 +24,14 @@ internal sealed class CommandHandler : IDisposable
private readonly QuestRegistry _questRegistry;
private readonly ConfigWindow _configWindow;
private readonly DebugOverlay _debugOverlay;
private readonly OneTimeSetupWindow _oneTimeSetupWindow;
private readonly QuestWindow _questWindow;
private readonly QuestSelectionWindow _questSelectionWindow;
private readonly ITargetManager _targetManager;
private readonly QuestFunctions _questFunctions;
private readonly GameFunctions _gameFunctions;
private readonly IDataManager _dataManager;
private readonly Configuration _configuration;
public CommandHandler(
ICommandManager commandManager,
@ -39,12 +41,14 @@ internal sealed class CommandHandler : IDisposable
QuestRegistry questRegistry,
ConfigWindow configWindow,
DebugOverlay debugOverlay,
OneTimeSetupWindow oneTimeSetupWindow,
QuestWindow questWindow,
QuestSelectionWindow questSelectionWindow,
ITargetManager targetManager,
QuestFunctions questFunctions,
GameFunctions gameFunctions,
IDataManager dataManager)
IDataManager dataManager,
Configuration configuration)
{
_commandManager = commandManager;
_chatGui = chatGui;
@ -53,12 +57,14 @@ internal sealed class CommandHandler : IDisposable
_questRegistry = questRegistry;
_configWindow = configWindow;
_debugOverlay = debugOverlay;
_oneTimeSetupWindow = oneTimeSetupWindow;
_questWindow = questWindow;
_questSelectionWindow = questSelectionWindow;
_targetManager = targetManager;
_questFunctions = questFunctions;
_gameFunctions = gameFunctions;
_dataManager = dataManager;
_configuration = configuration;
_commandManager.AddHandler("/qst", new CommandInfo(ProcessCommand)
{
@ -75,6 +81,15 @@ internal sealed class CommandHandler : IDisposable
private void ProcessCommand(string command, string arguments)
{
if (!_configuration.IsPluginSetupComplete())
{
if (string.IsNullOrEmpty(arguments))
_oneTimeSetupWindow.IsOpen = true;
else
_chatGui.PrintError("Please complete the one-time setup first.", MessageTag, TagColor);
return;
}
string[] parts = arguments.Split(' ');
switch (parts[0])
{

View File

@ -16,6 +16,7 @@ using FFXIVClientStructs.FFXIV.Client.Game;
using FFXIVClientStructs.FFXIV.Client.Game.Control;
using Microsoft.Extensions.Logging;
using Questionable.Controller.NavigationOverrides;
using Questionable.Data;
using Questionable.External;
using Questionable.Functions;
using Questionable.Model;
@ -36,13 +37,14 @@ internal sealed class MovementController : IDisposable
private readonly ChatFunctions _chatFunctions;
private readonly ICondition _condition;
private readonly MovementOverrideController _movementOverrideController;
private readonly AetheryteData _aetheryteData;
private readonly ILogger<MovementController> _logger;
private CancellationTokenSource? _cancellationTokenSource;
private Task<List<Vector3>>? _pathfindTask;
public MovementController(NavmeshIpc navmeshIpc, IClientState clientState, GameFunctions gameFunctions,
ChatFunctions chatFunctions, ICondition condition, MovementOverrideController movementOverrideController,
ILogger<MovementController> logger)
AetheryteData aetheryteData, ILogger<MovementController> logger)
{
_navmeshIpc = navmeshIpc;
_clientState = clientState;
@ -50,6 +52,7 @@ internal sealed class MovementController : IDisposable
_chatFunctions = chatFunctions;
_condition = condition;
_movementOverrideController = movementOverrideController;
_aetheryteData = aetheryteData;
_logger = logger;
}
@ -305,8 +308,18 @@ internal sealed class MovementController : IDisposable
Destination.NavmeshCalculations++;
_cancellationTokenSource = new();
_cancellationTokenSource.CancelAfter(TimeSpan.FromSeconds(30));
Vector3 startPosition = _clientState.LocalPlayer!.Position;
if (fly && _aetheryteData.CalculateDistance(startPosition, _clientState.TerritoryType,
EAetheryteLocation.CoerthasCentralHighlandsCampDragonhead) < 11f)
{
startPosition = startPosition with { Y = startPosition.Y + 1f };
_logger.LogInformation("Using modified start position for flying pathfinding: {StartPosition}",
startPosition.ToString("G", CultureInfo.InvariantCulture));
}
_pathfindTask =
_navmeshIpc.Pathfind(_clientState.LocalPlayer!.Position, to, fly, _cancellationTokenSource.Token);
_navmeshIpc.Pathfind(startPosition, to, fly, _cancellationTokenSource.Token);
}
public void NavigateTo(EMovementType type, uint? dataId, List<Vector3> to, bool fly, bool sprint,

View File

@ -0,0 +1,84 @@
using Dalamud.Game.Text;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Plugin.Services;
using Questionable.External;
using Questionable.Model.Questing;
namespace Questionable.Controller.Steps.Common;
internal static class SendNotification
{
internal sealed record Task(EInteractionType InteractionType, string? Comment) : ITask
{
public override string ToString() => "SendNotification";
}
internal sealed class Executor(
NotificationMasterIpc notificationMasterIpc,
IChatGui chatGui,
Configuration configuration) : TaskExecutor<Task>
{
protected override bool Start()
{
if (!configuration.Notifications.Enabled)
return false;
string text = Task.InteractionType switch
{
EInteractionType.Duty => "Duty",
EInteractionType.SinglePlayerDuty => "Single player duty",
EInteractionType.Instruction or EInteractionType.WaitForManualProgress or EInteractionType.Snipe =>
"Manual interaction required",
_ => $"{Task.InteractionType}",
};
if (!string.IsNullOrEmpty(Task.Comment))
text += $" - {Task.Comment}";
if (configuration.Notifications.ChatType != XivChatType.None)
{
var message = configuration.Notifications.ChatType switch
{
XivChatType.Say
or XivChatType.Shout
or XivChatType.TellOutgoing
or XivChatType.TellIncoming
or XivChatType.Party
or XivChatType.Alliance
or (>= XivChatType.Ls1 and <= XivChatType.Ls8)
or XivChatType.FreeCompany
or XivChatType.NoviceNetwork
or XivChatType.Yell
or XivChatType.CrossParty
or XivChatType.PvPTeam
or XivChatType.CrossLinkShell1
or XivChatType.NPCDialogue
or XivChatType.NPCDialogueAnnouncements
or (>= XivChatType.CrossLinkShell2 and <= XivChatType.CrossLinkShell8)
=> new XivChatEntry
{
Message = text,
Type = configuration.Notifications.ChatType,
Name = new SeStringBuilder()
.AddUiForeground(CommandHandler.MessageTag, CommandHandler.TagColor)
.Build(),
},
_ => new XivChatEntry
{
Message = new SeStringBuilder()
.AddUiForeground($"[{CommandHandler.MessageTag}] ", CommandHandler.TagColor)
.Append(text)
.Build(),
Type = configuration.Notifications.ChatType,
}
};
chatGui.Print(message);
}
notificationMasterIpc.Notify(text);
return true;
}
public override ETaskResult Update() => ETaskResult.TaskComplete;
}
}

View File

@ -325,6 +325,7 @@ internal static class MoveTo
internal sealed class LandTask : ITask
{
public bool ShouldRedoOnInterrupt() => true;
public override string ToString() => "Land";
}
internal sealed class LandExecutor(IClientState clientState, ICondition condition, ILogger<LandExecutor> logger) : TaskExecutor<LandTask>

View File

@ -6,6 +6,7 @@ using System.Numerics;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Plugin.Services;
using Questionable.Controller.Steps.Common;
using Questionable.Controller.Steps.Interactions;
using Questionable.Controller.Utils;
using Questionable.Data;
using Questionable.Functions;
@ -19,7 +20,8 @@ internal static class WaitAtEnd
internal sealed class Factory(
IClientState clientState,
ICondition condition,
TerritoryData territoryData)
TerritoryData territoryData,
Configuration configuration)
: ITaskFactory
{
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
@ -47,12 +49,28 @@ internal static class WaitAtEnd
case EInteractionType.WaitForManualProgress:
case EInteractionType.Instruction:
case EInteractionType.Snipe:
return [new WaitNextStepOrSequence()];
case EInteractionType.Snipe:
if (configuration.General.AutomaticallyCompleteSnipeTasks)
return [new WaitNextStepOrSequence()];
else
return [
new SendNotification.Task(step.InteractionType, step.Comment),
new WaitNextStepOrSequence()
];
case EInteractionType.Duty:
return [
new SendNotification.Task(step.InteractionType, step.ContentFinderConditionId.HasValue ? territoryData.GetContentFinderConditionName(step.ContentFinderConditionId.Value) : step.Comment),
new EndAutomation(),
];
case EInteractionType.SinglePlayerDuty:
return [new EndAutomation()];
return [
new SendNotification.Task(step.InteractionType, quest.Info.Name),
new EndAutomation()
];
case EInteractionType.WalkTo:
case EInteractionType.Jump:

View File

@ -18,9 +18,11 @@ internal sealed class DalamudInitializer : IDisposable
private readonly QuestController _questController;
private readonly MovementController _movementController;
private readonly WindowSystem _windowSystem;
private readonly OneTimeSetupWindow _oneTimeSetupWindow;
private readonly QuestWindow _questWindow;
private readonly ConfigWindow _configWindow;
private readonly IToastGui _toastGui;
private readonly Configuration _configuration;
private readonly ILogger<DalamudInitializer> _logger;
public DalamudInitializer(
@ -30,6 +32,7 @@ internal sealed class DalamudInitializer : IDisposable
MovementController movementController,
InteractionUiController interactionUiController,
WindowSystem windowSystem,
OneTimeSetupWindow oneTimeSetupWindow,
QuestWindow questWindow,
DebugOverlay debugOverlay,
ConfigWindow configWindow,
@ -38,6 +41,7 @@ internal sealed class DalamudInitializer : IDisposable
JournalProgressWindow journalProgressWindow,
PriorityWindow priorityWindow,
IToastGui toastGui,
Configuration configuration,
ILogger<DalamudInitializer> logger)
{
_pluginInterface = pluginInterface;
@ -45,11 +49,14 @@ internal sealed class DalamudInitializer : IDisposable
_questController = questController;
_movementController = movementController;
_windowSystem = windowSystem;
_oneTimeSetupWindow = oneTimeSetupWindow;
_questWindow = questWindow;
_configWindow = configWindow;
_toastGui = toastGui;
_configuration = configuration;
_logger = logger;
_windowSystem.AddWindow(oneTimeSetupWindow);
_windowSystem.AddWindow(questWindow);
_windowSystem.AddWindow(configWindow);
_windowSystem.AddWindow(debugOverlay);
@ -59,7 +66,7 @@ internal sealed class DalamudInitializer : IDisposable
_windowSystem.AddWindow(priorityWindow);
_pluginInterface.UiBuilder.Draw += _windowSystem.Draw;
_pluginInterface.UiBuilder.OpenMainUi += _questWindow.Toggle;
_pluginInterface.UiBuilder.OpenMainUi += ToggleQuestWindow;
_pluginInterface.UiBuilder.OpenConfigUi += _configWindow.Toggle;
_framework.Update += FrameworkUpdate;
_framework.RunOnTick(interactionUiController.HandleCurrentDialogueChoices, TimeSpan.FromMilliseconds(200));
@ -91,6 +98,14 @@ internal sealed class DalamudInitializer : IDisposable
private void OnQuestToast(ref SeString message, ref QuestToastOptions options, ref bool isHandled)
=> _logger.LogTrace("Quest Toast: {Message}", message);
private void ToggleQuestWindow()
{
if (_configuration.IsPluginSetupComplete())
_questWindow.Toggle();
else
_oneTimeSetupWindow.IsOpen = true;
}
public void Dispose()
{
_toastGui.QuestToast -= OnQuestToast;
@ -98,7 +113,7 @@ internal sealed class DalamudInitializer : IDisposable
_toastGui.Toast -= OnToast;
_framework.Update -= FrameworkUpdate;
_pluginInterface.UiBuilder.OpenConfigUi -= _configWindow.Toggle;
_pluginInterface.UiBuilder.OpenMainUi -= _questWindow.Toggle;
_pluginInterface.UiBuilder.OpenMainUi -= ToggleQuestWindow;
_pluginInterface.UiBuilder.Draw -= _windowSystem.Draw;
_windowSystem.RemoveAllWindows();

View File

@ -14,6 +14,7 @@ internal sealed class TerritoryData
private readonly ImmutableHashSet<ushort> _territoriesWithMount;
private readonly ImmutableDictionary<ushort, uint> _dutyTerritories;
private readonly ImmutableDictionary<ushort, string> _instanceNames;
private readonly ImmutableDictionary<uint, string> _contentFinderConditionNames;
public TerritoryData(IDataManager dataManager)
{
@ -40,6 +41,10 @@ internal sealed class TerritoryData
_instanceNames = dataManager.GetExcelSheet<ContentFinderCondition>()!
.Where(x => x.RowId > 0 && x.Content != 0 && x.ContentLinkType == 1 && x.ContentType.Row != 6)
.ToImmutableDictionary(x => x.Content, x => x.Name.ToString());
_contentFinderConditionNames = dataManager.GetExcelSheet<ContentFinderCondition>()!
.Where(x => x.RowId > 0 && x.Content != 0 && x.ContentLinkType == 1 && x.ContentType.Row != 6)
.ToImmutableDictionary(x => x.RowId, x => x.Name.ToString());
}
public string? GetName(ushort territoryId) => _territoryNames.GetValueOrDefault(territoryId);
@ -61,4 +66,6 @@ internal sealed class TerritoryData
_dutyTerritories.TryGetValue(territoryId, out uint contentType) && contentType == 7;
public string? GetInstanceName(ushort instanceId) => _instanceNames.GetValueOrDefault(instanceId);
public string? GetContentFinderConditionName(uint cfcId) => _contentFinderConditionNames.GetValueOrDefault(cfcId);
}

View File

@ -0,0 +1,24 @@
using Dalamud.Plugin;
using NotificationMasterAPI;
namespace Questionable.External;
internal sealed class NotificationMasterIpc(IDalamudPluginInterface pluginInterface, Configuration configuration)
{
private readonly NotificationMasterApi _api = new(pluginInterface);
public bool Enabled => _api.IsIPCReady();
public void Notify(string message)
{
var config = configuration.Notifications;
if (!config.Enabled)
return;
if (config.ShowTrayMessage)
_api.DisplayTrayNotification("Questionable", message);
if (config.FlashTaskbar)
_api.FlashTaskbarIcon();
}
}

View File

@ -21,5 +21,6 @@
<ProjectReference Include="..\LLib\LLib.csproj"/>
<ProjectReference Include="..\Questionable.Model\Questionable.Model.csproj"/>
<ProjectReference Include="..\QuestPaths\QuestPaths.csproj"/>
<ProjectReference Include="..\vendor\NotificationMasterAPI\NotificationMasterAPI\NotificationMasterAPI.csproj" />
</ItemGroup>
</Project>

View File

@ -6,6 +6,7 @@ using Dalamud.Game.ClientState.Objects;
using Dalamud.Interface.Windowing;
using Dalamud.Plugin;
using Dalamud.Plugin.Services;
using LLib;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Questionable.Controller;
@ -110,6 +111,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin
serviceCollection.AddSingleton<GameFunctions>();
serviceCollection.AddSingleton<ChatFunctions>();
serviceCollection.AddSingleton<QuestFunctions>();
serviceCollection.AddSingleton<DalamudReflector>();
serviceCollection.AddSingleton<AutoSnipeHandler>();
serviceCollection.AddSingleton<AetherCurrentData>();
@ -125,6 +127,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin
serviceCollection.AddSingleton<ArtisanIpc>();
serviceCollection.AddSingleton<QuestionableIpc>();
serviceCollection.AddSingleton<TextAdvanceIpc>();
serviceCollection.AddSingleton<NotificationMasterIpc>();
}
private static void AddTaskFactories(ServiceCollection serviceCollection)
@ -203,6 +206,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin
serviceCollection.AddTaskExecutor<InitiateLeve.Initiate, InitiateLeve.InitiateExecutor>();
serviceCollection.AddTaskExecutor<InitiateLeve.SelectDifficulty, InitiateLeve.SelectDifficultyExecutor>();
serviceCollection.AddTaskExecutor<SendNotification.Task, SendNotification.Executor>();
serviceCollection.AddTaskExecutor<WaitCondition.Task, WaitCondition.WaitConditionExecutor>();
serviceCollection.AddTaskFactory<WaitAtEnd.Factory>();
serviceCollection.AddTaskExecutor<WaitAtEnd.WaitDelay, WaitAtEnd.WaitDelayExecutor>();
@ -255,6 +259,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin
serviceCollection.AddSingleton<QuestJournalComponent>();
serviceCollection.AddSingleton<GatheringJournalComponent>();
serviceCollection.AddSingleton<OneTimeSetupWindow>();
serviceCollection.AddSingleton<QuestWindow>();
serviceCollection.AddSingleton<ConfigWindow>();
serviceCollection.AddSingleton<DebugOverlay>();

View File

@ -1,12 +1,17 @@
using System;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using Dalamud.Game.Text;
using Dalamud.Interface.Colors;
using Dalamud.Interface.Components;
using Dalamud.Interface.Utility.Raii;
using Dalamud.Plugin;
using Dalamud.Plugin.Services;
using Dalamud.Utility;
using ImGuiNET;
using LLib.ImGui;
using Lumina.Excel.GeneratedSheets;
using Questionable.External;
using GrandCompany = FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany;
namespace Questionable.Windows;
@ -14,6 +19,7 @@ namespace Questionable.Windows;
internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
{
private readonly IDalamudPluginInterface _pluginInterface;
private readonly NotificationMasterIpc _notificationMasterIpc;
private readonly Configuration _configuration;
private readonly uint[] _mountIds;
@ -23,10 +29,11 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
["None (manually pick quest)", "Maelstrom", "Twin Adder", "Immortal Flames"];
[SuppressMessage("Performance", "CA1861", Justification = "One time initialization")]
public ConfigWindow(IDalamudPluginInterface pluginInterface, Configuration configuration, IDataManager dataManager)
public ConfigWindow(IDalamudPluginInterface pluginInterface, NotificationMasterIpc notificationMasterIpc, Configuration configuration, IDataManager dataManager)
: base("Config - Questionable###QuestionableConfig", ImGuiWindowFlags.AlwaysAutoResize)
{
_pluginInterface = pluginInterface;
_notificationMasterIpc = notificationMasterIpc;
_configuration = configuration;
var mounts = dataManager.GetExcelSheet<Mount>()!
@ -43,10 +50,20 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
public override void Draw()
{
if (ImGui.BeginTabBar("QuestionableConfigTabs"))
{
if (ImGui.BeginTabItem("General"))
using var tabBar = ImRaii.TabBar("QuestionableConfigTabs");
if (!tabBar)
return;
DrawGeneralTab();
DrawNotificationsTab();
DrawAdvancedTab();
}
private void DrawGeneralTab()
{
using var tab = ImRaii.TabItem("General");
if (!tab)
return;
int selectedMount = Array.FindIndex(_mountIds, x => x == _configuration.General.MountId);
if (selectedMount == -1)
{
@ -91,7 +108,8 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
}
bool configureTextAdvance = _configuration.General.ConfigureTextAdvance;
if (ImGui.Checkbox("Automatically configure TextAdvance with the recommended settings", ref configureTextAdvance))
if (ImGui.Checkbox("Automatically configure TextAdvance with the recommended settings",
ref configureTextAdvance))
{
_configuration.General.ConfigureTextAdvance = configureTextAdvance;
Save();
@ -99,7 +117,8 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
if (ImGui.CollapsingHeader("Cheats"))
{
ImGui.TextColored(ImGuiColors.DalamudRed, "This setting will be removed in a future version, and will be\navailable through TextAdvance instead.");
ImGui.TextColored(ImGuiColors.DalamudRed,
"This setting will be removed in a future version, and will be\navailable through TextAdvance instead.");
bool automaticallyCompleteSnipeTasks = _configuration.General.AutomaticallyCompleteSnipeTasks;
if (ImGui.Checkbox("Automatically complete snipe tasks", ref automaticallyCompleteSnipeTasks))
{
@ -107,12 +126,69 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
Save();
}
}
ImGui.EndTabItem();
}
if (ImGui.BeginTabItem("Advanced"))
private void DrawNotificationsTab()
{
using var tab = ImRaii.TabItem("Notifications");
if (!tab)
return;
bool enabled = _configuration.Notifications.Enabled;
if (ImGui.Checkbox("Enable notifications when manual interaction is required", ref enabled))
{
_configuration.Notifications.Enabled = enabled;
Save();
}
using (ImRaii.Disabled(!_configuration.Notifications.Enabled))
{
using (ImRaii.PushIndent())
{
var xivChatTypes = Enum.GetValues<XivChatType>()
.Where(x => x != XivChatType.StandardEmote)
.ToArray();
var selectedChatType = Array.IndexOf(xivChatTypes, _configuration.Notifications.ChatType);
string[] chatTypeNames = xivChatTypes
.Select(t => t.GetAttribute<XivChatTypeInfoAttribute>()?.FancyName ?? t.ToString())
.ToArray();
if (ImGui.Combo("Chat channel", ref selectedChatType, chatTypeNames,
chatTypeNames.Length))
{
_configuration.Notifications.ChatType = xivChatTypes[selectedChatType];
Save();
}
ImGui.Separator();
ImGui.Text("NotificationMaster settings");
ImGui.SameLine();
ImGuiComponents.HelpMarker("Requires the plugin 'NotificationMaster' to be installed.");
using (ImRaii.Disabled(!_notificationMasterIpc.Enabled))
{
bool showTrayMessage = _configuration.Notifications.ShowTrayMessage;
if (ImGui.Checkbox("Show tray notification", ref showTrayMessage))
{
_configuration.Notifications.ShowTrayMessage = showTrayMessage;
Save();
}
bool flashTaskbar = _configuration.Notifications.FlashTaskbar;
if (ImGui.Checkbox("Flash taskbar icon", ref flashTaskbar))
{
_configuration.Notifications.FlashTaskbar = flashTaskbar;
Save();
}
}
}
}
}
private void DrawAdvancedTab()
{
using var tab = ImRaii.TabItem("Advanced");
if (!tab)
return;
ImGui.TextColored(ImGuiColors.DalamudRed,
"Enabling any option here may cause unexpected behavior. Use at your own risk.");
@ -142,10 +218,6 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
ImGui.EndTabItem();
}
ImGui.EndTabBar();
}
}
private void Save() => _pluginInterface.SavePluginConfig(_configuration);
public void SaveWindowConfig() => Save();

View File

@ -0,0 +1,173 @@
using System;
using System.Collections.Generic;
using Dalamud.Interface;
using Dalamud.Interface.Colors;
using Dalamud.Interface.Components;
using Dalamud.Interface.Utility.Raii;
using Dalamud.Plugin;
using Dalamud.Utility;
using ImGuiNET;
using LLib;
using LLib.ImGui;
using Microsoft.Extensions.Logging;
namespace Questionable.Windows;
internal sealed class OneTimeSetupWindow : LWindow, IDisposable
{
private static readonly IReadOnlyList<PluginInfo> RequiredPlugins =
[
new("vnavmesh",
"""
vnavmesh handles the navigation within a zone, moving
your character to the next quest-related objective.
""",
new Uri("https://github.com/awgil/ffxiv_navmesh/")),
new("Lifestream",
"""
Used to travel to aethernet shards in cities.
""",
new Uri("https://github.com/NightmareXIV/Lifestream")),
new("TextAdvance",
"""
Automatically accepts and turns in quests, skips cutscenes
and dialogue.
""",
new Uri("https://github.com/NightmareXIV/TextAdvance")),
];
private static readonly IReadOnlyList<PluginInfo> RecommendedPlugins =
[
new("Rotation Solver Reborn",
"""
Automatically handles most combat interactions you encounter
during quests, including being interrupted by mobs.
""",
new Uri("https://github.com/FFXIV-CombatReborn/RotationSolverReborn")),
new("NotificationMaster",
"""
Sends a configurable out-of-game notification if a quest
requires manual actions.
""",
new Uri("https://github.com/NightmareXIV/NotificationMaster")),
];
private readonly Configuration _configuration;
private readonly IDalamudPluginInterface _pluginInterface;
private readonly UiUtils _uiUtils;
private readonly DalamudReflector _dalamudReflector;
private readonly ILogger<OneTimeSetupWindow> _logger;
public OneTimeSetupWindow(Configuration configuration, IDalamudPluginInterface pluginInterface, UiUtils uiUtils,
DalamudReflector dalamudReflector, ILogger<OneTimeSetupWindow> logger)
: base("Questionable Setup###QuestionableOneTimeSetup",
ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoSavedSettings, true)
{
_configuration = configuration;
_pluginInterface = pluginInterface;
_uiUtils = uiUtils;
_dalamudReflector = dalamudReflector;
_logger = logger;
RespectCloseHotkey = false;
ShowCloseButton = false;
AllowPinning = false;
AllowClickthrough = false;
IsOpen = !_configuration.IsPluginSetupComplete();
_logger.LogInformation("One-time setup needed: {IsOpen}", IsOpen);
}
public override void Draw()
{
float checklistPadding;
using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push())
{
checklistPadding = ImGui.CalcTextSize(FontAwesomeIcon.Check.ToIconString()).X +
ImGui.GetStyle().ItemSpacing.X;
}
ImGui.Text("Questionable requires the following plugins to work:");
bool allRequiredInstalled = true;
using (ImRaii.PushIndent())
{
foreach (var plugin in RequiredPlugins)
allRequiredInstalled &= DrawPlugin(plugin, checklistPadding);
}
ImGui.Spacing();
ImGui.Separator();
ImGui.Spacing();
ImGui.Text("The following plugins are recommended, but not required:");
using (ImRaii.PushIndent())
{
foreach (var plugin in RecommendedPlugins)
DrawPlugin(plugin, checklistPadding);
}
ImGui.Spacing();
ImGui.Separator();
ImGui.Spacing();
if (allRequiredInstalled)
{
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen))
{
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Check, "Finish Setup"))
{
_logger.LogInformation("Marking setup as complete");
_configuration.MarkPluginSetupComplete();
_pluginInterface.SavePluginConfig(_configuration);
IsOpen = false;
}
}
}
else
{
using (ImRaii.Disabled())
{
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Check, "Missing required plugins");
}
}
ImGui.SameLine();
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Times, "Close window & don't enable Questionable"))
{
_logger.LogWarning("Closing window without all required plugins installed");
IsOpen = false;
}
}
private bool DrawPlugin(PluginInfo plugin, float checklistPadding)
{
bool isInstalled = IsPluginInstalled(plugin.DisplayName);
using (ImRaii.PushId("plugin_" + plugin.DisplayName))
{
_uiUtils.ChecklistItem(plugin.DisplayName, isInstalled);
using (ImRaii.PushIndent(checklistPadding))
{
ImGui.TextUnformatted(plugin.Details);
if (!isInstalled && ImGui.Button("Open Repository"))
Util.OpenLink(plugin.Uri.ToString());
}
}
return isInstalled;
}
private bool IsPluginInstalled(string internalName)
{
return _dalamudReflector.TryGetDalamudPlugin(internalName, out _, suppressErrors: true, ignoreCache: true);
}
public void Dispose()
{
}
private sealed record PluginInfo(
string DisplayName,
string Details,
Uri Uri);
}

View File

@ -29,7 +29,9 @@ namespace Questionable.Windows.QuestComponents;
internal sealed class CreationUtilsComponent
{
#if false
private readonly QuestController _questController;
#endif
private readonly MovementController _movementController;
private readonly GameFunctions _gameFunctions;
private readonly QuestFunctions _questFunctions;
@ -44,7 +46,9 @@ internal sealed class CreationUtilsComponent
private readonly ILogger<CreationUtilsComponent> _logger;
public CreationUtilsComponent(
#if false
QuestController questController,
#endif
MovementController movementController,
GameFunctions gameFunctions,
QuestFunctions questFunctions,
@ -58,7 +62,9 @@ internal sealed class CreationUtilsComponent
Configuration configuration,
ILogger<CreationUtilsComponent> logger)
{
#if false
_questController = questController;
#endif
_movementController = movementController;
_gameFunctions = gameFunctions;
_questFunctions = questFunctions;

View File

@ -113,6 +113,9 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
public override bool DrawConditions()
{
if (!_configuration.IsPluginSetupComplete())
return false;
if (!_clientState.IsLoggedIn || _clientState.LocalPlayer == null || _clientState.IsPvPExcludingDen)
return false;

View File

@ -174,7 +174,7 @@
"gatheringpaths": {
"type": "Project",
"dependencies": {
"Questionable.Model": "[3.10.0, )"
"Questionable.Model": "[3.12.0, )"
}
},
"llib": {
@ -183,6 +183,9 @@
"DalamudPackager": "[2.1.13, )"
}
},
"notificationmasterapi": {
"type": "Project"
},
"questionable.model": {
"type": "Project",
"dependencies": {
@ -192,7 +195,7 @@
"questpaths": {
"type": "Project",
"dependencies": {
"Questionable.Model": "[3.10.0, )"
"Questionable.Model": "[3.12.0, )"
}
}
}

1
vendor/NotificationMasterAPI vendored Submodule

@ -0,0 +1 @@
Subproject commit 05b1ba788d5cb940ed8e82599eb88778c9cecdb0