Clean up Endwalker aether currents, make ignoreDistanceToObject not-hardcoded, shorten jump wait delay, updated some filler/comment steps

pull/5/head v1.5
Liza 2024-07-13 22:01:06 +02:00
parent 6d79f094ba
commit d8836237d7
Signed by: liza
GPG Key ID: 7199F8D727D55F67
89 changed files with 978 additions and 1027 deletions

View File

@ -313,6 +313,8 @@ public class QuestSourceGenerator : ISourceGenerator
.AsSyntaxNodeOrToken(), .AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Sprint), step.Sprint, emptyStep.Sprint) Assignment(nameof(QuestStep.Sprint), step.Sprint, emptyStep.Sprint)
.AsSyntaxNodeOrToken(), .AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.IgnoreDistanceToObject), step.IgnoreDistanceToObject, emptyStep.IgnoreDistanceToObject)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Comment), step.Comment, emptyStep.Comment) Assignment(nameof(QuestStep.Comment), step.Comment, emptyStep.Comment)
.AsSyntaxNodeOrToken(), .AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.AetheryteShortcut), step.AetheryteShortcut, Assignment(nameof(QuestStep.AetheryteShortcut), step.AetheryteShortcut,

View File

@ -57,6 +57,21 @@
} }
] ]
}, },
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -83,7 +83,6 @@
"TerritoryId": 815, "TerritoryId": 815,
"InteractionType": "UseItem", "InteractionType": "UseItem",
"ItemId": 2002904, "ItemId": 2002904,
"$.1": "QuestVariables if done first: 1 32 0 0 0 64",
"CompletionQuestVariablesFlags": [ "CompletionQuestVariablesFlags": [
null, null,
null, null,
@ -103,7 +102,6 @@
"TerritoryId": 815, "TerritoryId": 815,
"InteractionType": "UseItem", "InteractionType": "UseItem",
"ItemId": 2002904, "ItemId": 2002904,
"$.1": "QuestVariables if done after [1]: 2 16 0 0 0 96",
"CompletionQuestVariablesFlags": [ "CompletionQuestVariablesFlags": [
null, null,
null, null,

View File

@ -68,7 +68,6 @@
"StopDistance": 1, "StopDistance": 1,
"TerritoryId": 815, "TerritoryId": 815,
"InteractionType": "Interact", "InteractionType": "Interact",
"$.1": "QuestVariables if done first: 16 16 16 0 0 32",
"Fly": true, "Fly": true,
"CompletionQuestVariablesFlags": [ "CompletionQuestVariablesFlags": [
null, null,
@ -88,7 +87,6 @@
}, },
"TerritoryId": 815, "TerritoryId": 815,
"InteractionType": "Interact", "InteractionType": "Interact",
"$.1": "QuestVariables if done after [1]: 33 16 32 0 0 96",
"CompletionQuestVariablesFlags": [ "CompletionQuestVariablesFlags": [
null, null,
null, null,

View File

@ -72,8 +72,6 @@
"TerritoryId": 819, "TerritoryId": 819,
"InteractionType": "Interact", "InteractionType": "Interact",
"Comment": "Chessamile", "Comment": "Chessamile",
"$.0": "[1]",
"$.1": "QuestVariables if done first: 1 0 0 0 0 64",
"CompletionQuestVariablesFlags": [ "CompletionQuestVariablesFlags": [
null, null,
null, null,
@ -93,8 +91,6 @@
"TerritoryId": 819, "TerritoryId": 819,
"InteractionType": "Interact", "InteractionType": "Interact",
"Comment": "Bragi", "Comment": "Bragi",
"$.0": "[2]",
"$.1": "QuestVariables if done after [1]: 2 0 0 0 0 192",
"CompletionQuestVariablesFlags": [ "CompletionQuestVariablesFlags": [
null, null,
null, null,
@ -115,8 +111,6 @@
"TerritoryId": 819, "TerritoryId": 819,
"InteractionType": "Interact", "InteractionType": "Interact",
"Comment": "Glynard", "Comment": "Glynard",
"$.0": "[3]",
"$.1": "QuestVariables if done after [1, 2]: 3 0 0 0 0 200",
"CompletionQuestVariablesFlags": [ "CompletionQuestVariablesFlags": [
null, null,
null, null,
@ -140,8 +134,6 @@
"[Crystarium] The Pendants", "[Crystarium] The Pendants",
"[Crystarium] The Crystalline Mean" "[Crystarium] The Crystalline Mean"
], ],
"$.0": "[4]",
"$.1": "QuestVariables if done after [1, 2, 3]: 4 0 0 0 0 216",
"CompletionQuestVariablesFlags": [ "CompletionQuestVariablesFlags": [
null, null,
null, null,

View File

@ -47,6 +47,21 @@
} }
] ]
}, },
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -52,6 +52,21 @@
} }
] ]
}, },
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -89,6 +89,21 @@
} }
] ]
}, },
{
"Sequence": 5,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -66,6 +66,21 @@
} }
] ]
}, },
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -39,27 +39,6 @@
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [
{
"Position": {
"X": -719.5691,
"Y": -152.90369,
"Z": -807.82135
},
"TerritoryId": 959,
"InteractionType": "ShouldBeAJump",
"Comment": "Navmesh can't jump (TODO this is super out of the way)"
},
{
"DataId": 2012018,
"Position": {
"X": -733.63855,
"Y": -139.6659,
"Z": -733.30286
},
"TerritoryId": 959,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818367
},
{ {
"DataId": 1037867, "DataId": 1037867,
"Position": { "Position": {
@ -68,8 +47,7 @@
"Z": -491.14215 "Z": -491.14215
}, },
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "CompleteQuest", "InteractionType": "CompleteQuest"
"AetheryteShortcut": "Mare Lamentorum - Bestways Burrow"
} }
] ]
} }

View File

