Urqopacha/Living Memory side quests

pull/5/head
Liza 2024-07-12 23:58:48 +02:00
parent 9848431962
commit ab9bc41805
Signed by: liza
GPG Key ID: 7199F8D727D55F67
41 changed files with 2958 additions and 25 deletions

View File

@ -309,6 +309,8 @@ public class QuestSourceGenerator : ISourceGenerator
.AsSyntaxNodeOrToken(), .AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Fly), step.Fly, emptyStep.Fly) Assignment(nameof(QuestStep.Fly), step.Fly, emptyStep.Fly)
.AsSyntaxNodeOrToken(), .AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Land), step.Land, emptyStep.Land)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Sprint), step.Sprint, emptyStep.Sprint) Assignment(nameof(QuestStep.Sprint), step.Sprint, emptyStep.Sprint)
.AsSyntaxNodeOrToken(), .AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Comment), step.Comment, emptyStep.Comment) Assignment(nameof(QuestStep.Comment), step.Comment, emptyStep.Comment)

View File

@ -0,0 +1,185 @@
{
"$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": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1042302,
"Position": {
"X": -102.43384,
"Y": 40.00001,
"Z": 331.89893
},
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 86.44138,
"Y": 38.836067,
"Z": 375.43958
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"DataId": 2012887,
"Position": {
"X": 90.71484,
"Y": 38.70359,
"Z": 377.7981
},
"StopDistance": 5,
"TerritoryId": 957,
"InteractionType": "Action",
"Action": "Yellow Gulal",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"Position": {
"X": -73.42284,
"Y": 50.283375,
"Z": 165.20433
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-64
]
},
{
"DataId": 2012888,
"Position": {
"X": -74.2962,
"Y": 50.095337,
"Z": 160.41797
},
"StopDistance": 5,
"TerritoryId": 957,
"InteractionType": "Action",
"Action": "Yellow Gulal",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"Position": {
"X": -195.75089,
"Y": 35.536575,
"Z": 98.20429
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2012889,
"Position": {
"X": -197.9859,
"Y": 36.209595,
"Z": 94.102295
},
"StopDistance": 5,
"TerritoryId": 957,
"InteractionType": "Action",
"Action": "Yellow Gulal",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-32
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": -68.59158,
"Y": 39.9961,
"Z": 320.7581
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1042301,
"Position": {
"X": -66.02582,
"Y": 39.994705,
"Z": 321.06494
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"Mount": false,
"Comment": "TODO Verify this properly unmounts"
}
]
}
]
}

View File

@ -0,0 +1,58 @@
{
"$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": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2012855,
"Position": {
"X": -255.23767,
"Y": 69.13855,
"Z": -527.8248
},
"TerritoryId": 957,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
14677
],
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1042301,
"Position": {
"X": -66.02582,
"Y": 39.994705,
"Z": 321.06494
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Thavnair - Yedlihmad",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,88 @@
{
"$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": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1042469,
"Position": {
"X": -578.5153,
"Y": -0.01527307,
"Z": -36.514893
},
"TerritoryId": 957,
"InteractionType": "Interact",
"AetheryteShortcut": "Thavnair - Great Work",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1042470,
"Position": {
"X": -579.553,
"Y": -0.058757372,
"Z": -31.23523
},
"StopDistance": 4,
"TerritoryId": 957,
"InteractionType": "UseItem",
"ItemId": 2003401
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1042470,
"Position": {
"X": -579.553,
"Y": -0.058757372,
"Z": -31.23523
},
"StopDistance": 4,
"TerritoryId": 957,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1042301,
"Position": {
"X": -66.02582,
"Y": 39.994705,
"Z": 321.06494
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Thavnair - Yedlihmad",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,121 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1050620,
"Position": {
"X": -733.79114,
"Y": 0.007321423,
"Z": 518.33374
},
"TerritoryId": 1192,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -549.43896,
"Y": 20.09976,
"Z": 630.3976
},
"TerritoryId": 1192,
"InteractionType": "WalkTo",
"Fly": true,
"SkipIf": [
"FlyingLocked"
],
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"DataId": 2013901,
"Position": {
"X": -515.9838,
"Y": -0.015319824,
"Z": 625.14685
},
"TerritoryId": 1192,
"InteractionType": "Interact",
"DisableNavmesh": true,
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 2013902,
"Position": {
"X": -496.78802,
"Y": 0.045776367,
"Z": 668.72656
},
"TerritoryId": 1192,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2013903,
"Position": {
"X": -424.2771,
"Y": -0.10687256,
"Z": 660.7003
},
"TerritoryId": 1192,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1050620,
"Position": {
"X": -733.79114,
"Y": 0.007321423,
"Z": 518.33374
},
"TerritoryId": 1192,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,86 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1050623,
"Position": {
"X": 253.83374,
"Y": -0.034116313,
"Z": 439.3529
},
"TerritoryId": 1192,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1050623,
"Position": {
"X": 253.83374,
"Y": -0.034116313,
"Z": 439.3529
},
"TerritoryId": 1192,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1050623,
"Position": {
"X": 406.71564,
"Y": 1.3939283,
"Z": 550.029
},
"StopDistance": 0.25,
"TerritoryId": 1192,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1050623,
"Position": {
"X": 577.7826,
"Y": 7.5857296,
"Z": 662.96063
},
"StopDistance": 0.25,
"TerritoryId": 1192,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1050624,
"Position": {
"X": 581.1398,
"Y": 7.6887574,
"Z": 664.05725
},
"StopDistance": 5,
"TerritoryId": 1192,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,83 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1050634,
"Position": {
"X": -181.62811,
"Y": 30.999819,
"Z": 22.079773
},
"TerritoryId": 1192,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1050635,
"Position": {
"X": -201.83112,
"Y": 29.999939,
"Z": -124.28479
},
"TerritoryId": 1192,
"InteractionType": "Interact",
"Fly": true,
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_KINGZH007_05180_Q1_000_005",
"Answer": "TEXT_KINGZH007_05180_A1_000_001"
}
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1050636,
"Position": {
"X": -410.5135,
"Y": 30.49998,
"Z": -131.94476
},
"TerritoryId": 1192,
"InteractionType": "Interact",
"Fly": true,
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_KINGZH007_05180_Q2_000_013",
"Answer": "TEXT_KINGZH007_05180_A2_000_003"
}
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1050813,
"Position": {
"X": -277.76,
"Y": 54.31037,
"Z": -382.58948
},
"TerritoryId": 1192,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Living Memory - Leynode Aero"
}
]
}
]
}

