From ea100613ce3d4e468fbf0a33273734c9443266a4 Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Sat, 3 Aug 2024 21:33:52 +0200 Subject: [PATCH] EW Paths --- GatheringPathRenderer/Configuration.cs | 9 + GatheringPathRenderer/EditorCommands.cs | 5 +- GatheringPathRenderer/RendererPlugin.cs | 15 +- GatheringPathRenderer/Windows/EditorWindow.cs | 2 +- .../The Ruby Sea/507_Onokoro_BTN.json | 137 +++++++++++++++ .../Elpis/846_Anagnorisis_BTN.json | 113 +++++++++++++ .../Garlemald/842_Camp Broken Glass_BTN.json | 131 +++++++++++++++ .../838_Meryall Agronomics_BTN.json | 136 +++++++++++++++ .../902_Heimdall's Last Sight_BTN.json | 104 ++++++++++++ .../Thavnair/840_Giantsgall Grounds_BTN.json | 136 +++++++++++++++ .../Kozama'uka/976_Uyuyub'_MIN.json | 158 ++++++++++++++++++ .../Kozama'uka/986_Uyuyub'_BTN.json | 131 +++++++++++++++ .../Shaaloani/978_Pyariyoanaan Plain_MIN.json | 154 +++++++++++++++++ .../999_Yawtanane Grasslands_BTN.json | 136 +++++++++++++++ .../Urqopacha/975_Sorrow_MIN.json | 158 ++++++++++++++++++ .../Urqopacha/994_Larh Tortoh_BTN.json | 142 ++++++++++++++++ .../1000_The Xobr'it Cinderfield_BTN.json | 140 ++++++++++++++++ .../Yak T'el/979_The Ut'ohmu Horizon_MIN.json | 158 ++++++++++++++++++ .../Steps/Shared/GatheringRequiredItems.cs | 12 +- 19 files changed, 1970 insertions(+), 7 deletions(-) create mode 100644 GatheringPathRenderer/Configuration.cs create mode 100644 GatheringPaths/4.x - Stormblood/The Ruby Sea/507_Onokoro_BTN.json create mode 100644 GatheringPaths/6.x - Endwalker/Elpis/846_Anagnorisis_BTN.json create mode 100644 GatheringPaths/6.x - Endwalker/Garlemald/842_Camp Broken Glass_BTN.json create mode 100644 GatheringPaths/6.x - Endwalker/Labyrinthos/838_Meryall Agronomics_BTN.json create mode 100644 GatheringPaths/6.x - Endwalker/Mare Lamentorum/902_Heimdall's Last Sight_BTN.json create mode 100644 GatheringPaths/6.x - Endwalker/Thavnair/840_Giantsgall Grounds_BTN.json create mode 100644 GatheringPaths/7.x - Dawntrail/Kozama'uka/976_Uyuyub'_MIN.json create mode 100644 GatheringPaths/7.x - Dawntrail/Kozama'uka/986_Uyuyub'_BTN.json create mode 100644 GatheringPaths/7.x - Dawntrail/Shaaloani/978_Pyariyoanaan Plain_MIN.json create mode 100644 GatheringPaths/7.x - Dawntrail/Shaaloani/999_Yawtanane Grasslands_BTN.json create mode 100644 GatheringPaths/7.x - Dawntrail/Urqopacha/975_Sorrow_MIN.json create mode 100644 GatheringPaths/7.x - Dawntrail/Urqopacha/994_Larh Tortoh_BTN.json create mode 100644 GatheringPaths/7.x - Dawntrail/Yak T'el/1000_The Xobr'it Cinderfield_BTN.json create mode 100644 GatheringPaths/7.x - Dawntrail/Yak T'el/979_The Ut'ohmu Horizon_MIN.json diff --git a/GatheringPathRenderer/Configuration.cs b/GatheringPathRenderer/Configuration.cs new file mode 100644 index 000000000..bea8f74ae --- /dev/null +++ b/GatheringPathRenderer/Configuration.cs @@ -0,0 +1,9 @@ +using Dalamud.Configuration; + +namespace GatheringPathRenderer; + +internal sealed class Configuration : IPluginConfiguration +{ + public int Version { get; set; } = 1; + public string AuthorName { get; set; } = "?"; +} diff --git a/GatheringPathRenderer/EditorCommands.cs b/GatheringPathRenderer/EditorCommands.cs index d15e62072..792a3ab37 100644 --- a/GatheringPathRenderer/EditorCommands.cs +++ b/GatheringPathRenderer/EditorCommands.cs @@ -26,9 +26,10 @@ internal sealed class EditorCommands : IDisposable private readonly ITargetManager _targetManager; private readonly IClientState _clientState; private readonly IChatGui _chatGui; + private readonly Configuration _configuration; public EditorCommands(RendererPlugin plugin, IDataManager dataManager, ICommandManager commandManager, - ITargetManager targetManager, IClientState clientState, IChatGui chatGui) + ITargetManager targetManager, IClientState clientState, IChatGui chatGui, Configuration configuration) { _plugin = plugin; _dataManager = dataManager; @@ -36,6 +37,7 @@ internal sealed class EditorCommands : IDisposable _targetManager = targetManager; _clientState = clientState; _chatGui = chatGui; + _configuration = configuration; _commandManager.AddHandler("/qg", new CommandInfo(ProcessCommand)); } @@ -183,6 +185,7 @@ internal sealed class EditorCommands : IDisposable $"{gatheringPoint.GatheringPointBase.Row}_{gatheringPoint.PlaceName.Value!.Name}_{(_clientState.LocalPlayer!.ClassJob.Id == 16 ? "MIN" : "BTN")}.json")); var root = new GatheringRoot { + Author = [_configuration.AuthorName], TerritoryId = _clientState.TerritoryType, Groups = [ diff --git a/GatheringPathRenderer/RendererPlugin.cs b/GatheringPathRenderer/RendererPlugin.cs index ef2b352ca..f8d63632f 100644 --- a/GatheringPathRenderer/RendererPlugin.cs +++ b/GatheringPathRenderer/RendererPlugin.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using System.Security.Cryptography; using System.Text.Json; using System.Text.Json.Nodes; using System.Text.Json.Serialization; @@ -13,7 +12,6 @@ using Dalamud.Plugin.Services; using ECommons; using ECommons.Schedulers; using ECommons.SplatoonAPI; -using FFXIVClientStructs.FFXIV.Common.Math; using GatheringPathRenderer.Windows; using Questionable.Model; using Questionable.Model.Gathering; @@ -44,7 +42,15 @@ public sealed class RendererPlugin : IDalamudPlugin _clientState = clientState; _pluginLog = pluginLog; - _editorCommands = new EditorCommands(this, dataManager, commandManager, targetManager, clientState, chatGui); + Configuration? configuration = (Configuration?)pluginInterface.GetPluginConfig(); + if (configuration == null) + { + configuration = new Configuration(); + pluginInterface.SavePluginConfig(configuration); + } + + _editorCommands = new EditorCommands(this, dataManager, commandManager, targetManager, clientState, chatGui, + configuration); _editorWindow = new EditorWindow(this, _editorCommands, dataManager, targetManager, clientState, objectTable) { IsOpen = true }; _windowSystem.AddWindow(_editorWindow); @@ -221,7 +227,8 @@ public sealed class RendererPlugin : IDalamudPlugin refX = x.Position.X, refY = x.Position.Z, refZ = x.Position.Y, - color = 0x00000000, + color = 0xFFFFFFFF, + radius = 0.1f, Enabled = true, overlayText = $"{location.Root.Groups.IndexOf(group)} // {node.DataId} / {node.Locations.IndexOf(x)}", diff --git a/GatheringPathRenderer/Windows/EditorWindow.cs b/GatheringPathRenderer/Windows/EditorWindow.cs index d2edf65e8..ace028624 100644 --- a/GatheringPathRenderer/Windows/EditorWindow.cs +++ b/GatheringPathRenderer/Windows/EditorWindow.cs @@ -103,7 +103,7 @@ internal sealed class EditorWindow : Window ImGui.Indent(); ImGui.Text(context.File.Name); ImGui.Unindent(); - ImGui.Text($"{_target.DataId} // {location.InternalId}"); + ImGui.Text($"{_target.DataId} +{node.Locations.Count-1} / {location.InternalId.ToString().Substring(0, 4)}"); ImGui.Text(string.Create(CultureInfo.InvariantCulture, $"{location.Position:G}")); if (!_changes.TryGetValue(location.InternalId, out LocationOverride? locationOverride)) diff --git a/GatheringPaths/4.x - Stormblood/The Ruby Sea/507_Onokoro_BTN.json b/GatheringPaths/4.x - Stormblood/The Ruby Sea/507_Onokoro_BTN.json new file mode 100644 index 000000000..cbe79c547 --- /dev/null +++ b/GatheringPaths/4.x - Stormblood/The Ruby Sea/507_Onokoro_BTN.json @@ -0,0 +1,137 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 613, + "Groups": [ + { + "Nodes": [ + { + "DataId": 32205, + "Locations": [ + { + "Position": { + "X": 58.18178, + "Y": 2.700867, + "Z": -778.6965 + }, + "MinimumAngle": 45, + "MaximumAngle": 235 + } + ] + }, + { + "DataId": 32204, + "Locations": [ + { + "Position": { + "X": 72.41409, + "Y": 3.151178, + "Z": -776.8186 + }, + "MinimumAngle": 80, + "MaximumAngle": 255 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 32200, + "Locations": [ + { + "Position": { + "X": -69.36879, + "Y": 3.296089, + "Z": -821.5594 + }, + "MinimumAngle": -120, + "MaximumAngle": 40 + } + ] + }, + { + "DataId": 32201, + "Locations": [ + { + "Position": { + "X": -69.29061, + "Y": 3.013922, + "Z": -803.5723 + }, + "MinimumAngle": 30, + "MaximumAngle": 185 + }, + { + "Position": { + "X": -58.63464, + "Y": 2.637568, + "Z": -819.6691 + }, + "MinimumAngle": 0, + "MaximumAngle": 195 + }, + { + "Position": { + "X": -58.09113, + "Y": 3.463745, + "Z": -787.4418 + } + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 32202, + "Locations": [ + { + "Position": { + "X": -73.56532, + "Y": 2.819433, + "Z": -633.0066 + }, + "MinimumAngle": 195, + "MaximumAngle": 335 + } + ] + }, + { + "DataId": 32203, + "Locations": [ + { + "Position": { + "X": -22.5884, + "Y": 3.535999, + "Z": -617.6862 + }, + "MinimumAngle": 35, + "MaximumAngle": 225 + }, + { + "Position": { + "X": -84.8622, + "Y": 3.222104, + "Z": -642.1901 + }, + "MinimumAngle": 75, + "MaximumAngle": 305 + }, + { + "Position": { + "X": -74.18819, + "Y": 2.731044, + "Z": -645.1037 + }, + "MinimumAngle": 20, + "MaximumAngle": 220 + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/6.x - Endwalker/Elpis/846_Anagnorisis_BTN.json b/GatheringPaths/6.x - Endwalker/Elpis/846_Anagnorisis_BTN.json new file mode 100644 index 000000000..8262dab42 --- /dev/null +++ b/GatheringPaths/6.x - Endwalker/Elpis/846_Anagnorisis_BTN.json @@ -0,0 +1,113 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 961, + "AetheryteShortcut": "Elpis - Anagnorisis", + "Groups": [ + { + "Nodes": [ + { + "DataId": 34020, + "Locations": [ + { + "Position": { + "X": 44.78436, + "Y": 7.229512, + "Z": 98.57001 + } + } + ] + }, + { + "DataId": 34021, + "Locations": [ + { + "Position": { + "X": 46.74728, + "Y": 7.877012, + "Z": 88.79111 + } + }, + { + "Position": { + "X": 34.40783, + "Y": 3.908499, + "Z": 67.13975 + } + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34023, + "Locations": [ + { + "Position": { + "X": -91.27831, + "Y": -8.489767, + "Z": 69.08894 + } + }, + { + "Position": { + "X": -117.3572, + "Y": -11.70367, + "Z": 38.49854 + } + } + ] + }, + { + "DataId": 34022, + "Locations": [ + { + "Position": { + "X": -124.86, + "Y": -11.29384, + "Z": 89.80068 + } + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34019, + "Locations": [ + { + "Position": { + "X": -13.48685, + "Y": 4.629431, + "Z": 208.5452 + } + }, + { + "Position": { + "X": -65.74567, + "Y": -2.738637, + "Z": 195.961 + } + } + ] + }, + { + "DataId": 34018, + "Locations": [ + { + "Position": { + "X": -41.94958, + "Y": -0.697382, + "Z": 173.7239 + } + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/6.x - Endwalker/Garlemald/842_Camp Broken Glass_BTN.json b/GatheringPaths/6.x - Endwalker/Garlemald/842_Camp Broken Glass_BTN.json new file mode 100644 index 000000000..70944b16c --- /dev/null +++ b/GatheringPaths/6.x - Endwalker/Garlemald/842_Camp Broken Glass_BTN.json @@ -0,0 +1,131 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 958, + "AetheryteShortcut": "Garlemald - Camp Broken Glass", + "Groups": [ + { + "Nodes": [ + { + "DataId": 34002, + "Locations": [ + { + "Position": { + "X": -278.0806, + "Y": 23.49333, + "Z": 457.1718 + }, + "MinimumAngle": 155, + "MaximumAngle": 360 + }, + { + "Position": { + "X": -247.303, + "Y": 24.73875, + "Z": 431.0542 + }, + "MinimumAngle": 55, + "MaximumAngle": 265 + } + ] + }, + { + "DataId": 34001, + "Locations": [ + { + "Position": { + "X": -231.6437, + "Y": 23.05049, + "Z": 438.9474 + }, + "MinimumAngle": 135, + "MaximumAngle": 340 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 33999, + "Locations": [ + { + "Position": { + "X": -224.5309, + "Y": 18.15879, + "Z": 302.212 + }, + "MinimumAngle": -20, + "MaximumAngle": 180 + } + ] + }, + { + "DataId": 34000, + "Locations": [ + { + "Position": { + "X": -201.1902, + "Y": 17.46593, + "Z": 293.0554 + }, + "MinimumAngle": -20, + "MaximumAngle": 180 + }, + { + "Position": { + "X": -206.8405, + "Y": 21.01518, + "Z": 327.3298 + }, + "MinimumAngle": 0, + "MaximumAngle": 205 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 33998, + "Locations": [ + { + "Position": { + "X": -356.6845, + "Y": 25.77399, + "Z": 371.3325 + }, + "MinimumAngle": -245, + "MaximumAngle": -55 + }, + { + "Position": { + "X": -378.934, + "Y": 21.82056, + "Z": 365.7343 + }, + "MinimumAngle": -160, + "MaximumAngle": 10 + } + ] + }, + { + "DataId": 33997, + "Locations": [ + { + "Position": { + "X": -365.8535, + "Y": 18.70865, + "Z": 339.1927 + }, + "MinimumAngle": -180, + "MaximumAngle": 5 + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/6.x - Endwalker/Labyrinthos/838_Meryall Agronomics_BTN.json b/GatheringPaths/6.x - Endwalker/Labyrinthos/838_Meryall Agronomics_BTN.json new file mode 100644 index 000000000..396b05e51 --- /dev/null +++ b/GatheringPaths/6.x - Endwalker/Labyrinthos/838_Meryall Agronomics_BTN.json @@ -0,0 +1,136 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 956, + "AetheryteShortcut": "Labyrinthos - Archeion", + "Groups": [ + { + "Nodes": [ + { + "DataId": 33980, + "Locations": [ + { + "Position": { + "X": 331.2026, + "Y": 86.06693, + "Z": -318.6516 + } + } + ] + }, + { + "DataId": 33981, + "Locations": [ + { + "Position": { + "X": 334.0037, + "Y": 85.40742, + "Z": -300.7174 + } + }, + { + "Position": { + "X": 355.6456, + "Y": 86.62501, + "Z": -308.6764 + } + }, + { + "Position": { + "X": 340.9933, + "Y": 86.25529, + "Z": -324.239 + } + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 33979, + "Locations": [ + { + "Position": { + "X": 255.936, + "Y": 70.96983, + "Z": -233.1732 + } + }, + { + "Position": { + "X": 239.4902, + "Y": 69.74259, + "Z": -224.506 + } + }, + { + "Position": { + "X": 265.0269, + "Y": 70.56706, + "Z": -208.2487 + } + } + ] + }, + { + "DataId": 33978, + "Locations": [ + { + "Position": { + "X": 262.5149, + "Y": 69.96209, + "Z": -200.2567 + }, + "MinimumAngle": 55, + "MaximumAngle": 320 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 33976, + "Locations": [ + { + "Position": { + "X": 375.1279, + "Y": 67.35788, + "Z": -150.6431 + } + } + ] + }, + { + "DataId": 33977, + "Locations": [ + { + "Position": { + "X": 392.5393, + "Y": 65.98527, + "Z": -141.6628 + } + }, + { + "Position": { + "X": 368.5759, + "Y": 67.33283, + "Z": -140.4326 + } + }, + { + "Position": { + "X": 383.0393, + "Y": 67.01035, + "Z": -158.8207 + } + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/6.x - Endwalker/Mare Lamentorum/902_Heimdall's Last Sight_BTN.json b/GatheringPaths/6.x - Endwalker/Mare Lamentorum/902_Heimdall's Last Sight_BTN.json new file mode 100644 index 000000000..ae21eaea9 --- /dev/null +++ b/GatheringPaths/6.x - Endwalker/Mare Lamentorum/902_Heimdall's Last Sight_BTN.json @@ -0,0 +1,104 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 959, + "AetheryteShortcut": "Mare Lamentorum - Bestways Burrow", + "Groups": [ + { + "Nodes": [ + { + "DataId": 34337, + "Locations": [ + { + "Position": { + "X": 531.9888, + "Y": 133.5777, + "Z": 288.7549 + }, + "MinimumAngle": 190, + "MaximumAngle": 345 + } + ] + }, + { + "DataId": 34338, + "Locations": [ + { + "Position": { + "X": 562.9013, + "Y": 134.3907, + "Z": 254.6339 + }, + "MinimumAngle": -75, + "MaximumAngle": 80 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34339, + "Locations": [ + { + "Position": { + "X": 685.4268, + "Y": 130.6815, + "Z": 267.9914 + }, + "MinimumAngle": -75, + "MaximumAngle": 110 + } + ] + }, + { + "DataId": 34340, + "Locations": [ + { + "Position": { + "X": 720.4895, + "Y": 139.9972, + "Z": 239.97 + }, + "MinimumAngle": -30, + "MaximumAngle": 90 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34335, + "Locations": [ + { + "Position": { + "X": 629.7982, + "Y": 144.0473, + "Z": 418.6548 + }, + "MinimumAngle": 120, + "MaximumAngle": 260 + } + ] + }, + { + "DataId": 34336, + "Locations": [ + { + "Position": { + "X": 712.2249, + "Y": 149.0579, + "Z": 390.7473 + }, + "MinimumAngle": 35, + "MaximumAngle": 195 + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/6.x - Endwalker/Thavnair/840_Giantsgall Grounds_BTN.json b/GatheringPaths/6.x - Endwalker/Thavnair/840_Giantsgall Grounds_BTN.json new file mode 100644 index 000000000..bf1884b5d --- /dev/null +++ b/GatheringPaths/6.x - Endwalker/Thavnair/840_Giantsgall Grounds_BTN.json @@ -0,0 +1,136 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 957, + "AetheryteShortcut": "Thavnair - Great Work", + "Groups": [ + { + "Nodes": [ + { + "DataId": 33993, + "Locations": [ + { + "Position": { + "X": -97.85602, + "Y": 91.39626, + "Z": -562.7067 + } + } + ] + }, + { + "DataId": 33992, + "Locations": [ + { + "Position": { + "X": -91.53894, + "Y": 91.14209, + "Z": -520.9888 + } + }, + { + "Position": { + "X": -82.73576, + "Y": 91.15034, + "Z": -532.2811 + } + }, + { + "Position": { + "X": -119.5286, + "Y": 89.67725, + "Z": -601.3649 + } + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 33990, + "Locations": [ + { + "Position": { + "X": 105.0951, + "Y": 75.30056, + "Z": -581.8511 + } + } + ] + }, + { + "DataId": 33991, + "Locations": [ + { + "Position": { + "X": 113.0813, + "Y": 72.75166, + "Z": -575.8746 + } + }, + { + "Position": { + "X": 133.7231, + "Y": 67.87361, + "Z": -567.9795 + } + }, + { + "Position": { + "X": 109.7108, + "Y": 71.64627, + "Z": -562.0082 + } + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 33988, + "Locations": [ + { + "Position": { + "X": 53.25103, + "Y": 92.24804, + "Z": -643.022 + } + } + ] + }, + { + "DataId": 33989, + "Locations": [ + { + "Position": { + "X": 59.02333, + "Y": 93.08621, + "Z": -646.8438 + } + }, + { + "Position": { + "X": 8.818645, + "Y": 90.40326, + "Z": -640.8149 + } + }, + { + "Position": { + "X": 41.15356, + "Y": 96.41193, + "Z": -676.5558 + }, + "MinimumAngle": -85, + "MaximumAngle": 90 + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/7.x - Dawntrail/Kozama'uka/976_Uyuyub'_MIN.json b/GatheringPaths/7.x - Dawntrail/Kozama'uka/976_Uyuyub'_MIN.json new file mode 100644 index 000000000..f83d5960e --- /dev/null +++ b/GatheringPaths/7.x - Dawntrail/Kozama'uka/976_Uyuyub'_MIN.json @@ -0,0 +1,158 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 1188, + "AetheryteShortcut": "Kozama'uka - Ok'hanu", + "Groups": [ + { + "Nodes": [ + { + "DataId": 34763, + "Locations": [ + { + "Position": { + "X": -628.5966, + "Y": 3.089153, + "Z": -417.3812 + }, + "MinimumAngle": -80, + "MaximumAngle": 70 + } + ] + }, + { + "DataId": 34764, + "Locations": [ + { + "Position": { + "X": -644.7781, + "Y": 2.261729, + "Z": -416.9234 + }, + "MinimumAngle": -70, + "MaximumAngle": 100 + }, + { + "Position": { + "X": -621.8856, + "Y": 3.151928, + "Z": -418.6934 + }, + "MinimumAngle": -85, + "MaximumAngle": 75 + }, + { + "Position": { + "X": -632.9135, + "Y": 2.716663, + "Z": -417.9657 + }, + "MinimumAngle": -55, + "MaximumAngle": 75 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34766, + "Locations": [ + { + "Position": { + "X": -823.1537, + "Y": 7.570713, + "Z": -344.0435 + }, + "MinimumAngle": -150, + "MaximumAngle": -10 + }, + { + "Position": { + "X": -824.2916, + "Y": 8.34999, + "Z": -311.9117 + }, + "MinimumAngle": 215, + "MaximumAngle": 345 + }, + { + "Position": { + "X": -825.0306, + "Y": 9.265428, + "Z": -279.9193 + }, + "MinimumAngle": 205, + "MaximumAngle": 330 + } + ] + }, + { + "DataId": 34765, + "Locations": [ + { + "Position": { + "X": -824.3366, + "Y": 7.884955, + "Z": -327.8148 + }, + "MinimumAngle": 205, + "MaximumAngle": 340 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34761, + "Locations": [ + { + "Position": { + "X": -593.9269, + "Y": 3.169262, + "Z": -223.1938 + }, + "MinimumAngle": 65, + "MaximumAngle": 195 + } + ] + }, + { + "DataId": 34762, + "Locations": [ + { + "Position": { + "X": -584.8643, + "Y": 3.320522, + "Z": -227.3047 + }, + "MinimumAngle": 110, + "MaximumAngle": 245 + }, + { + "Position": { + "X": -602.5651, + "Y": 3.251461, + "Z": -217.1539 + }, + "MinimumAngle": 70, + "MaximumAngle": 210 + }, + { + "Position": { + "X": -613.296, + "Y": 2.557324, + "Z": -205.7018 + }, + "MinimumAngle": 50, + "MaximumAngle": 195 + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/7.x - Dawntrail/Kozama'uka/986_Uyuyub'_BTN.json b/GatheringPaths/7.x - Dawntrail/Kozama'uka/986_Uyuyub'_BTN.json new file mode 100644 index 000000000..5ff1849ed --- /dev/null +++ b/GatheringPaths/7.x - Dawntrail/Kozama'uka/986_Uyuyub'_BTN.json @@ -0,0 +1,131 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 1188, + "AetheryteShortcut": "Kozama'uka - Ok'hanu", + "Groups": [ + { + "Nodes": [ + { + "DataId": 34821, + "Locations": [ + { + "Position": { + "X": -114.9673, + "Y": 9.311809, + "Z": -638.1873 + }, + "MinimumAngle": -125, + "MaximumAngle": 50 + } + ] + }, + { + "DataId": 34822, + "Locations": [ + { + "Position": { + "X": -139.9428, + "Y": 17.33419, + "Z": -662.0339 + }, + "MinimumAngle": -175, + "MaximumAngle": 10 + }, + { + "Position": { + "X": -98.84892, + "Y": 8.927668, + "Z": -645.7149 + }, + "MinimumAngle": 165, + "MaximumAngle": 360 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34826, + "Locations": [ + { + "Position": { + "X": 60.64223, + "Y": 4.514977, + "Z": -535.9874 + }, + "MinimumAngle": 20, + "MaximumAngle": 200 + }, + { + "Position": { + "X": 22.99263, + "Y": 3.71779, + "Z": -519.9791 + }, + "MinimumAngle": 110, + "MaximumAngle": 285 + } + ] + }, + { + "DataId": 34825, + "Locations": [ + { + "Position": { + "X": 56.54757, + "Y": 4.987343, + "Z": -486.204 + }, + "MinimumAngle": 40, + "MaximumAngle": 220 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34824, + "Locations": [ + { + "Position": { + "X": 110.7947, + "Y": 6.466304, + "Z": -633.701 + }, + "MinimumAngle": 20, + "MaximumAngle": 205 + }, + { + "Position": { + "X": 78.47705, + "Y": 8.072021, + "Z": -627.9545 + }, + "MinimumAngle": 130, + "MaximumAngle": 290 + } + ] + }, + { + "DataId": 34823, + "Locations": [ + { + "Position": { + "X": 91.40367, + "Y": 7.397814, + "Z": -659.1525 + }, + "MinimumAngle": -40, + "MaximumAngle": 145 + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/7.x - Dawntrail/Shaaloani/978_Pyariyoanaan Plain_MIN.json b/GatheringPaths/7.x - Dawntrail/Shaaloani/978_Pyariyoanaan Plain_MIN.json new file mode 100644 index 000000000..6c7417be0 --- /dev/null +++ b/GatheringPaths/7.x - Dawntrail/Shaaloani/978_Pyariyoanaan Plain_MIN.json @@ -0,0 +1,154 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 1190, + "AetheryteShortcut": "Shaaloani - Mehwahhetsoan", + "Groups": [ + { + "Nodes": [ + { + "DataId": 34777, + "Locations": [ + { + "Position": { + "X": 395.7766, + "Y": -15.0432, + "Z": -793.4127 + }, + "MinimumAngle": 265, + "MaximumAngle": 340 + } + ] + }, + { + "DataId": 34778, + "Locations": [ + { + "Position": { + "X": 372.0282, + "Y": -16.77722, + "Z": -785.652 + }, + "MinimumAngle": 255, + "MaximumAngle": 360 + }, + { + "Position": { + "X": 419.309, + "Y": -10.25133, + "Z": -784.8259 + } + }, + { + "Position": { + "X": 410.6989, + "Y": -10.9656, + "Z": -790.8315 + } + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34774, + "Locations": [ + { + "Position": { + "X": 594.6921, + "Y": -6.424452, + "Z": -826.2967 + }, + "MinimumAngle": -90, + "MaximumAngle": 40 + }, + { + "Position": { + "X": 618.4105, + "Y": -4.948164, + "Z": -824.438 + }, + "MinimumAngle": -60, + "MaximumAngle": 60 + }, + { + "Position": { + "X": 625.7259, + "Y": -4.734236, + "Z": -825.9003 + }, + "MinimumAngle": -55, + "MaximumAngle": 40 + } + ] + }, + { + "DataId": 34773, + "Locations": [ + { + "Position": { + "X": 606.1035, + "Y": -5.781946, + "Z": -827.3289 + }, + "MinimumAngle": -40, + "MaximumAngle": 55 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34776, + "Locations": [ + { + "Position": { + "X": 729.9794, + "Y": -6.851574, + "Z": -746.845 + }, + "MinimumAngle": 0, + "MaximumAngle": 155 + }, + { + "Position": { + "X": 730.2341, + "Y": -6.406585, + "Z": -724.3364 + }, + "MinimumAngle": 0, + "MaximumAngle": 165 + }, + { + "Position": { + "X": 732.0835, + "Y": -6.737461, + "Z": -738.1154 + }, + "MinimumAngle": 35, + "MaximumAngle": 160 + } + ] + }, + { + "DataId": 34775, + "Locations": [ + { + "Position": { + "X": 730.0588, + "Y": -6.698792, + "Z": -733.2113 + }, + "MinimumAngle": 25, + "MaximumAngle": 170 + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/7.x - Dawntrail/Shaaloani/999_Yawtanane Grasslands_BTN.json b/GatheringPaths/7.x - Dawntrail/Shaaloani/999_Yawtanane Grasslands_BTN.json new file mode 100644 index 000000000..5d63bdea7 --- /dev/null +++ b/GatheringPaths/7.x - Dawntrail/Shaaloani/999_Yawtanane Grasslands_BTN.json @@ -0,0 +1,136 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 1190, + "AetheryteShortcut": "Shaaloani - Hhusatahwi", + "Groups": [ + { + "Nodes": [ + { + "DataId": 34901, + "Locations": [ + { + "Position": { + "X": 343.0447, + "Y": 0.1167868, + "Z": 146.4354 + } + } + ] + }, + { + "DataId": 34902, + "Locations": [ + { + "Position": { + "X": 350.1042, + "Y": -2.02238, + "Z": 133.0248 + } + }, + { + "Position": { + "X": 349.9641, + "Y": 2.9944, + "Z": 166.7519 + } + }, + { + "Position": { + "X": 358.951, + "Y": 1.226612, + "Z": 152.3553 + } + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34903, + "Locations": [ + { + "Position": { + "X": 530.04, + "Y": 6.585761, + "Z": 243.3026 + } + } + ] + }, + { + "DataId": 34904, + "Locations": [ + { + "Position": { + "X": 534.63, + "Y": 7.40439, + "Z": 261.0851 + } + }, + { + "Position": { + "X": 537.3219, + "Y": 6.59951, + "Z": 234.4762 + } + }, + { + "Position": { + "X": 510.6736, + "Y": 5.43621, + "Z": 247.2418 + }, + "MinimumAngle": -135, + "MaximumAngle": 60 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34900, + "Locations": [ + { + "Position": { + "X": 571.4374, + "Y": 5.934396, + "Z": 93.85439 + } + }, + { + "Position": { + "X": 580.9511, + "Y": 4.927295, + "Z": 64.64209 + } + }, + { + "Position": { + "X": 595.0986, + "Y": 9.620093, + "Z": 81.96783 + } + } + ] + }, + { + "DataId": 34899, + "Locations": [ + { + "Position": { + "X": 578.6227, + "Y": 5.976591, + "Z": 76.53668 + } + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/7.x - Dawntrail/Urqopacha/975_Sorrow_MIN.json b/GatheringPaths/7.x - Dawntrail/Urqopacha/975_Sorrow_MIN.json new file mode 100644 index 000000000..3075fdf89 --- /dev/null +++ b/GatheringPaths/7.x - Dawntrail/Urqopacha/975_Sorrow_MIN.json @@ -0,0 +1,158 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 1187, + "AetheryteShortcut": "Urqopacha - Worlar's Echo", + "Groups": [ + { + "Nodes": [ + { + "DataId": 34759, + "Locations": [ + { + "Position": { + "X": -120.3785, + "Y": 30.38074, + "Z": 396.7192 + }, + "MinimumAngle": 125, + "MaximumAngle": 280 + } + ] + }, + { + "DataId": 34760, + "Locations": [ + { + "Position": { + "X": -133.0528, + "Y": 32.64423, + "Z": 399.1742 + }, + "MinimumAngle": 85, + "MaximumAngle": 235 + }, + { + "Position": { + "X": -108.2323, + "Y": 32.42883, + "Z": 407.0955 + }, + "MinimumAngle": 150, + "MaximumAngle": 290 + }, + { + "Position": { + "X": -102.1287, + "Y": 35.23303, + "Z": 416.1898 + }, + "MinimumAngle": 155, + "MaximumAngle": 295 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34755, + "Locations": [ + { + "Position": { + "X": -171.2521, + "Y": 46.49414, + "Z": 142.4124 + }, + "MinimumAngle": -80, + "MaximumAngle": 25 + } + ] + }, + { + "DataId": 34756, + "Locations": [ + { + "Position": { + "X": -150.6633, + "Y": 47.30524, + "Z": 116.4768 + }, + "MinimumAngle": -135, + "MaximumAngle": 0 + }, + { + "Position": { + "X": -164.8948, + "Y": 47.17537, + "Z": 138.1664 + }, + "MinimumAngle": -60, + "MaximumAngle": 20 + }, + { + "Position": { + "X": -157.4637, + "Y": 46.7111, + "Z": 126.0358 + }, + "MinimumAngle": -90, + "MaximumAngle": 10 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34757, + "Locations": [ + { + "Position": { + "X": -313.222, + "Y": 62.79089, + "Z": 335.1643 + }, + "MinimumAngle": 195, + "MaximumAngle": 310 + } + ] + }, + { + "DataId": 34758, + "Locations": [ + { + "Position": { + "X": -309.2621, + "Y": 71.25529, + "Z": 367.5573 + }, + "MinimumAngle": 190, + "MaximumAngle": 300 + }, + { + "Position": { + "X": -323.9727, + "Y": 58.3564, + "Z": 295.3081 + }, + "MinimumAngle": 205, + "MaximumAngle": 325 + }, + { + "Position": { + "X": -305.3915, + "Y": 72.10517, + "Z": 385.1654 + }, + "MinimumAngle": 210, + "MaximumAngle": 295 + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/7.x - Dawntrail/Urqopacha/994_Larh Tortoh_BTN.json b/GatheringPaths/7.x - Dawntrail/Urqopacha/994_Larh Tortoh_BTN.json new file mode 100644 index 000000000..41f6e35de --- /dev/null +++ b/GatheringPaths/7.x - Dawntrail/Urqopacha/994_Larh Tortoh_BTN.json @@ -0,0 +1,142 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 1187, + "AetheryteShortcut": "Urqopacha - Worlar's Echo", + "Groups": [ + { + "Nodes": [ + { + "DataId": 34869, + "Locations": [ + { + "Position": { + "X": -604.6953, + "Y": 59.64062, + "Z": 5.50073 + } + } + ] + }, + { + "DataId": 34870, + "Locations": [ + { + "Position": { + "X": -618.7993, + "Y": 59.13951, + "Z": 17.80936 + } + }, + { + "Position": { + "X": -615.0759, + "Y": 59.08474, + "Z": -4.837158 + }, + "MinimumAngle": 115, + "MaximumAngle": 325 + }, + { + "Position": { + "X": -593.0486, + "Y": 60.01728, + "Z": 15.20686 + } + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34872, + "Locations": [ + { + "Position": { + "X": -812.0394, + "Y": 55.42165, + "Z": 118.3947 + } + }, + { + "Position": { + "X": -821.9205, + "Y": 56.51463, + "Z": 121.8448 + } + }, + { + "Position": { + "X": -837.9932, + "Y": 57.59847, + "Z": 104.7306 + }, + "MinimumAngle": -100, + "MaximumAngle": 90 + } + ] + }, + { + "DataId": 34871, + "Locations": [ + { + "Position": { + "X": -818.8149, + "Y": 55.11676, + "Z": 112.5509 + } + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34874, + "Locations": [ + { + "Position": { + "X": -672.2305, + "Y": 76.87632, + "Z": 257.5817 + }, + "MinimumAngle": 85, + "MaximumAngle": 265 + }, + { + "Position": { + "X": -625.6287, + "Y": 71.04436, + "Z": 234.6465 + }, + "MinimumAngle": -95, + "MaximumAngle": 140 + }, + { + "Position": { + "X": -635.3436, + "Y": 74.07207, + "Z": 244.9178 + } + } + ] + }, + { + "DataId": 34873, + "Locations": [ + { + "Position": { + "X": -654.1213, + "Y": 74.65144, + "Z": 254.1959 + } + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/7.x - Dawntrail/Yak T'el/1000_The Xobr'it Cinderfield_BTN.json b/GatheringPaths/7.x - Dawntrail/Yak T'el/1000_The Xobr'it Cinderfield_BTN.json new file mode 100644 index 000000000..075e07bcb --- /dev/null +++ b/GatheringPaths/7.x - Dawntrail/Yak T'el/1000_The Xobr'it Cinderfield_BTN.json @@ -0,0 +1,140 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 1189, + "AetheryteShortcut": "Yak T'el - Iq Br'aax", + "Groups": [ + { + "Nodes": [ + { + "DataId": 34906, + "Locations": [ + { + "Position": { + "X": 236.4964, + "Y": -5.339633, + "Z": -346.5587 + } + }, + { + "Position": { + "X": 252.2469, + "Y": -4.50562, + "Z": -352.3626 + } + }, + { + "Position": { + "X": 270.0348, + "Y": 4.734006, + "Z": -370.3 + }, + "MinimumAngle": -5, + "MaximumAngle": 160 + } + ] + }, + { + "DataId": 34905, + "Locations": [ + { + "Position": { + "X": 291.2657, + "Y": 16.76923, + "Z": -372.8286 + } + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34909, + "Locations": [ + { + "Position": { + "X": 452.2735, + "Y": 19.0634, + "Z": -350.683 + }, + "MinimumAngle": -55, + "MaximumAngle": 215 + } + ] + }, + { + "DataId": 34910, + "Locations": [ + { + "Position": { + "X": 451.7433, + "Y": 18.42068, + "Z": -333.2723 + } + }, + { + "Position": { + "X": 425.1651, + "Y": 19.24389, + "Z": -388.6381 + } + }, + { + "Position": { + "X": 425.4706, + "Y": 18.96692, + "Z": -371.645 + }, + "MinimumAngle": -190, + "MaximumAngle": 50 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34908, + "Locations": [ + { + "Position": { + "X": 268.0552, + "Y": -4.003453, + "Z": -173.8766 + } + }, + { + "Position": { + "X": 244.3824, + "Y": -8.541841, + "Z": -212.8872 + } + }, + { + "Position": { + "X": 236.6972, + "Y": -13.99463, + "Z": -189.6181 + } + } + ] + }, + { + "DataId": 34907, + "Locations": [ + { + "Position": { + "X": 269.0605, + "Y": -6.302063, + "Z": -193.4243 + } + } + ] + } + ] + } + ] +} diff --git a/GatheringPaths/7.x - Dawntrail/Yak T'el/979_The Ut'ohmu Horizon_MIN.json b/GatheringPaths/7.x - Dawntrail/Yak T'el/979_The Ut'ohmu Horizon_MIN.json new file mode 100644 index 000000000..eeb921264 --- /dev/null +++ b/GatheringPaths/7.x - Dawntrail/Yak T'el/979_The Ut'ohmu Horizon_MIN.json @@ -0,0 +1,158 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json", + "Author": "liza", + "TerritoryId": 1189, + "AetheryteShortcut": "Yak T'el - Iq Br'aax", + "Groups": [ + { + "Nodes": [ + { + "DataId": 34783, + "Locations": [ + { + "Position": { + "X": -273.0702, + "Y": 15.09387, + "Z": -443.001 + }, + "MinimumAngle": -15, + "MaximumAngle": 160 + } + ] + }, + { + "DataId": 34784, + "Locations": [ + { + "Position": { + "X": -268.5216, + "Y": 15.18526, + "Z": -438.1259 + }, + "MinimumAngle": -160, + "MaximumAngle": 100 + }, + { + "Position": { + "X": -282.2694, + "Y": 15.46158, + "Z": -437.156 + }, + "MinimumAngle": 200, + "MaximumAngle": 350 + }, + { + "Position": { + "X": -284.5246, + "Y": 15.61228, + "Z": -445.3587 + }, + "MinimumAngle": 155, + "MaximumAngle": 310 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34782, + "Locations": [ + { + "Position": { + "X": -431.8761, + "Y": 34.533, + "Z": -654.7189 + }, + "MinimumAngle": -100, + "MaximumAngle": 30 + }, + { + "Position": { + "X": -430.493, + "Y": 32.50696, + "Z": -679.2305 + }, + "MinimumAngle": 170, + "MaximumAngle": 295 + }, + { + "Position": { + "X": -435.1992, + "Y": 35.77378, + "Z": -649.1482 + }, + "MinimumAngle": -145, + "MaximumAngle": 25 + } + ] + }, + { + "DataId": 34781, + "Locations": [ + { + "Position": { + "X": -427.0237, + "Y": 33.4935, + "Z": -668.6351 + }, + "MinimumAngle": 200, + "MaximumAngle": 330 + } + ] + } + ] + }, + { + "Nodes": [ + { + "DataId": 34779, + "Locations": [ + { + "Position": { + "X": -524.4308, + "Y": 33.95129, + "Z": -578.9917 + }, + "MinimumAngle": 250, + "MaximumAngle": 360 + } + ] + }, + { + "DataId": 34780, + "Locations": [ + { + "Position": { + "X": -533.9852, + "Y": 31.36117, + "Z": -558.8026 + }, + "MinimumAngle": -140, + "MaximumAngle": 0 + }, + { + "Position": { + "X": -522.1197, + "Y": 36.22581, + "Z": -597.019 + }, + "MinimumAngle": 170, + "MaximumAngle": 320 + }, + { + "Position": { + "X": -549.8734, + "Y": 28.65267, + "Z": -533.7023 + }, + "MinimumAngle": -130, + "MaximumAngle": 10 + } + ] + } + ] + } + ] +} diff --git a/Questionable/Controller/Steps/Shared/GatheringRequiredItems.cs b/Questionable/Controller/Steps/Shared/GatheringRequiredItems.cs index dce91814d..aebb66dab 100644 --- a/Questionable/Controller/Steps/Shared/GatheringRequiredItems.cs +++ b/Questionable/Controller/Steps/Shared/GatheringRequiredItems.cs @@ -4,7 +4,9 @@ using Dalamud.Game.Text; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using Microsoft.Extensions.DependencyInjection; +using Questionable.Controller.Steps.Common; using Questionable.Data; +using Questionable.External; using Questionable.GatheringPaths; using Questionable.Model; using Questionable.Model.Gathering; @@ -16,8 +18,10 @@ internal static class GatheringRequiredItems { internal sealed class Factory( IServiceProvider serviceProvider, + MovementController movementController, IClientState clientState, - GatheringData gatheringData) : ITaskFactory + GatheringData gatheringData, + TerritoryData territoryData) : ITaskFactory { public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { @@ -40,6 +44,12 @@ internal static class GatheringRequiredItems .With(null, gatheringRoot.AetheryteShortcut.Value, gatheringRoot.TerritoryId); } + yield return new WaitConditionTask(() => clientState.TerritoryType == gatheringRoot.TerritoryId, + $"Wait(territory: {territoryData.GetNameAndId(gatheringRoot.TerritoryId)})"); + + yield return new WaitConditionTask(() => movementController.IsNavmeshReady, + "Wait(navmesh ready)"); + yield return serviceProvider.GetRequiredService() .With(gatheringPointId, requiredGatheredItems); }