@ -22,22 +22,219 @@
"Steps": [ "Steps": [
{ {
"Position": { "Position": {
"X": -345.7338, "X": -348.90564,
"Y": -161.8501, "Y": -161.8501,
"Z": -646.97064 "Z": -651.4007
},
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "WalkTo",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"Position": {
"X": -348.90564,
"Y": -161.8501,
"Z": -651.4007
},
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -344.52225,
"Y": -160.40424,
"Z": -654.19385
}
},
"Mount": false,
"Comment": "Platform 1",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"Position": {
"X": -344.52225,
"Y": -160.40424,
"Z": -654.19385
}, },
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "ShouldBeAJump", "InteractionType": "Jump",
"Comment": "Navmesh can't jump" "JumpDestination": {
"Position": {
"X": -342.69867,
"Y": -158.90424,
"Z": -651.2852
},
"DelaySeconds": 0.25
},
"Comment": "Platform 2",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"Position": {
"X": -342.69867,
"Y": -158.90424,
"Z": -651.2852
},
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -341.018,
"Y": -157.40425,
"Z": -649.38934
},
"DelaySeconds": 0.25
},
"Comment": "Platform 3",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"Position": {
"X": -341.018,
"Y": -157.40425,
"Z": -649.38934
},
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -338.68277,
"Y": -155.90424,
"Z": -646.8163
},
"DelaySeconds": 0.25
},
"Comment": "Platform 4",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"Position": {
"X": -338.68277,
"Y": -155.90424,
"Z": -646.8163
},
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -335.60294,
"Y": -154.40422,
"Z": -646.18335
},
"DelaySeconds": 0.25
},
"Comment": "Platform 5",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"Position": {
"X": -335.60294,
"Y": -154.40422,
"Z": -646.18335
},
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -332.4621,
"Y": -152.90424,
"Z": -645.4033
},
"DelaySeconds": 0.25
},
"Comment": "Platform 6",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
},
{
"Position": {
"X": -329.84186,
"Y": -152.24591,
"Z": -649.0854
},
"TerritoryId": 959,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-128
]
}, },
{ {
"DataId": 1041789, "DataId": 1041789,
"StopDistance": 3, "Position": {
"X": -329.3355,
"Y": -151.26128,
"Z": -657.2519
},
"StopDistance": 7,
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Say", "InteractionType": "Say",
"DisableNavmesh": true,
"ChatMessage": { "ChatMessage": {
"Key": "TEXT_AKTKZE002_04241_SYSTEM_000_010" "Key": "TEXT_AKTKZE002_04241_SYSTEM_000_010"
} },
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
}, },
{ {
"DataId": 1041790, "DataId": 1041790,
@ -52,7 +249,14 @@
"ChatMessage": { "ChatMessage": {
"Key": "TEXT_AKTKZE002_04241_SYSTEM_000_010" "Key": "TEXT_AKTKZE002_04241_SYSTEM_000_010"
}, },
"$.1": "QuestVariables if done after [1]: 2 0 0 0 0 192" "CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}, },
{ {
"Position": { "Position": {
@ -60,18 +264,194 @@
"Y": -168.00002, "Y": -168.00002,
"Z": -420.43494 "Z": -420.43494
}, },
"StopDistance": 1,
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "ShouldBeAJump", "InteractionType": "WalkTo"
"Comment": "Navmesh can't jump" },
{
"Position": {
"X": -438.33246,
"Y": -168.00002,
"Z": -420.43494
},
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -438.3488,
"Y": -166.55414,
"Z": -415.94168
},
"DelaySeconds": 0.25
},
"Mount": false,
"Comment": "Platform 1",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-32
]
},
{
"Position": {
"X": -438.3488,
"Y": -166.55414,
"Z": -415.94168
},
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -436.71103,
"Y": -165.05412,
"Z": -413.06158
},
"DelaySeconds": 0.25
},
"Comment": "Platform 2",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-32
]
},
{
"Position": {
"X": -436.71103,
"Y": -165.05412,
"Z": -413.06158
},
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -434.92825,
"Y": -163.55417,
"Z": -411.54132
},
"DelaySeconds": 0.25
},
"Comment": "Platform 3",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-32
]
},
{
"Position": {
"X": -434.92825,
"Y": -163.55417,
"Z": -411.54132
},
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -432.17563,
"Y": -162.05412,
"Z": -409.53986
},
"DelaySeconds": 0.25
},
"Comment": "Platform 4",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-32
]
},
{
"Position": {
"X": -432.17563,
"Y": -162.05412,
"Z": -409.53986
},
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -429.1173,
"Y": -160.55412,
"Z": -408.93143
},
"DelaySeconds": 0.25
},
"Comment": "Platform 5",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-32
]
},
{
"Position": {
"X": -429.1173,
"Y": -160.55412,
"Z": -408.93143
},
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -425.56998,
"Y": -159.05414,
"Z": -408.56833
},
"DelaySeconds": 0.25
},
"Comment": "Platform 6",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
-32
]
}, },
{ {
"DataId": 1041791, "DataId": 1041791,
"Position": {
"X": -409.87262,
"Y": -158.89125,
"Z": -426.68805
},
"StopDistance": 3, "StopDistance": 3,
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Say", "InteractionType": "Say",
"ChatMessage": { "ChatMessage": {
"Key": "TEXT_AKTKZE002_04241_SYSTEM_000_010" "Key": "TEXT_AKTKZE002_04241_SYSTEM_000_010"
} },
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
} }
] ]
}, },
@ -86,7 +466,8 @@
}, },
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"DisableNavmesh": true "DisableNavmesh": true,
"Mount": true
}, },
{ {
"DataId": 1039520, "DataId": 1039520,

View File

@ -13,7 +13,14 @@
"Z": -521.6602 "Z": -521.6602
}, },
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "AcceptQuest" "InteractionType": "AcceptQuest",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_AKTKZE014_04253_Q1_000_000",
"Answer": "TEXT_AKTKZE014_04253_A1_000_002"
}
]
} }
] ]
}, },
@ -21,17 +28,13 @@
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{ {
"DataId": 2012015,
"Position": { "Position": {
"X": 591.3633, "X": 425.62292,
"Y": 149.33997, "Y": 123.48844,
"Z": 114.91565 "Z": 89.52347
}, },
"StopDistance": 4,
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "AttuneAetherCurrent", "InteractionType": "WalkTo"
"AetherCurrentId": 2818364,
"Comment": "TODO Unsure if this can be reached via navmesh directly from Bestways Burrows"
}, },
{ {
"DataId": 1041127, "DataId": 1041127,
@ -57,7 +60,15 @@
}, },
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Interact", "InteractionType": "Interact",
"$.1": "QuestVariables if done first: 17 0 0 0 0 32" "$.1": "QuestVariables if done first: 17 0 0 0 0 32",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}, },
{ {
"DataId": 1041125, "DataId": 1041125,
@ -72,7 +83,15 @@
"KillEnemyDataIds": [ "KillEnemyDataIds": [
14050 14050
], ],
"$.1": "QuestVariables if done after [1]: 33 1 0 0 0 160" "$.1": "QuestVariables if done after [1]: 33 1 0 0 0 160",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
}, },
{ {
"DataId": 1041124, "DataId": 1041124,
@ -82,7 +101,15 @@
"Z": 188.18945 "Z": 188.18945
}, },
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Interact" "InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
} }
] ]
}, },
@ -125,17 +152,6 @@
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [
{
"DataId": 2012016,
"Position": {
"X": 388.3573,
"Y": 99.90076,
"Z": 306.05017
},
"TerritoryId": 959,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818365
},
{ {
"DataId": 1041123, "DataId": 1041123,
"Position": { "Position": {

View File

@ -45,8 +45,14 @@
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Interact", "InteractionType": "Interact",
"Comment": "Cheerful Loporrit", "Comment": "Cheerful Loporrit",
"$.0": "[1]", "CompletionQuestVariablesFlags": [
"$.1": "QuestVariables if done first: 1 0 0 0 0 64" null,
null,
null,
null,
null,
64
]
}, },
{ {
"DataId": 1041746, "DataId": 1041746,
@ -58,8 +64,14 @@
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Interact", "InteractionType": "Interact",
"Comment": "Stern Loporrit", "Comment": "Stern Loporrit",
"$.0": "[2]", "CompletionQuestVariablesFlags": [
"$.1": "QuestVariables if done after [1]: 2 0 0 0 0 96" null,
null,
null,
null,
null,
32
]
}, },
{ {
"DataId": 1041744, "DataId": 1041744,
@ -70,7 +82,15 @@
}, },
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Interact", "InteractionType": "Interact",
"Comment": "Easygoing Loporrit" "Comment": "Easygoing Loporrit",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
} }
] ]
}, },
@ -85,7 +105,14 @@
"Z": -465.17133 "Z": -465.17133
}, },
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "CompleteQuest" "InteractionType": "CompleteQuest",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_AKTKZE101_04516_Q3_000_000",
"Answer": "TEXT_AKTKZE101_04516_A3_000_001"
}
]
} }
] ]
} }

View File