View File

@ -0,0 +1,136 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1050637,
"Position": {
"X": -539.66583,
"Y": -10.000358,
"Z": -477.89734
},
"TerritoryId": 1192,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2013918,
"Position": {
"X": -429.89246,
"Y": -4.5319824,
"Z": -466.45306
},
"StopDistance": 0.25,
"TerritoryId": 1192,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"Position": {
"X": -647.346,
"Y": -5.0000005,
"Z": -455.4366
},
"TerritoryId": 1192,
"InteractionType": "WalkTo",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-32
]
},
{
"DataId": 2013916,
"Position": {
"X": -648.85944,
"Y": -3.7995605,
"Z": -454.06274
},
"TerritoryId": 1192,
"InteractionType": "Interact",
"Mount": false,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"Position": {
"X": -572.3234,
"Y": -2.729274,
"Z": -703.2586
},
"TerritoryId": 1192,
"InteractionType": "WalkTo",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"DataId": 2013917,
"Position": {
"X": -573.14417,
"Y": -1.0529175,
"Z": -702.05237
},
"TerritoryId": 1192,
"InteractionType": "Interact",
"Mount": false,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1050814,
"Position": {
"X": -539.7269,
"Y": -10.000359,
"Z": -477.8363
},
"TerritoryId": 1192,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1048712,
"Position": {
"X": 446.67737,
"Y": -116.815155,
"Z": -178.75946
},
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1050672,
"Position": {
"X": 550.65234,
"Y": -54.46781,
"Z": 42.83203
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1048712,
"Position": {
"X": 446.67737,
"Y": -116.815155,
"Z": -178.75946
},
"TerritoryId": 1187,
"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": 1050673,
"Position": {
"X": 375.6007,
"Y": -116.81515,
"Z": -175.03625
},
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 522.757,
"Y": -54.457268,
"Z": 57.29732
},
"StopDistance": 0.5,
"TerritoryId": 1187,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 2014108,
"Position": {
"X": 521.84326,
"Y": -53.543945,
"Z": 57.938477
},
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1050673,
"Position": {
"X": 375.6007,
"Y": -116.81515,
"Z": -175.03625
},
"Fly": true,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,117 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1048694,
"Position": {
"X": -401.7243,
"Y": -46.3959,
"Z": -449.5766
},
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1050674,
"Position": {
"X": -388.4795,
"Y": -46.297935,
"Z": -498.10028
},
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -388.4795,
"Y": -46.297935,
"Z": -498.10028
},
"TerritoryId": 1187,
"InteractionType": "UseItem",
"ItemId": 2003604,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"Position": {
"X": -388.4795,
"Y": -46.297935,
"Z": -498.10028
},
"TerritoryId": 1187,
"InteractionType": "UseItem",
"ItemId": 2003605,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"Position": {
"X": -388.4795,
"Y": -46.297935,
"Z": -498.10028
},
"TerritoryId": 1187,
"InteractionType": "UseItem",
"ItemId": 2003606,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1048694,
"Position": {
"X": -401.7243,
"Y": -46.3959,
"Z": -449.5766
},
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_KINGZB005_05034_Q1_000_000",
"Answer": "TEXT_KINGZB005_05034_A1_000_003"
}
]
}
]
}
]
}

View File

