From a5bb4f15cbd265215f183991c4bfe07d737efaf3 Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Sat, 1 Jun 2024 14:30:20 +0200 Subject: [PATCH] Some jumping, open DF for duties --- Questionable/Controller/MovementController.cs | 6 +-- Questionable/Controller/QuestController.cs | 33 +++++++++++-- Questionable/GameFunctions.cs | 20 +++++++- .../V1/Converter/InteractionTypeConverter.cs | 3 +- Questionable/Model/V1/EInteractionType.cs | 6 ++- Questionable/Model/V1/JumpDestination.cs | 14 ++++++ Questionable/Model/V1/QuestStep.cs | 2 + .../4377_In the Dark of the Tower.json | 8 +--- .../B-Garlemald/4395_Gateway of the Gods.json | 8 +--- .../MSQ/B-Garlemald/4398_The Martyr.json | 7 +-- .../MSQ/D-Thavnair2/4409_Skies Aflame.json | 8 +--- .../4425_Their Greatest Contribution.json | 46 +++++++++++++++--- .../MSQ/E-Elpis/4426_Aether to Aether.json | 21 ++++----- .../MSQ/E-Elpis/4427_A Sentimental Gift.json | 6 ++- .../4429_Travelers at the Crossroads.json | 14 +++++- .../4430_A Past Not Yet Come to Pass.json | 3 +- .../MSQ/E-Elpis/4432_Worthy of His Back.json | 11 ----- .../4433_A Flower upon Your Return.json | 2 +- .../4436_Follow Wander Stumble Listen.json | 1 + .../E-Elpis/4437_Caging the Messenger.json | 9 +--- .../MSQ/F-Labyrinthos2/4440_Outside Help.json | 3 +- .../F-Labyrinthos2/4442_No Job Too Small.json | 3 +- .../MSQ/F-Labyrinthos2/4445_Sage Council.json | 16 ++++++- .../F-Labyrinthos2/4446_Hither and Yarns.json | 1 + .../MSQ/F-Labyrinthos2/4447_Once Forged.json | 22 ++++++--- .../4448_Bonds of Adamantite.json | 7 ++- .../4449_Her Children One and All.json | 17 ++----- .../MSQ/G-UltimaThule/4464_Endwalker.json | 17 +------ .../MSQ/H-6.1/4529_Alzadaals Legacy.json | 8 +--- .../MSQ/I-6.2/4592_In Search of Azdaja.json | 8 +--- .../MSQ/I-6.2/4597_The Wind Rises.json | 9 +--- .../MSQ/J-6.3/4674_King of the Mountain.json | 10 +--- .../MSQ/J-6.3/4677_Desires Untold.json | 8 +--- .../Endwalker/MSQ/K-6.4/4736_Going Haam.json | 8 +--- .../MSQ/K-6.4/4742_Abyssal Dark.json | 8 +--- .../MSQ/L-6.5/4748_Down in the Dark.json | 16 +------ .../MSQ/F-Tempest/3654_Shadowbringers.json | 18 +------ .../MSQ/G-5.1/3674_A Grand Adventure.json | 8 +--- .../MSQ/H-5.2/3769_Beneath the Surface.json | 9 +--- .../MSQ/I-5.3/3777_The Converging Light.json | 8 +--- .../MSQ/I-5.3/3778_Hope's Confluence.json | 9 +--- .../J-5.4/4011_Like Master, Like Pupil.json | 8 +--- .../MSQ/K-5.5/4062_The Flames of War.json | 8 +--- Questionable/QuestSchema/schema_v1.json | 47 +++++++++++++++++++ Questionable/QuestionablePlugin.cs | 2 +- 45 files changed, 259 insertions(+), 247 deletions(-) create mode 100644 Questionable/Model/V1/JumpDestination.cs diff --git a/Questionable/Controller/MovementController.cs b/Questionable/Controller/MovementController.cs index 492b643b5..3d88a3f54 100644 --- a/Questionable/Controller/MovementController.cs +++ b/Questionable/Controller/MovementController.cs @@ -75,7 +75,6 @@ internal sealed class MovementController : IDisposable start = end; } - _pluginLog.Information($"Distance: {actualDistance}"); unsafe { // 70 is ~10 seconds of sprint @@ -119,8 +118,9 @@ internal sealed class MovementController : IDisposable { if (AetheryteConverter.IsLargeAetheryte((EAetheryteLocation)Destination.DataId)) { - // TODO verify this - if (Math.Abs(localPlayerPosition.Y - gameObject.Position.Y) < 2.95f) + // TODO verify the first part of this, is there any aetheryte like that? + if (localPlayerPosition.Y - gameObject.Position.Y < 2.95f && + localPlayerPosition.Y - gameObject.Position.Y > -0.9f) Stop(); } else diff --git a/Questionable/Controller/QuestController.cs b/Questionable/Controller/QuestController.cs index f1f804800..ac87704d6 100644 --- a/Questionable/Controller/QuestController.cs +++ b/Questionable/Controller/QuestController.cs @@ -27,6 +27,7 @@ internal sealed class QuestController private readonly IPluginLog _pluginLog; private readonly ICondition _condition; private readonly IChatGui _chatGui; + private readonly IFramework _framework; private readonly AetheryteData _aetheryteData; private readonly LifestreamIpc _lifestreamIpc; private readonly TerritoryData _territoryData; @@ -34,7 +35,7 @@ internal sealed class QuestController public QuestController(DalamudPluginInterface pluginInterface, IDataManager dataManager, IClientState clientState, GameFunctions gameFunctions, MovementController movementController, IPluginLog pluginLog, ICondition condition, - IChatGui chatGui, AetheryteData aetheryteData, LifestreamIpc lifestreamIpc) + IChatGui chatGui, IFramework framework, AetheryteData aetheryteData, LifestreamIpc lifestreamIpc) { _pluginInterface = pluginInterface; _dataManager = dataManager; @@ -44,6 +45,7 @@ internal sealed class QuestController _pluginLog = pluginLog; _condition = condition; _chatGui = chatGui; + _framework = framework; _aetheryteData = aetheryteData; _lifestreamIpc = lifestreamIpc; _territoryData = new TerritoryData(dataManager); @@ -358,7 +360,13 @@ internal sealed class QuestController if (step.TargetTerritoryId == _clientState.TerritoryType) { - _pluginLog.Information("Skipping any movement"); + _pluginLog.Information("Zone transition, skipping movement"); + } + else if (step.InteractionType == EInteractionType.Jump && step.JumpDestination != null && + (_clientState.LocalPlayer!.Position - step.JumpDestination.Position).Length() <= + (step.JumpDestination.StopDistance ?? 1f)) + { + _pluginLog.Information("We're at the jump destination, skipping movement"); } else if (step.Position != null) { @@ -582,7 +590,9 @@ internal sealed class QuestController break; case EInteractionType.Duty: - // TODO open duty finder + if (step.ContentFinderConditionId != null) + _gameFunctions.OpenDutyFinder(step.ContentFinderConditionId.Value); + break; case EInteractionType.SinglePlayerDuty: @@ -591,9 +601,24 @@ internal sealed class QuestController break; case EInteractionType.Jump: - // TODO implement somehow?? + if (step.JumpDestination != null && !_condition[ConditionFlag.Jumping]) + { + float stopDistance = step.JumpDestination.StopDistance ?? 1f; + if ((_clientState.LocalPlayer!.Position - step.JumpDestination.Position).Length() <= stopDistance) + IncreaseStepCount(); + else + { + _movementController.NavigateTo(EMovementType.Quest, step.DataId, + [step.JumpDestination.Position], + false, step.JumpDestination.StopDistance ?? stopDistance); + _framework.RunOnTick(() => ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2), + TimeSpan.FromSeconds(step.JumpDestination.DelaySeconds ?? 0.5f)); + } + } + break; + case EInteractionType.ShouldBeAJump: case EInteractionType.Instruction: // Need to manually forward break; diff --git a/Questionable/GameFunctions.cs b/Questionable/GameFunctions.cs index 58c2d87db..8255a7924 100644 --- a/Questionable/GameFunctions.cs +++ b/Questionable/GameFunctions.cs @@ -42,6 +42,7 @@ internal sealed unsafe class GameFunctions private readonly delegate* unmanaged _sanitiseString; private readonly ReadOnlyDictionary _territoryToAetherCurrentCompFlgSet; private readonly ReadOnlyDictionary _emoteCommands; + private readonly ReadOnlyDictionary _contentFinderConditionToContentId; private readonly IObjectTable _objectTable; private readonly ITargetManager _targetManager; @@ -74,6 +75,10 @@ internal sealed unsafe class GameFunctions .Where(x => x.Command != null && x.Command.StartsWith('/')) .ToDictionary(x => (EEmote)x.RowId, x => x.Command!) .AsReadOnly(); + _contentFinderConditionToContentId = dataManager.GetExcelSheet() + .Where(x => x.RowId > 0 && x.Content > 0) + .ToDictionary(x => x.RowId, x => x.Content) + .AsReadOnly(); } // FIXME @@ -364,7 +369,7 @@ internal sealed unsafe class GameFunctions if (gameObject != null) { var position = (FFXIVClientStructs.FFXIV.Common.Math.Vector3)gameObject.Position; - ActionManager.Instance()->UseActionLocation(ActionType.KeyItem, itemId, gameObject.ObjectId, &position); + ActionManager.Instance()->UseActionLocation(ActionType.KeyItem, itemId, location: &position); } } @@ -417,4 +422,17 @@ internal sealed unsafe class GameFunctions return false; } + + public void OpenDutyFinder(uint contentFinderConditionId) + { + if (_contentFinderConditionToContentId.TryGetValue(contentFinderConditionId, out ushort contentId)) + { + if (UIState.IsInstanceContentUnlocked(contentId)) + AgentContentsFinder.Instance()->OpenRegularDuty(contentFinderConditionId); + else + _pluginLog.Error($"Trying to access a locked duty (cf: {contentFinderConditionId}, content: {contentId})"); + } + else + _pluginLog.Error($"Could not find content for content finder condition (cf: {contentFinderConditionId})"); + } } diff --git a/Questionable/Model/V1/Converter/InteractionTypeConverter.cs b/Questionable/Model/V1/Converter/InteractionTypeConverter.cs index c5aa932c9..fcd2228b2 100644 --- a/Questionable/Model/V1/Converter/InteractionTypeConverter.cs +++ b/Questionable/Model/V1/Converter/InteractionTypeConverter.cs @@ -19,7 +19,8 @@ public sealed class InteractionTypeConverter() : EnumConverter { EInteractionType.WaitForManualProgress, "WaitForManualProgress" }, { EInteractionType.Duty, "Duty" }, { EInteractionType.SinglePlayerDuty, "SinglePlayerDuty" }, - { EInteractionType.Jump, "ShouldBeAJump" }, + { EInteractionType.Jump, "Jump" }, + { EInteractionType.ShouldBeAJump, "ShouldBeAJump" }, { EInteractionType.Instruction, "Instruction" }, }; } diff --git a/Questionable/Model/V1/EInteractionType.cs b/Questionable/Model/V1/EInteractionType.cs index 9ee2a4557..f0ca8a325 100644 --- a/Questionable/Model/V1/EInteractionType.cs +++ b/Questionable/Model/V1/EInteractionType.cs @@ -19,9 +19,13 @@ public enum EInteractionType WaitForManualProgress, Duty, SinglePlayerDuty, - Jump, + /// + /// Needs to be adjusted for coords etc. in the quest data. + /// + ShouldBeAJump, + /// /// Needs to be manually continued. /// diff --git a/Questionable/Model/V1/JumpDestination.cs b/Questionable/Model/V1/JumpDestination.cs new file mode 100644 index 000000000..e6a709e7f --- /dev/null +++ b/Questionable/Model/V1/JumpDestination.cs @@ -0,0 +1,14 @@ +using System.Numerics; +using System.Text.Json.Serialization; +using Questionable.Model.V1.Converter; + +namespace Questionable.Model.V1; + +public sealed class JumpDestination +{ + [JsonConverter(typeof(VectorConverter))] + public Vector3 Position { get; set; } + + public float? StopDistance { get; set; } + public float? DelaySeconds { get; set; } +} diff --git a/Questionable/Model/V1/QuestStep.cs b/Questionable/Model/V1/QuestStep.cs index 58a84226e..1ab58e52f 100644 --- a/Questionable/Model/V1/QuestStep.cs +++ b/Questionable/Model/V1/QuestStep.cs @@ -38,6 +38,8 @@ public class QuestStep public EEnemySpawnType? EnemySpawnType { get; set; } public IList KillEnemyDataIds { get; set; } = new List(); + public JumpDestination? JumpDestination { get; set; } + public uint? ContentFinderConditionId { get; set; } public IList SkipIf { get; set; } = new List(); } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4377_In the Dark of the Tower.json b/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4377_In the Dark of the Tower.json index 234cbad90..2750142d5 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4377_In the Dark of the Tower.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/A-Thavnair1-Labyrinthos1/4377_In the Dark of the Tower.json @@ -53,15 +53,9 @@ "Sequence": 3, "Steps": [ { - "DataId": 2011959, - "Position": { - "X": -636.4081, - "Y": -0.015319824, - "Z": -663.81323 - }, "TerritoryId": 957, "InteractionType": "Duty", - "Comment": "The Tower of Zot" + "ContentFinderConditionId": 783 } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4395_Gateway of the Gods.json b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4395_Gateway of the Gods.json index 0307961d4..156248350 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4395_Gateway of the Gods.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4395_Gateway of the Gods.json @@ -98,15 +98,9 @@ "Sequence": 4, "Steps": [ { - "DataId": 2012113, - "Position": { - "X": -525.8717, - "Y": -190.02063, - "Z": -676.875 - }, "TerritoryId": 958, "InteractionType": "Duty", - "Comment": "The Tower of Babil" + "ContentFinderConditionId": 785 } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4398_The Martyr.json b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4398_The Martyr.json index 09aca30a5..2c8790783 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4398_The Martyr.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/B-Garlemald/4398_The Martyr.json @@ -39,14 +39,9 @@ "Sequence": 2, "Steps": [ { - "DataId": 2012122, - "Position": { - "X": 99.96179, - "Y": -0.015319824, - "Z": 103.227295 - }, "TerritoryId": 1028, "InteractionType": "Duty", + "ContentFinderConditionId": 802, "Comment": "The Dark Inside" } ] 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 e903c04a1..915609543 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4409_Skies Aflame.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/D-Thavnair2/4409_Skies Aflame.json @@ -63,15 +63,9 @@ "Sequence": 4, "Steps": [ { - "DataId": 2012228, - "Position": { - "X": 205.82886, - "Y": 1.7547607, - "Z": 761.50134 - }, "TerritoryId": 957, "InteractionType": "Duty", - "Comment": "Vanaspati" + "ContentFinderConditionId": 789 } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4425_Their Greatest Contribution.json b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4425_Their Greatest Contribution.json index 40923502c..2f4167231 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4425_Their Greatest Contribution.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4425_Their Greatest Contribution.json @@ -48,13 +48,20 @@ }, { "Position": { - "X": 346.73517, - "Y": -15.572778, - "Z": -105.96149 + "X": 475.2184, + "Y": -17.473314, + "Z": 47.986946 }, "TerritoryId": 961, - "InteractionType": "WalkTo", - "Comment": "Needs manual jumping" + "InteractionType": "Jump", + "JumpDestination": { + "Position": { + "X": 477.34882, + "Y": -16.407324, + "Z": 43.802086 + }, + "DelaySeconds": 0.25 + } }, { "DataId": 1040052, @@ -78,6 +85,7 @@ "Y": -14.757837, "Z": -115.15985 }, + "StopDistance": 7, "TerritoryId": 961, "InteractionType": "Interact" } @@ -95,6 +103,7 @@ "StopDistance": 0.5, "TerritoryId": 961, "InteractionType": "WalkTo", + "Mount": true, "DisableNavmesh": true }, { @@ -141,10 +150,33 @@ "Sequence": 6, "Steps": [ { + "Position": { + "X": -55.662647, + "Y": -16.696985, + "Z": -81.29199 + }, + "StopDistance": 0.25, + "TerritoryId": 961, + "InteractionType": "Jump", + "JumpDestination": { + "Position": { + "X": -58.75509, + "Y": -15.402463, + "Z": -83.133934 + } + }, + "DisableNavmesh": true + }, + { + "Position": { + "X": -64.19198, + "Y": -15.332472, + "Z": -84.65695 + }, + "StopDistance": 0.25, "TerritoryId": 961, "InteractionType": "Emote", - "Emote": "wave", - "Comment": "Need to jump manually" + "Emote": "wave" } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4426_Aether to Aether.json b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4426_Aether to Aether.json index d265bac38..5352451d5 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4426_Aether to Aether.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4426_Aether to Aether.json @@ -27,18 +27,16 @@ "Y": -26.995626, "Z": 543.8281 }, + "StopDistance": 0.5, "TerritoryId": 961, - "InteractionType": "WalkTo" - }, - { - "Position": { - "X": -137.80992, - "Y": -26.995626, - "Z": 543.8281 - }, - "TerritoryId": 961, - "InteractionType": "ShouldBeAJump", - "Comment": "Jump on Ledge" + "InteractionType": "Jump", + "JumpDestination": { + "Position": { + "X": -144.54877, + "Y": -26.230347, + "Z": 551.5067 + } + } }, { "DataId": 2012023, @@ -59,6 +57,7 @@ }, "TerritoryId": 961, "InteractionType": "WalkTo", + "Mount": true, "DisableNavmesh": true }, { diff --git a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4427_A Sentimental Gift.json b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4427_A Sentimental Gift.json index 796271742..610cb853e 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4427_A Sentimental Gift.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4427_A Sentimental Gift.json @@ -45,7 +45,8 @@ "Z": 546.50183 }, "TerritoryId": 961, - "InteractionType": "Interact" + "InteractionType": "Interact", + "$.1": "QuestVariables if done first: 1 0 0 0 0 128" }, { "DataId": 2012136, @@ -129,7 +130,8 @@ "Z": 432.59787 }, "TerritoryId": 961, - "InteractionType": "WalkTo" + "InteractionType": "WalkTo", + "Mount": true }, { "DataId": 2012021, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4429_Travelers at the Crossroads.json b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4429_Travelers at the Crossroads.json index afb984dbe..52d650dfd 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4429_Travelers at the Crossroads.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4429_Travelers at the Crossroads.json @@ -29,7 +29,8 @@ "Z": 236.07227 }, "TerritoryId": 961, - "InteractionType": "Interact" + "InteractionType": "Interact", + "AetheryteShortcut": "Elpis - Anagnorisis" } ] }, @@ -67,6 +68,17 @@ { "Sequence": 4, "Steps": [ + { + "DataId": 2012029, + "Position": { + "X": -255.54291, + "Y": 143.05322, + "Z": -36.972656 + }, + "TerritoryId": 961, + "InteractionType": "AttuneAetherCurrent", + "AetherCurrentId": 2818383 + }, { "DataId": 2012146, "Position": { diff --git a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4430_A Past Not Yet Come to Pass.json b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4430_A Past Not Yet Come to Pass.json index 456d07167..cd21f0d62 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4430_A Past Not Yet Come to Pass.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4430_A Past Not Yet Come to Pass.json @@ -114,7 +114,8 @@ "Z": -197.54811 }, "TerritoryId": 961, - "InteractionType": "WalkTo" + "InteractionType": "WalkTo", + "Mount": true }, { "DataId": 1040117, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4432_Worthy of His Back.json b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4432_Worthy of His Back.json index e248c409d..eed67db3d 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4432_Worthy of His Back.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4432_Worthy of His Back.json @@ -21,17 +21,6 @@ { "Sequence": 1, "Steps": [ - { - "DataId": 2012029, - "Position": { - "X": -255.54291, - "Y": 143.05322, - "Z": -36.972656 - }, - "TerritoryId": 961, - "InteractionType": "AttuneAetherCurrent", - "AetherCurrentId": 2818383 - }, { "Position": { "X": -297.88638, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4433_A Flower upon Your Return.json b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4433_A Flower upon Your Return.json index b170af586..efbe4c0be 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4433_A Flower upon Your Return.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4433_A Flower upon Your Return.json @@ -96,7 +96,7 @@ "Y": 294.93375, "Z": -559.62463 }, - "StopDistance": 5, + "StopDistance": 6, "TerritoryId": 961, "InteractionType": "Interact" } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4436_Follow Wander Stumble Listen.json b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4436_Follow Wander Stumble Listen.json index d5d0a8ba9..e23cd4693 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4436_Follow Wander Stumble Listen.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4436_Follow Wander Stumble Listen.json @@ -44,6 +44,7 @@ }, "TerritoryId": 961, "InteractionType": "WalkTo", + "Mount": true, "DisableNavmesh": true }, { diff --git a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4437_Caging the Messenger.json b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4437_Caging the Messenger.json index cf34ff892..05cb70065 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4437_Caging the Messenger.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/E-Elpis/4437_Caging the Messenger.json @@ -40,16 +40,9 @@ "Sequence": 2, "Steps": [ { - "DataId": 2012172, - "Position": { - "X": -412.49713, - "Y": 329.9458, - "Z": -765.80457 - }, - "StopDistance": 4, "TerritoryId": 961, "InteractionType": "Duty", - "Comment": "Ktisis Hyperborea" + "ContentFinderConditionId": 787 } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4440_Outside Help.json b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4440_Outside Help.json index 1f68f6276..85a5a8c38 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4440_Outside Help.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4440_Outside Help.json @@ -45,8 +45,9 @@ }, "TerritoryId": 962, "InteractionType": "Interact", + "AetheryteShortcut": "Old Sharlayan", "AethernetShortcut": [ - "[Old Sharlayan] Scholar's Harbor", + "[Old Sharlayan] Aetheryte Plaza", "[Old Sharlayan] The Baldesion Annex" ] } diff --git a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4442_No Job Too Small.json b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4442_No Job Too Small.json index 2de34634c..a0b68026f 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4442_No Job Too Small.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4442_No Job Too Small.json @@ -28,8 +28,7 @@ "Z": 457.04776 }, "TerritoryId": 956, - "InteractionType": "WalkTo", - "Comment": "TODO verify this is correct, there was an aether current prior to this" + "InteractionType": "WalkTo" }, { "DataId": 2011989, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4445_Sage Council.json b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4445_Sage Council.json index 0ebd791c4..df8d99a99 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4445_Sage Council.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4445_Sage Council.json @@ -26,9 +26,11 @@ "Y": -28.723352, "Z": -42.992764 }, + "StopDistance": 0.75, "TerritoryId": 956, "InteractionType": "WalkTo", - "AetheryteShortcut": "Labyrinthos - Sharlayan Hamlet" + "AetheryteShortcut": "Labyrinthos - Sharlayan Hamlet", + "Mount": true }, { "DataId": 1039687, @@ -70,6 +72,7 @@ "TerritoryId": 956, "InteractionType": "Interact", "Comment": "Distracted Researcher", + "$.0": "[1]", "$.1": "QuestVariables if done first: 1 0 0 0 2 0" }, { @@ -82,6 +85,7 @@ "TerritoryId": 956, "InteractionType": "Interact", "Comment": "Hyperventilating Engineer", + "$.0": "[2]", "$.1": "QuestVariables if done after [1]: 2 0 0 0 130 0" }, { @@ -94,6 +98,7 @@ "TerritoryId": 956, "InteractionType": "Interact", "Comment": "Harried Aetherologist", + "$.0": "[3]", "$.1": "QuestVariables if done after [2]: 3 0 0 0 138 0" }, { @@ -106,6 +111,7 @@ "TerritoryId": 956, "InteractionType": "Interact", "Comment": "Grimacing Naturalist", + "$.0": "[4]", "$.1": "QuestVariables if done after [3]: 4 0 0 0 142 0" }, { @@ -118,6 +124,7 @@ "TerritoryId": 956, "InteractionType": "Interact", "Comment": "Ponderous Mathematician", + "$.0": "[5]", "$.1": "QuestVariables if done after [4]: 5 0 0 0 206 0" }, { @@ -131,6 +138,7 @@ "InteractionType": "Interact", "Comment": "Despondent Engineer", "Mount": true, + "$.0": "[6]", "$.1": "QuestVariables if done after [5]: 6 0 0 0 238 0" }, { @@ -143,6 +151,8 @@ "TerritoryId": 956, "InteractionType": "Interact", "Comment": "Skeptical Researcher", + "Mount": true, + "$.0": "[7]", "$.1": "QuestVariables if done after [6]: 7 0 0 0 239 0" }, { @@ -154,7 +164,9 @@ }, "TerritoryId": 956, "InteractionType": "Interact", - "Comment": "Anxious Engineer" + "Comment": "Anxious Engineer", + "$.0": "[8]", + "$.2": "QuestVariables if done first: 1 0 0 0 16 0" } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4446_Hither and Yarns.json b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4446_Hither and Yarns.json index 618c5c3e4..8c59e5d1b 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4446_Hither and Yarns.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4446_Hither and Yarns.json @@ -40,6 +40,7 @@ }, "TerritoryId": 956, "InteractionType": "WalkTo", + "Mount": true, "DisableNavmesh": true }, { diff --git a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4447_Once Forged.json b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4447_Once Forged.json index 55f6c7b87..90dcf6acb 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4447_Once Forged.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4447_Once Forged.json @@ -94,14 +94,22 @@ }, { "Position": { - "X": -118.62926, - "Y": -22.071072, - "Z": 681.35846 + "X": -120.48093, + "Y": -21.96263, + "Z": 685.2332 }, "TerritoryId": 956, - "InteractionType": "ShouldBeAJump", + "InteractionType": "Jump", "DisableNavmesh": true, - "Comment": "Navmesh can't jump" + "JumpDestination": { + "Position": { + "X": -124.55376, + "Y": -19.659834, + "Z": 686.864 + }, + "StopDistance": 0.5, + "DelaySeconds": 0.25 + } }, { "DataId": 2011986, @@ -112,7 +120,8 @@ }, "TerritoryId": 956, "InteractionType": "AttuneAetherCurrent", - "AetherCurrentId": 2818317 + "AetherCurrentId": 2818317, + "DisableNavmesh": true }, { "Position": { @@ -122,6 +131,7 @@ }, "TerritoryId": 956, "InteractionType": "WalkTo", + "Mount": true, "DisableNavmesh": true }, { diff --git a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4448_Bonds of Adamantite.json b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4448_Bonds of Adamantite.json index ae59c6253..c319c430c 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4448_Bonds of Adamantite.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4448_Bonds of Adamantite.json @@ -28,7 +28,8 @@ }, "AetheryteShortcut": "Labyrinthos - Sharlayan Hamlet", "TerritoryId": 956, - "InteractionType": "WalkTo" + "InteractionType": "WalkTo", + "Mount": true }, { "DataId": 2012226, @@ -98,6 +99,7 @@ "Y": -191.11913, "Z": 301.71655 }, + "StopDistance": 7, "TerritoryId": 956, "InteractionType": "Interact" } @@ -113,7 +115,8 @@ "Z": 301.63266 }, "TerritoryId": 956, - "InteractionType": "Interact" + "InteractionType": "Interact", + "Comment": "TODO Should cancel navmesh if condition is [OccupiedInCutsceneEvent OR BetweenAreas]; then verify next marker distance" } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4449_Her Children One and All.json b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4449_Her Children One and All.json index 169601d43..9598331dc 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4449_Her Children One and All.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/F-Labyrinthos2/4449_Her Children One and All.json @@ -36,15 +36,9 @@ "Sequence": 2, "Steps": [ { - "DataId": 2012742, - "Position": { - "X": -238.26965, - "Y": -221.51526, - "Z": 341.29846 - }, "TerritoryId": 956, "InteractionType": "Duty", - "Comment": "Aitiascope" + "ContentFinderConditionId": 786 } ] }, @@ -52,14 +46,9 @@ "Sequence": 4, "Steps": [ { - "DataId": 2012230, - "Position": { - "X": 99.95956, - "Y": -2.384186E-07, - "Z": 99.85896 - }, "TerritoryId": 1030, - "InteractionType": "Interact" + "InteractionType": "Duty", + "ContentFinderConditionId": 790 } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/G-UltimaThule/4464_Endwalker.json b/Questionable/QuestPaths/Endwalker/MSQ/G-UltimaThule/4464_Endwalker.json index acf28e3ab..02a9dae40 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/G-UltimaThule/4464_Endwalker.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/G-UltimaThule/4464_Endwalker.json @@ -24,15 +24,9 @@ "Sequence": 1, "Steps": [ { - "DataId": 2012370, - "Position": { - "X": -3.1281738, - "Y": 637.07935, - "Z": -9.079163 - }, "TerritoryId": 960, "InteractionType": "Duty", - "Comment": "The Dead Ends" + "ContentFinderConditionId": 792 } ] }, @@ -40,16 +34,9 @@ "Sequence": 3, "Steps": [ { - "DataId": 2012371, - "Position": { - "X": 100, - "Y": 0, - "Z": 106 - }, - "StopDistance": 5, "TerritoryId": 1029, "InteractionType": "Duty", - "Comment": "The Final Day" + "ContentFinderConditionId": 796 } ] }, 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 953db32dc..b83f9e85f 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 @@ -24,15 +24,9 @@ "Sequence": 1, "Steps": [ { - "DataId": 2012839, - "Position": { - "X": -269.55066, - "Y": 0.10675049, - "Z": 610.65076 - }, "TerritoryId": 957, "InteractionType": "Duty", - "Comment": "Alzadaal's Legacy" + "ContentFinderConditionId": 844 } ] }, 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 7fa88e01f..f2d2e9c82 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 @@ -68,15 +68,9 @@ "Sequence": 4, "Steps": [ { - "DataId": 2013041, - "Position": { - "X": 110.06323, - "Y": -350.02673, - "Z": -89.463684 - }, "TerritoryId": 1056, "InteractionType": "Duty", - "Comment": "Fell Court of Troia" + "ContentFinderConditionId": 869 } ] }, 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 8079e7eb8..31d40549a 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 @@ -37,16 +37,9 @@ "Sequence": 3, "Steps": [ { - "DataId": 2013052, - "Position": { - "X": 99.77076, - "Y": -19, - "Z": 176.985 - }, - "StopDistance": 5, "TerritoryId": 1092, "InteractionType": "Duty", - "Comment": "Storm's Crown" + "ContentFinderConditionId": 870 } ] }, 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 827a24452..dede7fd14 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 @@ -53,16 +53,10 @@ "Sequence": 3, "Steps": [ { - "DataId": 2013225, - "Position": { - "X": 469.16907, - "Y": -18.204102, - "Z": 717.7081 - }, "TerritoryId": 958, - "StopDistance": 5, "InteractionType": "Duty", - "Comment": "Lapis Manalis" + "Comment": "Lapis Manalis", + "ContentFinderConditionId": 896 } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4677_Desires Untold.json b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4677_Desires Untold.json index f05b314c0..054454e8e 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4677_Desires Untold.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/J-6.3/4677_Desires Untold.json @@ -51,15 +51,9 @@ "Sequence": 3, "Steps": [ { - "DataId": 2013240, - "Position": { - "X": 657.3739, - "Y": -180.7837, - "Z": 45.63965 - }, "TerritoryId": 1125, "InteractionType": "Duty", - "Comment": "Mount Ordeals" + "ContentFinderConditionId": 886 } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/K-6.4/4736_Going Haam.json b/Questionable/QuestPaths/Endwalker/MSQ/K-6.4/4736_Going Haam.json index 8b14d592e..5d447b3e9 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/K-6.4/4736_Going Haam.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/K-6.4/4736_Going Haam.json @@ -132,15 +132,9 @@ "Sequence": 7, "Steps": [ { - "DataId": 2013359, - "Position": { - "X": 134.667, - "Y": -16.147, - "Z": 238.0937 - }, "TerritoryId": 962, "InteractionType": "Duty", - "Comment": "The Aetherfont" + "ContentFinderConditionId": 822 } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/K-6.4/4742_Abyssal Dark.json b/Questionable/QuestPaths/Endwalker/MSQ/K-6.4/4742_Abyssal Dark.json index 1ec272a4c..756b43428 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/K-6.4/4742_Abyssal Dark.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/K-6.4/4742_Abyssal Dark.json @@ -36,15 +36,9 @@ "Sequence": 2, "Steps": [ { - "DataId": 2013364, - "Position": { - "X": 99.99231, - "Y": 0.015197754, - "Z": 101.823364 - }, "TerritoryId": 1159, "InteractionType": "Duty", - "Comment": "The Voidcast Dais" + "ContentFinderConditionId": 949 } ] }, diff --git a/Questionable/QuestPaths/Endwalker/MSQ/L-6.5/4748_Down in the Dark.json b/Questionable/QuestPaths/Endwalker/MSQ/L-6.5/4748_Down in the Dark.json index 6a6e37e29..998db8667 100644 --- a/Questionable/QuestPaths/Endwalker/MSQ/L-6.5/4748_Down in the Dark.json +++ b/Questionable/QuestPaths/Endwalker/MSQ/L-6.5/4748_Down in the Dark.json @@ -21,15 +21,9 @@ "Sequence": 1, "Steps": [ { - "DataId": 2013410, - "Position": { - "X": 24.338135, - "Y": 56.65674, - "Z": 439.96326 - }, "TerritoryId": 1162, "InteractionType": "Duty", - "Comment": "The Lunar Subterrane" + "ContentFinderConditionId": 823 } ] }, @@ -52,15 +46,9 @@ "Sequence": 5, "Steps": [ { - "DataId": 2013411, - "Position": { - "X": 100.0275, - "Y": 0, - "Z": 106.3549 - }, "TerritoryId": 1181, "InteractionType": "Duty", - "Comment": "The Abyssal Fracture" + "ContentFinderConditionId": 964 } ] }, diff --git a/Questionable/QuestPaths/Shadowbringers/MSQ/F-Tempest/3654_Shadowbringers.json b/Questionable/QuestPaths/Shadowbringers/MSQ/F-Tempest/3654_Shadowbringers.json index aff07c457..b99724314 100644 --- a/Questionable/QuestPaths/Shadowbringers/MSQ/F-Tempest/3654_Shadowbringers.json +++ b/Questionable/QuestPaths/Shadowbringers/MSQ/F-Tempest/3654_Shadowbringers.json @@ -7,16 +7,9 @@ "Sequence": 7, "Steps": [ { - "DataId": 2010235, - "Position": { - "X": -426.9627, - "Y": -229.08374, - "Z": 858.09106 - }, - "StopDistance": 5, "TerritoryId": 818, "InteractionType": "Duty", - "Comment": "Amaurot" + "ContentFinderConditionId": 652 } ] }, @@ -24,16 +17,9 @@ "Sequence": 9, "Steps": [ { - "DataId": 2010236, - "Position": { - "X": 100.0382, - "Y": 4.768372E-07, - "Z": 106.0076 - }, - "StopDistance": 5, "TerritoryId": 881, "InteractionType": "Duty", - "Comment": "The Dying Gasp" + "ContentFinderConditionId": 687 } ] }, diff --git a/Questionable/QuestPaths/Shadowbringers/MSQ/G-5.1/3674_A Grand Adventure.json b/Questionable/QuestPaths/Shadowbringers/MSQ/G-5.1/3674_A Grand Adventure.json index ec57c56e6..1da111e1c 100644 --- a/Questionable/QuestPaths/Shadowbringers/MSQ/G-5.1/3674_A Grand Adventure.json +++ b/Questionable/QuestPaths/Shadowbringers/MSQ/G-5.1/3674_A Grand Adventure.json @@ -47,15 +47,9 @@ "Sequence": 2, "Steps": [ { - "DataId": 2010808, - "Position": { - "X": -123.55237, - "Y": -0.7172241, - "Z": 647.6997 - }, "TerritoryId": 813, "InteractionType": "Duty", - "Comment": "Grand Cosmos" + "ContentFinderConditionId": 692 } ] }, diff --git a/Questionable/QuestPaths/Shadowbringers/MSQ/H-5.2/3769_Beneath the Surface.json b/Questionable/QuestPaths/Shadowbringers/MSQ/H-5.2/3769_Beneath the Surface.json index 4965aee3c..555ec6a04 100644 --- a/Questionable/QuestPaths/Shadowbringers/MSQ/H-5.2/3769_Beneath the Surface.json +++ b/Questionable/QuestPaths/Shadowbringers/MSQ/H-5.2/3769_Beneath the Surface.json @@ -38,16 +38,9 @@ "Sequence": 2, "Steps": [ { - "DataId": 2010952, - "Position": { - "X": -539.0652, - "Y": 63.97181, - "Z": 738.8608 - }, - "StopDistance": 5, "TerritoryId": 814, "InteractionType": "Duty", - "Comment": "Anamnesis Anyder" + "ContentFinderConditionId": 714 } ] } diff --git a/Questionable/QuestPaths/Shadowbringers/MSQ/I-5.3/3777_The Converging Light.json b/Questionable/QuestPaths/Shadowbringers/MSQ/I-5.3/3777_The Converging Light.json index 566d98b3f..7d1d4e19f 100644 --- a/Questionable/QuestPaths/Shadowbringers/MSQ/I-5.3/3777_The Converging Light.json +++ b/Questionable/QuestPaths/Shadowbringers/MSQ/I-5.3/3777_The Converging Light.json @@ -52,15 +52,9 @@ "Sequence": 3, "Steps": [ { - "DataId": 2011101, - "Position": { - "X": 60.04639, - "Y": 82.82986, - "Z": 1.940211 - }, "TerritoryId": 820, "InteractionType": "Duty", - "Comment": "The Heroes' Gauntlet" + "ContentFinderConditionId": 737 } ] }, diff --git a/Questionable/QuestPaths/Shadowbringers/MSQ/I-5.3/3778_Hope's Confluence.json b/Questionable/QuestPaths/Shadowbringers/MSQ/I-5.3/3778_Hope's Confluence.json index 67efa3eb8..0c53c5ee9 100644 --- a/Questionable/QuestPaths/Shadowbringers/MSQ/I-5.3/3778_Hope's Confluence.json +++ b/Questionable/QuestPaths/Shadowbringers/MSQ/I-5.3/3778_Hope's Confluence.json @@ -21,16 +21,9 @@ "Sequence": 1, "Steps": [ { - "DataId": 2011103, - "Position": { - "X": 100, - "Y": 4.208088E-05, - "Z": 112.5434 - }, - "StopDistance": 5, "TerritoryId": 931, "InteractionType": "Duty", - "Comment": "The Seat of Sacrifice" + "ContentFinderConditionId": 738 } ] }, diff --git a/Questionable/QuestPaths/Shadowbringers/MSQ/J-5.4/4011_Like Master, Like Pupil.json b/Questionable/QuestPaths/Shadowbringers/MSQ/J-5.4/4011_Like Master, Like Pupil.json index 192c55041..a2effa72e 100644 --- a/Questionable/QuestPaths/Shadowbringers/MSQ/J-5.4/4011_Like Master, Like Pupil.json +++ b/Questionable/QuestPaths/Shadowbringers/MSQ/J-5.4/4011_Like Master, Like Pupil.json @@ -80,15 +80,9 @@ "Sequence": 4, "Steps": [ { - "DataId": 2011334, - "Position": { - "X": 384.32886, - "Y": 75.48633, - "Z": -218.00574 - }, "TerritoryId": 399, "InteractionType": "Duty", - "Comment": "Matoya's Relict" + "ContentFinderConditionId": 746 } ] }, diff --git a/Questionable/QuestPaths/Shadowbringers/MSQ/K-5.5/4062_The Flames of War.json b/Questionable/QuestPaths/Shadowbringers/MSQ/K-5.5/4062_The Flames of War.json index 5d8ceac14..5c03ea946 100644 --- a/Questionable/QuestPaths/Shadowbringers/MSQ/K-5.5/4062_The Flames of War.json +++ b/Questionable/QuestPaths/Shadowbringers/MSQ/K-5.5/4062_The Flames of War.json @@ -57,15 +57,9 @@ "Sequence": 3, "Steps": [ { - "DataId": 2011521, - "Position": { - "X": -24.368713, - "Y": 83.17688, - "Z": 12.893799 - }, "TerritoryId": 130, "InteractionType": "Duty", - "Comment": "Paglth'an" + "ContentFinderConditionId": 777 } ] }, diff --git a/Questionable/QuestSchema/schema_v1.json b/Questionable/QuestSchema/schema_v1.json index 27d30856c..c63791afa 100644 --- a/Questionable/QuestSchema/schema_v1.json +++ b/Questionable/QuestSchema/schema_v1.json @@ -105,6 +105,7 @@ "WaitForManualProgress", "Duty", "SinglePlayerDuty", + "Jump", "ShouldBeAJump", "Instruction" ] @@ -375,6 +376,52 @@ "description": "The Item to use", "exclusiveMinimum": 0 }, + "JumpDestination": { + "type": "object", + "properties": { + "Position": { + "type": "object", + "description": "Position to try reaching after the jump", + "properties": { + "X": { + "type": "number" + }, + "Y": { + "type": "number" + }, + "Z": { + "type": "number" + } + }, + "required": [ + "X", + "Y", + "Z" + ] + }, + "StopDistance": { + "type": [ + "number", + "null" + ], + "description": "Set if pathfinding should stop closer or further away from the default stop distance", + "exclusiveMinimum": 0 + }, + "DelaySeconds": { + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "Position" + ] + }, + "ContentFinderConditionId": { + "type": "number", + "exclusiveMinimum": 0 + }, "SkipIf": { "type": "array", "description": "TODO Not implemented", diff --git a/Questionable/QuestionablePlugin.cs b/Questionable/QuestionablePlugin.cs index 0d19dfe90..ccb22e365 100644 --- a/Questionable/QuestionablePlugin.cs +++ b/Questionable/QuestionablePlugin.cs @@ -53,7 +53,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin _movementController = new MovementController(navmeshIpc, clientState, _gameFunctions, condition, pluginLog); _questController = new QuestController(pluginInterface, dataManager, _clientState, _gameFunctions, - _movementController, pluginLog, condition, chatGui, aetheryteData, lifestreamIpc); + _movementController, pluginLog, condition, chatGui, framework, aetheryteData, lifestreamIpc); _windowSystem.AddWindow(new DebugWindow(_movementController, _questController, _gameFunctions, clientState, targetManager));