@ -51,8 +51,7 @@
null, null,
null, null,
128 128
], ]
"$": "QuestVariables after: 16 1 0 0 0 128"
}, },
{ {
"Position": { "Position": {
@ -82,8 +81,7 @@
null, null,
null, null,
32 32
], ]
"$": "QuestVariables after: 32 17 0 0 0 160"
}, },
{ {
"DataId": 2011913, "DataId": 2011913,

View File

@ -177,17 +177,6 @@
{ {
"Sequence": 6, "Sequence": 6,
"Steps": [ "Steps": [
{
"DataId": 2011984,
"Position": {
"X": 497.09314,
"Y": 73.41101,
"Z": -267.23126
},
"TerritoryId": 956,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818320
},
{ {
"DataId": 2011843, "DataId": 2011843,
"Position": { "Position": {

View File

@ -20,57 +20,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"Position": {
"X": -329.64972,
"Y": 77.91884,
"Z": -448.5044
},
"TerritoryId": 956,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": -327.6718,
"Y": 79.535736,
"Z": -400.00397
},
"TerritoryId": 956,
"InteractionType": "WalkTo"
},
{
"DataId": 2011982,
"Position": {
"X": -316.30432,
"Y": 79.75891,
"Z": -395.31555
},
"TerritoryId": 956,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818318
},
{
"Position": {
"X": -300.80545,
"Y": 59.384476,
"Z": -409.0928
},
"TerritoryId": 956,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
"Mount": true
},
{
"DataId": 2011983,
"Position": {
"X": 32.303345,
"Y": 72.83118,
"Z": -286.27454
},
"TerritoryId": 956,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818319
},
{ {
"DataId": 1038736, "DataId": 1038736,
"Position": { "Position": {

View File

@ -131,47 +131,6 @@
{ {
"Sequence": 5, "Sequence": 5,
"Steps": [ "Steps": [
{
"Position": {
"X": 232.93636,
"Y": 15.136732,
"Z": 526.6279
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Mount": true
},
{
"DataId": 2011992,
"Position": {
"X": 303.91382,
"Y": 0.25933838,
"Z": 473.65527
},
"TerritoryId": 957,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818333,
"DisableNavmesh": true
},
{
"Position": {
"X": 201.66586,
"Y": 1.7700036,
"Z": 712.9197
},
"TerritoryId": 957,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": 199.50157,
"Y": 1.769943,
"Z": 738.831
},
"StopDistance": 0.25,
"TerritoryId": 957,
"InteractionType": "WalkTo"
},
{ {
"DataId": 1038608, "DataId": 1038608,
"Position": { "Position": {
@ -179,9 +138,9 @@
"Y": 1.769943, "Y": 1.769943,
"Z": 738.9843 "Z": 738.9843
}, },
"StopDistance": 0.25,
"TerritoryId": 957, "TerritoryId": 957,
"InteractionType": "Interact", "InteractionType": "Interact"
"Mount": false
} }
] ]
}, },

View File

@ -58,6 +58,7 @@
"Y": 37.463673, "Y": 37.463673,
"Z": 379.5985 "Z": 379.5985
}, },
"StopDistance": 0.25,
"TerritoryId": 957, "TerritoryId": 957,
"InteractionType": "Combat", "InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea", "EnemySpawnType": "AutoOnEnterArea",

View File

@ -66,37 +66,6 @@
{ {
"Sequence": 2, "Sequence": 2,
"Steps": [ "Steps": [
{
"DataId": 2011993,
"Position": {
"X": -479.45374,
"Y": 72.892334,
"Z": -561.82196
},
"TerritoryId": 957,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818334
},
{
"Position": {
"X": -489.27457,
"Y": 72.74904,
"Z": -546.8438
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Mount": true
},
{
"Position": {
"X": -523.7225,
"Y": 9.401685,
"Z": -554.4276
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{ {
"DataId": 1038651, "DataId": 1038651,
"Position": { "Position": {

View File

@ -20,46 +20,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"Position": {
"X": -130.78743,
"Y": 86.83725,
"Z": -252.08578
},
"TerritoryId": 957,
"InteractionType": "WalkTo"
},
{
"DataId": 2011994,
"Position": {
"X": -114.488464,
"Y": 87.08313,
"Z": -288.3192
},
"TerritoryId": 957,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818335,
"DisableNavmesh": true
},
{
"Position": {
"X": -156.25183,
"Y": 90.34184,
"Z": -399.8714
},
"TerritoryId": 957,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": -126.149765,
"Y": 73.745605,
"Z": -427.64508
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{ {
"DataId": 1038656, "DataId": 1038656,
"Position": { "Position": {

View File

@ -62,6 +62,21 @@
} }
] ]
}, },
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -152,6 +152,27 @@
{ {
"Sequence": 6, "Sequence": 6,
"Steps": [ "Steps": [
{
"DataId": 2012078,
"Position": {
"X": 117.81482,
"Y": -16.922302,
"Z": 390.46313
},
"TerritoryId": 958,
"InteractionType": "Interact",
"SkipIf": [
"NotTargetable"
],
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_AKTKMB105_04384_Q1_000_116",
"Yes": true
}
],
"Comment": "retry point"
},
{ {
"DataId": 1038845, "DataId": 1038845,
"Position": { "Position": {
@ -252,7 +273,8 @@
"TerritoryId": 958, "TerritoryId": 958,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"Mount": false, "Mount": false,
"Sprint": false "Sprint": false,
"DelaySecondsAtStart": 1
}, },
{ {
"DataId": 1038845, "DataId": 1038845,
@ -278,6 +300,7 @@
"TerritoryId": 958, "TerritoryId": 958,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"StopDistance": 45, "StopDistance": 45,
"IgnoreDistanceToObject": true,
"Mount": false, "Mount": false,
"Sprint": false "Sprint": false
}, },

View File

@ -99,157 +99,6 @@
{ {
"Sequence": 6, "Sequence": 6,
"Steps": [ "Steps": [
{
"Position": {
"X": 398.44858,
"Y": 5.094846,
"Z": 231.72844
},
"TerritoryId": 958,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": 394.97046,
"Y": 3.652959,
"Z": 254.77034
},
"TerritoryId": 958,
"InteractionType": "Jump",
"DisableNavmesh": true,
"JumpDestination": {
"Position": {
"X": 405.0264,
"Y": -2.2185562,
"Z": 267.40506
},
"StopDistance": 3
}
},
{
"Position": {
"X": 405.01987,
"Y": -2.2185562,
"Z": 298.9302
},
"TerritoryId": 958,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": 405.01382,
"Y": -2.2185562,
"Z": 308.17484
},
"StopDistance": 3
}
},
{
"Position": {
"X": 404.9343,
"Y": -2.2185562,
"Z": 338.46368
},
"TerritoryId": 958,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": 404.9452,
"Y": -2.2185562,
"Z": 347.15533
},
"StopDistance": 3
}
},
{
"Position": {
"X": 405.0104,
"Y": -2.2185562,
"Z": 379.0302
},
"TerritoryId": 958,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": 404.98633,
"Y": -2.2185562,
"Z": 388.4368
},
"StopDistance": 3
}
},
{
"Position": {
"X": 405.02594,
"Y": -2.2185562,
"Z": 419.30426
},
"TerritoryId": 958,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": 405.00076,
"Y": -2.2185562,
"Z": 427.6698
},
"StopDistance": 3
}
},
{
"Position": {
"X": 405.03207,
"Y": -2.2185562,
"Z": 457.66095
},
"TerritoryId": 958,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": 404.94934,
"Y": -2.2185562,
"Z": 467.3867
},
"StopDistance": 3
}
},
{
"Position": {
"X": 405.04044,
"Y": -2.2185562,
"Z": 498.37363
},
"TerritoryId": 958,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": 405.158,
"Y": -2.2185564,
"Z": 508.9487
},
"StopDistance": 3
}
},
{
"DataId": 2012003,
"Position": {
"X": 405.2948,
"Y": -2.243164,
"Z": 520.31726
},
"TerritoryId": 958,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818347
},
{
"Position": {
"X": 379.2122,
"Y": -18.622318,
"Z": 530.3423
},
"TerritoryId": 958,
"InteractionType": "WalkTo",
"Mount": true,
"DisableNavmesh": true
},
{ {
"DataId": 2012001, "DataId": 2012001,
"Position": { "Position": {

View File

@ -12,6 +12,7 @@
"Y": 0.21427588, "Y": 0.21427588,
"Z": 147.8446 "Z": 147.8446
}, },
"StopDistance": 5,
"TerritoryId": 958, "TerritoryId": 958,
"InteractionType": "AcceptQuest" "InteractionType": "AcceptQuest"
} }
@ -20,17 +21,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"DataId": 2012002,
"Position": {
"X": 83.08533,
"Y": 1.5106201,
"Z": 102.00659
},
"TerritoryId": 958,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818346
},
{ {
"Position": { "Position": {
"X": 168.04597, "X": 168.04597,

View File

@ -37,9 +37,7 @@
null, null,
null, null,
64 64
], ]
"$.0": "[1]",
"$.1": "QuestVariables if done first: 17 0 0 0 0 64"
}, },
{ {
"DataId": 1037718, "DataId": 1037718,
@ -58,9 +56,7 @@
null, null,
null, null,
16 16
], ]
"$.0": "[2]",
"$.2": "QuestVariables if done after [1]: 33 1 0 0 0 80"
}, },
{ {
"Position": { "Position": {
@ -96,9 +92,7 @@
null, null,
null, null,
128 128
], ]
"$.0": "[3]",
"$.2": "QuestVariables if done after [1, 2]: 49 1 16 0 0 206"
}, },
{ {
"DataId": 1037717, "DataId": 1037717,
@ -117,9 +111,7 @@
null, null,
null, null,
32 32
], ]
"$.0": "[4]",
"$.2": "QuestVariables if done after [1, 2, 3]: 65 17 16 0 0 240"
}, },
{ {
"DataId": 2012062, "DataId": 2012062,
@ -138,8 +130,7 @@
null, null,
null, null,
8 8
], ]
"$.0": "[5]"
} }
] ]
}, },

View File

@ -20,115 +20,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"DataId": 2012008,
"Position": {
"X": 134.90503,
"Y": 14.389221,
"Z": -172.25916
},
"StopDistance": 5,
"TerritoryId": 958,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818352
},
{
"Position": {
"X": -141.20903,
"Y": 11.389334,
"Z": -399.3773
},
"TerritoryId": 958,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": -153.54558,
"Y": 11.389343,
"Z": -402.64487
},
"TerritoryId": 958,
"InteractionType": "Instruction",
"Comment": "Jump to Aether Current"
},
{
"DataId": 2012009,
"Position": {
"X": -144.9455,
"Y": 17.56311,
"Z": -420.52344
},
"TerritoryId": 958,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818353
},
{
"Position": {
"X": -145.6724,
"Y": 11.389343,
"Z": -398.82806
},
"StopDistance": 20,
"TerritoryId": 958,
"InteractionType": "Instruction",
"Comment": "Leave the Aether Current location"
},
{
"Position": {
"X": 74.8118,
"Y": 10.5,
"Z": -335.1508
},
"TerritoryId": 958,
"InteractionType": "Jump",
"Comment": "Jump onto the Highway",
"JumpDestination": {
"Position": {
"X": 77.69889,
"Y": 12.075623,
"Z": -341.72333
}
}
},
{
"Position": {
"X": 72.64196,
"Y": 13.914492,
"Z": -347.6495
},
"TerritoryId": 958,
"InteractionType": "Jump",
"Comment": "Jump onto the Highway 2",
"JumpDestination": {
"Position": {
"X": 72.97841,
"Y": 15.635607,
"Z": -355.94916
}
}
},
{
"DataId": 2012007,
"Position": {
"X": 79.9115,
"Y": 37.857544,
"Z": -518.2117
},
"TerritoryId": 958,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818351
},
{
"Position": {
"X": 76.583664,
"Y": 10.5,
"Z": -538.34607
},
"TerritoryId": 958,
"InteractionType": "WalkTo",
"Mount": true,
"DisableNavmesh": true
},
{ {
"DataId": 1039917, "DataId": 1039917,
"Position": { "Position": {

View File

@ -23,17 +23,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"DataId": 2012004,
"Position": {
"X": -516.1059,
"Y": 42.46582,
"Z": 67.826294
},
"TerritoryId": 958,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818348
},
{ {
"DataId": 1039942, "DataId": 1039942,
"Position": { "Position": {
@ -114,6 +103,21 @@
} }
] ]
}, },
{
"Sequence": 5,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -60,6 +60,21 @@
} }
] ]
}, },
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -44,6 +44,7 @@
"Z": 548.94324 "Z": 548.94324
}, },
"StopDistance": 5, "StopDistance": 5,
"IgnoreDistanceToObject": true,
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Interact" "InteractionType": "Interact"
} }
@ -60,6 +61,7 @@
"Z": 593.0419 "Z": 593.0419
}, },
"StopDistance": 5, "StopDistance": 5,
"IgnoreDistanceToObject": true,
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Interact" "InteractionType": "Interact"
} }
@ -76,6 +78,7 @@
"Z": 594.23206 "Z": 594.23206
}, },
"StopDistance": 5, "StopDistance": 5,
"IgnoreDistanceToObject": true,
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Interact" "InteractionType": "Interact"
} }
@ -92,6 +95,7 @@
"Z": 566.1554 "Z": 566.1554
}, },
"StopDistance": 5, "StopDistance": 5,
"IgnoreDistanceToObject": true,
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Interact" "InteractionType": "Interact"
} }

