Update landing, add Arkasodara unlock

This commit is contained in:
Liza 2024-07-14 12:39:02 +02:00
parent b4be834f13
commit d5b64434d5
Signed by: liza
GPG Key ID: 7199F8D727D55F67
20 changed files with 1934 additions and 27 deletions

View File

@ -28,14 +28,44 @@
"Z": -178.63745 "Z": -178.63745
}, },
"TerritoryId": 957, "TerritoryId": 957,
"InteractionType": "Interact", "InteractionType": "Interact"
"Comment": "Unclear if this can be done automatically, enemies seem to despawn"
} }
] ]
}, },
{ {
"Sequence": 2, "Sequence": 2,
"Steps": [ "Steps": [
{
"Position": {
"X": 46.32264,
"Y": 21.089579,
"Z": -190.2062
},
"TerritoryId": 957,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
14114
],
"Mount": false,
"Sprint": false,
"DelaySecondsAtStart": 3
},
{
"DataId": 14115,
"Position": {
"X": 333.8999,
"Y": 13.173893,
"Z": -239.1983
},
"StopDistance": 1,
"TerritoryId": 957,
"InteractionType": "WaitForNpcAtPosition",
"NpcWaitDistance": 4,
"Mount": false,
"Sprint": false,
"DelaySecondsAtStart": 3
},
{ {
"DataId": 2012261, "DataId": 2012261,
"Position": { "Position": {
@ -44,10 +74,7 @@
"Z": -239.7956 "Z": -239.7956
}, },
"TerritoryId": 957, "TerritoryId": 957,
"InteractionType": "Interact", "InteractionType": "Interact"
"Mount": false,
"Sprint": false,
"DelaySecondsAtStart": 3
} }
] ]
}, },

View File

@ -64,6 +64,7 @@
"Y": 41.652294, "Y": 41.652294,
"Z": 409.31412 "Z": 409.31412
}, },
"StopDistance": 1,
"TerritoryId": 957, "TerritoryId": 957,
"InteractionType": "Combat", "InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea", "EnemySpawnType": "AutoOnEnterArea",

View File

@ -0,0 +1,187 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041332,
"Position": {
"X": 194.68982,
"Y": 14.118598,
"Z": 485.9845
},
"TerritoryId": 957,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1041340,
"Position": {
"X": -124.43738,
"Y": 1.3207349,
"Z": 613.94666
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1041341,
"Position": {
"X": -122.75885,
"Y": 1.2757957,
"Z": 616.5408
},
"StopDistance": 7,
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1041342,
"Position": {
"X": -123.9491,
"Y": 0.3411509,
"Z": 642.8778
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 1041344,
"Position": {
"X": -160.29602,
"Y": -0.10002975,
"Z": 661.86
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 1041343,
"Position": {
"X": -181.10938,
"Y": 0.2237328,
"Z": 640.2533
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1041340,
"Position": {
"X": -124.43738,
"Y": 1.3207349,
"Z": 613.94666
},
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1041345,
"Position": {
"X": -112.596375,
"Y": 35.468357,
"Z": 392.87402
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true,
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_AKTKZA202_04490_Q1_000_042",
"Answer": "TEXT_AKTKZA202_04490_A1_000_001"
}
]
}
]
},
{
"Sequence": 6,
"Steps": [
{
"DataId": 2012325,
"Position": {
"X": -206.16473,
"Y": 20.645447,
"Z": 229.20569
},
"TerritoryId": 957,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
14042
],
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1041340,
"Position": {
"X": -124.43738,
"Y": 1.3207349,
"Z": 613.94666
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"Fly": true,
"NextQuestId": 4491
}
]
}
]
}

View File