@ -0,0 +1,69 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1050675,
"Position": {
"X": -421.80518,
"Y": -45.817875,
"Z": -496.14713
},
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1048690,
"Position": {
"X": -406.42407,
"Y": -41.099792,
"Z": -565.6062
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1050676,
"Position": {
"X": -517.052,
"Y": -11.170306,
"Z": -652.58264
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1050716,
"Position": {
"X": -421.80518,
"Y": -45.817875,
"Z": -496.14713
},
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,91 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1050678,
"Position": {
"X": -103.4715,
"Y": -128.19942,
"Z": -465.90375
},
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1050680,
"Position": {
"X": -67.91791,
"Y": -140.2539,
"Z": -676.7224
},
"StopDistance": 0.5,
"TerritoryId": 1187,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
17643,
17644
],
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1050680,
"Position": {
"X": -67.91791,
"Y": -140.2539,
"Z": -676.7224
},
"StopDistance": 7,
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2014112,
"Position": {
"X": -68.07056,
"Y": -140.15417,
"Z": -678.9197
},
"StopDistance": 4.5,
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1050678,
"Position": {
"X": -103.4715,
"Y": -128.19942,
"Z": -465.90375
},
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,137 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1048666,
"Position": {
"X": -54.8562,
"Y": -130.17744,
"Z": -443.1983
},
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -192.7804,
"Y": -68.15436,
"Z": -139.24495
},
"TerritoryId": 1187,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 1050683,
"Position": {
"X": -194.32367,
"Y": -67.68594,
"Z": -135.57642
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "UseItem",
"ItemId": 2003608,
"GroundTarget": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2014115,
"Position": {
"X": -191.63806,
"Y": -67.216064,
"Z": -130.11371
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2014114,
"Position": {
"X": -194.78143,
"Y": -67.24658,
"Z": -131.27338
},
"StopDistance": 4.5,
"TerritoryId": 1187,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2014113,
"Position": {
"X": -197.9859,
"Y": -66.971924,
"Z": -130.87665
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": -57.510014,
"Y": -130.50172,
"Z": -442.2758
},
"TerritoryId": 1187,
"InteractionType": "WalkTo",
"Fly": true,
"SkipIf": [
"FlyingLocked"
]
},
{
"DataId": 1048666,
"Position": {
"X": -54.8562,
"Y": -130.17744,
"Z": -443.1983
},
"TerritoryId": 1187,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,60 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1048658,
"Position": {
"X": 365.46875,
"Y": -146.10005,
"Z": -465.01874
},
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2014116,
"Position": {
"X": -6.1189575,
"Y": -99.50415,
"Z": -247.97437
},
"StopDistance": 0.25,
"TerritoryId": 1187,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
17645
],
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1048658,
"Position": {
"X": 365.46875,
"Y": -146.10005,
"Z": -465.01874
},
"StopDistance": 0.5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Urqopacha - Wachunpelo",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,55 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1051369,
"Position": {
"X": 357.83923,
"Y": -156.11935,
"Z": -386.43475
},
"TerritoryId": 1187,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Urqopacha - Wachunpelo",
"SkipIf": [
"AetheryteShortcutIfInSameTerritory"
]
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1051370,
"Position": {
"X": 302.02173,
"Y": -163.4447,
"Z": -420.34027
},
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1051371,
"Position": {
"X": 303.02893,
"Y": -163.416,
"Z": -421.53052
},
"TerritoryId": 1187,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,103 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1050689,
"Position": {
"X": -147.2649,
"Y": 40.238018,
"Z": 44.449463
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2014120,
"Position": {
"X": -624.5365,
"Y": 63.46228,
"Z": 210.8949
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2014121,
"Position": {
"X": -663.9048,
"Y": 61.875244,
"Z": 207.20227
},
"TerritoryId": 1187,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
17647
],
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2014119,
"Position": {
"X": -658.4421,
"Y": 59.03711,
"Z": 182.42151
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1050689,
"Position": {
"X": -147.2649,
"Y": 40.238018,
"Z": 44.449463
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,87 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1050690,
"Position": {
"X": -82.993835,
"Y": 16.354095,
"Z": 19.150085
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2014123,
"Position": {
"X": -84.55023,
"Y": 16.830688,
"Z": 17.288391
},
"StopDistance": 4.5,
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2014124,
"Position": {
"X": -299.64142,
"Y": 62.638306,
"Z": -66.331055
},
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1050691,
"Position": {
"X": -300.28235,
"Y": 62.68029,
"Z": -68.89453
},
"StopDistance": 7,
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1050690,
"Position": {
"X": -82.993835,
"Y": 16.354095,
"Z": 19.150085
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"Emote": "me",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,103 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1048761,
"Position": {
"X": -499.71774,
"Y": 59.95439,
"Z": 130.93762
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2014126,
"Position": {
"X": -182.69635,
"Y": 51.68225,
"Z": 164.56848
},
"TerritoryId": 1187,
"InteractionType": "Instruction",
"Fly": true,
"Comment": "TODO Needs item use",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 2014125,
"Position": {
"X": -161.57782,
"Y": 39.902344,
"Z": 252.39941
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2014127,
"Position": {
"X": -239.36829,
"Y": 49.79016,
"Z": 343.52625
},
"TerritoryId": 1187,
"InteractionType": "Instruction",
"Fly": true,
"Comment": "TODO Needs item use",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1048761,
"Position": {
"X": -499.71774,
"Y": 59.95439,
"Z": 130.93762
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,59 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1050692,
"Position": {
"X": -410.84918,
"Y": 68.61058,
"Z": 184.9851
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2014128,
"Position": {
"X": -71.64111,
"Y": 18.295532,
"Z": 255.75635
},
"TerritoryId": 1187,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
17649
],
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1050720,
"Position": {
"X": -410.84918,
"Y": 68.61058,
"Z": 184.9851
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,100 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1048728,
"Position": {
"X": 439.8108,
"Y": 112.435,
"Z": 669.6116
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2014130,
"Position": {
"X": 438.651,
"Y": 103.80713,
"Z": 299.33618
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2014129,
"Position": {
"X": 466.23938,
"Y": 106.767334,
"Z": 244.67834
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 2014131,
"Position": {
"X": 486.6255,
"Y": 112.71838,
"Z": 271.13745
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1048728,
"Position": {
"X": 439.8108,
"Y": 112.435,
"Z": 669.6116
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Urqopacha - Worlar's Echo"
}
]
}
]
}

View File

@ -0,0 +1,58 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1048729,
"Position": {
"X": 513.4203,
"Y": 107.13501,
"Z": 545.7998
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 375.92813,
"Y": 74.827896,
"Z": 411.13763
},
"TerritoryId": 1187,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"KillEnemyDataIds": [
17484
],
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1048729,
"Position": {
"X": 513.4203,
"Y": 107.13501,
"Z": 545.7998
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,75 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1050693,
"Position": {
"X": 398.70288,
"Y": 122.54732,
"Z": 523.4912
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1050694,
"Position": {
"X": -22.720703,
"Y": 54.759686,
"Z": 522.88086
},
"TerritoryId": 1187,
"InteractionType": "Emote",
"Emote": "soothe",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1050694,
"Position": {
"X": -22.720703,
"Y": 54.759686,
"Z": 522.88086
},
"TerritoryId": 1187,
"InteractionType": "Say",
"ChatMessage": {
"Key": "TEXT_KINGZB108_05048_SAYTODO_000_100"
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1050693,
"Position": {
"X": 398.70288,
"Y": 122.54732,
"Z": 523.4912
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Urqopacha - Worlar's Echo",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,126 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1048731,
"Position": {
"X": 464.71338,
"Y": 131.25926,
"Z": 690.66907
},
"StopDistance": 1,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1050697,
"Position": {
"X": 190.4784,
"Y": 18.978786,
"Z": 210.49817
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 238.52116,
"Y": 47.201637,
"Z": 78.30595
},
"StopDistance": 0.25,
"TerritoryId": 1187,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
17650
],
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"Position": {
"X": 173.96666,
"Y": 56.288116,
"Z": -18.299652
},
"TerritoryId": 1187,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
17650
],
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1050698,
"Position": {
"X": 97.642456,
"Y": 38.62021,
"Z": -35.81299
},
"TerritoryId": 1187,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
17651
],
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1048731,
"Position": {
"X": 464.71338,
"Y": 131.25926,
"Z": 690.66907
},
"StopDistance": 1,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Urqopacha - Worlar's Echo",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,101 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1048732,
"Position": {
"X": 541.4053,
"Y": 107.13434,
"Z": 602.50244
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1048774,
"Position": {
"X": 495.35352,
"Y": 114.935,
"Z": 632.95935
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 1048745,
"Position": {
"X": 383.3523,
"Y": 129.04726,
"Z": 657.52637
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 1048747,
"Position": {
"X": 348.47034,
"Y": 130.34726,
"Z": 597.3755
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1048732,
"Position": {
"X": 541.4053,
"Y": 107.13434,
"Z": 602.50244
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,161 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1051207,
"Position": {
"X": 425.07043,
"Y": 118.935005,
"Z": 606.13403
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_KINGZB302_05056_Q1_000_000",
"Answer": "TEXT_KINGZB302_05056_A1_000_001"
}
]
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1051211,
"Position": {
"X": 508.35413,
"Y": 111.134995,
"Z": 711.57385
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2014275,
"Position": {
"X": 673.2433,
"Y": 124.40674,
"Z": 416.28137
},
"StopDistance": 0.25,
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2014273,
"Position": {
"X": 631.58606,
"Y": 124.833984,
"Z": 405.7527
},
"StopDistance": 0.25,
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 2014274,
"Position": {
"X": 637.93384,
"Y": 120.80554,
"Z": 352.34607
},
"StopDistance": 0.25,
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1051213,
"Position": {
"X": 624.9331,
"Y": 122.30835,
"Z": 387.41125
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1051211,
"Position": {
"X": 508.35413,
"Y": 111.134995,
"Z": 711.57385
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"AetheryteShortcut": "Urqopacha - Worlar's Echo",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1051207,
"Position": {
"X": 425.07043,
"Y": 118.935005,
"Z": 606.13403
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"Fly": true,
"NextQuestId": 5057
}
]
}
]
}

View File

@ -0,0 +1,189 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1051207,
"Position": {
"X": 425.07043,
"Y": 118.935005,
"Z": 606.13403
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_KINGZB303_05057_Q1_000_000",
"Answer": "TEXT_KINGZB303_05057_A1_000_001"
}
]
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1051214,
"Position": {
"X": 256.21423,
"Y": 25.563068,
"Z": 227.55774
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 17653,
"Position": {
"X": 215.6255,
"Y": 24.677507,
"Z": 182.81274
},
"TerritoryId": 1187,
"InteractionType": "WaitForNpcAtPosition",
"NpcWaitDistance": 6,
"Mount": false,
"Sprint": false
},
{
"DataId": 17653,
"Position": {
"X": 167.20306,
"Y": 24.205856,
"Z": 150.9515
},
"TerritoryId": 1187,
"InteractionType": "WaitForNpcAtPosition",
"NpcWaitDistance": 6,
"Mount": false,
"Sprint": false
},
{
"DataId": 17653,
"Position": {
"X": 202.11948,
"Y": 39.574707,
"Z": 86.737045
},
"TerritoryId": 1187,
"InteractionType": "WaitForNpcAtPosition",
"NpcWaitDistance": 6,
"Mount": false,
"Sprint": false
},
{
"Position": {
"X": 194.26257,
"Y": 47.196045,
"Z": 45.853394
},
"TerritoryId": 1187,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
17654
],
"Mount": false,
"Sprint": false
},
{
"DataId": 2014276,
"Position": {
"X": 194.26257,
"Y": 47.196045,
"Z": 45.853394
},
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 17653,
"Position": {
"X": 235.00903,
"Y": 44.070503,
"Z": -28.761452
},
"TerritoryId": 1187,
"InteractionType": "WaitForNpcAtPosition",
"NpcWaitDistance": 6.5,
"Mount": false,
"Sprint": false
},
{
"DataId": 17653,
"Position": {
"X": 248.98132,
"Y": 29.587158,
"Z": -67.73486
},
"TerritoryId": 1187,
"InteractionType": "WaitForNpcAtPosition",
"NpcWaitDistance": 6.5,
"Mount": false,
"Sprint": false
},
{
"DataId": 2014277,
"Position": {
"X": 248.98132,
"Y": 29.587158,
"Z": -67.73486
},
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1051215,
"Position": {
"X": 247.60815,
"Y": 29.59192,
"Z": -64.40839
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1051207,
"Position": {
"X": 425.07043,
"Y": 118.935005,
"Z": 606.13403
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Urqopacha - Worlar's Echo",
"NextQuestId": 5058
}
]
}
]
}

View File

@ -0,0 +1,140 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1051207,
"Position": {
"X": 425.07043,
"Y": 118.935005,
"Z": 606.13403
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1051216,
"Position": {
"X": 522.8502,
"Y": 111.135,
"Z": 614.3434
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1051218,
"Position": {
"X": -595.72754,
"Y": 58.576252,
"Z": 137.86523
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1051221,
"Position": {
"X": -670.25256,
"Y": 53.34527,
"Z": 126.29883
},
"StopDistance": 0.25,
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": -779.43585,
"Y": 61.86622,
"Z": 198.07907
},
"StopDistance": 0.25,
"TerritoryId": 1187,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
17655
]
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1051223,
"Position": {
"X": -781.3993,
"Y": 61.80422,
"Z": 198.2909
},
"StopDistance": 8,
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 6,
"Steps": [
{
"DataId": 1051225,
"Position": {
"X": -787.5334,
"Y": 50.050797,
"Z": 88.54797
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1051207,
"Position": {
"X": 425.07043,
"Y": 118.935005,
"Z": 606.13403
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Urqopacha - Worlar's Echo",
"NextQuestId": 5059
}
]
}
]
}

View File

@ -0,0 +1,103 @@
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1051207,
"Position": {
"X": 425.07043,
"Y": 118.935005,
"Z": 606.13403
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1051195,
"Position": {
"X": 383.29138,
"Y": -154.50243,
"Z": -420.49292
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"AetheryteShortcut": "Urqopacha - Wachunpelo"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1051228,
"Position": {
"X": 476.2798,
"Y": -133.9321,
"Z": -353.01752
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1051230,
"Position": {
"X": -23.422668,
"Y": 54.695663,
"Z": 533.1044
},
"TerritoryId": 1187,
"InteractionType": "Interact",
"AetheryteShortcut": "Urqopacha - Worlar's Echo",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1051235,
"Position": {
"X": -22.354492,
"Y": 54.58289,
"Z": 536.1256
},
"StopDistance": 5,
"TerritoryId": 1187,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1051236,
"Position": {
"X": 426.3828,
"Y": 118.935,
"Z": 603.6621
},
"TerritoryId": 1187,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Urqopacha - Worlar's Echo"
}
]
}
]
}

View File

@ -127,6 +127,10 @@
"type": "boolean", "type": "boolean",
"description": "If true and flying is unlocked in a zone, will use a flight path" "description": "If true and flying is unlocked in a zone, will use a flight path"
}, },
"Land": {
"type": "boolean",
"description": "If true and flying, will attempt to land on the ground"
},
"Sprint": { "Sprint": {
"type": [ "type": [
"boolean", "boolean",
@ -653,7 +657,8 @@
"happy", "happy",
"poke", "poke",
"flex", "flex",
"soothe" "soothe",
"me"
] ]
} }
} }
@ -719,7 +724,10 @@
"type": "string", "type": "string",
"description": "The action to use", "description": "The action to use",
"enum": [ "enum": [
"Esuna" "Esuna",
"Red Gulal",
"Yellow Gulal",
"Blue Gulal"
] ]
} }
}, },