View File

@ -31,47 +31,6 @@
"Mount": true, "Mount": true,
"DisableNavmesh": true "DisableNavmesh": true
}, },
{
"Position": {
"X": 30.28816,
"Y": -133.50012,
"Z": -394.98798
},
"StopDistance": 5,
"TerritoryId": 959,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{
"DataId": 2012019,
"Position": {
"X": 21.7081,
"Y": -133.5001,
"Z": -385.7313
},
"TerritoryId": 959,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818368
},
{
"DataId": 2012019,
"Position": {
"X": 23.67959,
"Y": -133.50012,
"Z": -399.96643
},
"StopDistance": 0.5,
"TerritoryId": 959,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": 22.27572,
"Y": -137,
"Z": -416.6249
},
"StopDistance": 5
}
},
{ {
"DataId": 1038897, "DataId": 1038897,
"Position": { "Position": {
@ -80,8 +39,7 @@
"Z": -435.47723 "Z": -435.47723
}, },
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Interact", "InteractionType": "Interact"
"DisableNavmesh": true
} }
] ]
}, },

View File

@ -282,8 +282,7 @@
}, },
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "CompleteQuest", "InteractionType": "CompleteQuest",
"DelaySecondsAtStart": 2, "DelaySecondsAtStart": 2
"Comment": "FIXME Auto-playing quests seems to get stuck here/do nothing"
} }
] ]
} }

View File

