Gridania start, various quest fixes, automatically start GC quest, automatically start chocobo quest
This commit is contained in:
parent
5a4a693d66
commit
5bcaba7eba
@ -48,6 +48,9 @@ public class QuestSourceGenerator : ISourceGenerator
|
||||
quests.Add((id, quest));
|
||||
}
|
||||
|
||||
if (quests.Count == 0)
|
||||
return;
|
||||
|
||||
quests = quests.OrderBy(x => x.Item1).ToList();
|
||||
|
||||
var code =
|
||||
|
@ -0,0 +1,210 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"TerritoryBlacklist": [
|
||||
225
|
||||
],
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000421,
|
||||
"Position": {
|
||||
"X": 98.25281,
|
||||
"Y": -8,
|
||||
"Z": -78.446655
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000465,
|
||||
"Position": {
|
||||
"X": 298.63428,
|
||||
"Y": 9.999997,
|
||||
"Z": 119.035645
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000465,
|
||||
"Position": {
|
||||
"X": 298.63428,
|
||||
"Y": 9.999997,
|
||||
"Z": 119.035645
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "WaitForManualProgress",
|
||||
"Comment": "Manual Quest Progress (very combat heavy)",
|
||||
"$": "TODO Remove later"
|
||||
},
|
||||
{
|
||||
"DataId": 1000512,
|
||||
"Position": {
|
||||
"X": 311.69592,
|
||||
"Y": 14.8470745,
|
||||
"Z": 164.47693
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"Disabled": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
128
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1000513,
|
||||
"Position": {
|
||||
"X": 303.8833,
|
||||
"Y": 15.899703,
|
||||
"Z": 160.87585
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"Disabled": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
64
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1000514,
|
||||
"Position": {
|
||||
"X": 296.1012,
|
||||
"Y": 15.999987,
|
||||
"Z": 171.4961
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"Disabled": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
32
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1000515,
|
||||
"Position": {
|
||||
"X": 291.21838,
|
||||
"Y": 19.86808,
|
||||
"Z": 175.21924
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"Disabled": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
16
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1000516,
|
||||
"Position": {
|
||||
"X": 284.65698,
|
||||
"Y": 21.97319,
|
||||
"Z": 188.18945
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"Disabled": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
8
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000740,
|
||||
"Position": {
|
||||
"X": 260.18152,
|
||||
"Y": 24.000002,
|
||||
"Z": 192.2179
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "SinglePlayerDuty"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 319.9492,
|
||||
"Y": 13.866494,
|
||||
"Z": 156.2647
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 1000465,
|
||||
"Position": {
|
||||
"X": 298.63428,
|
||||
"Y": 9.999997,
|
||||
"Z": 119.035645
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
"X": 23.819275,
|
||||
"Y": -8,
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Gridania",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Aetheryte Plaza",
|
||||
"[Gridania] Airship Landing"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
165
QuestPaths/ARealmReborn/MSQ-1/Gridania/161_Leia's Legacy.json
Normal file
165
QuestPaths/ARealmReborn/MSQ-1/Gridania/161_Leia's Legacy.json
Normal file
@ -0,0 +1,165 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000471,
|
||||
"Position": {
|
||||
"X": -60.471558,
|
||||
"Y": 0.19999865,
|
||||
"Z": 6.301941
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000484,
|
||||
"Position": {
|
||||
"X": 2.0598755,
|
||||
"Y": -7.9139543,
|
||||
"Z": -22.171448
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
32
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1000476,
|
||||
"Position": {
|
||||
"X": 27.0542,
|
||||
"Y": -6.881897,
|
||||
"Z": 14.145081
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
128
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1000483,
|
||||
"Position": {
|
||||
"X": 85.496216,
|
||||
"Y": -6.0870457,
|
||||
"Z": 67.00232
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
64
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000471,
|
||||
"Position": {
|
||||
"X": -60.471558,
|
||||
"Y": 0.19999865,
|
||||
"Z": 6.301941
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 9.630515,
|
||||
"Y": -22.580793,
|
||||
"Z": 242.32327
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 1003002,
|
||||
"Position": {
|
||||
"X": -189.13562,
|
||||
"Y": -26.70127,
|
||||
"Z": 295.52136
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "SinglePlayerDuty"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 4,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1003002,
|
||||
"Position": {
|
||||
"X": -189.13562,
|
||||
"Y": -26.70127,
|
||||
"Z": 295.52136
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000471,
|
||||
"Position": {
|
||||
"X": -60.471558,
|
||||
"Y": 0.19999865,
|
||||
"Z": 6.301941
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Central Shroud - Bentbranch Meadows"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000471,
|
||||
"Position": {
|
||||
"X": -60.471558,
|
||||
"Y": 0.19999865,
|
||||
"Z": 6.301941
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,117 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000449,
|
||||
"Position": {
|
||||
"X": 201.83093,
|
||||
"Y": -5.5419664,
|
||||
"Z": -107.25574
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Comment": "Very likely this needs manual combat and/or manual continues",
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2000141,
|
||||
"Position": {
|
||||
"X": 179.4613,
|
||||
"Y": -10.666138,
|
||||
"Z": 99.56506
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
128
|
||||
],
|
||||
"$": "QuestVariables if done first: 17 0 16 0 0 128"
|
||||
},
|
||||
{
|
||||
"DataId": 2000147,
|
||||
"Position": {
|
||||
"X": 168.07812,
|
||||
"Y": -12.008911,
|
||||
"Z": 120.80554
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
64
|
||||
],
|
||||
"$": "QuestVariables if done first: 17 16 17 0 0 192"
|
||||
},
|
||||
{
|
||||
"DataId": 2000149,
|
||||
"Position": {
|
||||
"X": 154.0398,
|
||||
"Y": -10.75769,
|
||||
"Z": 120.3479
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
16
|
||||
],
|
||||
"$": "QuestVariables if done first: 33 17 17 16 0 208"
|
||||
},
|
||||
{
|
||||
"DataId": 2000148,
|
||||
"Position": {
|
||||
"X": 126.14636,
|
||||
"Y": -12.008911,
|
||||
"Z": 142.35144
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
32
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000685,
|
||||
"Position": {
|
||||
"X": 287.92236,
|
||||
"Y": -3.297,
|
||||
"Z": -32.6391
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
"X": 23.819275,
|
||||
"Y": -8,
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 3,
|
||||
"Position": {
|
||||
"X": 13.076904,
|
||||
"Y": 0.56451416,
|
||||
"Z": 35.90442
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"AethernetShortcut": ["[Gridania] Aetheryte Plaza", "[Gridania] Blue Badger Gate (Central Shroud)"]
|
||||
},
|
||||
{
|
||||
"DataId": 1000470,
|
||||
"Position": {
|
||||
"X": -59.006653,
|
||||
"Y": -0.010835781,
|
||||
"Z": 26.41333
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000421,
|
||||
"Position": {
|
||||
"X": 98.25281,
|
||||
"Y": -8,
|
||||
"Z": -78.446655
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000421,
|
||||
"Position": {
|
||||
"X": 98.25281,
|
||||
"Y": -8,
|
||||
"Z": -78.446655
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"Comment": "All starting gear (except the hat) is ilvl 5 already"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
"X": 23.819275,
|
||||
"Y": -8,
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 158.06026,
|
||||
"Y": -12.97808,
|
||||
"Z": 158.08466
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "WalkTo",
|
||||
"TargetTerritoryId": 148
|
||||
},
|
||||
{
|
||||
"DataId": 1000421,
|
||||
"Position": {
|
||||
"X": 98.25281,
|
||||
"Y": -8,
|
||||
"Z": -78.446655
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,87 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000470,
|
||||
"Position": {
|
||||
"X": -59.006653,
|
||||
"Y": -0.010835781,
|
||||
"Z": 26.41333
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -61.749943,
|
||||
"Y": 0.9481318,
|
||||
"Z": -38.52144
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Jump",
|
||||
"JumpDestination": {
|
||||
"Position": {
|
||||
"X": -67.083466,
|
||||
"Y": -4.478065,
|
||||
"Z": -45.204926
|
||||
},
|
||||
"StopDistance": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"DataId": 1000748,
|
||||
"Position": {
|
||||
"X": -125.230774,
|
||||
"Y": 4.1573725,
|
||||
"Z": -43.595093
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -171.87439,
|
||||
"Y": 1.7183347,
|
||||
"Z": -70.586975
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Combat",
|
||||
"EnemySpawnType": "OverworldEnemies",
|
||||
"KillEnemyDataIds": [
|
||||
771
|
||||
],
|
||||
"Comment": "Kill Qiqirn manually"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000748,
|
||||
"Position": {
|
||||
"X": -125.230774,
|
||||
"Y": 4.1573725,
|
||||
"Z": -43.595093
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
197
QuestPaths/ARealmReborn/MSQ-1/Gridania/377_Don't Look Down.json
Normal file
197
QuestPaths/ARealmReborn/MSQ-1/Gridania/377_Don't Look Down.json
Normal file
@ -0,0 +1,197 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000435,
|
||||
"Position": {
|
||||
"X": -127.06189,
|
||||
"Y": 4.1490583,
|
||||
"Z": -44.296997
|
||||
},
|
||||
"StopDistance": 5,
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2000750,
|
||||
"Position": {
|
||||
"X": -151.26276,
|
||||
"Y": 14.358704,
|
||||
"Z": -73.014465
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
32
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2000749,
|
||||
"Position": {
|
||||
"X": -164.11078,
|
||||
"Y": 23.025818,
|
||||
"Z": -86.167725
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
64
|
||||
]
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": -180.18181,
|
||||
"Y": 31.66525,
|
||||
"Z": -91.84381
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "WalkTo",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
-128
|
||||
]
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": -184.41872,
|
||||
"Y": 29.940958,
|
||||
"Z": -93.809525
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "WalkTo",
|
||||
"DisableNavmesh": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
-128
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2000748,
|
||||
"Position": {
|
||||
"X": -189.25769,
|
||||
"Y": 30.44165,
|
||||
"Z": -98.83276
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"DisableNavmesh": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
128
|
||||
]
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": -179.84062,
|
||||
"Y": 31.476957,
|
||||
"Z": -91.05707
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "WalkTo",
|
||||
"DisableNavmesh": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
-16
|
||||
]
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": -171.76294,
|
||||
"Y": 23.022184,
|
||||
"Z": -76.32822
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "WalkTo",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
-16
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2000751,
|
||||
"Position": {
|
||||
"X": -169.3294,
|
||||
"Y": 18.600708,
|
||||
"Z": -72.129456
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"DisableNavmesh": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
16
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -166.56161,
|
||||
"Y": 0.63666093,
|
||||
"Z": -61.089085
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "WalkTo",
|
||||
"DisableNavmesh": true,
|
||||
"Comment": "Jumping back up isn't trivial"
|
||||
},
|
||||
{
|
||||
"DataId": 1000436,
|
||||
"Position": {
|
||||
"X": -193.22504,
|
||||
"Y": 56.264572,
|
||||
"Z": -116.47211
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000436,
|
||||
"Position": {
|
||||
"X": -193.22504,
|
||||
"Y": 56.264572,
|
||||
"Z": -116.47211
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000748,
|
||||
"Position": {
|
||||
"X": -125.230774,
|
||||
"Y": 4.1573725,
|
||||
"Z": -43.595093
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2000689,
|
||||
"Position": {
|
||||
"X": -95.47571,
|
||||
"Y": 3.4942627,
|
||||
"Z": -150.80493
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000748,
|
||||
"Position": {
|
||||
"X": -125.230774,
|
||||
"Y": 4.1573725,
|
||||
"Z": -43.595093
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000748,
|
||||
"Position": {
|
||||
"X": -125.230774,
|
||||
"Y": 4.1573725,
|
||||
"Z": -43.595093
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1001280,
|
||||
"Position": {
|
||||
"X": 89.28052,
|
||||
"Y": -6.351089,
|
||||
"Z": -121.96539
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000483,
|
||||
"Position": {
|
||||
"X": 85.496216,
|
||||
"Y": -6.0870457,
|
||||
"Z": 67.00232
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000741,
|
||||
"Position": {
|
||||
"X": -66.7583,
|
||||
"Y": 0.2,
|
||||
"Z": 11.36792
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000741,
|
||||
"Position": {
|
||||
"X": -66.7583,
|
||||
"Y": 0.2,
|
||||
"Z": 11.36792
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2001006,
|
||||
"Position": {
|
||||
"X": 99.65662,
|
||||
"Y": -15.732117,
|
||||
"Z": 193.01135
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Combat",
|
||||
"EnemySpawnType": "AfterInteraction",
|
||||
"KillEnemyDataIds": [
|
||||
12
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000491,
|
||||
"Position": {
|
||||
"X": 47.958984,
|
||||
"Y": -24,
|
||||
"Z": 228.5343
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000491,
|
||||
"Position": {
|
||||
"X": 47.958984,
|
||||
"Y": -24,
|
||||
"Z": 228.5343
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1002932,
|
||||
"Position": {
|
||||
"X": -65.049255,
|
||||
"Y": -36.79766,
|
||||
"Z": 477.59204
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000503,
|
||||
"Position": {
|
||||
"X": 178.33215,
|
||||
"Y": -32.015224,
|
||||
"Z": 333.30273
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000421,
|
||||
"Position": {
|
||||
"X": 98.25281,
|
||||
"Y": -8,
|
||||
"Z": -78.446655
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 194.08282,
|
||||
"Y": -8.422037,
|
||||
"Z": -47.295006
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Combat",
|
||||
"EnemySpawnType": "OverworldEnemies",
|
||||
"KillEnemyDataIds": [
|
||||
43
|
||||
],
|
||||
"Comment": "Kill Chigoes manually"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000449,
|
||||
"Position": {
|
||||
"X": 201.83093,
|
||||
"Y": -5.5419664,
|
||||
"Z": -107.25574
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,79 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000685,
|
||||
"Position": {
|
||||
"X": 287.92236,
|
||||
"Y": -3.297,
|
||||
"Z": -32.6391
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Comment": "TODO Figure out quest flags if picking up egg first OR doing the combat first",
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2000010,
|
||||
"Position": {
|
||||
"X": 480.88794,
|
||||
"Y": 30.746826,
|
||||
"Z": -49.729187
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": 480.88794,
|
||||
"Y": 30.746826,
|
||||
"Z": -49.729187
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Combat",
|
||||
"EnemySpawnType": "OverworldEnemies",
|
||||
"KillEnemyDataIds": [142],
|
||||
"Comment": "Depending on how many enemies you fought on the way to the egg, this step could be optional"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000685,
|
||||
"Position": {
|
||||
"X": 287.92236,
|
||||
"Y": -3.297,
|
||||
"Z": -32.6391
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000408,
|
||||
"Position": {
|
||||
"X": 106.85889,
|
||||
"Y": -8,
|
||||
"Z": -75.669556
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000503,
|
||||
"Position": {
|
||||
"X": 178.33215,
|
||||
"Y": -32.015224,
|
||||
"Z": 333.30273
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2001018,
|
||||
"Position": {
|
||||
"X": 155.47412,
|
||||
"Y": -23.66681,
|
||||
"Z": 490.74524
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Combat",
|
||||
"EnemySpawnType": "AutoOnEnterArea",
|
||||
"KillEnemyDataIds": [
|
||||
26
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2001016,
|
||||
"Position": {
|
||||
"X": 152.60547,
|
||||
"Y": -23.758362,
|
||||
"Z": 494.71265
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000470,
|
||||
"Position": {
|
||||
"X": -59.006653,
|
||||
"Y": -0.010835781,
|
||||
"Z": 26.41333
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Central Shroud - Bentbranch Meadows"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1001148,
|
||||
"Position": {
|
||||
"X": 117.112915,
|
||||
"Y": -12.506256,
|
||||
"Z": 143.63306
|
||||
},
|
||||
"TerritoryId": 183,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1001140,
|
||||
"Position": {
|
||||
"X": 23.788818,
|
||||
"Y": -8,
|
||||
"Z": 115.861694
|
||||
},
|
||||
"TerritoryId": 183,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"TerritoryBlacklist": [
|
||||
233
|
||||
],
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000421,
|
||||
"Position": {
|
||||
"X": 98.25281,
|
||||
"Y": -8,
|
||||
"Z": -78.446655
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2000953,
|
||||
"Position": {
|
||||
"X": 323.5979,
|
||||
"Y": 0.3508911,
|
||||
"Z": -309.55975
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "SinglePlayerDuty"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2001194,
|
||||
"Position": {
|
||||
"X": 323.627,
|
||||
"Y": 0.3168333,
|
||||
"Z": -309.5412
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000421,
|
||||
"Position": {
|
||||
"X": 98.25281,
|
||||
"Y": -8,
|
||||
"Z": -78.446655
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000471,
|
||||
"Position": {
|
||||
"X": -60.471558,
|
||||
"Y": 0.19999865,
|
||||
"Z": 6.301941
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
"X": 23.819275,
|
||||
"Y": -8,
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Gridania",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Aetheryte Plaza",
|
||||
"[Gridania] Airship Landing"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,118 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
"X": 23.819275,
|
||||
"Y": -8,
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 49.65071,
|
||||
"Y": -8.046952,
|
||||
"Z": 102.32186
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "WalkTo",
|
||||
"$": "New Gridania Navmesh workaround"
|
||||
},
|
||||
{
|
||||
"DataId": 1000423,
|
||||
"Position": {
|
||||
"X": 232.04382,
|
||||
"Y": 1.999974,
|
||||
"Z": 45.578613
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AethernetShortcut": ["[Gridania] Aetheryte Plaza", "[Gridania] Archers' Guild"],
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_MANFST007_00447_Q1_000_1",
|
||||
"Yes": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1003061,
|
||||
"Position": {
|
||||
"X": -0.015319824,
|
||||
"Y": 0.500025,
|
||||
"Z": -4.3793945
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 204,
|
||||
"InteractionType": "Interact",
|
||||
"DisableNavmesh": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000456,
|
||||
"Position": {
|
||||
"X": -303.5172,
|
||||
"Y": 21.902342,
|
||||
"Z": 127.45862
|
||||
},
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "SinglePlayerDuty",
|
||||
"AetheryteShortcut": "Central Shroud - Bentbranch Meadows"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000423,
|
||||
"Position": {
|
||||
"X": 232.04382,
|
||||
"Y": 1.999974,
|
||||
"Z": 45.578613
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Gridania",
|
||||
"AethernetShortcut": ["[Gridania] Aetheryte Plaza", "[Gridania] Archers' Guild"],
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_MANFST007_00447_Q1_000_1",
|
||||
"Yes": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1003061,
|
||||
"Position": {
|
||||
"X": -0.015319824,
|
||||
"Y": 0.500025,
|
||||
"Z": -4.3793945
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 204,
|
||||
"InteractionType": "Interact",
|
||||
"DisableNavmesh": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,102 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1003061,
|
||||
"Position": {
|
||||
"X": -0.015319824,
|
||||
"Y": 0.500025,
|
||||
"Z": -4.3793945
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 204,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2001215,
|
||||
"Position": {
|
||||
"X": 0.002457563,
|
||||
"Y": 1.052062,
|
||||
"Z": 9.820032
|
||||
},
|
||||
"TerritoryId": 204,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 132
|
||||
},
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
"X": 23.819275,
|
||||
"Y": -8,
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Archers' Guild",
|
||||
"[Gridania] Airship Landing"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 49.65071,
|
||||
"Y": -8.046952,
|
||||
"Z": 102.32186
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "WalkTo",
|
||||
"$": "New Gridania Navmesh workaround"
|
||||
},
|
||||
{
|
||||
"DataId": 1000153,
|
||||
"Position": {
|
||||
"X": -44.87683,
|
||||
"Y": -1.2500024,
|
||||
"Z": 56.839844
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 49.65071,
|
||||
"Y": -8.046952,
|
||||
"Z": 102.32186
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "WalkTo",
|
||||
"$": "New Gridania Navmesh workaround"
|
||||
},
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
"X": 23.819275,
|
||||
"Y": -8,
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,112 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
"X": 23.819275,
|
||||
"Y": -8,
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "EquipItem",
|
||||
"ItemId": 2651
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": 49.65071,
|
||||
"Y": -8.046952,
|
||||
"Z": 102.32186
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "WalkTo",
|
||||
"$": "New Gridania Navmesh workaround"
|
||||
},
|
||||
{
|
||||
"DataId": 1000286,
|
||||
"Position": {
|
||||
"X": -53.574463,
|
||||
"Y": 7.2025366,
|
||||
"Z": -118.36426
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "Interact",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Aetheryte Plaza",
|
||||
"[Gridania] Mih Khetto's Amphitheatre"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2000087,
|
||||
"Position": {
|
||||
"X": 0.015197754,
|
||||
"Y": 1.449585,
|
||||
"Z": 7.7057495
|
||||
},
|
||||
"TerritoryId": 179,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 132
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": 49.65071,
|
||||
"Y": -8.046952,
|
||||
"Z": 102.32186
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "WalkTo",
|
||||
"$": "New Gridania Navmesh workaround"
|
||||
},
|
||||
{
|
||||
"DataId": 1000460,
|
||||
"Position": {
|
||||
"X": -159.41101,
|
||||
"Y": 4.054107,
|
||||
"Z": -4.1047363
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "Interact",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Aetheryte Plaza",
|
||||
"[Gridania] Conjurers' Guild"
|
||||
],
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_MANFST009_00449_Q2_000_1",
|
||||
"Yes": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1003027,
|
||||
"Position": {
|
||||
"X": 4.8981323,
|
||||
"Y": -1.92944,
|
||||
"Z": -0.19836426
|
||||
},
|
||||
"TerritoryId": 205,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,383 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1003027,
|
||||
"Position": {
|
||||
"X": 4.8981323,
|
||||
"Y": -1.92944,
|
||||
"Z": -0.19836426
|
||||
},
|
||||
"TerritoryId": 205,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2001216,
|
||||
"Position": {
|
||||
"X": 45.87172,
|
||||
"Y": 7.763558,
|
||||
"Z": 47.41661
|
||||
},
|
||||
"TerritoryId": 205,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 133
|
||||
},
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
"X": 23.819275,
|
||||
"Y": -8,
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Conjurers' Guild",
|
||||
"[Gridania] Airship Landing"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000106,
|
||||
"Position": {
|
||||
"X": 29.007324,
|
||||
"Y": -19.000002,
|
||||
"Z": 105.485596
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_MANFST200_00507_Q1_000_1",
|
||||
"Yes": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2001666,
|
||||
"Position": {
|
||||
"X": 7.179191,
|
||||
"Y": -21.93796,
|
||||
"Z": 124.1005
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_MANFST200_00507_Q2_000_1",
|
||||
"Yes": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 4,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1002703,
|
||||
"Position": {
|
||||
"X": -12.375122,
|
||||
"Y": 91.499985,
|
||||
"Z": -0.5340576
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "Interact",
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_MANFST200_00507_Q5_000_1",
|
||||
"Yes": true
|
||||
}
|
||||
],
|
||||
"Comment": "Limsa Arrivals Attendant"
|
||||
},
|
||||
{
|
||||
"DataId": 1002693,
|
||||
"Position": {
|
||||
"X": -6.515625,
|
||||
"Y": 91.49996,
|
||||
"Z": -13.656921
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1003583,
|
||||
"Position": {
|
||||
"X": -7.248047,
|
||||
"Y": 91.49999,
|
||||
"Z": -16.128845
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 129,
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "List",
|
||||
"ExcelSheet": "Warp",
|
||||
"Prompt": null,
|
||||
"Answer": 131094
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1001029,
|
||||
"Position": {
|
||||
"X": 9.170593,
|
||||
"Y": 20.999403,
|
||||
"Z": -15.213318
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 6,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 8,
|
||||
"Position": {
|
||||
"X": -84.00108,
|
||||
"Y": 20.77683,
|
||||
"Z": 0.03414845
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
},
|
||||
{
|
||||
"DataId": 49,
|
||||
"Position": {
|
||||
"X": -213.61108,
|
||||
"Y": 16.739136,
|
||||
"Z": 51.80432
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Hawkers' Alley"
|
||||
},
|
||||
{
|
||||
"DataId": 43,
|
||||
"Position": {
|
||||
"X": -335.1645,
|
||||
"Y": 12.619202,
|
||||
"Z": 56.381958
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Arcanists' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 44,
|
||||
"Position": {
|
||||
"X": -179.40033,
|
||||
"Y": 4.8065186,
|
||||
"Z": 182.97095
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Fishermens' Guild",
|
||||
"AethernetShortcut": [
|
||||
"[Limsa Lominsa] Arcanists' Guild",
|
||||
"[Limsa Lominsa] Hawkers' Alley"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": -83.8817,
|
||||
"Y": 18.475962,
|
||||
"Z": -29.903847
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "WalkTo",
|
||||
"TargetTerritoryId": 128,
|
||||
"Comment": "Walk to Culinarians' Guild",
|
||||
"AethernetShortcut": [
|
||||
"[Limsa Lominsa] Fishermens' Guild",
|
||||
"[Limsa Lominsa] Aetheryte Plaza"
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 42,
|
||||
"Position": {
|
||||
"X": -56.50421,
|
||||
"Y": 44.47998,
|
||||
"Z": -131.45648
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Culinarians' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 48,
|
||||
"Position": {
|
||||
"X": -5.1728516,
|
||||
"Y": 44.63257,
|
||||
"Z": -218.06671
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Marauders' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 41,
|
||||
"Position": {
|
||||
"X": 16.067688,
|
||||
"Y": 40.787354,
|
||||
"Z": 68.80286
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Aftcastle"
|
||||
},
|
||||
{
|
||||
"DataId": 1002695,
|
||||
"Position": {
|
||||
"X": -25.92511,
|
||||
"Y": 91.999954,
|
||||
"Z": -3.6774292
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "Interact",
|
||||
"AethernetShortcut": [
|
||||
"[Limsa Lominsa] The Aftcastle",
|
||||
"[Limsa Lominsa] Airship Landing"
|
||||
],
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_MANFST200_00507_Q6_000_1",
|
||||
"Yes": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 7,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2001669,
|
||||
"Position": {
|
||||
"X": -11.12384,
|
||||
"Y": 92.0271,
|
||||
"Z": 17.166382
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "Interact",
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_MANFST200_00507_Q4_000_1",
|
||||
"Yes": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 8,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1004434,
|
||||
"Position": {
|
||||
"X": -27.17633,
|
||||
"Y": 83.19998,
|
||||
"Z": 2.304016
|
||||
},
|
||||
"TerritoryId": 130,
|
||||
"InteractionType": "Interact",
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_MANFST200_00507_Q7_000_1",
|
||||
"Yes": true
|
||||
}
|
||||
],
|
||||
"Comment": "Ul'dah Arrivals Attendant"
|
||||
},
|
||||
{
|
||||
"DataId": 1004336,
|
||||
"Position": {
|
||||
"X": -12.619263,
|
||||
"Y": 82.99987,
|
||||
"Z": 4.562378
|
||||
},
|
||||
"TerritoryId": 130,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1004339,
|
||||
"Position": {
|
||||
"X": -25.986206,
|
||||
"Y": 81.799995,
|
||||
"Z": -31.99823
|
||||
},
|
||||
"TerritoryId": 130,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 131,
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "List",
|
||||
"ExcelSheet": "Warp",
|
||||
"Prompt": null,
|
||||
"Answer": 131096
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 51,
|
||||
"Position": {
|
||||
"X": 6.6376343,
|
||||
"Y": 30.655273,
|
||||
"Z": -24.826477
|
||||
},
|
||||
"TerritoryId": 131,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
},
|
||||
{
|
||||
"DataId": 1001821,
|
||||
"Position": {
|
||||
"X": -24.124573,
|
||||
"Y": 38.000004,
|
||||
"Z": 85.31323
|
||||
},
|
||||
"TerritoryId": 131,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
201
QuestPaths/ARealmReborn/MSQ-1/Gridania/85_LNC_Close to Home.json
Normal file
201
QuestPaths/ARealmReborn/MSQ-1/Gridania/85_LNC_Close to Home.json
Normal file
@ -0,0 +1,201 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1001140,
|
||||
"Position": {
|
||||
"X": 23.788818,
|
||||
"Y": -8,
|
||||
"Z": 115.861694
|
||||
},
|
||||
"TerritoryId": 183,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 49.65071,
|
||||
"Y": -8.046952,
|
||||
"Z": 102.32186
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "WalkTo",
|
||||
"$": "New Gridania Navmesh workaround"
|
||||
},
|
||||
{
|
||||
"DataId": 2,
|
||||
"Position": {
|
||||
"X": 32.913696,
|
||||
"Y": 2.670288,
|
||||
"Z": 30.014404
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
128
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 25,
|
||||
"Position": {
|
||||
"X": 166.58276,
|
||||
"Y": -1.7243042,
|
||||
"Z": 86.13721
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Archers' Guild"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": 102.810745,
|
||||
"Y": 5.4071116,
|
||||
"Z": 12.54738
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "WalkTo",
|
||||
"TargetTerritoryId": 133
|
||||
},
|
||||
{
|
||||
"DataId": 1000768,
|
||||
"Position": {
|
||||
"X": 172.35059,
|
||||
"Y": 15.5,
|
||||
"Z": -89.951965
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "Interact",
|
||||
"Comment": "TODO Questflags",
|
||||
"$": "If done after aetheryte: 33 1 0 0 0 128"
|
||||
},
|
||||
{
|
||||
"DataId": 26,
|
||||
"Position": {
|
||||
"X": 101.27405,
|
||||
"Y": 9.018005,
|
||||
"Z": -111.31464
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Leatherworkers' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 27,
|
||||
"Position": {
|
||||
"X": 121.23291,
|
||||
"Y": 12.649658,
|
||||
"Z": -229.63306
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Lancers' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 1000251,
|
||||
"Position": {
|
||||
"X": 147.08167,
|
||||
"Y": 15.5,
|
||||
"Z": -267.99426
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "Interact",
|
||||
"Comment": "Lancer Receptionist"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000251,
|
||||
"Position": {
|
||||
"X": 147.08167,
|
||||
"Y": 15.5,
|
||||
"Z": -267.99426
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "Interact",
|
||||
"Comment": "Pick up Class Quest"
|
||||
},
|
||||
{
|
||||
"DataId": 30,
|
||||
"Position": {
|
||||
"X": -73.92999,
|
||||
"Y": 7.9804688,
|
||||
"Z": -140.15417
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Lancers' Guild",
|
||||
"[Gridania] Leatherworkers' Guild & Shaded Bower"
|
||||
],
|
||||
"Comment": "Mih Khetto's Amphitheatre"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": -174.09056,
|
||||
"Y": 10.91981,
|
||||
"Z": -162.12527
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 29,
|
||||
"Position": {
|
||||
"X": -311.0857,
|
||||
"Y": 7.94989,
|
||||
"Z": -177.05048
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Botanists' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 28,
|
||||
"Position": {
|
||||
"X": -145.15906,
|
||||
"Y": 4.9591064,
|
||||
"Z": -11.7647705
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Botanists' Guild",
|
||||
"[Gridania] Mih Khetto's Amphitheatre"
|
||||
],
|
||||
"Comment": "Conjurers' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
"X": 23.819275,
|
||||
"Y": -8,
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Conjurers' Guild",
|
||||
"[Gridania] Airship Landing"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -82,6 +82,7 @@
|
||||
"Y": 0.9999907,
|
||||
"Z": 211.68835
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 138,
|
||||
|
@ -29,7 +29,8 @@
|
||||
},
|
||||
"TerritoryId": 141,
|
||||
"InteractionType": "Interact",
|
||||
"Comment": "'Forging the Spirit'"
|
||||
"Comment": "'Forging the Spirit'",
|
||||
"AetheryteShortcut": "Central Thanalan - Black Brush Station"
|
||||
},
|
||||
{
|
||||
"DataId": 1001426,
|
||||
|
@ -20,6 +20,16 @@
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -316.29608,
|
||||
"Y": 23.44405,
|
||||
"Z": -345.24487
|
||||
},
|
||||
"TerritoryId": 140,
|
||||
"InteractionType": "WalkTo",
|
||||
"AetheryteShortcut": "Western Thanalan - Horizon"
|
||||
},
|
||||
{
|
||||
"DataId": 1004603,
|
||||
"Position": {
|
||||
@ -28,14 +38,22 @@
|
||||
"Z": -381.97913
|
||||
},
|
||||
"TerritoryId": 140,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Western Thanalan - Horizon"
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -493.3852,
|
||||
"Y": 21,
|
||||
"Z": -382.50455
|
||||
},
|
||||
"TerritoryId": 140,
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 2001711,
|
||||
"Position": {
|
||||
|
@ -50,6 +50,7 @@
|
||||
"Y": 0.32037354,
|
||||
"Z": -166.58276
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 141,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"AetheryteShortcut": "Ul'dah",
|
||||
@ -68,6 +69,16 @@
|
||||
"InteractionType": "WalkTo",
|
||||
"TargetTerritoryId": 145
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": -423.0189,
|
||||
"Y": -37.96352,
|
||||
"Z": 176.73677
|
||||
},
|
||||
"TerritoryId": 145,
|
||||
"InteractionType": "WalkTo",
|
||||
"$": "Camp Drybone Lantern"
|
||||
},
|
||||
{
|
||||
"DataId": 18,
|
||||
"Position": {
|
||||
@ -75,6 +86,7 @@
|
||||
"Y": -57.1756,
|
||||
"Z": 142.59558
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 145,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
},
|
||||
|
@ -137,7 +137,7 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"TerritoryId": 145,
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "UseItem",
|
||||
"ItemId": 30362,
|
||||
"TargetTerritoryId": 140
|
||||
|
@ -95,6 +95,26 @@
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -378.46735,
|
||||
"Y": -38.009487,
|
||||
"Z": 159.38092
|
||||
},
|
||||
"TerritoryId": 145,
|
||||
"InteractionType": "WalkTo",
|
||||
"$": "Camp Drybone cliff jump"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": -379.3895,
|
||||
"Y": -59.000004,
|
||||
"Z": 147.99257
|
||||
},
|
||||
"TerritoryId": 145,
|
||||
"InteractionType": "WalkTo",
|
||||
"DisableNavmesh": true
|
||||
},
|
||||
{
|
||||
"DataId": 1003929,
|
||||
"Position": {
|
||||
|
@ -46,6 +46,7 @@
|
||||
"Y": 48.203125,
|
||||
"Z": -227.039
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 140,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"AethernetShortcut": [
|
||||
|
@ -23,6 +23,16 @@
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 49.65071,
|
||||
"Y": -8.046952,
|
||||
"Z": 102.32186
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "WalkTo",
|
||||
"$": "New Gridania Navmesh workaround"
|
||||
},
|
||||
{
|
||||
"DataId": 3,
|
||||
"Position": {
|
||||
@ -63,6 +73,17 @@
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 49.65071,
|
||||
"Y": -8.046952,
|
||||
"Z": 102.32186
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "WalkTo",
|
||||
"$": "New Gridania Navmesh workaround",
|
||||
"AetheryteShortcut": "Gridania"
|
||||
},
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
@ -71,8 +92,7 @@
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Gridania"
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -0,0 +1,105 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1004884,
|
||||
"Position": {
|
||||
"X": 38.895264,
|
||||
"Y": 1.2000012,
|
||||
"Z": 3.463745
|
||||
},
|
||||
"TerritoryId": 212,
|
||||
"InteractionType": "Interact",
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_MANFST302_00680_Q1_000_1",
|
||||
"Yes": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1002394,
|
||||
"Position": {
|
||||
"X": -69.5354,
|
||||
"Y": -0.50095016,
|
||||
"Z": -9.99469
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Gridania",
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "List",
|
||||
"Prompt": "TEXT_MANFST302_00680_Q2_000_1",
|
||||
"Answer": "TEXT_MANFST302_00680_A2_000_2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1001263,
|
||||
"Position": {
|
||||
"X": 181.41443,
|
||||
"Y": -2.3519497,
|
||||
"Z": -240.40594
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 152,
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Aetheryte Plaza",
|
||||
"[Gridania] Lancers' Guild"
|
||||
],
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "List",
|
||||
"ExcelSheet": "Warp",
|
||||
"Prompt": null,
|
||||
"Answer": 131077
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1004886,
|
||||
"Position": {
|
||||
"X": 30.319702,
|
||||
"Y": 8.422709,
|
||||
"Z": 475.30322
|
||||
},
|
||||
"TerritoryId": 152,
|
||||
"InteractionType": "SinglePlayerDuty"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1002394,
|
||||
"Position": {
|
||||
"X": -69.5354,
|
||||
"Y": -0.50095016,
|
||||
"Z": -9.99469
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Gridania"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -4,8 +4,25 @@
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [],
|
||||
"Comment": "Quest start is intentionally empty, so you pick a Grand Company"
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1004885,
|
||||
"Position": {
|
||||
"X": 36.453735,
|
||||
"Y": 1.2000011,
|
||||
"Z": 4.6845093
|
||||
},
|
||||
"TerritoryId": 212,
|
||||
"InteractionType": "Interact",
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_MANSEA302_00681_Q1_000_1",
|
||||
"Yes": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
|
@ -0,0 +1,62 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1002394,
|
||||
"Position": {
|
||||
"X": -69.5354,
|
||||
"Y": -0.50095016,
|
||||
"Z": -9.99469
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "UseItem",
|
||||
"ItemId": 30362,
|
||||
"TargetTerritoryId": 140
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": -492.96475,
|
||||
"Y": 20.999884,
|
||||
"Z": -380.82272
|
||||
},
|
||||
"TerritoryId": 140,
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 2001711,
|
||||
"Position": {
|
||||
"X": -480.9181,
|
||||
"Y": 18.00103,
|
||||
"Z": -386.862
|
||||
},
|
||||
"TerritoryId": 140,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 212
|
||||
},
|
||||
{
|
||||
"DataId": 1005012,
|
||||
"Position": {
|
||||
"X": 22.507019,
|
||||
"Y": 0.9999986,
|
||||
"Z": -2.02948
|
||||
},
|
||||
"TerritoryId": 212,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000168,
|
||||
"Position": {
|
||||
"X": -75.48645,
|
||||
"Y": -0.5013741,
|
||||
"Z": -5.081299
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1002394,
|
||||
"Position": {
|
||||
"X": -69.5354,
|
||||
"Y": -0.50095016,
|
||||
"Z": -9.99469
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Instruction",
|
||||
"Comment": "Buy Serpent Chocobo Issuance"
|
||||
},
|
||||
{
|
||||
"DataId": 1000136,
|
||||
"Position": {
|
||||
"X": 32.303345,
|
||||
"Y": -0.050583772,
|
||||
"Z": 70.29822
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1006001,
|
||||
"Position": {
|
||||
"X": 35.38562,
|
||||
"Y": -0.89902794,
|
||||
"Z": 67.551636
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000136,
|
||||
"Position": {
|
||||
"X": 32.303345,
|
||||
"Y": -0.050583772,
|
||||
"Z": 70.29822
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,99 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1003281,
|
||||
"Position": {
|
||||
"X": 97.520386,
|
||||
"Y": 40.248554,
|
||||
"Z": 81.1322
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Limsa Lominsa",
|
||||
"AethernetShortcut": ["[Limsa Lominsa] Aetheryte Plaza", "[Limsa Lominsa] The Aftcastle"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1002387,
|
||||
"Position": {
|
||||
"X": 95.750244,
|
||||
"Y": 40.250286,
|
||||
"Z": 76.67651
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "Instruction",
|
||||
"Comment": "Buy Storm Chocobo Issuance"
|
||||
},
|
||||
{
|
||||
"DataId": 1003597,
|
||||
"Position": {
|
||||
"X": 8.194031,
|
||||
"Y": 39.999973,
|
||||
"Z": 17.746216
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 129,
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "List",
|
||||
"ExcelSheet": "Warp",
|
||||
"Prompt": null,
|
||||
"Answer": 131094
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1001027,
|
||||
"Position": {
|
||||
"X": 45.792236,
|
||||
"Y": 20,
|
||||
"Z": -8.1026
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1006002,
|
||||
"Position": {
|
||||
"X": 49.576538,
|
||||
"Y": 20,
|
||||
"Z": -5.722229
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1001027,
|
||||
"Position": {
|
||||
"X": 45.792236,
|
||||
"Y": 20,
|
||||
"Z": -8.1026
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
44
QuestPaths/ARealmReborn/MSQ-2/A2/3856_We Come in Peace.json
Normal file
44
QuestPaths/ARealmReborn/MSQ-2/A2/3856_We Come in Peace.json
Normal file
@ -0,0 +1,44 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1000168,
|
||||
"Position": {
|
||||
"X": -75.48645,
|
||||
"Y": -0.5013741,
|
||||
"Z": -5.081299
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Gridania",
|
||||
"SkipIf": [
|
||||
"AetheryteShortcutIfInSameTerritory"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -75.48645,
|
||||
"Y": -0.5013741,
|
||||
"Z": -5.081299
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "UseItem",
|
||||
"ItemId": 6001,
|
||||
"SkipIf": [
|
||||
"ChocoboUnlocked"
|
||||
],
|
||||
"Comment": "Use Chocobo whistle (if not yet unlocked)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -350,7 +350,9 @@
|
||||
"Never",
|
||||
"FlyingLocked",
|
||||
"FlyingUnlocked",
|
||||
"DifferentTerritory"
|
||||
"DifferentTerritory",
|
||||
"ChocoboUnlocked",
|
||||
"AetheryteShortcutIfInSameTerritory"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -9,5 +9,7 @@ public sealed class SkipConditionConverter() : EnumConverter<ESkipCondition>(Val
|
||||
{ ESkipCondition.Never, "Never" },
|
||||
{ ESkipCondition.FlyingLocked, "FlyingLocked" },
|
||||
{ ESkipCondition.FlyingUnlocked, "FlyingUnlocked" },
|
||||
{ ESkipCondition.ChocoboUnlocked, "ChocoboUnlocked" },
|
||||
{ ESkipCondition.AetheryteShortcutIfInSameTerritory, "AetheryteShortcutIfInSameTerritory" },
|
||||
};
|
||||
}
|
||||
|
@ -10,4 +10,6 @@ public enum ESkipCondition
|
||||
Never,
|
||||
FlyingLocked,
|
||||
FlyingUnlocked,
|
||||
ChocoboUnlocked,
|
||||
AetheryteShortcutIfInSameTerritory,
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
using Dalamud.Configuration;
|
||||
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
|
||||
using LLib.ImGui;
|
||||
|
||||
namespace Questionable;
|
||||
@ -15,6 +16,7 @@ internal sealed class Configuration : IPluginConfiguration
|
||||
{
|
||||
public bool AutoAcceptNextQuest { get; set; }
|
||||
public uint MountId { get; set; } = 71;
|
||||
public GrandCompany GrandCompany { get; set; } = GrandCompany.None;
|
||||
}
|
||||
|
||||
internal sealed class AdvancedConfiguration
|
||||
|
@ -386,10 +386,8 @@ internal sealed class GameUiController : IDisposable
|
||||
{
|
||||
if (_questController.CurrentQuest?.Quest.QuestId == 245)
|
||||
{
|
||||
// TODO Test this
|
||||
_logger.LogInformation("Closing ContentsTutorial");
|
||||
AtkUnitBase* addon = (AtkUnitBase*)args.Addon;
|
||||
//addon->FireCallbackInt(-2);
|
||||
addon->FireCallbackInt(13);
|
||||
}
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ internal sealed class MovementController : IDisposable
|
||||
public bool IsNavmeshReady => _navmeshIpc.IsReady;
|
||||
public bool IsPathRunning => _navmeshIpc.IsPathRunning;
|
||||
public bool IsPathfinding => _pathfindTask is { IsCompleted: false };
|
||||
public DestinationData? Destination { get; private set; }
|
||||
public DestinationData? Destination { get; set; }
|
||||
public DateTime MovementStartedAt { get; private set; } = DateTime.MaxValue;
|
||||
|
||||
public void Update()
|
||||
|
@ -1,23 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Dalamud.Game.ClientState.Conditions;
|
||||
using Dalamud.Game.ClientState.Keys;
|
||||
using Dalamud.Game.ClientState.Objects.Types;
|
||||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.UI;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Questionable.Controller.Steps;
|
||||
using Questionable.Data;
|
||||
using Questionable.External;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.V1;
|
||||
using Questionable.Model.V1.Converter;
|
||||
|
||||
namespace Questionable.Controller;
|
||||
|
||||
@ -464,11 +453,6 @@ internal sealed class QuestController
|
||||
}
|
||||
}
|
||||
|
||||
// TODO is this still required?
|
||||
public sealed record StepProgress(
|
||||
DateTime StartedAt,
|
||||
int DialogueChoicesSelected = 0);
|
||||
|
||||
public void Skip(ushort questQuestId, byte currentQuestSequence)
|
||||
{
|
||||
lock (_lock)
|
||||
@ -498,4 +482,7 @@ internal sealed class QuestController
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed record StepProgress(
|
||||
DateTime StartedAt);
|
||||
}
|
||||
|
@ -25,7 +25,11 @@ internal static class AetheryteShortcut
|
||||
|
||||
var task = serviceProvider.GetRequiredService<UseAetheryteShortcut>()
|
||||
.With(step, step.AetheryteShortcut.Value, aetheryteData.TerritoryIds[step.AetheryteShortcut.Value]);
|
||||
return [new WaitConditionTask(gameFunctions.CanTeleport, "CanTeleport"), task];
|
||||
return
|
||||
[
|
||||
new WaitConditionTask(() => gameFunctions.CanTeleport(step.AetheryteShortcut.Value), "CanTeleport"),
|
||||
task
|
||||
];
|
||||
}
|
||||
|
||||
public ITask CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
|
||||
@ -64,6 +68,12 @@ internal static class AetheryteShortcut
|
||||
ushort territoryType = clientState.TerritoryType;
|
||||
if (ExpectedTerritoryId == territoryType)
|
||||
{
|
||||
if (Step.SkipIf.Contains(ESkipCondition.AetheryteShortcutIfInSameTerritory))
|
||||
{
|
||||
logger.LogInformation("Skipping aetheryte teleport due to SkipIf");
|
||||
return false;
|
||||
}
|
||||
|
||||
Vector3 pos = clientState.LocalPlayer!.Position;
|
||||
if (aetheryteData.CalculateDistance(pos, territoryType, TargetAetheryte) < 11 ||
|
||||
(Step.AethernetShortcut != null &&
|
||||
|
@ -1,5 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.UI;
|
||||
using FFXIVClientStructs.FFXIV.Client.System.Framework;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
@ -17,11 +20,13 @@ internal static class SkipCondition
|
||||
if (step.SkipIf.Contains(ESkipCondition.Never))
|
||||
return null;
|
||||
|
||||
if (step.SkipIf.Count == 0 && step.CompletionQuestVariablesFlags.Count == 0)
|
||||
var relevantConditions =
|
||||
step.SkipIf.Where(x => x != ESkipCondition.AetheryteShortcutIfInSameTerritory).ToList();
|
||||
if (relevantConditions.Count == 0 && step.CompletionQuestVariablesFlags.Count == 0)
|
||||
return null;
|
||||
|
||||
return serviceProvider.GetRequiredService<CheckTask>()
|
||||
.With(step, quest.QuestId);
|
||||
.With(step, relevantConditions, quest.QuestId);
|
||||
}
|
||||
}
|
||||
|
||||
@ -30,33 +35,42 @@ internal static class SkipCondition
|
||||
GameFunctions gameFunctions) : ITask
|
||||
{
|
||||
public QuestStep Step { get; set; } = null!;
|
||||
public List<ESkipCondition> SkipConditions { get; set; } = null!;
|
||||
public ushort QuestId { get; set; }
|
||||
|
||||
public ITask With(QuestStep step, ushort questId)
|
||||
public ITask With(QuestStep step, List<ESkipCondition> skipConditions, ushort questId)
|
||||
{
|
||||
Step = step;
|
||||
SkipConditions = skipConditions;
|
||||
QuestId = questId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public bool Start()
|
||||
public unsafe bool Start()
|
||||
{
|
||||
logger.LogInformation("Checking skip conditions; {ConfiguredConditions}", string.Join(",", Step.SkipIf));
|
||||
logger.LogInformation("Checking skip conditions; {ConfiguredConditions}", string.Join(",", SkipConditions));
|
||||
|
||||
if (Step.SkipIf.Contains(ESkipCondition.FlyingUnlocked) &&
|
||||
if (SkipConditions.Contains(ESkipCondition.FlyingUnlocked) &&
|
||||
gameFunctions.IsFlyingUnlocked(Step.TerritoryId))
|
||||
{
|
||||
logger.LogInformation("Skipping step, as flying is unlocked");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Step.SkipIf.Contains(ESkipCondition.FlyingLocked) &&
|
||||
if (SkipConditions.Contains(ESkipCondition.FlyingLocked) &&
|
||||
!gameFunctions.IsFlyingUnlocked(Step.TerritoryId))
|
||||
{
|
||||
logger.LogInformation("Skipping step, as flying is locked");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (SkipConditions.Contains(ESkipCondition.ChocoboUnlocked) &&
|
||||
PlayerState.Instance()->IsMountUnlocked(1))
|
||||
{
|
||||
logger.LogInformation("Skipping step, as chocobo is unlocked");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Step is
|
||||
{
|
||||
DataId: not null,
|
||||
@ -87,6 +101,6 @@ internal static class SkipCondition
|
||||
|
||||
public ETaskResult Update() => ETaskResult.SkipRemainingTasksForStep;
|
||||
|
||||
public override string ToString() => $"CheckSkip({string.Join(", ", Step.SkipIf)})";
|
||||
public override string ToString() => $"CheckSkip({string.Join(", ", SkipConditions)})";
|
||||
}
|
||||
}
|
||||
|
@ -35,6 +35,7 @@ internal static class WaitAtEnd
|
||||
return [
|
||||
serviceProvider.GetRequiredService<WaitDelay>(),
|
||||
notInCombat,
|
||||
serviceProvider.GetRequiredService<WaitDelay>(),
|
||||
Next(quest, sequence, step)
|
||||
];
|
||||
|
||||
|
@ -27,8 +27,7 @@ internal static class EquipItem
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class DoEquip(IDataManager dataManager, ILogger<DoEquip> logger)
|
||||
: AbstractDelayedTask(TimeSpan.FromSeconds(1))
|
||||
internal sealed class DoEquip(IDataManager dataManager, ILogger<DoEquip> logger) : ITask
|
||||
{
|
||||
private static readonly IReadOnlyList<InventoryType> SourceInventoryTypes =
|
||||
[
|
||||
@ -55,6 +54,8 @@ internal static class EquipItem
|
||||
private Item _item = null!;
|
||||
private List<ushort> _targetSlots = [];
|
||||
|
||||
private DateTime _continueAt = DateTime.MaxValue;
|
||||
|
||||
public ITask With(uint itemId)
|
||||
{
|
||||
_itemId = itemId;
|
||||
@ -64,7 +65,32 @@ internal static class EquipItem
|
||||
return this;
|
||||
}
|
||||
|
||||
protected override unsafe bool StartInternal()
|
||||
public bool Start()
|
||||
{
|
||||
Equip();
|
||||
_continueAt = DateTime.Now.AddSeconds(1);
|
||||
return true;
|
||||
}
|
||||
|
||||
public unsafe ETaskResult Update()
|
||||
{
|
||||
if (DateTime.Now < _continueAt)
|
||||
return ETaskResult.StillRunning;
|
||||
|
||||
InventoryManager* inventoryManager = InventoryManager.Instance();
|
||||
if (inventoryManager == null)
|
||||
return ETaskResult.StillRunning;
|
||||
|
||||
if (_targetSlots.Any(x =>
|
||||
inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x)->ItemID == _itemId))
|
||||
return ETaskResult.TaskComplete;
|
||||
|
||||
Equip();
|
||||
_continueAt = DateTime.Now.AddSeconds(1);
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
|
||||
private unsafe bool Equip()
|
||||
{
|
||||
var inventoryManager = InventoryManager.Instance();
|
||||
if (inventoryManager == null)
|
||||
@ -108,26 +134,13 @@ internal static class EquipItem
|
||||
int result = inventoryManager->MoveItemSlot(sourceInventoryType, sourceSlot,
|
||||
InventoryType.EquippedItems, targetSlot, 1);
|
||||
logger.LogInformation("MoveItemSlot result: {Result}", result);
|
||||
return true;
|
||||
return result == 0;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
protected override unsafe ETaskResult UpdateInternal()
|
||||
{
|
||||
InventoryManager* inventoryManager = InventoryManager.Instance();
|
||||
if (inventoryManager == null)
|
||||
return ETaskResult.StillRunning;
|
||||
|
||||
if (_targetSlots.Any(x =>
|
||||
inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x)->ItemID == _itemId))
|
||||
return ETaskResult.TaskComplete;
|
||||
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
|
||||
private static List<ushort>? GetEquipSlot(Item item)
|
||||
{
|
||||
return item.EquipSlotCategory.Row switch
|
||||
|
@ -1,6 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Questionable.Controller.Steps.BaseTasks;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.V1;
|
||||
@ -9,6 +11,8 @@ namespace Questionable.Controller.Steps.InteractionFactory;
|
||||
|
||||
internal static class UseItem
|
||||
{
|
||||
public const int VesperBayAetheryteTicket = 30362;
|
||||
|
||||
internal sealed class Factory(IServiceProvider serviceProvider) : ITaskFactory
|
||||
{
|
||||
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
|
||||
@ -45,30 +49,58 @@ internal static class UseItem
|
||||
=> throw new InvalidOperationException();
|
||||
}
|
||||
|
||||
internal abstract class UseItemBase : ITask
|
||||
internal abstract class UseItemBase(ILogger logger) : ITask
|
||||
{
|
||||
private bool _usedItem;
|
||||
private DateTime _continueAt;
|
||||
private int _itemCount;
|
||||
|
||||
public uint ItemId { get; set; }
|
||||
|
||||
protected abstract bool UseItem();
|
||||
|
||||
public bool Start()
|
||||
public unsafe bool Start()
|
||||
{
|
||||
InventoryManager* inventoryManager = InventoryManager.Instance();
|
||||
if (inventoryManager == null)
|
||||
throw new TaskException("No InventoryManager");
|
||||
|
||||
_itemCount = inventoryManager->GetInventoryItemCount(ItemId);
|
||||
if (_itemCount == 0)
|
||||
throw new TaskException($"Don't have any {ItemId} in inventory (NQ only)");
|
||||
|
||||
_usedItem = UseItem();
|
||||
if (ItemId == 30362) // vesper bay aether ticket
|
||||
if (ItemId == VesperBayAetheryteTicket)
|
||||
_continueAt = DateTime.Now.AddSeconds(11);
|
||||
else
|
||||
_continueAt = DateTime.Now.AddSeconds(2);
|
||||
return true;
|
||||
}
|
||||
|
||||
public ETaskResult Update()
|
||||
public unsafe ETaskResult Update()
|
||||
{
|
||||
if (DateTime.Now <= _continueAt)
|
||||
return ETaskResult.StillRunning;
|
||||
|
||||
if (ItemId == VesperBayAetheryteTicket)
|
||||
{
|
||||
InventoryManager* inventoryManager = InventoryManager.Instance();
|
||||
if (inventoryManager == null)
|
||||
{
|
||||
logger.LogWarning("InventoryManager is not available");
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
|
||||
int itemCount = inventoryManager->GetInventoryItemCount(ItemId);
|
||||
if (itemCount == _itemCount)
|
||||
{
|
||||
// TODO Better handling for game-provided errors, i.e. reacting to the 'Could not use' messages. UseItem() is successful in this case (and returns 0)
|
||||
logger.LogInformation("Attempted to use vesper bay aetheryte ticket, but it didn't consume an item - reattempting next frame");
|
||||
_usedItem = false;
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
}
|
||||
|
||||
if (!_usedItem)
|
||||
{
|
||||
_usedItem = UseItem();
|
||||
@ -81,7 +113,7 @@ internal static class UseItem
|
||||
}
|
||||
|
||||
|
||||
internal sealed class UseOnGround(GameFunctions gameFunctions) : UseItemBase
|
||||
internal sealed class UseOnGround(GameFunctions gameFunctions, ILogger<UseOnGround> logger) : UseItemBase(logger)
|
||||
{
|
||||
public uint DataId { get; set; }
|
||||
|
||||
@ -97,7 +129,7 @@ internal static class UseItem
|
||||
public override string ToString() => $"UseItem({ItemId} on ground at {DataId})";
|
||||
}
|
||||
|
||||
internal sealed class UseOnObject(GameFunctions gameFunctions) : UseItemBase
|
||||
internal sealed class UseOnObject(GameFunctions gameFunctions, ILogger<UseOnObject> logger) : UseItemBase(logger)
|
||||
{
|
||||
public uint DataId { get; set; }
|
||||
|
||||
@ -113,7 +145,7 @@ internal static class UseItem
|
||||
public override string ToString() => $"UseItem({ItemId} on {DataId})";
|
||||
}
|
||||
|
||||
internal sealed class Use(GameFunctions gameFunctions) : UseItemBase
|
||||
internal sealed class Use(GameFunctions gameFunctions, ILogger<Use> logger) : UseItemBase(logger)
|
||||
{
|
||||
public ITask With(uint itemId)
|
||||
{
|
||||
|
@ -32,6 +32,7 @@ using ContentFinderCondition = Lumina.Excel.GeneratedSheets.ContentFinderConditi
|
||||
using ContentTalk = Lumina.Excel.GeneratedSheets.ContentTalk;
|
||||
using Emote = Lumina.Excel.GeneratedSheets.Emote;
|
||||
using GameObject = Dalamud.Game.ClientState.Objects.Types.GameObject;
|
||||
using GrandCompany = FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany;
|
||||
using Quest = Questionable.Model.Quest;
|
||||
using TerritoryType = Lumina.Excel.GeneratedSheets.TerritoryType;
|
||||
|
||||
@ -102,6 +103,50 @@ internal sealed unsafe class GameFunctions
|
||||
public DateTime ReturnRequestedAt { get; set; } = DateTime.MinValue;
|
||||
|
||||
public (ushort CurrentQuest, byte Sequence) GetCurrentQuest()
|
||||
{
|
||||
var (currentQuest, sequence) = GetCurrentQuestInternal();
|
||||
QuestManager* questManager = QuestManager.Instance();
|
||||
PlayerState* playerState = PlayerState.Instance();
|
||||
|
||||
if (currentQuest == 0)
|
||||
{
|
||||
if (_clientState.TerritoryType == 181) // Starting in Limsa
|
||||
return (107, 0);
|
||||
if (_clientState.TerritoryType == 183) // Starting in Gridania
|
||||
return (39, 0);
|
||||
return default;
|
||||
}
|
||||
else if (currentQuest == 681)
|
||||
{
|
||||
// if we have already picked up the GC quest, just return the progress for it
|
||||
if (questManager->IsQuestAccepted(currentQuest) || QuestManager.IsQuestComplete(currentQuest))
|
||||
return (currentQuest, sequence);
|
||||
|
||||
// The company you keep...
|
||||
return _configuration.General.GrandCompany switch
|
||||
{
|
||||
GrandCompany.TwinAdder => (680, 0),
|
||||
GrandCompany.Maelstrom => (681, 0),
|
||||
_ => default
|
||||
};
|
||||
}
|
||||
else if (currentQuest == 3856 && !playerState->IsMountUnlocked(1)) // we come in peace
|
||||
{
|
||||
ushort chocoboQuest = (GrandCompany)playerState->GrandCompany switch
|
||||
{
|
||||
GrandCompany.TwinAdder => 700,
|
||||
GrandCompany.Maelstrom => 701,
|
||||
_ => 0
|
||||
};
|
||||
|
||||
if (chocoboQuest != 0 && !QuestManager.IsQuestComplete(chocoboQuest))
|
||||
return (chocoboQuest, QuestManager.GetQuestSequence(chocoboQuest));
|
||||
}
|
||||
|
||||
return (currentQuest, sequence);
|
||||
}
|
||||
|
||||
public (ushort CurrentQuest, byte Sequence) GetCurrentQuestInternal()
|
||||
{
|
||||
ushort currentQuest;
|
||||
|
||||
@ -135,12 +180,7 @@ internal sealed unsafe class GameFunctions
|
||||
|
||||
currentQuest = scenarioTree->Data->CurrentScenarioQuest;
|
||||
if (currentQuest == 0)
|
||||
{
|
||||
if (_clientState.TerritoryType == 181) // Starting Limsa
|
||||
return (107, 0);
|
||||
|
||||
return default;
|
||||
}
|
||||
|
||||
return (currentQuest, QuestManager.GetQuestSequence(currentQuest));
|
||||
}
|
||||
@ -157,39 +197,23 @@ internal sealed unsafe class GameFunctions
|
||||
|
||||
var uiState = UIState.Instance();
|
||||
return uiState != null && uiState->IsAetheryteUnlocked(aetheryteId);
|
||||
/*
|
||||
var telepo = Telepo.Instance();
|
||||
if (telepo == null || telepo->UpdateAetheryteList() == null)
|
||||
{
|
||||
subIndex = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
for (ulong i = 0; i < telepo->TeleportList.Size(); ++i)
|
||||
{
|
||||
var data = telepo->TeleportList.Get(i);
|
||||
if (data.AetheryteId == aetheryteId)
|
||||
{
|
||||
subIndex = data.SubIndex;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
subIndex = 0;
|
||||
return false;
|
||||
*/
|
||||
}
|
||||
|
||||
public bool IsAetheryteUnlocked(EAetheryteLocation aetheryteLocation)
|
||||
=> IsAetheryteUnlocked((uint)aetheryteLocation, out _);
|
||||
|
||||
public bool CanTeleport() => ActionManager.Instance()->GetActionStatus(ActionType.Action, 5) == 0;
|
||||
public bool CanTeleport(EAetheryteLocation aetheryteLocation)
|
||||
{
|
||||
if ((ushort)aetheryteLocation == PlayerState.Instance()->HomeAetheryteId &&
|
||||
ActionManager.Instance()->GetActionStatus(ActionType.GeneralAction, 8) == 0)
|
||||
return true;
|
||||
|
||||
return ActionManager.Instance()->GetActionStatus(ActionType.Action, 5) == 0;
|
||||
}
|
||||
|
||||
public bool TeleportAetheryte(uint aetheryteId)
|
||||
{
|
||||
var status = ActionManager.Instance()->GetActionStatus(ActionType.Action, 5);
|
||||
if (status != 0)
|
||||
return false;
|
||||
|
||||
|
||||
if (IsAetheryteUnlocked(aetheryteId, out var subIndex))
|
||||
{
|
||||
@ -201,8 +225,9 @@ internal sealed unsafe class GameFunctions
|
||||
return true;
|
||||
}
|
||||
|
||||
// fallback if return isn't available or (more likely) on a different aetheryte
|
||||
return Telepo.Instance()->Teleport(aetheryteId, subIndex);
|
||||
if (ActionManager.Instance()->GetActionStatus(ActionType.Action, 5) == 0)
|
||||
// fallback if return isn't available or (more likely) on a different aetheryte
|
||||
return Telepo.Instance()->Teleport(aetheryteId, subIndex);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<Version>0.14</Version>
|
||||
<Version>0.15</Version>
|
||||
<LangVersion>12</LangVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
|
@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
using Dalamud.Interface.Colors;
|
||||
@ -8,6 +7,7 @@ using Dalamud.Plugin.Services;
|
||||
using ImGuiNET;
|
||||
using LLib.ImGui;
|
||||
using Lumina.Excel.GeneratedSheets;
|
||||
using GrandCompany = FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany;
|
||||
|
||||
namespace Questionable.Windows;
|
||||
|
||||
@ -19,6 +19,9 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
||||
private readonly uint[] _mountIds;
|
||||
private readonly string[] _mountNames;
|
||||
|
||||
private readonly string[] _grandCompanyNames =
|
||||
["None (manually pick quest)", "Maelstrom", "Twin Adder"/*, "Immortal Flames"*/];
|
||||
|
||||
[SuppressMessage("Performance", "CA1861", Justification = "One time initialization")]
|
||||
public ConfigWindow(DalamudPluginInterface pluginInterface, Configuration configuration, IDataManager dataManager)
|
||||
: base("Config - Questionable###QuestionableConfig", ImGuiWindowFlags.AlwaysAutoResize)
|
||||
@ -58,6 +61,14 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
||||
Save();
|
||||
}
|
||||
|
||||
int grandCompany = (int)_configuration.General.GrandCompany;
|
||||
if (ImGui.Combo("Preferred Grand Company", ref grandCompany, _grandCompanyNames,
|
||||
_grandCompanyNames.Length))
|
||||
{
|
||||
_configuration.General.GrandCompany = (GrandCompany)grandCompany;
|
||||
Save();
|
||||
}
|
||||
|
||||
ImGui.EndTabItem();
|
||||
}
|
||||
|
||||
|
@ -310,8 +310,12 @@ internal sealed class DebugWindow : LWindow, IPersistableWindowConfig
|
||||
map->FlagMapMarker.TerritoryId != _clientState.TerritoryType ||
|
||||
!_navmeshIpc.IsReady);
|
||||
if (ImGui.Button("Move to Flag"))
|
||||
{
|
||||
_movementController.Destination = null;
|
||||
_gameFunctions.ExecuteCommand(
|
||||
$"/vnav {(_gameFunctions.IsFlyingUnlockedInCurrentZone() ? "flyflag" : "moveflag")}");
|
||||
}
|
||||
|
||||
ImGui.EndDisabled();
|
||||
|
||||
ImGui.SameLine();
|
||||
|
Loading…
Reference in New Issue
Block a user