View File

@ -7,5 +7,8 @@ public sealed class ActionConverter() : EnumConverter<EAction>(Values)
private static readonly Dictionary<EAction, string> Values = new() private static readonly Dictionary<EAction, string> Values = new()
{ {
{ EAction.Esuna, "Esuna" }, { EAction.Esuna, "Esuna" },
{ EAction.RedGulal, "Red Gulal" },
{ EAction.YellowGulal, "Yellow Gulal" },
{ EAction.BlueGulal, "Blue Gulal" },
}; };
} }

View File

@ -19,5 +19,6 @@ public sealed class EmoteConverter() : EnumConverter<EEmote>(Values)
{ EEmote.Poke, "poke" }, { EEmote.Poke, "poke" },
{ EEmote.Flex, "flex" }, { EEmote.Flex, "flex" },
{ EEmote.Soothe, "soothe" }, { EEmote.Soothe, "soothe" },
{ EEmote.Me, "me" },
}; };
} }

View File

@ -7,4 +7,15 @@ namespace Questionable.Model.V1;
public enum EAction public enum EAction
{ {
Esuna = 7568, Esuna = 7568,
RedGulal = 29382,
YellowGulal = 29383,
BlueGulal = 29384,
}
public static class EActionExtensions
{
public static bool RequiresMount(this EAction action)
{
return action is EAction.RedGulal or EAction.YellowGulal or EAction.BlueGulal;
}
} }