@ -109,17 +109,6 @@
{ {
"Sequence": 5, "Sequence": 5,
"Steps": [ "Steps": [
{
"DataId": 2012017,
"Position": {
"X": 652.9487,
"Y": -160.72333,
"Z": -405.08124
},
"TerritoryId": 959,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818366
},
{ {
"DataId": 1038929, "DataId": 1038929,
"Position": { "Position": {

View File

@ -53,6 +53,27 @@
{ {
"Sequence": 3, "Sequence": 3,
"Steps": [ "Steps": [
{
"DataId": 2012185,
"Position": {
"X": -5.416992,
"Y": -49.05786,
"Z": -269.24548
},
"TerritoryId": 959,
"InteractionType": "Interact",
"SkipIf": [
"NotTargetable"
],
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_AKTKMC107_04405_Q1_000_043",
"Yes": true
}
],
"Comment": "retry point"
},
{ {
"Position": { "Position": {
"X": -6.025082, "X": -6.025082,

View File

@ -21,37 +21,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"Position": {
"X": -126.76068,
"Y": 61.04055,
"Z": -76.382324
},
"TerritoryId": 959,
"InteractionType": "WalkTo"
},
{
"DataId": 2012014,
"Position": {
"X": -128.008,
"Y": 66.33093,
"Z": -68.2536
},
"StopDistance": 5,
"TerritoryId": 959,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818363
},
{
"Position": {
"X": -116.83438,
"Y": 63.151585,
"Z": -71.81973
},
"TerritoryId": 959,
"InteractionType": "WalkTo",
"Mount": true
},
{ {
"DataId": 2012010, "DataId": 2012010,
"Position": { "Position": {

View File

@ -58,16 +58,17 @@
"Sequence": 2, "Sequence": 2,
"Steps": [ "Steps": [
{ {
"DataId": 13996,
"Position": { "Position": {
"X": 166.0768, "X": 167.0076,
"Y": -49.589592, "Y": -49.589592,
"Z": -641.8327 "Z": -637.9577
}, },
"StopDistance": 3,
"TerritoryId": 959, "TerritoryId": 959,
"InteractionType": "Combat", "InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea", "EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [ "KillEnemyDataIds": [
13995,
13996, 13996,
13997, 13997,
13995 13995

View File

@ -78,6 +78,21 @@
} }
] ]
}, },
{
"Sequence": 5,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -104,6 +104,7 @@
}, },
{ {
"Sequence": 6, "Sequence": 6,
"Comment": "TODO Missing completion flags",
"Steps": [ "Steps": [
{ {
"DataId": 1039014, "DataId": 1039014,

View File

@ -47,17 +47,6 @@
"InteractionType": "AttuneAetherCurrent", "InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818331 "AetherCurrentId": 2818331
}, },
{
"DataId": 2011997,
"Position": {
"X": 93.095215,
"Y": 36.66736,
"Z": -447.8676
},
"TerritoryId": 957,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818336
},
{ {
"DataId": 1039023, "DataId": 1039023,
"Position": { "Position": {
@ -87,6 +76,7 @@
"Y": 21.255978, "Y": 21.255978,
"Z": -224.04822 "Z": -224.04822
}, },
"StopDistance": 0.25,
"TerritoryId": 957, "TerritoryId": 957,
"InteractionType": "Combat", "InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea", "EnemySpawnType": "AutoOnEnterArea",

View File

@ -134,6 +134,7 @@
"Y": 11.819632, "Y": 11.819632,
"Z": 266.03055 "Z": 266.03055
}, },
"StopDistance": 0.25,
"TerritoryId": 957, "TerritoryId": 957,
"InteractionType": "Combat", "InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea", "EnemySpawnType": "AutoOnEnterArea",
@ -157,6 +158,7 @@
"Y": 32.12932, "Y": 32.12932,
"Z": 370.01733 "Z": 370.01733
}, },
"StopDistance": 0.25,
"TerritoryId": 957, "TerritoryId": 957,
"InteractionType": "Combat", "InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea", "EnemySpawnType": "AutoOnEnterArea",
@ -181,6 +183,7 @@
"Y": 44.997604, "Y": 44.997604,
"Z": 196.7378 "Z": 196.7378
}, },
"StopDistance": 0.25,
"TerritoryId": 957, "TerritoryId": 957,
"InteractionType": "Combat", "InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea", "EnemySpawnType": "AutoOnEnterArea",

View File

@ -20,28 +20,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"DataId": 2011998,
"Position": {
"X": 294.3922,
"Y": 4.0740967,
"Z": 425.10107
},
"TerritoryId": 957,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818337
},
{
"DataId": 2011999,
"Position": {
"X": 53.177612,
"Y": 11.36792,
"Z": 187.396
},
"TerritoryId": 957,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818338
},
{ {
"DataId": 2012207, "DataId": 2012207,
"Position": { "Position": {

View File

@ -70,7 +70,11 @@
"Z": -35.324707 "Z": -35.324707
}, },
"TerritoryId": 963, "TerritoryId": 963,
"InteractionType": "Interact" "InteractionType": "Interact",
"AethernetShortcut": [
"[Radz-at-Han] Alzadaal's Peace",
"[Radz-at-Han] Ruveydah Fibers"
]
} }
] ]
}, },

View File

@ -96,9 +96,7 @@
null, null,
null, null,
16 16
], ]
"$.0": "[1]",
"$.1": "QuestVariables if done first: 16 0 16 0 0 16"
}, },
{ {
"DataId": 1039993, "DataId": 1039993,
@ -116,9 +114,7 @@
null, null,
null, null,
128 128
], ]
"$.0": "[2]",
"$": "QuestVariables after: 32 1 16 0 0 144"
}, },
{ {
"DataId": 1039994, "DataId": 1039994,
@ -136,9 +132,7 @@
null, null,
null, null,
64 64
], ]
"$.0": "[3]",
"$.1": "QuestVariables after: 49 1 16 0 0 208"
}, },
{ {
"DataId": 1039995, "DataId": 1039995,
@ -156,9 +150,7 @@
null, null,
null, null,
32 32
], ]
"$.0": "[4]",
"$.2": "QuestVariables if done first: 16 16 0 0 0 32"
} }
] ]
}, },

View File

