From 488c963a22f42cb365b055d6e0d4107f459cecd3 Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Sat, 1 Jun 2024 01:26:46 +0200 Subject: [PATCH] EW Updates --- Questionable/Controller/MovementController.cs | 27 ++++- Questionable/Controller/QuestController.cs | 13 +- Questionable/GameFunctions.cs | 13 +- .../Model/V1/Converter/AetheryteConverter.cs | 2 + .../4232_Children Are Our Future.json | 114 ++++++++++++++++++ .../4358_Old Sharlayan New to You.json | 1 + .../4359_Hitting the Books.json | 11 +- .../4360_A Seat at the Last Stand.json | 1 + .../B-Garlemald/4382_Best of the Best.json | 3 +- .../4385_How the Mighty Are Fallen.json | 5 +- .../4386_At the End of the Trail.json | 1 + .../MSQ/B-Garlemald/4387_A Way Forward.json | 9 +- .../B-Garlemald/4389_Personae non Gratae.json | 19 ++- .../MSQ/B-Garlemald/4392_Alea Iacta Est.json | 3 +- .../B-Garlemald/4393_Strange Bedfellows.json | 16 ++- .../B-Garlemald/4396_A Trip to the Moon.json | 1 + .../C-MareLamentorum/4400_Helping Hands.json | 1 + .../4401_A Harey Situation.json | 1 + .../C-MareLamentorum/4403_Styled a Hero.json | 3 +- .../4405_Back to Old Tricks.json | 2 + .../4406_Settiing Things Straight.json | 4 +- .../4407_Heart of the Matter.json | 2 + .../MSQ/D-Thavnair2/4409_Skies Aflame.json | 1 + .../4410_The Blasphemy Unmasked.json | 1 + .../4414_When All Hope Seems Lost.json | 11 +- .../4415_Warm Hearts, Rekindled Hopes.json | 24 ++-- .../D-Thavnair2/4416_Simple Pleasures.json | 1 + .../MSQ/D-Thavnair2/4417_Under His Wing.json | 2 +- .../MSQ/D-Thavnair2/4418_At Worlds End.json | 1 + .../4419_Return to the Crystarium.json | 6 +- .../MSQ/E-Elpis/4420_Hope Upon a Flower.json | 11 +- .../MSQ/H-6.1/4529_Alzadaals Legacy.json | 1 + .../MSQ/H-6.1/4530_A Brothers Grief.json | 4 +- .../MSQ/H-6.1/4531_Sharing the Wealth.json | 25 +++- .../MSQ/H-6.1/4532_Bridging the Rift.json | 10 +- .../MSQ/H-6.1/4533_Restricted Reading.json | 18 ++- .../Endwalker/MSQ/H-6.1/4534_Void Theory.json | 3 +- .../MSQ/H-6.1/4535_A Satraps Duty.json | 5 +- .../MSQ/I-6.2/4592_In Search of Azdaja.json | 5 +- .../MSQ/I-6.2/4593_Shadowed Remnants.json | 13 +- .../I-6.2/4594_Where Everything Begins.json | 2 + .../MSQ/I-6.2/4595_Groping in the Dark.json | 13 +- .../MSQ/I-6.2/4596_Nowhere to Run.json | 17 ++- .../MSQ/I-6.2/4597_The Wind Rises.json | 3 + .../MSQ/I-6.2/4598_Return from the Void.json | 1 + .../4599_A World with Light and Life.json | 11 +- .../MSQ/I-6.2/4600_Buried Memory.json | 1 + .../J-6.3/4670_Once More unto the Void.json | 21 ++++ .../MSQ/J-6.3/4671_A Cold Reunion.json | 14 ++- .../MSQ/J-6.3/4672_Kindled Spirit.json | 39 +++--- .../MSQ/J-6.3/4673_An Unforeseen Bargain.json | 1 + .../MSQ/J-6.3/4674_King of the Mountain.json | 5 +- Questionable/QuestionablePlugin.cs | 3 +- Questionable/Windows/DebugWindow.cs | 4 +- 54 files changed, 431 insertions(+), 98 deletions(-) create mode 100644 Questionable/QuestPaths/Endwalker/AetherCurrents/Garlemald/4232_Children Are Our Future.json diff --git a/Questionable/Controller/MovementController.cs b/Questionable/Controller/MovementController.cs index d376a3eaa..492b643b5 100644 --- a/Questionable/Controller/MovementController.cs +++ b/Questionable/Controller/MovementController.cs @@ -6,10 +6,14 @@ using System.Numerics; using System.Threading; using System.Threading.Tasks; using Dalamud.Game.ClientState.Conditions; +using Dalamud.Game.ClientState.Objects.Enums; +using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using Questionable.External; +using Questionable.Model.V1; +using Questionable.Model.V1.Converter; namespace Questionable.Controller; @@ -99,14 +103,33 @@ internal sealed class MovementController : IDisposable Vector3 localPlayerPosition = _clientState.LocalPlayer?.Position ?? Vector3.Zero; if ((localPlayerPosition - Destination.Position).Length() < Destination.StopDistance) { - if (Destination.DataId != null) + if (Destination.DataId is 2012173 or 2012174 or 2012175 or 2012176) + { + Stop(); + } + else if (Destination.DataId != null) { GameObject? gameObject = _gameFunctions.FindObjectByDataId(Destination.DataId.Value); - if (gameObject != null && gameObject is Character) + if (gameObject is Character or EventObj) { if (Math.Abs(localPlayerPosition.Y - gameObject.Position.Y) < 1.95f) Stop(); } + else if (gameObject != null && gameObject.ObjectKind == ObjectKind.Aetheryte) + { + if (AetheryteConverter.IsLargeAetheryte((EAetheryteLocation)Destination.DataId)) + { + // TODO verify this + if (Math.Abs(localPlayerPosition.Y - gameObject.Position.Y) < 2.95f) + Stop(); + } + else + { + // aethernet shard + if (Math.Abs(localPlayerPosition.Y - gameObject.Position.Y) < 1.95f) + Stop(); + } + } else Stop(); } diff --git a/Questionable/Controller/QuestController.cs b/Questionable/Controller/QuestController.cs index 5a2d616a7..fc97bc804 100644 --- a/Questionable/Controller/QuestController.cs +++ b/Questionable/Controller/QuestController.cs @@ -13,6 +13,7 @@ using FFXIVClientStructs.FFXIV.Client.Game; using Questionable.Data; using Questionable.External; using Questionable.Model.V1; +using Questionable.Model.V1.Converter; namespace Questionable.Controller; @@ -346,8 +347,8 @@ internal sealed class QuestController }; } else - _movementController.NavigateTo(EMovementType.Quest, null, _aetheryteData.Locations[from], false, - 6.9f); + _movementController.NavigateTo(EMovementType.Quest, (uint)from, _aetheryteData.Locations[from], false, + AetheryteConverter.IsLargeAetheryte(from) ? 10.9f : 6.9f); return; } @@ -409,8 +410,14 @@ internal sealed class QuestController } else { + // navmesh won't move close enough if (actualDistance > distance) { + // picking up Mehvan's baby, not sure if navmesh ignores y distance but it thinks you're close + // enough + if (step.DataId == 2012208) + distance /= 2; + _movementController.NavigateTo(EMovementType.Quest, step.DataId, [step.Position.Value], step.Fly && _gameFunctions.IsFlyingUnlocked(_clientState.TerritoryType), distance); return; @@ -445,6 +452,8 @@ internal sealed class QuestController _gameFunctions.InteractWith(step.DataId.Value); IncreaseStepCount(); } + else + _pluginLog.Warning("Not interacting on current step, DataId is null"); break; diff --git a/Questionable/GameFunctions.cs b/Questionable/GameFunctions.cs index 591fd61bd..58c2d87db 100644 --- a/Questionable/GameFunctions.cs +++ b/Questionable/GameFunctions.cs @@ -46,14 +46,16 @@ internal sealed unsafe class GameFunctions private readonly IObjectTable _objectTable; private readonly ITargetManager _targetManager; private readonly ICondition _condition; + private readonly IClientState _clientState; private readonly IPluginLog _pluginLog; public GameFunctions(IDataManager dataManager, IObjectTable objectTable, ISigScanner sigScanner, - ITargetManager targetManager, ICondition condition, IPluginLog pluginLog) + ITargetManager targetManager, ICondition condition, IClientState clientState, IPluginLog pluginLog) { _objectTable = objectTable; _targetManager = targetManager; _condition = condition; + _clientState = clientState; _pluginLog = pluginLog; _processChatBox = Marshal.GetDelegateForFunctionPointer(sigScanner.ScanText(Signatures.SendChat)); @@ -74,7 +76,8 @@ internal sealed unsafe class GameFunctions .AsReadOnly(); } - public QuestController QuestController { private get; set; } + // FIXME + public QuestController QuestController { private get; set; } = null!; public (ushort CurrentQuest, byte Sequence) GetCurrentQuest() { @@ -323,6 +326,7 @@ internal sealed unsafe class GameFunctions } } + _pluginLog.Warning($"Could not find GameObject with dataId {dataId}"); return null; } @@ -331,7 +335,7 @@ internal sealed unsafe class GameFunctions GameObject? gameObject = FindObjectByDataId(dataId); if (gameObject != null) { - _targetManager.Target = null; + _pluginLog.Information($"Setting target with {dataId} to {gameObject.ObjectId}"); _targetManager.Target = gameObject; TargetSystem.Instance()->InteractWithObject( @@ -387,6 +391,9 @@ internal sealed unsafe class GameFunctions public bool HasStatusPreventingSprintOrMount() { + if (_condition[ConditionFlag.Swimming] && !IsFlyingUnlocked(_clientState.TerritoryType)) + return true; + var gameObject = GameObjectManager.GetGameObjectByIndex(0); if (gameObject != null && gameObject->ObjectKind == 1) { diff --git a/Questionable/Model/V1/Converter/AetheryteConverter.cs b/Questionable/Model/V1/Converter/AetheryteConverter.cs index 91c26f4a5..80b92f7d3 100644 --- a/Questionable/Model/V1/Converter/AetheryteConverter.cs +++ b/Questionable/Model/V1/Converter/AetheryteConverter.cs @@ -103,4 +103,6 @@ public sealed class AetheryteConverter() : EnumConverter(Val { EAetheryteLocation.UltimaThuleAbodeOfTheEa, "Ultima Thule - Abode of the Ea" }, { EAetheryteLocation.UltimaThuleBaseOmicron, "Ultima Thule - Base Omicron" } }; + + public static bool IsLargeAetheryte(EAetheryteLocation aetheryte) => Values.ContainsKey(aetheryte); } diff --git a/Questionable/QuestPaths/Endwalker/AetherCurrents/Garlemald/4232_Children Are Our Future.json b/Questionable/QuestPaths/Endwalker/AetherCurrents/Garlemald/4232_Children Are Our Future.json new file mode 100644 index 000000000..52687bdab --- /dev/null +++ b/Questionable/QuestPaths/Endwalker/AetherCurrents/Garlemald/4232_Children Are Our Future.json @@ -0,0 +1,114 @@ +{ + "Version": 1, + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1040633, + "Position": { + "X": 496.94043, + "Y": 10.887661, + "Z": -418.57025 + }, + "TerritoryId": 958, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1040634, + "Position": { + "X": 190.26465, + "Y": 10.5, + "Z": -630.2129 + }, + "TerritoryId": 958, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2012377, + "Position": { + "X": 189.10498, + "Y": 10.482849, + "Z": -668.9708 + }, + "TerritoryId": 958, + "InteractionType": "ManualAction", + "Comment": "Follow Azure-haired Boy" + }, + { + "DataId": 1040636, + "Position": { + "X": 21.744019, + "Y": 10.5, + "Z": -589.3187 + }, + "StopDistance": 1, + "TerritoryId": 958, + "InteractionType": "WalkTo" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "Position": { + "X": -18.56067, + "Y": 10.5, + "Z": -530.3922 + }, + "StopDistance": 1, + "TerritoryId": 958, + "InteractionType": "Combat", + "EnemySpawnType": "AutoOnEnterArea", + "KillEnemyDataIds": [ + 14101 + ] + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1040637, + "Position": { + "X": -16.525574, + "Y": 10.5, + "Z": -532.15845 + }, + "StopDistance": 7, + "TerritoryId": 958, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1040633, + "Position": { + "X": 496.94043, + "Y": 10.887661, + "Z": -418.57025 + }, + "TerritoryId": 958, + "InteractionType": "Interact", + "AetheryteShortcut": "Garlemald - Tertium" + } + ] + } + ] +} diff --git a/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4358_Old Sharlayan New to You.json b/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4358_Old Sharlayan New to You.json index 81b52c87c..06d2607f3 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4358_Old Sharlayan New to You.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4358_Old Sharlayan New to You.json @@ -108,6 +108,7 @@ "Y": 4.818894, "Z": -0.1004486 }, + "StopDistance": 10, "TerritoryId": 962, "InteractionType": "AttuneAetheryte" }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4359_Hitting the Books.json b/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4359_Hitting the Books.json index 355fc511c..26d0912b5 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4359_Hitting the Books.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4359_Hitting the Books.json @@ -73,7 +73,9 @@ "Z": 57.99951 }, "TerritoryId": 962, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[1]", + "$.2": "QuestVariables if done after [3]: 2 0 0 0 0 96" }, { "DataId": 2011825, @@ -83,7 +85,8 @@ "Z": 100.1449 }, "TerritoryId": 962, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[2]" }, { "DataId": 2011826, @@ -93,7 +96,9 @@ "Z": 43.289795 }, "TerritoryId": 962, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[3]", + "$.2": "QuestVariables if used first: 1 0 0 0 0 64" } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4360_A Seat at the Last Stand.json b/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4360_A Seat at the Last Stand.json index 00251ec3d..6ec1ab097 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4360_A Seat at the Last Stand.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4360_A Seat at the Last Stand.json @@ -132,6 +132,7 @@ "Y": -14.169313, "Z": 114.76306 }, + "StopDistance": 7, "TerritoryId": 962, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4382_Best of the Best.json b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4382_Best of the Best.json index 53d1b64e6..0564a7e7a 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4382_Best of the Best.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4382_Best of the Best.json @@ -12,6 +12,7 @@ "Y": 69.999954, "Z": 523.39966 }, + "StopDistance": 5, "TerritoryId": 621, "InteractionType": "Interact" } @@ -27,7 +28,7 @@ "Y": 70.139626, "Z": 522.88086 }, - "StopDistance": 5, + "StopDistance": 7, "TerritoryId": 621, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4385_How the Mighty Are Fallen.json b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4385_How the Mighty Are Fallen.json index f3caffa45..de2811fbb 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4385_How the Mighty Are Fallen.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4385_How the Mighty Are Fallen.json @@ -138,6 +138,7 @@ }, "TerritoryId": 958, "InteractionType": "WalkTo", + "Mount": true, "DisableNavmesh": true }, { @@ -175,7 +176,8 @@ }, "TerritoryId": 958, "InteractionType": "Interact", - "Mount": false + "Mount": false, + "Comment": "TODO Should cancel Navmesh on fade out" } ] }, @@ -189,6 +191,7 @@ "Y": -13.278784, "Z": 648.249 }, + "StopDistance": 5, "TerritoryId": 958, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4386_At the End of the Trail.json b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4386_At the End of the Trail.json index c78d9c2e1..8b76e9990 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4386_At the End of the Trail.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4386_At the End of the Trail.json @@ -12,6 +12,7 @@ "Y": -13.28456, "Z": 650.26306 }, + "StopDistance": 5, "TerritoryId": 958, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4387_A Way Forward.json b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4387_A Way Forward.json index 8065f680f..e3fcaedbb 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4387_A Way Forward.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4387_A Way Forward.json @@ -44,6 +44,7 @@ "Y": 22.554066, "Z": 430.01453 }, + "StopDistance": 5, "TerritoryId": 958, "InteractionType": "Interact" } @@ -59,7 +60,7 @@ "Y": 22.071072, "Z": 434.01233 }, - "StopDistance": 6, + "StopDistance": 7, "TerritoryId": 958, "InteractionType": "Interact" } @@ -87,9 +88,9 @@ { "DataId": 1039880, "Position": { - "X": 62.068886, - "Y": -0.13689682, - "Z": 150.48564 + "X": 66.50907, + "Y": 0.26087344, + "Z": 149.46323 }, "StopDistance": 1, "TerritoryId": 958, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4389_Personae non Gratae.json b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4389_Personae non Gratae.json index 802da8f16..06f750fba 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4389_Personae non Gratae.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4389_Personae non Gratae.json @@ -29,7 +29,9 @@ }, "TerritoryId": 958, "InteractionType": "Interact", - "Comment": "Caeso" + "Comment": "Caeso", + "$.0": "[1]", + "$.1": "QuestVariables if done first: 17 0 0 0 0 64" }, { "DataId": 1037718, @@ -40,7 +42,9 @@ }, "TerritoryId": 958, "InteractionType": "Interact", - "Comment": "Octavia" + "Comment": "Octavia", + "$.0": "[2]", + "$.2": "QuestVariables if done after [1]: 33 1 0 0 0 80" }, { "Position": { @@ -60,7 +64,9 @@ }, "TerritoryId": 958, "InteractionType": "Interact", - "Comment": "Sabinianus" + "Comment": "Sabinianus", + "$.0": "[3]", + "$.2": "QuestVariables if done after [1, 2]: 49 1 16 0 0 206" }, { "DataId": 1037717, @@ -71,7 +77,9 @@ }, "TerritoryId": 958, "InteractionType": "Interact", - "Comment": "Marcellinus" + "Comment": "Marcellinus", + "$.0": "[4]", + "$.2": "QuestVariables if done after [1, 2, 3]: 65 17 16 0 0 240" }, { "DataId": 2012062, @@ -82,7 +90,8 @@ }, "TerritoryId": 958, "InteractionType": "Interact", - "Comment": "Magitek Radio" + "Comment": "Magitek Radio", + "$.0": "[5]" } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4392_Alea Iacta Est.json b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4392_Alea Iacta Est.json index bded83315..87ea3a3e8 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4392_Alea Iacta Est.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4392_Alea Iacta Est.json @@ -30,7 +30,8 @@ }, "TerritoryId": 958, "InteractionType": "Interact", - "Comment": "Marcellinus" + "Comment": "Marcellinus", + "$.1": "QuestVariables if done first: 16 16 0 0 0 128" }, { "DataId": 1038791, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4393_Strange Bedfellows.json b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4393_Strange Bedfellows.json index 180a852ad..1925c06a2 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4393_Strange Bedfellows.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4393_Strange Bedfellows.json @@ -101,6 +101,7 @@ }, "TerritoryId": 958, "InteractionType": "WalkTo", + "Mount": true, "DisableNavmesh": true }, { @@ -213,7 +214,9 @@ "EnemySpawnType": "AfterInteraction", "KillEnemyDataIds": [ 14078 - ] + ], + "$.0": "[1]", + "$.1": "QuestVariables if done first: (before) 0 0 2 0 0 0 (after) 16 16 2 0 0 64" }, { "DataId": 2012109, @@ -230,7 +233,9 @@ ], "Comment": "TODO Needs item use?", "ItemId": 2003231, - "ItemUseHealthMaxPercent": 10 + "ItemUseHealthMaxPercent": 10, + "$.0": "[2]", + "$.1": "QuestVariables if done after [1]: 32 17 1 0 0 96" }, { "DataId": 2012108, @@ -241,7 +246,9 @@ }, "TerritoryId": 958, "InteractionType": "Interact", - "Comment": "TODO Maybe move the train station aether current interaction before this" + "Comment": "TODO Maybe move the train station aether current interaction before this", + "$.0": "[3]", + "$.1": "QuestVariables if done after [1, 2]: 49 17 1 0 0 224" }, { "DataId": 2012110, @@ -258,7 +265,8 @@ ], "Comment": "TODO Needs item use?", "ItemId": 2003231, - "ItemUseHealthMaxPercent": 10 + "ItemUseHealthMaxPercent": 10, + "$.0": "[4]" } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4396_A Trip to the Moon.json b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4396_A Trip to the Moon.json index 4ad77295e..8b1774291 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4396_A Trip to the Moon.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4396_A Trip to the Moon.json @@ -45,6 +45,7 @@ "StopDistance": 10, "TerritoryId": 959, "InteractionType": "AttuneAetheryte", + "Mount": true, "DisableNavmesh": true }, { diff --git a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4400_Helping Hands.json b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4400_Helping Hands.json index e0a0acbd5..e838a1bf6 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4400_Helping Hands.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4400_Helping Hands.json @@ -29,6 +29,7 @@ }, "TerritoryId": 959, "InteractionType": "WalkTo", + "Mount": true, "DisableNavmesh": true }, { diff --git a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4401_A Harey Situation.json b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4401_A Harey Situation.json index 30586043b..885542cfd 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4401_A Harey Situation.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4401_A Harey Situation.json @@ -28,6 +28,7 @@ }, "TerritoryId": 959, "InteractionType": "WalkTo", + "Mount": true, "DisableNavmesh": true }, { diff --git a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4403_Styled a Hero.json b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4403_Styled a Hero.json index da1c0fd46..17e06b5e7 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4403_Styled a Hero.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4403_Styled a Hero.json @@ -115,7 +115,8 @@ "Z": -585.7481 }, "TerritoryId": 959, - "InteractionType": "Interact" + "InteractionType": "Interact", + "AetheryteShortcut": "Mare Lamentorum - Bestways Burrow" } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4405_Back to Old Tricks.json b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4405_Back to Old Tricks.json index 8a2a54f11..6ee4f8674 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4405_Back to Old Tricks.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4405_Back to Old Tricks.json @@ -12,6 +12,7 @@ "Y": -168, "Z": -657.7402 }, + "StopDistance": 7, "TerritoryId": 959, "InteractionType": "Interact" } @@ -75,6 +76,7 @@ "Y": 75.72459, "Z": -23.51416 }, + "StopDistance": 5, "TerritoryId": 959, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4406_Settiing Things Straight.json b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4406_Settiing Things Straight.json index 5c463a760..8dde87950 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4406_Settiing Things Straight.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4406_Settiing Things Straight.json @@ -12,6 +12,7 @@ "Y": 75.72459, "Z": -23.51416 }, + "StopDistance": 5, "TerritoryId": 959, "InteractionType": "Interact" } @@ -48,7 +49,8 @@ "Z": -71.81973 }, "TerritoryId": 959, - "InteractionType": "WalkTo" + "InteractionType": "WalkTo", + "Mount": true }, { "DataId": 2012010, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4407_Heart of the Matter.json b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4407_Heart of the Matter.json index 70f42da98..b731c2a5b 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4407_Heart of the Matter.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/C-MareLamentorum/4407_Heart of the Matter.json @@ -12,6 +12,7 @@ "Y": -168.00002, "Z": -625.11633 }, + "StopDistance": 5, "TerritoryId": 959, "InteractionType": "Interact" } @@ -29,6 +30,7 @@ }, "TerritoryId": 959, "InteractionType": "Interact", + "AetheryteShortcut": "Mare Lamentorum - Bestways Burrow", "Comment": "Teleporter" }, { diff --git a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4409_Skies Aflame.json b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4409_Skies Aflame.json index 2db8fdb2f..a3dbe9ba6 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4409_Skies Aflame.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4409_Skies Aflame.json @@ -85,6 +85,7 @@ "Y": -1.9999963, "Z": 93.492065 }, + "StopDistance": 5, "TerritoryId": 963, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4410_The Blasphemy Unmasked.json b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4410_The Blasphemy Unmasked.json index 2b9b6306d..916f3272e 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4410_The Blasphemy Unmasked.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4410_The Blasphemy Unmasked.json @@ -12,6 +12,7 @@ "Y": -1.9999963, "Z": 93.492065 }, + "StopDistance": 5, "TerritoryId": 963, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4414_When All Hope Seems Lost.json b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4414_When All Hope Seems Lost.json index 9483f4386..5007acbf7 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4414_When All Hope Seems Lost.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4414_When All Hope Seems Lost.json @@ -140,7 +140,8 @@ "KillEnemyDataIds": [ 13987 ], - "$": "QuestVariables after: 16 1 0 0 0 128" + "$.0": "[1]", + "$.1": "QuestVariables if done first: 16 1 0 0 0 128" }, { "Position": { @@ -154,7 +155,9 @@ "KillEnemyDataIds": [ 13986 ], - "$": "QuestVariables after: 33 1 0 0 0 192" + "$.0": "[2]", + "$.1": "QuestVariables if done after [1]: 33 1 0 0 0 192", + "$.2": "QuestVariables if done after [3]: 33 32 0 0 0 96" }, { "Position": { @@ -168,7 +171,9 @@ "KillEnemyDataIds": [ 13985, 13984 - ] + ], + "$.0": "[3]", + "$.2": "QuestVariables if done first: 16 32 0 0 0 32" } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4415_Warm Hearts, Rekindled Hopes.json b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4415_Warm Hearts, Rekindled Hopes.json index d91fd5b24..79180b25d 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4415_Warm Hearts, Rekindled Hopes.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4415_Warm Hearts, Rekindled Hopes.json @@ -31,6 +31,17 @@ "InteractionType": "AttuneAetherCurrent", "AetherCurrentId": 2818337 }, + { + "DataId": 2011999, + "Position": { + "X": 53.177612, + "Y": 11.36792, + "Z": 187.396 + }, + "TerritoryId": 957, + "InteractionType": "AttuneAetherCurrent", + "AetherCurrentId": 2818338 + }, { "DataId": 2012207, "Position": { @@ -69,7 +80,7 @@ "Y": -60.471558, "Z": 133.25696 }, - "StopDistance": 0.5, + "StopDistance": 1, "TerritoryId": 957, "InteractionType": "Interact", "DisableNavmesh": true @@ -100,17 +111,6 @@ "InteractionType": "WalkTo", "DisableNavmesh": true }, - { - "DataId": 2011999, - "Position": { - "X": 53.177612, - "Y": 11.36792, - "Z": 187.396 - }, - "TerritoryId": 957, - "InteractionType": "AttuneAetherCurrent", - "AetherCurrentId": 2818338 - }, { "DataId": 1039052, "Position": { diff --git a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4416_Simple Pleasures.json b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4416_Simple Pleasures.json index ca97ca0b2..b822bc38d 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4416_Simple Pleasures.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4416_Simple Pleasures.json @@ -96,6 +96,7 @@ }, "TerritoryId": 957, "InteractionType": "WalkTo", + "Mount": true, "DisableNavmesh": true }, { diff --git a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4417_Under His Wing.json b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4417_Under His Wing.json index 477c4d10c..5f1f571c2 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4417_Under His Wing.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4417_Under His Wing.json @@ -114,7 +114,7 @@ "Y": 36, "Z": 71.70203 }, - "StopDistance": 5, + "StopDistance": 7, "TerritoryId": 963, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4418_At Worlds End.json b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4418_At Worlds End.json index aa9123363..01f6f3d80 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4418_At Worlds End.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4418_At Worlds End.json @@ -143,6 +143,7 @@ "Y": -1.9999962, "Z": 87.44946 }, + "StopDistance": 5, "TerritoryId": 963, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4419_Return to the Crystarium.json b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4419_Return to the Crystarium.json index c813dc9cd..1c5a6d705 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4419_Return to the Crystarium.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4419_Return to the Crystarium.json @@ -30,7 +30,11 @@ }, "TerritoryId": 813, "InteractionType": "Interact", - "AetheryteShortcut": "Lakeland - Fort Jobb", + "AetheryteShortcut": "Crystarium", + "AethernetShortcut": [ + "[Crystarium] Aetheryte Plaza", + "[Crystarium] Tessellation (Lakeland)" + ], "Fly": true } ] diff --git a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4420_Hope Upon a Flower.json b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4420_Hope Upon a Flower.json index d232461d2..3daa9fa5d 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4420_Hope Upon a Flower.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4420_Hope Upon a Flower.json @@ -54,7 +54,8 @@ "TerritoryId": 1031, "InteractionType": "Interact", "Comment": "Interact with Aetheryte (Navmesh can't jump)", - "$": "QuestVariables after: 16 0 16 0 0 16" + "$.0": "[1]", + "$.1": "QuestVariables if done first: 16 0 16 0 0 16" }, { "DataId": 1039993, @@ -65,6 +66,7 @@ }, "TerritoryId": 1031, "InteractionType": "Interact", + "$.0": "[2]", "$": "QuestVariables after: 32 1 16 0 0 144" }, { @@ -76,7 +78,8 @@ }, "TerritoryId": 1031, "InteractionType": "Interact", - "$": "QuestVariables after: 49 1 16 0 0 208" + "$.0": "[3]", + "$.1": "QuestVariables after: 49 1 16 0 0 208" }, { "DataId": 1039995, @@ -86,7 +89,9 @@ "Z": -4.1657104 }, "TerritoryId": 1031, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[4]", + "$.2": "QuestVariables if done first: 16 16 0 0 0 32" } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4529_Alzadaals Legacy.json b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4529_Alzadaals Legacy.json index 44a0b28be..0bffc6131 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4529_Alzadaals Legacy.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4529_Alzadaals Legacy.json @@ -46,6 +46,7 @@ "Y": -350.00003, "Z": -72.19049 }, + "StopDistance": 7, "TerritoryId": 1056, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4530_A Brothers Grief.json b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4530_A Brothers Grief.json index edef799f9..a74d547b0 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4530_A Brothers Grief.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4530_A Brothers Grief.json @@ -12,6 +12,7 @@ "Y": -350, "Z": -73.68585 }, + "StopDistance": 5, "TerritoryId": 1056, "InteractionType": "Interact" } @@ -43,7 +44,8 @@ "Z": -148.57715 }, "TerritoryId": 963, - "InteractionType": "Interact" + "InteractionType": "Interact", + "AetheryteShortcut": "Radz-at-Han" } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4531_Sharing the Wealth.json b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4531_Sharing the Wealth.json index d965b66c7..316923bf2 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4531_Sharing the Wealth.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4531_Sharing the Wealth.json @@ -28,8 +28,7 @@ "Z": -210.6151 }, "TerritoryId": 963, - "InteractionType": "AttuneAethernetShard", - "Comment": "This is pretty late here, maybe move it to some other quest" + "InteractionType": "AttuneAethernetShard" }, { "DataId": 1039589, @@ -39,13 +38,25 @@ "Z": 605.9204 }, "TerritoryId": 957, - "InteractionType": "Interact" + "AetheryteShortcut": "Thavnair - Yedlihmad", + "InteractionType": "Interact", + "Fly": true } ] }, { "Sequence": 2, "Steps": [ + { + "Position": { + "X": 169.31848, + "Y": 5.3451567, + "Z": 633.7924 + }, + "TerritoryId": 957, + "InteractionType": "WalkTo", + "Fly": true + }, { "DataId": 1037631, "Position": { @@ -53,6 +64,7 @@ "Y": 5.34517, "Z": 635.9807 }, + "StopDistance": 5, "TerritoryId": 957, "InteractionType": "Interact" }, @@ -79,7 +91,12 @@ "Z": -68.61987 }, "TerritoryId": 963, - "InteractionType": "Interact" + "InteractionType": "Interact", + "AetheryteShortcut": "Radz-at-Han", + "AethernetShortcut": [ + "[Radz-at-Han] Aetheryte Plaza", + "[Radz-at-Han] Meghaduta" + ] } ] } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4532_Bridging the Rift.json b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4532_Bridging the Rift.json index fe154de84..476fb9a90 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4532_Bridging the Rift.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4532_Bridging the Rift.json @@ -47,7 +47,8 @@ "Z": -15.243774 }, "TerritoryId": 962, - "InteractionType": "Interact" + "InteractionType": "Interact", + "AetheryteShortcut": "Old Sharlayan" } ] }, @@ -95,10 +96,11 @@ { "DataId": 1039614, "Position": { - "X": -95.859055, - "Y": 3.933468, - "Z": 2.172171 + "X": -94.118614, + "Y": 3.8989394, + "Z": 1.0696089 }, + "StopDistance": 0.25, "TerritoryId": 962, "InteractionType": "Interact", "AethernetShortcut": [ diff --git a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4533_Restricted Reading.json b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4533_Restricted Reading.json index fc12cc1ba..9793b783f 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4533_Restricted Reading.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4533_Restricted Reading.json @@ -76,6 +76,7 @@ "Y": 19, "Z": 69.10803 }, + "StopDistance": 5, "TerritoryId": 962, "InteractionType": "Interact" } @@ -92,13 +93,25 @@ "Z": 29.55664 }, "TerritoryId": 957, - "InteractionType": "Interact" + "InteractionType": "Interact", + "AetheryteShortcut": "Thavnair - Great Work" } ] }, { "Sequence": 6, "Steps": [ + { + "Position": { + "X": 242.9973, + "Y": 1.2090492, + "Z": 118.133255 + }, + "TerritoryId": 957, + "InteractionType": "WalkTo", + "AetheryteShortcut": "Thavnair - Palaka's Stand", + "Fly": true + }, { "DataId": 2012847, "Position": { @@ -122,7 +135,8 @@ "Z": 26.779541 }, "TerritoryId": 957, - "InteractionType": "Interact" + "InteractionType": "Interact", + "AetheryteShortcut": "Thavnair - Great Work" } ] } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4534_Void Theory.json b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4534_Void Theory.json index b60276cf5..5c815b993 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4534_Void Theory.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4534_Void Theory.json @@ -28,7 +28,8 @@ "Z": 605.9204 }, "TerritoryId": 957, - "InteractionType": "Interact" + "InteractionType": "Interact", + "Fly": true } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4535_A Satraps Duty.json b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4535_A Satraps Duty.json index 104259c77..960623354 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4535_A Satraps Duty.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/H-6.1/4535_A Satraps Duty.json @@ -12,6 +12,7 @@ "Y": -350, "Z": -83.14642 }, + "StopDistance": 5, "TerritoryId": 1056, "InteractionType": "Interact" } @@ -43,7 +44,8 @@ "Z": 108.11011 }, "TerritoryId": 957, - "InteractionType": "Interact" + "InteractionType": "Interact", + "AetheryteShortcut": "Thavnair - Great Work" } ] }, @@ -74,6 +76,7 @@ }, "TerritoryId": 963, "InteractionType": "Interact", + "AetheryteShortcut": "Radz-at-Han", "AethernetShortcut": [ "[Radz-at-Han] Aetheryte Plaza", "[Radz-at-Han] Meghaduta" diff --git a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4592_In Search of Azdaja.json b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4592_In Search of Azdaja.json index d88eacb0a..e6de9ae3a 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4592_In Search of Azdaja.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4592_In Search of Azdaja.json @@ -28,7 +28,8 @@ "Z": 22.507019 }, "TerritoryId": 957, - "InteractionType": "Interact" + "InteractionType": "Interact", + "AetheryteShortcut": "Thavnair - Great Work" } ] }, @@ -42,6 +43,7 @@ "Y": 0.07863108, "Z": 605.9204 }, + "StopDistance": 5, "TerritoryId": 957, "InteractionType": "Interact" } @@ -88,6 +90,7 @@ "Y": 376.4496, "Z": -158.31238 }, + "StopDistance": 7, "TerritoryId": 1089, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4593_Shadowed Remnants.json b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4593_Shadowed Remnants.json index bd6fe50f0..604fd68d1 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4593_Shadowed Remnants.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4593_Shadowed Remnants.json @@ -12,6 +12,7 @@ "Y": 376.38647, "Z": -158.0072 }, + "StopDistance": 7, "TerritoryId": 1089, "InteractionType": "Interact" } @@ -28,7 +29,9 @@ "Z": -109.33093 }, "TerritoryId": 1089, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[1]", + "$.1": "QuestVariables if done first: 1 0 0 0 0 128" }, { "DataId": 1043790, @@ -38,7 +41,9 @@ "Z": -106.70636 }, "TerritoryId": 1089, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[2]", + "$.1": "QuestVariables if done after [1]: 2 0 0 0 0 192" }, { "DataId": 1043791, @@ -48,7 +53,9 @@ "Z": -61.539734 }, "TerritoryId": 1089, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[3]", + "$.1": "QuestVariables if done after [1, 2]: 3 0 0 0 0 224" }, { "DataId": 1043792, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4594_Where Everything Begins.json b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4594_Where Everything Begins.json index a704d4416..c8d69ae19 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4594_Where Everything Begins.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4594_Where Everything Begins.json @@ -12,6 +12,7 @@ "Y": -718.33905, "Z": 207.87354 }, + "StopDistance": 5, "TerritoryId": 1089, "InteractionType": "Interact" } @@ -83,6 +84,7 @@ "Y": -698.0104, "Z": -135.63751 }, + "StopDistance": 5, "TerritoryId": 1089, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4595_Groping in the Dark.json b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4595_Groping in the Dark.json index c173fb643..f98f45bf6 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4595_Groping in the Dark.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4595_Groping in the Dark.json @@ -12,6 +12,7 @@ "Y": -698.0104, "Z": -138.1095 }, + "StopDistance": 5, "TerritoryId": 1089, "InteractionType": "Interact" } @@ -38,7 +39,9 @@ "Z": -49.45453 }, "TerritoryId": 1089, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[1]", + "$.1": "QuestVariables if done first: 1 0 0 0 0 32" }, { "DataId": 1043791, @@ -48,7 +51,9 @@ "Z": -61.539734 }, "TerritoryId": 1089, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[2]", + "$.1": "QuestVariables if done after [1]: 2 0 0 0 0 96" }, { "DataId": 1043790, @@ -58,7 +63,8 @@ "Z": -106.70636 }, "TerritoryId": 1089, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[3]" } ] }, @@ -122,6 +128,7 @@ "Y": -0.50953794, "Z": 33.798706 }, + "StopDistance": 5, "TerritoryId": 1077, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4596_Nowhere to Run.json b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4596_Nowhere to Run.json index beeabe646..f7d5f95eb 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4596_Nowhere to Run.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4596_Nowhere to Run.json @@ -12,6 +12,7 @@ "Y": -0.50953794, "Z": 33.798706 }, + "StopDistance": 5, "TerritoryId": 1077, "InteractionType": "Interact" } @@ -27,6 +28,7 @@ "Y": -0.50953794, "Z": 33.798706 }, + "StopDistance": 5, "TerritoryId": 1077, "InteractionType": "Interact" } @@ -43,7 +45,8 @@ "Z": -22.568176 }, "TerritoryId": 1077, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[1]" }, { "DataId": 1043831, @@ -53,7 +56,9 @@ "Z": -49.45453 }, "TerritoryId": 1077, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[2]", + "$.1": "QuestVariables if done after [1]: 2 0 0 0 0 160" }, { "DataId": 1043830, @@ -73,10 +78,11 @@ { "DataId": 1043822, "Position": { - "X": 27.03395, - "Y": -0.43000445, - "Z": -15.432249 + "X": 27.317875, + "Y": -0.43000424, + "Z": -13.701547 }, + "StopDistance": 0.25, "TerritoryId": 1077, "InteractionType": "Interact" } @@ -167,6 +173,7 @@ "Y": -0.4, "Z": -68.223145 }, + "StopDistance": 5, "TerritoryId": 1077, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4597_The Wind Rises.json b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4597_The Wind Rises.json index 748222ced..f9559ed47 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4597_The Wind Rises.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4597_The Wind Rises.json @@ -12,6 +12,7 @@ "Y": -0.4, "Z": -70.72565 }, + "StopDistance": 7, "TerritoryId": 1077, "InteractionType": "Interact" } @@ -42,6 +43,7 @@ "Y": -19, "Z": 176.985 }, + "StopDistance": 5, "TerritoryId": 1092, "InteractionType": "ManualAction", "Comment": "Duty - Storm's Crown" @@ -58,6 +60,7 @@ "Y": -0.21963555, "Z": 52.506226 }, + "StopDistance": 5, "TerritoryId": 1077, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4598_Return from the Void.json b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4598_Return from the Void.json index b7d05b406..6dd1cd698 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4598_Return from the Void.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4598_Return from the Void.json @@ -12,6 +12,7 @@ "Y": -0.21963556, "Z": 50.492065 }, + "StopDistance": 5, "TerritoryId": 1077, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4599_A World with Light and Life.json b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4599_A World with Light and Life.json index fa779b172..e080c7eb1 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4599_A World with Light and Life.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4599_A World with Light and Life.json @@ -12,6 +12,7 @@ "Y": 0.008460393, "Z": -1.8463745 }, + "StopDistance": 7, "TerritoryId": 1078, "InteractionType": "Interact" } @@ -27,6 +28,7 @@ "Y": 1.2359009, "Z": 5.3864136 }, + "StopDistance": 4, "TerritoryId": 1078, "InteractionType": "Interact" }, @@ -105,10 +107,11 @@ { "DataId": 1043852, "Position": { - "X": -32.992733, - "Y": 0.59983647, - "Z": -73.79735 + "X": -33.52105, + "Y": 0.59983087, + "Z": -74.57541 }, + "StopDistance": 0.25, "TerritoryId": 963, "InteractionType": "Interact" } @@ -124,6 +127,7 @@ "Y": 1.8631814, "Z": -100.1145 }, + "StopDistance": 7, "TerritoryId": 963, "InteractionType": "Interact" } @@ -139,6 +143,7 @@ "Y": 36.051323, "Z": 70.24 }, + "StopDistance": 0.25, "TerritoryId": 963, "InteractionType": "Interact", "AethernetShortcut": [ diff --git a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4600_Buried Memory.json b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4600_Buried Memory.json index ce7891c08..9155862e0 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4600_Buried Memory.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/I-6.2/4600_Buried Memory.json @@ -46,6 +46,7 @@ "Y": 55, "Z": -68.40625 }, + "StopDistance": 5, "TerritoryId": 963, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4670_Once More unto the Void.json b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4670_Once More unto the Void.json index e2bb2dbbc..cc1717f47 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4670_Once More unto the Void.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4670_Once More unto the Void.json @@ -12,6 +12,7 @@ "Y": 55, "Z": -68.40625 }, + "StopDistance": 5, "TerritoryId": 963, "InteractionType": "Interact" } @@ -54,6 +55,26 @@ ] } ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1044293, + "Position": { + "X": -346.12042, + "Y": 55, + "Z": -66.17847 + }, + "TerritoryId": 963, + "InteractionType": "Interact", + "AetheryteShortcut": "Radz-at-Han", + "AethernetShortcut": [ + "[Radz-at-Han] Aetheryte Plaza", + "[Radz-at-Han] Meghaduta" + ] + } + ] } ] } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4671_A Cold Reunion.json b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4671_A Cold Reunion.json index 0b37d2fbc..509068578 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4671_A Cold Reunion.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4671_A Cold Reunion.json @@ -27,6 +27,7 @@ "Y": -36.65, "Z": -185.87018 }, + "StopDistance": 6, "TerritoryId": 958, "InteractionType": "Interact" } @@ -43,7 +44,8 @@ "Z": 485.37415 }, "TerritoryId": 958, - "InteractionType": "Interact" + "InteractionType": "Interact", + "AetheryteShortcut": "Garlemald - Camp Broken Glass" } ] }, @@ -58,7 +60,8 @@ "Z": 427.87805 }, "TerritoryId": 958, - "InteractionType": "Interact" + "InteractionType": "Interact", + "Fly": true } ] }, @@ -72,6 +75,7 @@ "Y": -20.207552, "Z": 509.88013 }, + "StopDistance": 5, "TerritoryId": 958, "InteractionType": "Interact" } @@ -88,7 +92,8 @@ "Z": 642.8473 }, "TerritoryId": 958, - "InteractionType": "Interact" + "InteractionType": "Interact", + "Fly": true } ] }, @@ -103,7 +108,8 @@ "Z": 484.0619 }, "TerritoryId": 958, - "InteractionType": "Interact" + "InteractionType": "Interact", + "AetheryteShortcut": "Garlemald - Camp Broken Glass" } ] } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4672_Kindled Spirit.json b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4672_Kindled Spirit.json index b4375f4d5..fb9f9ddbb 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4672_Kindled Spirit.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4672_Kindled Spirit.json @@ -28,7 +28,8 @@ "Z": 416.3423 }, "TerritoryId": 958, - "InteractionType": "Interact" + "InteractionType": "Interact", + "Fly": true } ] }, @@ -44,10 +45,12 @@ }, "TerritoryId": 958, "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", "KillEnemyDataIds": [ - 16028 + 16028, 16029 ], - "Comment": "Missing second enemy data id" + "$.0": "[1]", + "$.1": "QuestVariables if done first: 16 5(enemy kill count) 0 0 0 64" }, { "DataId": 2013307, @@ -57,7 +60,21 @@ "Z": 337.5448 }, "TerritoryId": 958, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.0": "[2]", + "$.1": "QuestVariables if done after [1]: 33 5 0 0 0 96" + }, + { + "DataId": 2013308, + "Position": { + "X": 75.33374, + "Y": -12.527649, + "Z": 339.40637 + }, + "TerritoryId": 958, + "InteractionType": "Interact", + "$.0": "[3]", + "$.1": "QuestVariables if done after [1, 2]: 49 21 0 0 0 112" }, { "DataId": 2013051, @@ -68,19 +85,10 @@ }, "TerritoryId": 958, "InteractionType": "Combat", + "EnemySpawnType": "AfterInteraction", "KillEnemyDataIds": [ 16030 ] - }, - { - "DataId": 2013308, - "Position": { - "X": 75.33374, - "Y": -12.527649, - "Z": 339.40637 - }, - "TerritoryId": 958, - "InteractionType": "Interact" } ] }, @@ -95,7 +103,8 @@ "Z": 144.70117 }, "TerritoryId": 958, - "InteractionType": "Interact" + "InteractionType": "Interact", + "Fly": true } ] } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4673_An Unforeseen Bargain.json b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4673_An Unforeseen Bargain.json index 4023e47a3..d9c29025c 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4673_An Unforeseen Bargain.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4673_An Unforeseen Bargain.json @@ -27,6 +27,7 @@ "Y": 10.800001, "Z": -427.75616 }, + "StopDistance": 5, "TerritoryId": 958, "InteractionType": "ManualAction", "Comment": "Duty - An Unforeseen Bargain" diff --git a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4674_King of the Mountain.json b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4674_King of the Mountain.json index 7a3176520..7e71565c6 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4674_King of the Mountain.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4674_King of the Mountain.json @@ -27,6 +27,7 @@ "Y": -36.65, "Z": -243.843 }, + "StopDistance": 5, "TerritoryId": 958, "InteractionType": "Interact" } @@ -43,7 +44,8 @@ "Z": 718.8982 }, "TerritoryId": 958, - "InteractionType": "Interact" + "InteractionType": "Interact", + "Fly": true } ] }, @@ -58,6 +60,7 @@ "Z": 717.7081 }, "TerritoryId": 958, + "StopDistance": 5, "InteractionType": "ManualAction", "Comment": "Duty - Lapis Manalis" } diff --git a/Questionable/QuestionablePlugin.cs b/Questionable/QuestionablePlugin.cs index 6705db88b..0d19dfe90 100644 --- a/Questionable/QuestionablePlugin.cs +++ b/Questionable/QuestionablePlugin.cs @@ -44,7 +44,8 @@ public sealed class QuestionablePlugin : IDalamudPlugin _framework = framework; _gameGui = gameGui; _commandManager = commandManager; - _gameFunctions = new GameFunctions(dataManager, objectTable, sigScanner, targetManager, condition, pluginLog); + _gameFunctions = new GameFunctions(dataManager, objectTable, sigScanner, targetManager, condition, clientState, + pluginLog); AetheryteData aetheryteData = new AetheryteData(dataManager); NavmeshIpc navmeshIpc = new NavmeshIpc(pluginInterface); diff --git a/Questionable/Windows/DebugWindow.cs b/Questionable/Windows/DebugWindow.cs index 2b08ab016..43ffd9479 100644 --- a/Questionable/Windows/DebugWindow.cs +++ b/Questionable/Windows/DebugWindow.cs @@ -137,7 +137,9 @@ internal sealed class DebugWindow : Window { ImGui.Separator(); ImGui.Text(string.Create(CultureInfo.InvariantCulture, - $"Target: {_targetManager.Target.Name} ({(_targetManager.Target.Position - _clientState.LocalPlayer.Position).Length():F2})")); + $"Target: {_targetManager.Target.Name} ({_targetManager.Target.ObjectKind}; {_targetManager.Target.DataId})")); + ImGui.Text(string.Create(CultureInfo.InvariantCulture, + $"Distance: {(_targetManager.Target.Position - _clientState.LocalPlayer.Position).Length():F2}, Y: {_targetManager.Target.Position.Y - _clientState.LocalPlayer.Position.Y:F2}")); ImGui.BeginDisabled(!_movementController.IsNavmeshReady); if (!_movementController.IsPathfinding)