View File

@ -21,4 +21,5 @@ public enum EEmote
Poke = 28, Poke = 28,
Flex = 139, Flex = 139,
Soothe = 35, Soothe = 35,
Me = 23,
} }

View File

@ -28,6 +28,7 @@ public sealed class QuestStep
public bool DisableNavmesh { get; set; } public bool DisableNavmesh { get; set; }
public bool? Mount { get; set; } public bool? Mount { get; set; }
public bool? Fly { get; set; } public bool? Fly { get; set; }
public bool? Land { get; set; }
public bool? Sprint { get; set; } public bool? Sprint { get; set; }
public string? Comment { get; set; } public string? Comment { get; set; }

View File

@ -148,7 +148,12 @@ internal sealed class MovementController : IDisposable
} }
Vector3 localPlayerPosition = _clientState.LocalPlayer?.Position ?? Vector3.Zero; Vector3 localPlayerPosition = _clientState.LocalPlayer?.Position ?? Vector3.Zero;
if ((localPlayerPosition - Destination.Position).Length() < Destination.StopDistance) if (Destination.MovementType == EMovementType.Landing)
{
if (!_condition[ConditionFlag.InFlight])
Stop();
}
else if ((localPlayerPosition - Destination.Position).Length() < Destination.StopDistance)
{ {
if (Destination.DataId if (Destination.DataId
is 2012173 or 2012174 or 2012175 or 2012176 is 2012173 or 2012174 or 2012175 or 2012176
@ -242,7 +247,7 @@ internal sealed class MovementController : IDisposable
_chatFunctions.ExecuteCommand("/automove off"); _chatFunctions.ExecuteCommand("/automove off");
} }
Destination = new DestinationData(dataId, to, stopDistance ?? (QuestStep.DefaultStopDistance - 0.2f), fly, sprint, Destination = new DestinationData(type, dataId, to, stopDistance ?? (QuestStep.DefaultStopDistance - 0.2f), fly, sprint,
useNavmesh); useNavmesh);
MovementStartedAt = DateTime.MaxValue; MovementStartedAt = DateTime.MaxValue;
} }
@ -307,6 +312,7 @@ internal sealed class MovementController : IDisposable
} }
public sealed record DestinationData( public sealed record DestinationData(
EMovementType MovementType,
uint? DataId, uint? DataId,
Vector3 Position, Vector3 Position,
float StopDistance, float StopDistance,

View File

@ -20,13 +20,17 @@ internal static class Action
if (step.InteractionType != EInteractionType.Action) if (step.InteractionType != EInteractionType.Action)
return []; return [];
ArgumentNullException.ThrowIfNull(step.DataId);
ArgumentNullException.ThrowIfNull(step.Action); ArgumentNullException.ThrowIfNull(step.Action);
var unmount = serviceProvider.GetRequiredService<UnmountTask>();
var task = serviceProvider.GetRequiredService<UseOnObject>() var task = serviceProvider.GetRequiredService<UseOnObject>()
.With(step.DataId.Value, step.Action.Value); .With(step.DataId, step.Action.Value);
return [unmount, task]; if (step.Action.Value.RequiresMount())
return [task];
else
{
var unmount = serviceProvider.GetRequiredService<UnmountTask>();
return [unmount, task];
}
} }
public ITask CreateTask(Quest quest, QuestSequence sequence, QuestStep step) public ITask CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
@ -38,10 +42,10 @@ internal static class Action
private bool _usedAction; private bool _usedAction;
private DateTime _continueAt = DateTime.MinValue; private DateTime _continueAt = DateTime.MinValue;
public uint DataId { get; set; } public uint? DataId { get; set; }
public EAction Action { get; set; } public EAction Action { get; set; }
public ITask With(uint dataId, EAction action) public ITask With(uint? dataId, EAction action)
{ {
DataId = dataId; DataId = dataId;
Action = action; Action = action;
@ -50,16 +54,25 @@ internal static class Action
public bool Start() public bool Start()
{ {
IGameObject? gameObject = gameFunctions.FindObjectByDataId(DataId); if (DataId != null)
if (gameObject == null)
{ {
logger.LogWarning("No game object with dataId {DataId}", DataId); IGameObject? gameObject = gameFunctions.FindObjectByDataId(DataId.Value);
return false; if (gameObject == null)
} {
logger.LogWarning("No game object with dataId {DataId}", DataId);
return false;
}
if (gameObject.IsTargetable) if (gameObject.IsTargetable)
{
_usedAction = gameFunctions.UseAction(gameObject, Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
return true;
}
}
else
{ {
_usedAction = gameFunctions.UseAction(gameObject, Action); _usedAction = gameFunctions.UseAction(Action);
_continueAt = DateTime.Now.AddSeconds(0.5); _continueAt = DateTime.Now.AddSeconds(0.5);
return true; return true;
} }
@ -74,12 +87,21 @@ internal static class Action
if (!_usedAction) if (!_usedAction)
{ {
IGameObject? gameObject = gameFunctions.FindObjectByDataId(DataId); if (DataId != null)
if (gameObject == null || !gameObject.IsTargetable) {
return ETaskResult.StillRunning; IGameObject? gameObject = gameFunctions.FindObjectByDataId(DataId.Value);
if (gameObject == null || !gameObject.IsTargetable)
return ETaskResult.StillRunning;
_usedAction = gameFunctions.UseAction(gameObject, Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
}
else
{
_usedAction = gameFunctions.UseAction(Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
}
_usedAction = gameFunctions.UseAction(gameObject, Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
return ETaskResult.StillRunning; return ETaskResult.StillRunning;
} }

View File

@ -2,10 +2,12 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.Numerics; using System.Numerics;
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 Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Questionable.Controller.NavigationOverrides;
using Questionable.Controller.Steps.Common; using Questionable.Controller.Steps.Common;
using Questionable.Data; using Questionable.Data;
using Questionable.Model; using Questionable.Model;
@ -119,6 +121,9 @@ internal static class Move
}); });
} }
} }
if (Step.Fly == true && Step.Land == true)
yield return serviceProvider.GetRequiredService<Land>();
} }
} }
@ -175,4 +180,43 @@ internal static class Move
return ETaskResult.TaskComplete; return ETaskResult.TaskComplete;
} }
} }
internal sealed class Land(MovementController movementController, IClientState clientState, ICondition condition, ILogger<Land> logger) : ITask
{
public bool Start()
{
if (!condition[ConditionFlag.InFlight])
{
logger.LogInformation("Not flying, not attempting to land");
return false;
}
AttemptLanding();
return true;
}
public ETaskResult Update()
{
if (movementController.IsPathfinding || movementController.IsPathRunning)
return ETaskResult.StillRunning;
if (condition[ConditionFlag.InFlight])
{
AttemptLanding();
return ETaskResult.StillRunning;
}
return ETaskResult.TaskComplete;
}
private void AttemptLanding()
{
Vector3 playerPosition = clientState.LocalPlayer!.Position;
playerPosition.Y -= 3;
Vector3 nearbyPosition = Vector3.Normalize(playerPosition with { Y = 0 }) * 0.05f;
playerPosition += nearbyPosition;
movementController.NavigateTo(EMovementType.Landing, null, [playerPosition], true, false, 0);
}
}
} }