@ -68,8 +68,7 @@
null, null,
null, null,
128 128
], ]
"$": "QuestValues after: 1 16 0 0 0 128"
}, },
{ {
"DataId": 2012132, "DataId": 2012132,

View File

@ -101,29 +101,6 @@
{ {
"Sequence": 4, "Sequence": 4,
"Steps": [ "Steps": [
{
"Position": {
"X": 339.039,
"Y": -14.322072,
"Z": -101.509995
},
"StopDistance": 0.5,
"TerritoryId": 961,
"InteractionType": "WalkTo",
"Mount": true,
"DisableNavmesh": true
},
{
"DataId": 2012022,
"Position": {
"X": 151.6593,
"Y": 7.6447144,
"Z": 2.5177002
},
"TerritoryId": 961,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818376
},
{ {
"DataId": 1040061, "DataId": 1040061,
"Position": { "Position": {

View File

@ -21,45 +21,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"Position": {
"X": -137.80992,
"Y": -26.995626,
"Z": 543.8281
},
"StopDistance": 0.5,
"TerritoryId": 961,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": -144.54877,
"Y": -26.230347,
"Z": 551.5067
}
}
},
{
"DataId": 2012023,
"Position": {
"X": -144.54877,
"Y": -26.230347,
"Z": 551.5067
},
"TerritoryId": 961,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818377
},
{
"Position": {
"X": -139.15512,
"Y": -27.030453,
"Z": 535.6933
},
"TerritoryId": 961,
"InteractionType": "WalkTo",
"Mount": true,
"DisableNavmesh": true
},
{ {
"DataId": 1040073, "DataId": 1040073,
"Position": { "Position": {
@ -75,17 +36,6 @@
{ {
"Sequence": 2, "Sequence": 2,
"Steps": [ "Steps": [
{
"DataId": 2012024,
"Position": {
"X": -481.40692,
"Y": -28.610718,
"Z": 490.53174
},
"TerritoryId": 961,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818378
},
{ {
"DataId": 1040080, "DataId": 1040080,
"Position": { "Position": {

View File

@ -68,17 +68,6 @@
{ {
"Sequence": 4, "Sequence": 4,
"Steps": [ "Steps": [
{
"DataId": 2012029,
"Position": {
"X": -255.54291,
"Y": 143.05322,
"Z": -36.972656
},
"TerritoryId": 961,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818383
},
{ {
"DataId": 2012146, "DataId": 2012146,
"Position": { "Position": {

View File

@ -42,17 +42,6 @@
{ {
"Sequence": 2, "Sequence": 2,
"Steps": [ "Steps": [
{
"DataId": 2012028,
"Position": {
"X": -761.7151,
"Y": 159.99072,
"Z": -108.99524
},
"TerritoryId": 961,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818382
},
{ {
"DataId": 1040121, "DataId": 1040121,
"Position": { "Position": {

View File

@ -69,18 +69,6 @@
{ {
"Sequence": 3, "Sequence": 3,
"Steps": [ "Steps": [
{
"DataId": 2012027,
"Position": {
"X": -392.08063,
"Y": 173.72388,
"Z": -293.59882
},
"TerritoryId": 961,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818381,
"AetheryteShortcut": "Elpis - Poieten Oikos"
},
{ {
"DataId": 2012151, "DataId": 2012151,
"Position": { "Position": {
@ -90,6 +78,7 @@
}, },
"TerritoryId": 961, "TerritoryId": 961,
"InteractionType": "Interact", "InteractionType": "Interact",
"AetheryteShortcut": "Elpis - Poieten Oikos",
"DialogueChoices": [ "DialogueChoices": [
{ {
"Type": "YesNo", "Type": "YesNo",

View File

@ -46,6 +46,21 @@
} }
] ]
}, },
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -21,26 +21,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"Position": {
"X": 79.66557,
"Y": -29.904594,
"Z": 457.04776
},
"TerritoryId": 956,
"InteractionType": "WalkTo"
},
{
"DataId": 2011989,
"Position": {
"X": 46.28064,
"Y": -29.800903,
"Z": 178.85095
},
"TerritoryId": 956,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818323
},
{ {
"DataId": 1039750, "DataId": 1039750,
"Position": { "Position": {

View File

@ -21,59 +21,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"Position": {
"X": -148.48793,
"Y": -10.30035,
"Z": -247.25652
},
"TerritoryId": 956,
"InteractionType": "WalkTo",
"Comment": "Avoids Combat"
},
{
"DataId": 2011987,
"Position": {
"X": -176.4096,
"Y": -10.11676,
"Z": -242.26752
},
"TerritoryId": 956,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818321
},
{
"Position": {
"X": -198.16975,
"Y": -19.32426,
"Z": -238.2704
},
"TerritoryId": 956,
"InteractionType": "WalkTo",
"Mount": true,
"DisableNavmesh": true
},
{
"Position": {
"X": -480.30975,
"Y": -22.946651,
"Z": -145.08534
},
"TerritoryId": 956,
"InteractionType": "WalkTo",
"Comment": "Avoids Combat (typically)"
},
{
"DataId": 2011988,
"Position": {
"X": -505.14993,
"Y": -21.835754,
"Z": -122.60626
},
"TerritoryId": 956,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818322
},
{ {
"DataId": 1040444, "DataId": 1040444,
"Position": { "Position": {

View File

@ -51,6 +51,15 @@
{ {
"Sequence": 3, "Sequence": 3,
"Steps": [ "Steps": [
{
"Position": {
"X": -308.91977,
"Y": 262.7334,
"Z": -332.3608
},
"TerritoryId": 960,
"InteractionType": "WalkTo"
},
{ {
"DataId": 2012030, "DataId": 2012030,
"Position": { "Position": {
@ -62,17 +71,6 @@
"InteractionType": "AttuneAetherCurrent", "InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818389 "AetherCurrentId": 2818389
}, },
{
"DataId": 2012035,
"Position": {
"X": -238.81903,
"Y": 320.36304,
"Z": -295.15533
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818394
},
{ {
"DataId": 1040317, "DataId": 1040317,
"Position": { "Position": {
@ -81,9 +79,7 @@
"Z": -312.58112 "Z": -312.58112
}, },
"TerritoryId": 960, "TerritoryId": 960,
"InteractionType": "Interact", "InteractionType": "Interact"
"Mount": true,
"DisableNavmesh": true
} }
] ]
}, },

View File

@ -53,44 +53,15 @@
"Steps": [ "Steps": [
{ {
"Position": { "Position": {
"X": -353.82343, "X": 48.215565,
"Y": 263.4366, "Y": 269.00882,
"Z": -458.5238 "Z": -703.63995
}, },
"TerritoryId": 960, "TerritoryId": 960,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"AetheryteShortcut": "Ultima Thule - Abode of the Ea",
"Mount": true "Mount": true
}, },
{
"Position": {
"X": -394.40567,
"Y": 266.7831,
"Z": -478.6604
},
"TerritoryId": 960,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{
"Position": {
"X": -408.86514,
"Y": 266.81473,
"Z": -519.4911
},
"TerritoryId": 960,
"InteractionType": "WalkTo"
},
{
"DataId": 2012036,
"Position": {
"X": -385.24457,
"Y": 262.50085,
"Z": -629.8772
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818395
},
{ {
"DataId": 2012031, "DataId": 2012031,
"Position": { "Position": {
@ -100,8 +71,8 @@
}, },
"TerritoryId": 960, "TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent", "InteractionType": "AttuneAetherCurrent",
"AetheryteShortcut": "Ultima Thule - Abode of the Ea", "AetherCurrentId": 2818390,
"AetherCurrentId": 2818390 "DisableNavmesh": true
}, },
{ {
"DataId": 1039778, "DataId": 1039778,

View File

@ -21,27 +21,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"DataId": 2012034,
"Position": {
"X": 424.55164,
"Y": 283.37524,
"Z": -679.7742
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818393
},
{
"Position": {
"X": 381.60245,
"Y": 289.09262,
"Z": -387.75546
},
"TerritoryId": 960,
"InteractionType": "WalkTo",
"Comment": "Avoids combat"
},
{ {
"DataId": 1039787, "DataId": 1039787,
"Position": { "Position": {

View File

@ -21,17 +21,6 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"DataId": 2012039,
"Position": {
"X": 567.46765,
"Y": 440.9093,
"Z": 402.12085
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818398
},
{ {
"DataId": 2012032, "DataId": 2012032,
"Position": { "Position": {
@ -104,49 +93,6 @@
{ {
"Sequence": 5, "Sequence": 5,
"Steps": [ "Steps": [
{
"DataId": 2012037,
"Position": {
"X": 751.8578,
"Y": 439.96326,
"Z": 357.86987
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818396
},
{
"DataId": 2012038,
"Position": {
"X": 645.6607,
"Y": 438.6276,
"Z": 291.0269
},
"StopDistance": 1,
"TerritoryId": 960,
"InteractionType": "Jump",
"JumpDestination": {
"DataId": 2012038,
"Position": {
"X": 637.1709,
"Y": 439.23096,
"Z": 289.66187
},
"StopDistance": 3
}
},
{
"DataId": 2012038,
"Position": {
"X": 637.1709,
"Y": 439.23096,
"Z": 289.66187
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818397,
"DisableNavmesh": true
},
{ {
"DataId": 1040349, "DataId": 1040349,
"Position": { "Position": {

View File

@ -30,6 +30,21 @@
} }
] ]
}, },
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -78,6 +78,21 @@
} }
] ]
}, },
{
"Sequence": 5,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -75,6 +75,21 @@
} }
] ]
}, },
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -64,6 +64,21 @@
} }
] ]
}, },
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -91,6 +91,21 @@
} }
] ]
}, },
{
"Sequence": 5,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -165,6 +165,21 @@
} }
] ]
}, },
{
"Sequence": 8,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -46,6 +46,21 @@
} }
] ]
}, },
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -94,6 +94,21 @@
} }
] ]
}, },
{
"Sequence": 6,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -61,6 +61,7 @@
"Z": 640.772 "Z": 640.772
}, },
"StopDistance": 3, "StopDistance": 3,
"IgnoreDistanceToObject": true,
"TerritoryId": 1187, "TerritoryId": 1187,
"InteractionType": "UseItem", "InteractionType": "UseItem",
"ItemId": 2003618, "ItemId": 2003618,
@ -81,6 +82,7 @@
"Z": 698.3596 "Z": 698.3596
}, },
"StopDistance": 3, "StopDistance": 3,
"IgnoreDistanceToObject": true,
"TerritoryId": 1187, "TerritoryId": 1187,
"InteractionType": "UseItem", "InteractionType": "UseItem",
"ItemId": 2003618, "ItemId": 2003618,
@ -126,6 +128,7 @@
"Z": 603.0823 "Z": 603.0823
}, },
"StopDistance": 3, "StopDistance": 3,
"IgnoreDistanceToObject": true,
"TerritoryId": 1187, "TerritoryId": 1187,
"InteractionType": "UseItem", "InteractionType": "UseItem",
"ItemId": 2003618, "ItemId": 2003618,

View File

@ -30,6 +30,21 @@
} }
] ]
}, },
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -87,6 +87,21 @@
} }
] ]
}, },
{
"Sequence": 5,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -100,6 +100,21 @@
} }
] ]
}, },
{
"Sequence": 6,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -88,7 +88,7 @@
}, },
"TerritoryId": 1190, "TerritoryId": 1190,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"Comment": "Sheshenewezi Springs Navmesh workaround" "$": "Sheshenewezi Springs Navmesh workaround"
}, },
{ {
"DataId": 1046957, "DataId": 1046957,
@ -163,7 +163,7 @@
}, },
"TerritoryId": 1190, "TerritoryId": 1190,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"Comment": "Sheshenewezi Springs Navmesh workaround", "$": "Sheshenewezi Springs Navmesh workaround",
"AetheryteShortcut": "Shaaloani - Sheshenewezi Springs" "AetheryteShortcut": "Shaaloani - Sheshenewezi Springs"
}, },
{ {

View File

@ -28,7 +28,7 @@
}, },
"TerritoryId": 1190, "TerritoryId": 1190,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"Comment": "Sheshenewezi Springs Navmesh workaround", "$": "Sheshenewezi Springs Navmesh workaround",
"AetheryteShortcut": "Shaaloani - Sheshenewezi Springs" "AetheryteShortcut": "Shaaloani - Sheshenewezi Springs"
}, },
{ {

View File

@ -28,7 +28,7 @@
}, },
"TerritoryId": 1190, "TerritoryId": 1190,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"Comment": "Sheshenewezi Springs Navmesh workaround 2" "$": "Sheshenewezi Springs Navmesh workaround 2"
}, },
{ {
"Position": { "Position": {

View File

@ -67,6 +67,21 @@
} }
] ]
}, },
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -44,7 +44,7 @@
}, },
"TerritoryId": 1191, "TerritoryId": 1191,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"Comment": "Outskirts Navmesh workaround" "$": "Outskirts Navmesh workaround"
}, },
{ {
"DataId": 1047397, "DataId": 1047397,

View File

@ -29,7 +29,7 @@
}, },
"TerritoryId": 1191, "TerritoryId": 1191,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"Comment": "Farm Navmesh workaround" "$": "Farm Navmesh workaround"
}, },
{ {
"DataId": 1047405, "DataId": 1047405,
@ -54,7 +54,7 @@
}, },
"TerritoryId": 1191, "TerritoryId": 1191,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"Comment": "Farm Navmesh workaround" "$": "Farm Navmesh workaround"
}, },
{ {
"DataId": 1047408, "DataId": 1047408,
@ -187,7 +187,7 @@
}, },
"TerritoryId": 1191, "TerritoryId": 1191,
"InteractionType": "WalkTo", "InteractionType": "WalkTo",
"Comment": "Farm Navmesh workaround" "$": "Farm Navmesh workaround"
}, },
{ {
"DataId": 1047406, "DataId": 1047406,

View File

@ -73,6 +73,21 @@
} }
] ]
}, },
{
"Sequence": 5,
"Steps": [
{
"Position": {
"X": 0,
"Y": 0,
"Z": 0
},
"TerritoryId": 1,
"InteractionType": "WalkTo",
"Comment": "Filler"
}
]
},
{ {
"Sequence": 255, "Sequence": 255,
"Steps": [ "Steps": [

View File

@ -63,6 +63,7 @@
"Y": -158.06824, "Y": -158.06824,
"Z": -399.8932 "Z": -399.8932
}, },
"IgnoreDistanceToObject": true,
"TerritoryId": 1187, "TerritoryId": 1187,
"InteractionType": "Interact", "InteractionType": "Interact",
"CompletionQuestVariablesFlags": [ "CompletionQuestVariablesFlags": [

View File

@ -72,6 +72,10 @@
"description": "Set if pathfinding should stop closer or further away from the default stop distance", "description": "Set if pathfinding should stop closer or further away from the default stop distance",
"exclusiveMinimum": 0 "exclusiveMinimum": 0
}, },
"IgnoreDistanceToObject": {
"type": "boolean",
"description": "Most interactions with objects are checked for a Y (height) difference of 2 in-game units. If set to true, the game won't attempt to get any closer if the height difference is larger than this."
},
"TerritoryId": { "TerritoryId": {
"type": "integer", "type": "integer",
"description": "The territory id associated with the location", "description": "The territory id associated with the location",

View File

@ -30,6 +30,7 @@ public sealed class QuestStep
public bool? Fly { get; set; } public bool? Fly { get; set; }
public bool? Land { get; set; } public bool? Land { get; set; }
public bool? Sprint { get; set; } public bool? Sprint { get; set; }
public bool? IgnoreDistanceToObject { get; set; }
public string? Comment { get; set; } public string? Comment { get; set; }
public EAetheryteLocation? AetheryteShortcut { get; set; } public EAetheryteLocation? AetheryteShortcut { get; set; }

View File

@ -24,6 +24,8 @@ namespace Questionable.Controller;
internal sealed class MovementController : IDisposable internal sealed class MovementController : IDisposable
{ {
public const float DefaultVerticalInteractionDistance = 1.95f;
private readonly NavmeshIpc _navmeshIpc; private readonly NavmeshIpc _navmeshIpc;
private readonly IClientState _clientState; private readonly IClientState _clientState;
private readonly GameFunctions _gameFunctions; private readonly GameFunctions _gameFunctions;
@ -141,9 +143,16 @@ internal sealed class MovementController : IDisposable
Stop(); Stop();
if (dest.UseNavmesh) if (dest.UseNavmesh)
NavigateTo(EMovementType.None, dest.DataId, dest.Position, false, false, dest.StopDistance); {
NavigateTo(EMovementType.None, dest.DataId, dest.Position, false, false, dest.StopDistance,
dest.IgnoreDistanceToObject);
}
else else
NavigateTo(EMovementType.None, dest.DataId, [dest.Position], false, false, dest.StopDistance); {
NavigateTo(EMovementType.None, dest.DataId, [dest.Position], false, false, dest.StopDistance,
dest.IgnoreDistanceToObject);
}
return; return;
} }
@ -155,10 +164,7 @@ internal sealed class MovementController : IDisposable
} }
else if ((localPlayerPosition - Destination.Position).Length() < Destination.StopDistance) else if ((localPlayerPosition - Destination.Position).Length() < Destination.StopDistance)
{ {
if (Destination.DataId if (Destination.IgnoreDistanceToObject)
is 2012173 or 2012174 or 2012175 or 2012176
or 2014133 or 2014134 or 2014135
or 2014105)
{ {
Stop(); Stop();
} }
@ -167,7 +173,8 @@ internal sealed class MovementController : IDisposable
IGameObject? gameObject = _gameFunctions.FindObjectByDataId(Destination.DataId.Value); IGameObject? gameObject = _gameFunctions.FindObjectByDataId(Destination.DataId.Value);
if (gameObject is ICharacter or IEventObj) if (gameObject is ICharacter or IEventObj)
{ {
if (Math.Abs(localPlayerPosition.Y - gameObject.Position.Y) < 1.95f) if (Math.Abs(localPlayerPosition.Y - gameObject.Position.Y) <
DefaultVerticalInteractionDistance)
Stop(); Stop();
} }
else if (gameObject != null && gameObject.ObjectKind == ObjectKind.Aetheryte) else if (gameObject != null && gameObject.ObjectKind == ObjectKind.Aetheryte)
@ -191,7 +198,8 @@ internal sealed class MovementController : IDisposable
else else
{ {
// aethernet shard // aethernet shard
if (Math.Abs(localPlayerPosition.Y - gameObject.Position.Y) < 1.95f) if (Math.Abs(localPlayerPosition.Y - gameObject.Position.Y) <
DefaultVerticalInteractionDistance)
Stop(); Stop();
} }
} }
@ -237,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 useNavmesh) float? stopDistance, bool ignoreDistanceToObject, bool useNavmesh)
{ {
ResetPathfinding(); ResetPathfinding();
@ -247,16 +255,17 @@ internal sealed class MovementController : IDisposable
_chatFunctions.ExecuteCommand("/automove off"); _chatFunctions.ExecuteCommand("/automove off");
} }
Destination = new DestinationData(type, dataId, to, stopDistance ?? (QuestStep.DefaultStopDistance - 0.2f), fly, sprint, Destination = new DestinationData(type, dataId, to, stopDistance ?? (QuestStep.DefaultStopDistance - 0.2f), fly,
useNavmesh); sprint,
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) float? stopDistance = null, bool ignoreDistanceToObject = false)
{ {
fly |= _condition[ConditionFlag.Diving]; fly |= _condition[ConditionFlag.Diving];
PrepareNavigation(type, dataId, to, fly, sprint, stopDistance, true); PrepareNavigation(type, dataId, to, fly, sprint, stopDistance, ignoreDistanceToObject, true);
_logger.LogInformation("Pathfinding to {Destination}", Destination); _logger.LogInformation("Pathfinding to {Destination}", Destination);
_cancellationTokenSource = new(); _cancellationTokenSource = new();
@ -266,10 +275,10 @@ 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) float? stopDistance, bool ignoreDistanceToObject = false)
{ {
fly |= _condition[ConditionFlag.Diving]; fly |= _condition[ConditionFlag.Diving];
PrepareNavigation(type, dataId, to.Last(), fly, sprint, stopDistance, false); PrepareNavigation(type, dataId, to.Last(), fly, sprint, stopDistance, ignoreDistanceToObject, false);
_logger.LogInformation("Moving to {Destination}", Destination); _logger.LogInformation("Moving to {Destination}", Destination);
_navmeshIpc.MoveTo(to, fly); _navmeshIpc.MoveTo(to, fly);
@ -318,6 +327,7 @@ internal sealed class MovementController : IDisposable
float StopDistance, float StopDistance,
bool IsFlying, bool IsFlying,
bool CanSprint, bool CanSprint,
bool IgnoreDistanceToObject,
bool UseNavmesh); bool UseNavmesh);
public sealed class PathfindingFailedException : Exception public sealed class PathfindingFailedException : Exception