@ -0,0 +1,210 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041341,
"Position": {
"X": -122.75885,
"Y": 1.2757957,
"Z": 616.5408
},
"StopDistance": 7,
"TerritoryId": 957,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 191.63799,
"Y": 15.136713,
"Z": 508.80118
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Thavnair - Yedlihmad",
"Fly": true
},
{
"DataId": 1041332,
"Position": {
"X": 194.68982,
"Y": 14.118598,
"Z": 485.9845
},
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 191.63799,
"Y": 15.136713,
"Z": 508.80118
},
"TerritoryId": 957,
"InteractionType": "WalkTo"
},
{
"DataId": 1041347,
"Position": {
"X": 171.40454,
"Y": 4.763736,
"Z": 670.7103
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1041348,
"Position": {
"X": 176.83679,
"Y": 10.170378,
"Z": 549.0044
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": 217.2226,
"Y": 10.08736,
"Z": 604.91754
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"DataId": 1037655,
"Position": {
"X": 218.73804,
"Y": 10.087359,
"Z": 605.249
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 1037656,
"Position": {
"X": 208.1482,
"Y": 4.5989733,
"Z": 672.0835
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"Position": {
"X": 161.044,
"Y": 1.8294137,
"Z": 708.1364
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-32
]
},
{
"DataId": 1037708,
"Position": {
"X": 160.84534,
"Y": 1.8294137,
"Z": 710.68884
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-32
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 191.63799,
"Y": 15.136713,
"Z": 508.80118
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1041389,
"Position": {
"X": 192.79773,
"Y": 14.118593,
"Z": 487.6936
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"NextQuestId": 4492
}
]
}
]
}

View File

@ -0,0 +1,194 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041389,
"Position": {
"X": 192.79773,
"Y": 14.118593,
"Z": 487.6936
},
"TerritoryId": 957,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 191.63799,
"Y": 15.136713,
"Z": 508.80118
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Mount": true
},
{
"DataId": 2012451,
"Position": {
"X": 215.53369,
"Y": 9.903015,
"Z": 597.4059
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2012451,
"Position": {
"X": 215.53369,
"Y": 9.903015,
"Z": 597.4059
},
"TerritoryId": 957,
"InteractionType": "Interact",
"SkipIf": [
"NotTargetable"
],
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_AKTKZA204_04492_Q1_000_054",
"Yes": true
}
]
},
{
"DataId": 1041390,
"Position": {
"X": 196.16476,
"Y": 9.8597355,
"Z": 555.2623
},
"TerritoryId": 957,
"InteractionType": "WaitForNpcAtPosition",
"StopDistance": 100,
"Mount": false,
"Sprint": false
},
{
"Position": {
"X": 199.92545,
"Y": 10.335635,
"Z": 567.79816
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Mount": false,
"Sprint": false
},
{
"DataId": 1041390,
"Position": {
"X": 170.85558,
"Y": 9.90086,
"Z": 552.88477
},
"TerritoryId": 957,
"InteractionType": "WaitForNpcAtPosition",
"StopDistance": 100,
"Mount": false,
"Sprint": false
},
{
"Position": {
"X": 157.38617,
"Y": 14.520461,
"Z": 539.5006
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Mount": false,
"Sprint": false
},
{
"DataId": 1041390,
"Position": {
"X": 135.2287,
"Y": 19.553255,
"Z": 527.03894
},
"TerritoryId": 957,
"InteractionType": "WaitForNpcAtPosition",
"StopDistance": 100,
"Mount": false,
"Sprint": false
},
{
"Position": {
"X": 154.45122,
"Y": 23.673492,
"Z": 500.76654
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Mount": false,
"Sprint": false
},
{
"Position": {
"X": 156.16548,
"Y": 23.302423,
"Z": 481.5656
},
"TerritoryId": 957,
"InteractionType": "WalkTo"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1041394,
"Position": {
"X": -30.289246,
"Y": 29.867386,
"Z": 458.15198
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 191.63799,
"Y": 15.136713,
"Z": 508.80118
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1041332,
"Position": {
"X": 194.68982,
"Y": 14.118598,
"Z": 485.9845
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,149 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1042175,
"Position": {
"X": 386.83142,
"Y": 12.541633,
"Z": -311.20776
},
"TerritoryId": 957,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1041400,
"Position": {
"X": 422.53748,
"Y": 3.1168795,
"Z": -268.1468
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 1041398,
"Position": {
"X": 437.39978,
"Y": 3.1168795,
"Z": -248.64581
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 1041399,
"Position": {
"X": 365.9265,
"Y": 3.1168795,
"Z": -245.53296
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 398.03082,
"Y": 6.081707,
"Z": -206.11922
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1042187,
"Position": {
"X": 404.89807,
"Y": 7.6153164,
"Z": -200.64093
},
"TerritoryId": 957,
"InteractionType": "Interact",
"DisableNavmesh": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 398.03082,
"Y": 6.081707,
"Z": -206.11922
},
"TerritoryId": 957,
"InteractionType": "WalkTo"
},
{
"DataId": 1041402,
"Position": {
"X": 411.06274,
"Y": 3.1168792,
"Z": -268.6046
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1041397,
"Position": {
"X": 402.30408,
"Y": 3.0506973,
"Z": -212.35986
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"Fly": true,
"NextQuestId": 4494
}
]
}
]
}

View File

@ -0,0 +1,157 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041397,
"Position": {
"X": 402.30408,
"Y": 3.0506973,
"Z": -212.35986
},
"TerritoryId": 957,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2012454,
"Position": {
"X": 519.6764,
"Y": 13.01593,
"Z": -339.5285
},
"TerritoryId": 957,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
14041
],
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2012453,
"Position": {
"X": 556.02344,
"Y": 9.170593,
"Z": -382.00964
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2012452,
"Position": {
"X": 515.8617,
"Y": 7.4310913,
"Z": -413.59583
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1041404,
"Position": {
"X": 503.9596,
"Y": 9.601132,
"Z": -368.15448
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1041397,
"Position": {
"X": 402.30408,
"Y": 3.0506973,
"Z": -212.35986
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1041405,
"Position": {
"X": 377.67603,
"Y": 3.1168795,
"Z": -238.57489
},
"TerritoryId": 957,
"InteractionType": "Interact",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_AKTKZF102_04494_Q1_000_033",
"Answer": "TEXT_AKTKZF102_04494_A1_000_001"
}
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1041397,
"Position": {
"X": 402.30408,
"Y": 3.0506973,
"Z": -212.35986
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"NextQuestId": 4495
}
]
}
]
}

View File

@ -0,0 +1,214 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041406,
"Position": {
"X": 405.02014,
"Y": 3.0593626,
"Z": -212.90918
},
"TerritoryId": 957,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1041407,
"Position": {
"X": 672.5414,
"Y": 41.21271,
"Z": 145.46423
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true,
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_AKTKZF103_04495_Q1_000_016",
"Answer": "TEXT_AKTKZF103_04495_A1_000_001"
}
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1041408,
"Position": {
"X": 523.7964,
"Y": 20.494349,
"Z": 346.8833
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 573.3712,
"Y": 22.500977,
"Z": 284.17334
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"DataId": 2012455,
"Position": {
"X": 574.91406,
"Y": 24.979004,
"Z": 284.3518
},
"TerritoryId": 957,
"InteractionType": "Interact",
"IgnoreDistanceToObject": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"Position": {
"X": 603.8397,
"Y": 21.10483,
"Z": 233.13884
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-32
]
},
{
"DataId": 2012457,
"Position": {
"X": 604.60803,
"Y": 22.903748,
"Z": 233.63086
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"Position": {
"X": 585.39026,
"Y": 36.73129,
"Z": 279.6089
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-64
]
},
{
"DataId": 2012456,
"Position": {
"X": 584.0084,
"Y": 38.254395,
"Z": 278.7976
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1041408,
"Position": {
"X": 523.7964,
"Y": 20.494349,
"Z": 346.8833
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1041402,
"Position": {
"X": 411.06274,
"Y": 3.1168792,
"Z": -268.6046
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Thavnair - Palaka's Stand",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_AKTKZF103_04495_Q2_000_045",
"Answer": "TEXT_AKTKZF103_04495_A2_000_001"
}
],
"NextQuestId": 4496
}
]
}
]
}

View File

@ -0,0 +1,112 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041403,
"Position": {
"X": 411.7036,
"Y": 3.1168795,
"Z": -266.89557
},
"TerritoryId": 957,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2012460,
"Position": {
"X": 240.52795,
"Y": 7.095398,
"Z": -556.5729
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 274.3244,
"Y": 6.2260103,
"Z": -553.4195
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Mount": false
},
{
"DataId": 1041410,
"Position": {
"X": 271.5343,
"Y": 6.226011,
"Z": -556.54236
},
"StopDistance": 5,
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1041397,
"Position": {
"X": 402.30408,
"Y": 3.0506973,
"Z": -212.35986
},
"TerritoryId": 957,
"InteractionType": "Interact",
"AetheryteShortcut": "Thavnair - Palaka's Stand"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1041401,
"Position": {
"X": 411.06274,
"Y": 3.1168792,
"Z": -268.6046
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1041397,
"Position": {
"X": 402.30408,
"Y": 3.0506973,
"Z": -212.35986
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"Fly": true,
"NextQuestId": 4497
}
]
}
]
}