View File

@ -23,6 +23,7 @@ using Lumina.Excel.GeneratedSheets2;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Questionable.Controller; using Questionable.Controller;
using Questionable.Model.V1; using Questionable.Model.V1;
using Action = Lumina.Excel.GeneratedSheets2.Action;
using BattleChara = FFXIVClientStructs.FFXIV.Client.Game.Character.BattleChara; using BattleChara = FFXIVClientStructs.FFXIV.Client.Game.Character.BattleChara;
using ContentFinderCondition = Lumina.Excel.GeneratedSheets.ContentFinderCondition; using ContentFinderCondition = Lumina.Excel.GeneratedSheets.ContentFinderCondition;
using ContentTalk = Lumina.Excel.GeneratedSheets.ContentTalk; using ContentTalk = Lumina.Excel.GeneratedSheets.ContentTalk;
@ -383,8 +384,22 @@ internal sealed unsafe class GameFunctions
return false; return false;
} }
public bool UseAction(EAction action)
{
if (ActionManager.Instance()->GetActionStatus(ActionType.Action, (uint)action) == 0)
{
bool result = ActionManager.Instance()->UseAction(ActionType.Action, (uint)action);
_logger.LogInformation("UseAction {Action} result: {Result}", action, result);
return result;
}
return false;
}
public bool UseAction(IGameObject gameObject, EAction action) public bool UseAction(IGameObject gameObject, EAction action)
{ {
var actionRow = _dataManager.GetExcelSheet<Action>()!.GetRow((uint)action)!;
if (!ActionManager.CanUseActionOnTarget((uint)action, (GameObject*)gameObject.Address)) if (!ActionManager.CanUseActionOnTarget((uint)action, (GameObject*)gameObject.Address))
{ {
_logger.LogWarning("Can not use action {Action} on target {Target}", action, gameObject); _logger.LogWarning("Can not use action {Action} on target {Target}", action, gameObject);
@ -394,8 +409,19 @@ internal sealed unsafe class GameFunctions
_targetManager.Target = gameObject; _targetManager.Target = gameObject;
if (ActionManager.Instance()->GetActionStatus(ActionType.Action, (uint)action, gameObject.GameObjectId) == 0) if (ActionManager.Instance()->GetActionStatus(ActionType.Action, (uint)action, gameObject.GameObjectId) == 0)
{ {
bool result = ActionManager.Instance()->UseAction(ActionType.Action, (uint)action, gameObject.GameObjectId); bool result;
_logger.LogInformation("UseAction {Action} on target {Target} result: {Result}", action, gameObject, result); if (actionRow.TargetArea)
{
Vector3 position = gameObject.Position;
result = ActionManager.Instance()->UseActionLocation(ActionType.Action, (uint)action, location: &position);
_logger.LogInformation("UseAction {Action} on target area {Target} result: {Result}", action, gameObject,
result);
}
else {
result = ActionManager.Instance()->UseAction(ActionType.Action, (uint)action, gameObject.GameObjectId);
_logger.LogInformation("UseAction {Action} on target {Target} result: {Result}", action, gameObject,
result);
}
return result; return result;
} }

View File

@ -6,4 +6,5 @@ public enum EMovementType
Quest, Quest,
DebugWindow, DebugWindow,
Shortcut, Shortcut,
Landing,
} }

View File

@ -85,7 +85,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin
serviceCollection.AddTaskWithFactory<SkipCondition.Factory, SkipCondition.CheckTask>(); serviceCollection.AddTaskWithFactory<SkipCondition.Factory, SkipCondition.CheckTask>();
serviceCollection.AddTaskWithFactory<AethernetShortcut.Factory, AethernetShortcut.UseAethernetShortcut>(); serviceCollection.AddTaskWithFactory<AethernetShortcut.Factory, AethernetShortcut.UseAethernetShortcut>();
serviceCollection.AddTaskWithFactory<WaitAtStart.Factory, WaitAtStart.WaitDelay>(); serviceCollection.AddTaskWithFactory<WaitAtStart.Factory, WaitAtStart.WaitDelay>();
serviceCollection.AddTaskWithFactory<Move.Factory, Move.MoveInternal, Move.ExpectToBeNearDataId>(); serviceCollection.AddTaskWithFactory<Move.Factory, Move.MoveInternal, Move.ExpectToBeNearDataId, Move.Land>();
serviceCollection.AddTransient<Move.MoveBuilder>(); serviceCollection.AddTransient<Move.MoveBuilder>();
serviceCollection.AddTaskWithFactory<NextQuest.Factory, NextQuest.SetQuest>(); serviceCollection.AddTaskWithFactory<NextQuest.Factory, NextQuest.SetQuest>();