View File

@ -66,7 +66,7 @@ internal static class Jump
return ETaskResult.StillRunning; return ETaskResult.StillRunning;
DateTime movementStartedAt = movementController.MovementStartedAt; DateTime movementStartedAt = movementController.MovementStartedAt;
if (movementStartedAt == DateTime.MaxValue || movementStartedAt.AddSeconds(2) >= DateTime.Now) if (movementStartedAt == DateTime.MaxValue || movementStartedAt.AddSeconds(1) >= DateTime.Now)
return ETaskResult.StillRunning; return ETaskResult.StillRunning;
return ETaskResult.TaskComplete; return ETaskResult.TaskComplete;

View File

@ -93,7 +93,7 @@ internal static class AetheryteShortcut
if (!gameFunctions.IsAetheryteUnlocked(TargetAetheryte)) if (!gameFunctions.IsAetheryteUnlocked(TargetAetheryte))
{ {
chatGui.Print($"[Questionable] Aetheryte {TargetAetheryte} is not unlocked."); chatGui.PrintError($"[Questionable] Aetheryte {TargetAetheryte} is not unlocked.");
throw new TaskException("Aetheryte is not unlocked"); throw new TaskException("Aetheryte is not unlocked");
} }
else if (gameFunctions.TeleportAetheryte(TargetAetheryte)) else if (gameFunctions.TeleportAetheryte(TargetAetheryte))