View File

@ -0,0 +1,179 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041397,
"Position": {
"X": 402.30408,
"Y": 3.0506973,
"Z": -212.35986
},
"TerritoryId": 957,
"InteractionType": "AcceptQuest",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_AKTKZF201_04497_Q1_000_012",
"Answer": "TEXT_AKTKZF201_04497_A1_000_001"
}
]
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 191.63799,
"Y": 15.136713,
"Z": 508.80118
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
"AetheryteShortcut": "Thavnair - Yedlihmad"
},
{
"DataId": 1041332,
"Position": {
"X": 194.68982,
"Y": 14.118598,
"Z": 485.9845
},
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 191.63799,
"Y": 15.136713,
"Z": 508.80118
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Mount": true
},
{
"DataId": 1041412,
"Position": {
"X": 93.88867,
"Y": 8.462445,
"Z": 566.0028
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": -282.0419,
"Y": 67.704025,
"Z": -545.84924
},
"StopDistance": 1,
"TerritoryId": 957,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
14039
],
"Fly": true,
"AetheryteShortcut": "Thavnair - Great Work"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1041415,
"Position": {
"X": -282.3072,
"Y": 67.844055,
"Z": -543.1144
},
"StopDistance": 7,
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1041417,
"Position": {
"X": 388.7235,
"Y": 22.369963,
"Z": -488.42606
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 6,
"Steps": [
{
"DataId": 1041397,
"Position": {
"X": 402.30408,
"Y": 3.0506973,
"Z": -212.35986
},
"TerritoryId": 957,
"InteractionType": "Interact",
"AetheryteShortcut": "Thavnair - Palaka's Stand"
}
]
},
{
"Sequence": 7,
"Steps": [
{
"DataId": 1041421,
"Position": {
"X": 401.8158,
"Y": 3.0714467,
"Z": -214.74023
},
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1041397,
"Position": {
"X": 402.30408,
"Y": 3.0506973,
"Z": -212.35986
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,148 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1042301,
"Position": {
"X": -66.02582,
"Y": 39.994705,
"Z": 321.06494
},
"TerritoryId": 957,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1043108,
"Position": {
"X": 336.41565,
"Y": 0.9428888,
"Z": 624.10913
},
"TerritoryId": 957,
"InteractionType": "Interact",
"SkipIf": [
"FlyingUnlocked"
],
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_BANARK105_04555_Q1_000_000",
"Yes": true
}
]
},
{
"DataId": 2012853,
"Position": {
"X": 392.66028,
"Y": 57.602783,
"Z": 630.64
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2012854,
"Position": {
"X": 422.99524,
"Y": 62.91284,
"Z": 584.161
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2012852,
"Position": {
"X": 445.27344,
"Y": 68.46716,
"Z": 588.03687
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043107,
"Position": {
"X": 376.51636,
"Y": 55.220497,
"Z": 601.0985
},
"TerritoryId": 957,
"InteractionType": "Interact",
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_BANARK105_04555_Q2_000_000",
"Yes": true
}
],
"SkipIf": [
"FlyingUnlocked"
]
},
{
"Position": {
"X": 236.26051,
"Y": 2.3393192,
"Z": 644.57275
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"SkipIf": [
"FlyingUnlocked"
]
},
{
"DataId": 1042301,
"Position": {
"X": -66.02582,
"Y": 39.994705,
"Z": 321.06494
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,63 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1042301,
"Position": {
"X": -66.02582,
"Y": 39.994705,
"Z": 321.06494
},
"TerritoryId": 957,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Comment": "There are more NPC/dialogue choices",
"Steps": [
{
"DataId": 1042370,
"Position": {
"X": -506.37067,
"Y": 5.1961365,
"Z": 63.401123
},
"TerritoryId": 957,
"InteractionType": "Interact",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_BANARK106_04556_Q3_000_000",
"Answer": "TEXT_BANARK106_04556_A3_000_001"
}
],
"SkipIf": [
"NotTargetable"
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1042301,
"Position": {
"X": -66.02582,
"Y": 39.994705,
"Z": 321.06494
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,241 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041332,
"Position": {
"X": 194.68982,
"Y": 14.118598,
"Z": 485.9845
},
"TerritoryId": 957,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Thavnair - Yedlihmad",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_BANARK001_04545_Q1_000_004",
"Answer": "TEXT_BANARK001_04545_A1_000_002"
}
]
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1042303,
"Position": {
"X": 183.79492,
"Y": 10.683311,
"Z": 557.42737
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 1042305,
"Position": {
"X": 200,
"Y": 10.114502,
"Z": 579.1256
},
"TerritoryId": 957,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 1042304,
"Position": {
"X": 171.58765,
"Y": 4.763736,
"Z": 683.37524
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1042306,
"Position": {
"X": -260.6394,
"Y": 14.412592,
"Z": 202.62451
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 191.63799,
"Y": 15.136713,
"Z": 508.80118
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1041332,
"Position": {
"X": 194.68982,
"Y": 14.118598,
"Z": 485.9845
},
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": 191.63799,
"Y": 15.136713,
"Z": 508.80118
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Mount": true
},
{
"DataId": 1042307,
"Position": {
"X": 121.01929,
"Y": 6.780056,
"Z": 585.59546
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true,
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_BANARK001_04545_Q4_000_081",
"Yes": true
}
]
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1042310,
"Position": {
"X": -488.7007,
"Y": 4.563182,
"Z": 18.20398
},
"StopDistance": 5,
"TerritoryId": 957,
"InteractionType": "Interact",
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_BANARK001_04545_Q5_000_115",
"Yes": true
}
]
}
]
},
{
"Sequence": 6,
"Steps": [
{
"Position": {
"X": 159.25264,
"Y": 5.220791,
"Z": 606.4928
},
"TerritoryId": 957,
"InteractionType": "WalkTo"
}
]
},
{
"Sequence": 7,
"Steps": [
{
"DataId": 1041332,
"Position": {
"X": 194.68982,
"Y": 14.118598,
"Z": 485.9845
},
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 191.63799,
"Y": 15.136713,
"Z": 508.80118
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Mount": true
},
{
"DataId": 1042313,
"Position": {
"X": -78.690796,
"Y": 40.010006,
"Z": 323.2318
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -5,6 +5,10 @@
"description": "A series of quest sequences", "description": "A series of quest sequences",
"type": "object", "type": "object",
"properties": { "properties": {
"$schema": {
"type": "string",
"const": "https://carvel.li/questionable/quest-1.0"
},
"Author": { "Author": {
"description": "Author of the quest sequence", "description": "Author of the quest sequence",
"type": "string" "type": "string"
@ -1015,6 +1019,7 @@
} }
}, },
"required": [ "required": [
"$schema",
"QuestSequence", "QuestSequence",
"Author" "Author"
], ],

View File

@ -245,7 +245,7 @@ internal sealed class MovementController : IDisposable
} }
private void PrepareNavigation(EMovementType type, uint? dataId, Vector3 to, bool fly, bool sprint, private void PrepareNavigation(EMovementType type, uint? dataId, Vector3 to, bool fly, bool sprint,
float? stopDistance, bool ignoreDistanceToObject, bool useNavmesh) float? stopDistance, bool ignoreDistanceToObject, bool land, bool useNavmesh)
{ {
ResetPathfinding(); ResetPathfinding();
@ -256,16 +256,18 @@ internal sealed class MovementController : IDisposable
} }
Destination = new DestinationData(type, dataId, to, stopDistance ?? (QuestStep.DefaultStopDistance - 0.2f), fly, Destination = new DestinationData(type, dataId, to, stopDistance ?? (QuestStep.DefaultStopDistance - 0.2f), fly,
sprint, sprint, ignoreDistanceToObject, land, useNavmesh);
ignoreDistanceToObject, useNavmesh);
MovementStartedAt = DateTime.MaxValue; MovementStartedAt = DateTime.MaxValue;
} }
public void NavigateTo(EMovementType type, uint? dataId, Vector3 to, bool fly, bool sprint, public void NavigateTo(EMovementType type, uint? dataId, Vector3 to, bool fly, bool sprint,
float? stopDistance = null, bool ignoreDistanceToObject = false) float? stopDistance = null, bool ignoreDistanceToObject = false, bool land = false)
{ {
fly |= _condition[ConditionFlag.Diving]; fly |= _condition[ConditionFlag.Diving];
PrepareNavigation(type, dataId, to, fly, sprint, stopDistance, ignoreDistanceToObject, true); if (fly && land)
to = to with { Y = to.Y + 2.6f };
PrepareNavigation(type, dataId, to, fly, sprint, stopDistance, ignoreDistanceToObject, land, true);
_logger.LogInformation("Pathfinding to {Destination}", Destination); _logger.LogInformation("Pathfinding to {Destination}", Destination);
_cancellationTokenSource = new(); _cancellationTokenSource = new();
@ -275,10 +277,13 @@ internal sealed class MovementController : IDisposable
} }
public void NavigateTo(EMovementType type, uint? dataId, List<Vector3> to, bool fly, bool sprint, public void NavigateTo(EMovementType type, uint? dataId, List<Vector3> to, bool fly, bool sprint,
float? stopDistance, bool ignoreDistanceToObject = false) float? stopDistance, bool ignoreDistanceToObject = false, bool land = false)
{ {
fly |= _condition[ConditionFlag.Diving]; fly |= _condition[ConditionFlag.Diving];
PrepareNavigation(type, dataId, to.Last(), fly, sprint, stopDistance, ignoreDistanceToObject, false); if (fly && land && to.Count > 0)
to[^1] = to[^1] with { Y = to[^1].Y + 2.6f };
PrepareNavigation(type, dataId, to.Last(), fly, sprint, stopDistance, ignoreDistanceToObject, land, false);
_logger.LogInformation("Moving to {Destination}", Destination); _logger.LogInformation("Moving to {Destination}", Destination);
_navmeshIpc.MoveTo(to, fly); _navmeshIpc.MoveTo(to, fly);
@ -328,6 +333,7 @@ internal sealed class MovementController : IDisposable
bool IsFlying, bool IsFlying,
bool CanSprint, bool CanSprint,
bool IgnoreDistanceToObject, bool IgnoreDistanceToObject,
bool Land,
bool UseNavmesh); bool UseNavmesh);
public sealed class PathfindingFailedException : Exception public sealed class PathfindingFailedException : Exception

View File

@ -5,6 +5,8 @@ using System.Numerics;
using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Services; using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using FFXIVClientStructs.FFXIV.Client.Game.Character;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Questionable.Controller.NavigationOverrides; using Questionable.Controller.NavigationOverrides;
@ -103,7 +105,8 @@ internal static class Move
fly: Step.Fly == true && gameFunctions.IsFlyingUnlocked(Step.TerritoryId), fly: Step.Fly == true && gameFunctions.IsFlyingUnlocked(Step.TerritoryId),
sprint: Step.Sprint != false, sprint: Step.Sprint != false,
stopDistance: distance, stopDistance: distance,
ignoreDistanceToObject: Step.IgnoreDistanceToObject == true); ignoreDistanceToObject: Step.IgnoreDistanceToObject == true,
land: Step.Land == true);
}); });
} }
} }
@ -118,7 +121,8 @@ internal static class Move
m.NavigateTo(EMovementType.Quest, Step.DataId, [Destination], m.NavigateTo(EMovementType.Quest, Step.DataId, [Destination],
fly: Step.Fly == true && gameFunctions.IsFlyingUnlockedInCurrentZone(), fly: Step.Fly == true && gameFunctions.IsFlyingUnlockedInCurrentZone(),
sprint: Step.Sprint != false, sprint: Step.Sprint != false,
stopDistance: distance); stopDistance: distance,
land: Step.Land == true);
}); });
} }
} }
@ -182,8 +186,11 @@ internal static class Move
} }
} }
internal sealed class Land(MovementController movementController, IClientState clientState, ICondition condition, ILogger<Land> logger) : ITask internal sealed class Land(IClientState clientState, ICondition condition, ILogger<Land> logger) : ITask
{ {
private bool _landing;
private DateTime _continueAt;
public bool Start() public bool Start()
{ {
if (!condition[ConditionFlag.InFlight]) if (!condition[ConditionFlag.InFlight])
@ -192,32 +199,40 @@ internal static class Move
return false; return false;
} }
AttemptLanding(); _landing = AttemptLanding();
_continueAt = DateTime.Now.AddSeconds(0.25);
return true; return true;
} }
public ETaskResult Update() public ETaskResult Update()
{ {
if (movementController.IsPathfinding || movementController.IsPathRunning) if (DateTime.Now < _continueAt)
return ETaskResult.StillRunning; return ETaskResult.StillRunning;
if (condition[ConditionFlag.InFlight]) if (condition[ConditionFlag.InFlight])
{ {
AttemptLanding(); if (!_landing)
{
_landing = AttemptLanding();
_continueAt = DateTime.Now.AddSeconds(0.25);
}
return ETaskResult.StillRunning; return ETaskResult.StillRunning;
} }
return ETaskResult.TaskComplete; return ETaskResult.TaskComplete;
} }
private void AttemptLanding() private unsafe bool AttemptLanding()
{ {
Vector3 playerPosition = clientState.LocalPlayer!.Position; var character = (Character*)(clientState.LocalPlayer?.Address ?? 0);
playerPosition.Y -= 3; if (character != null)
{
logger.LogInformation("Attempting to land");
return ActionManager.Instance()->UseAction(ActionType.Mount, character->Mount.MountId);
}
Vector3 nearbyPosition = Vector3.Normalize(playerPosition with { Y = 0 }) * 0.05f; return false;
playerPosition += nearbyPosition;
movementController.NavigateTo(EMovementType.Landing, null, [playerPosition], true, false, 0);
} }
} }
} }

View File

@ -205,7 +205,7 @@ internal static class WaitAtEnd
: ETaskResult.StillRunning; : ETaskResult.StillRunning;
public override string ToString() => public override string ToString() =>
$"WaitObj({DataId} at {Destination.ToString("G", CultureInfo.InvariantCulture)})"; $"WaitObj({DataId} at {Destination.ToString("G", CultureInfo.InvariantCulture)} < {Distance})";
} }
internal sealed class WaitQuestAccepted : ITask internal sealed class WaitQuestAccepted : ITask

View File

@ -11,7 +11,6 @@ using Microsoft.Extensions.Logging;
using Questionable.Controller; using Questionable.Controller;
using Questionable.Controller.CombatModules; using Questionable.Controller.CombatModules;
using Questionable.Controller.NavigationOverrides; using Questionable.Controller.NavigationOverrides;
using Questionable.Controller.Steps;
using Questionable.Controller.Steps.Shared; using Questionable.Controller.Steps.Shared;
using Questionable.Controller.Steps.Common; using Questionable.Controller.Steps.Common;
using Questionable.Controller.Steps.Interactions; using Questionable.Controller.Steps.Interactions;