View File

@ -102,7 +102,8 @@ internal static class Move
m.NavigateTo(EMovementType.Quest, Step.DataId, Destination, m.NavigateTo(EMovementType.Quest, Step.DataId, Destination,
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);
}); });
} }
} }

View File

@ -1,6 +1,6 @@
<Project Sdk="Dalamud.NET.Sdk/9.0.2"> <Project Sdk="Dalamud.NET.Sdk/9.0.2">
<PropertyGroup> <PropertyGroup>
<Version>1.4</Version> <Version>1.5</Version>
<OutputPath>dist</OutputPath> <OutputPath>dist</OutputPath>
<PathMap Condition="$(SolutionDir) != ''">$(SolutionDir)=X:\</PathMap> <PathMap Condition="$(SolutionDir) != ''">$(SolutionDir)=X:\</PathMap>
</PropertyGroup> </PropertyGroup>

View File

@ -3,6 +3,7 @@ using System.Diagnostics;
using System.Globalization; using System.Globalization;
using System.Linq; using System.Linq;
using System.Numerics; using System.Numerics;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Objects; using Dalamud.Game.ClientState.Objects;
using Dalamud.Game.Text; using Dalamud.Game.Text;
using Dalamud.Interface; using Dalamud.Interface;
@ -44,6 +45,7 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
private readonly QuestRegistry _questRegistry; private readonly QuestRegistry _questRegistry;
private readonly QuestData _questData; private readonly QuestData _questData;
private readonly TerritoryData _territoryData; private readonly TerritoryData _territoryData;
private readonly ICondition _condition;
private readonly ILogger<QuestWindow> _logger; private readonly ILogger<QuestWindow> _logger;
public QuestWindow(IDalamudPluginInterface pluginInterface, public QuestWindow(IDalamudPluginInterface pluginInterface,
@ -60,6 +62,7 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
QuestRegistry questRegistry, QuestRegistry questRegistry,
QuestData questData, QuestData questData,
TerritoryData territoryData, TerritoryData territoryData,
ICondition condition,
ILogger<QuestWindow> logger) ILogger<QuestWindow> logger)
: base("Questionable###Questionable", ImGuiWindowFlags.AlwaysAutoResize) : base("Questionable###Questionable", ImGuiWindowFlags.AlwaysAutoResize)
{ {
@ -77,6 +80,7 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
_questRegistry = questRegistry; _questRegistry = questRegistry;
_questData = questData; _questData = questData;
_territoryData = territoryData; _territoryData = territoryData;
_condition = condition;
_logger = logger; _logger = logger;
#if DEBUG #if DEBUG
@ -128,7 +132,7 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
if (currentQuestType == QuestController.CurrentQuestType.Simulated) if (currentQuestType == QuestController.CurrentQuestType.Simulated)
{ {
var simulatedQuest = _questController.SimulatedQuest ?? currentQuest; var simulatedQuest = _questController.SimulatedQuest ?? currentQuest;
using var _ = ImRaii.PushColor(ImGuiCol.Text, 0xFF0000FF); using var _ = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed);
ImGui.TextUnformatted( ImGui.TextUnformatted(
$"Simulated Quest: {simulatedQuest.Quest.Info.Name} / {simulatedQuest.Sequence} / {simulatedQuest.Step}"); $"Simulated Quest: {simulatedQuest.Quest.Info.Name} / {simulatedQuest.Sequence} / {simulatedQuest.Step}");
} }
@ -141,7 +145,7 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
$"Quest: {startedQuest.Quest.Info.Name} / {startedQuest.Sequence} / {startedQuest.Step}"); $"Quest: {startedQuest.Quest.Info.Name} / {startedQuest.Sequence} / {startedQuest.Step}");
} }
using var _ = ImRaii.PushColor(ImGuiCol.Text, 0xFF00FFFF); using var _ = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow);
ImGui.TextUnformatted( ImGui.TextUnformatted(
$"Next Quest: {currentQuest.Quest.Info.Name} / {currentQuest.Sequence} / {currentQuest.Step}"); $"Next Quest: {currentQuest.Quest.Info.Name} / {currentQuest.Sequence} / {currentQuest.Step}");
} }
@ -393,8 +397,18 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
$"Target: {_targetManager.Target.Name} ({_targetManager.Target.ObjectKind}; {_targetManager.Target.DataId})")); $"Target: {_targetManager.Target.Name} ({_targetManager.Target.ObjectKind}; {_targetManager.Target.DataId})"));
GameObject* gameObject = (GameObject*)_targetManager.Target.Address; GameObject* gameObject = (GameObject*)_targetManager.Target.Address;
ImGui.Text(string.Create(CultureInfo.InvariantCulture, ImGui.Text(string.Create(CultureInfo.InvariantCulture, $"Distance: {(_targetManager.Target.Position - _clientState.LocalPlayer.Position).Length():F2}"));
$"Distance: {(_targetManager.Target.Position - _clientState.LocalPlayer.Position).Length():F2}, Y: {_targetManager.Target.Position.Y - _clientState.LocalPlayer.Position.Y:F2} | QM: {gameObject->NamePlateIconId}")); ImGui.SameLine();
float verticalDistance = _targetManager.Target.Position.Y - _clientState.LocalPlayer.Position.Y;
string verticalDistanceText = string.Create(CultureInfo.InvariantCulture, $"Y: {verticalDistance:F2}");
if (Math.Abs(verticalDistance) >= MovementController.DefaultVerticalInteractionDistance)
ImGui.TextColored(ImGuiColors.DalamudOrange, verticalDistanceText);
else
ImGui.Text(verticalDistanceText);
ImGui.SameLine();
ImGui.Text($"QM: {gameObject->NamePlateIconId}");
ImGui.BeginDisabled(!_movementController.IsNavmeshReady); ImGui.BeginDisabled(!_movementController.IsNavmeshReady);
if (!_movementController.IsPathfinding) if (!_movementController.IsPathfinding)
@ -402,8 +416,9 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
if (ImGui.Button("Move to Target")) if (ImGui.Button("Move to Target"))
{ {
_movementController.NavigateTo(EMovementType.DebugWindow, _targetManager.Target.DataId, _movementController.NavigateTo(EMovementType.DebugWindow, _targetManager.Target.DataId,
_targetManager.Target.Position, _gameFunctions.IsFlyingUnlockedInCurrentZone(), _targetManager.Target.Position,
true); fly: _condition[ConditionFlag.Mounted] && _gameFunctions.IsFlyingUnlockedInCurrentZone(),
sprint: true);
} }
} }
else else