From 12bb72e9ac1c5120e358cbec02ed656c96512ee7 Mon Sep 17 00:00:00 2001 From: alydev Date: Sat, 5 Sep 2026 23:08:28 +1000 Subject: [PATCH] add spearfishing quest to fsh job quest preset --- CHANGELOG.md | 2 +- Directory.Build.targets | 2 +- .../5000_Donuhanu's Devotion.json | 2 +- .../5001_Catching Breath.json | 19 +++++++++++++++---- .../4969_Hard to Reed.json | 2 +- .../4970_Hey, Aunt Tii.json | 2 +- .../4971_A Job Quickly Done.json | 2 +- .../4972_Teamwork Makes the Craftwork.json | 2 +- .../4973_A New Kind of Metalware.json | 2 +- .../4974_A Dream Come True.json | 2 +- Questionable/Controller/QuestRegistry.cs | 3 +++ Questionable/Data/QuestData.cs | 7 ++++++- 12 files changed, 33 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eaf1b2c3d..1c1195d7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1 +1 @@ -- Bug fix: Handle combat during post-interaction waits -eternalwaitt \ No newline at end of file +- Change: add spearfishing quest to fsh job quest preset -alydev \ No newline at end of file diff --git a/Directory.Build.targets b/Directory.Build.targets index 09ac3a4a4..ae68a954a 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -1,6 +1,6 @@ - 15.306.3.35 + 15.306.3.36 diff --git a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/Fish Fancies Donuhanu Quests/5000_Donuhanu's Devotion.json b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/Fish Fancies Donuhanu Quests/5000_Donuhanu's Devotion.json index e770e6d73..ca46326d2 100644 --- a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/Fish Fancies Donuhanu Quests/5000_Donuhanu's Devotion.json +++ b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/Fish Fancies Donuhanu Quests/5000_Donuhanu's Devotion.json @@ -1,7 +1,7 @@ { "$schema": "https://qstxiv.github.io/schema/quest-v1.json", "Author": "alydev", - "LastChecked": {"Username": "chika", "Date": "2026-08-21"}, + "LastChecked": {"Username": "alydev", "Date": "2026-09-05"}, "QuestSequence": [ { "Sequence": 0, diff --git a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/Fish Fancies Donuhanu Quests/5001_Catching Breath.json b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/Fish Fancies Donuhanu Quests/5001_Catching Breath.json index 21fa5dbed..3adac06c9 100644 --- a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/Fish Fancies Donuhanu Quests/5001_Catching Breath.json +++ b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/Fish Fancies Donuhanu Quests/5001_Catching Breath.json @@ -1,7 +1,7 @@ { "$schema": "https://qstxiv.github.io/schema/quest-v1.json", "Author": "alydev", - "LastChecked": {"Username": "alydev", "Date": "2026-07-12"}, + "LastChecked": {"Username": "alydev", "Date": "2026-09-05"}, "QuestSequence": [ { "Sequence": 0, @@ -33,15 +33,26 @@ }, { "Position": { - "X": 482.4802, - "Y": 14.962147, - "Z": 672.252 + "X": 480.87372, + "Y": 15.46027, + "Z": 669.95386 }, "TerritoryId": 1190, "InteractionType": "WalkTo", "Fly": true, "StopDistance": 1 }, + { + "Position": { + "X": 482.38736, + "Y": 14.930612, + "Z": 672.66675 + }, + "TerritoryId": 1190, + "InteractionType": "WalkTo", + "StopDistance": 0.25, + "Mount": false + }, { "TerritoryId": 1190, "InteractionType": "Fish", diff --git a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4969_Hard to Reed.json b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4969_Hard to Reed.json index c4de5c1fc..869e12193 100644 --- a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4969_Hard to Reed.json +++ b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4969_Hard to Reed.json @@ -2,7 +2,7 @@ "$schema": "https://qstxiv.github.io/schema/quest-v1.json", "Author": "alydev", "Comment": "Autocraft requires:\n12x Chondrite Ingot\n6x Annite Whetstone\n6x Integral Lumber", - "LastChecked": {"Username": "alydev", "Date": "2026-08-02"}, + "LastChecked": {"Username": "alydev", "Date": "2026-09-05"}, "QuestSequence": [ { "Sequence": 0, diff --git a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4970_Hey, Aunt Tii.json b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4970_Hey, Aunt Tii.json index 59bc485c4..5e89f3890 100644 --- a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4970_Hey, Aunt Tii.json +++ b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4970_Hey, Aunt Tii.json @@ -2,7 +2,7 @@ "$schema": "https://qstxiv.github.io/schema/quest-v1.json", "Author": "alydev", "Comment": "Autocraft requires:\n6x Ruthenium Ingot\n6x Lar Ingot\n6x Mountain Chromite Ingot", - "LastChecked": {"Username": "alydev", "Date": "2026-08-02"}, + "LastChecked": {"Username": "alydev", "Date": "2026-09-05"}, "QuestSequence": [ { "Sequence": 0, diff --git a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4971_A Job Quickly Done.json b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4971_A Job Quickly Done.json index f91473461..645b8d680 100644 --- a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4971_A Job Quickly Done.json +++ b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4971_A Job Quickly Done.json @@ -2,7 +2,7 @@ "$schema": "https://qstxiv.github.io/schema/quest-v1.json", "Author": "alydev", "Comment": "Autocraft requires:\n12x Cobalt Tungsten Ingot\n6x Lar Ingot\n6x Tallow Candle", - "LastChecked": {"Username": "alydev", "Date": "2026-08-02"}, + "LastChecked": {"Username": "alydev", "Date": "2026-09-05"}, "QuestSequence": [ { "Sequence": 0, diff --git a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4972_Teamwork Makes the Craftwork.json b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4972_Teamwork Makes the Craftwork.json index 1cdb82e34..0b9b3c693 100644 --- a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4972_Teamwork Makes the Craftwork.json +++ b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4972_Teamwork Makes the Craftwork.json @@ -1,7 +1,7 @@ { "$schema": "https://qstxiv.github.io/schema/quest-v1.json", "Author": "alydev", - "LastChecked": {"Username": "alydev", "Date": "2026-08-02"}, + "LastChecked": {"Username": "alydev", "Date": "2026-09-05"}, "QuestSequence": [ { "Sequence": 0, diff --git a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4973_A New Kind of Metalware.json b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4973_A New Kind of Metalware.json index e5ebcfb25..8ab9bad22 100644 --- a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4973_A New Kind of Metalware.json +++ b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4973_A New Kind of Metalware.json @@ -2,7 +2,7 @@ "$schema": "https://qstxiv.github.io/schema/quest-v1.json", "Author": "alydev", "Comment": "Autocraft requires:\n12x White Gold Ingot\n6x Titanium Gold Nugget\n6x Cinnamon", - "LastChecked": {"Username": "alydev", "Date": "2026-08-02"}, + "LastChecked": {"Username": "alydev", "Date": "2026-09-05"}, "QuestSequence": [ { "Sequence": 0, diff --git a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4974_A Dream Come True.json b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4974_A Dream Come True.json index 44b2557c5..ed1a382a5 100644 --- a/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4974_A Dream Come True.json +++ b/QuestPaths/7.x - Dawntrail/Custom Deliveries/Wachumeqimeqi/XRral Soj Metalwares Quests/4974_A Dream Come True.json @@ -1,7 +1,7 @@ { "$schema": "https://qstxiv.github.io/schema/quest-v1.json", "Author": "alydev", - "LastChecked": {"Username": "alydev", "Date": "2026-08-02"}, + "LastChecked": {"Username": "alydev", "Date": "2026-09-05"}, "QuestSequence": [ { "Sequence": 0, diff --git a/Questionable/Controller/QuestRegistry.cs b/Questionable/Controller/QuestRegistry.cs index aaff7b184..c6fef6209 100644 --- a/Questionable/Controller/QuestRegistry.cs +++ b/Questionable/Controller/QuestRegistry.cs @@ -350,6 +350,9 @@ public List GetKnownClassJobQuests(Job classJob, bool includeRoleQues if (classJob.AsJob() != classJob) allQuests.AddRange(_questData.GetClassJobQuests(classJob.AsJob(), includeRoleQuests)); + if (classJob.Equals(Job.FSH) && allQuests.Any(x => x.QuestId.Value.Equals(2898))) + allQuests.Insert(allQuests.IndexOf(x => x.QuestId.Value.Equals(2898)), (QuestInfo)_questData.GetQuestInfo(new QuestId(2922))); + return allQuests .Where(x => IsKnownQuest(x.QuestId)) .ToList(); diff --git a/Questionable/Data/QuestData.cs b/Questionable/Data/QuestData.cs index abee0b51b..e1cd123b5 100644 --- a/Questionable/Data/QuestData.cs +++ b/Questionable/Data/QuestData.cs @@ -191,7 +191,6 @@ public QuestData(IDataManager dataManager, ClassJobUtils classJobUtils, IPluginL _quests = quests.ToDictionary(x => x.QuestId, x => x); - AddPreviousQuest(new(2898), new(2922)); AddPreviousQuest(new(5008), new(4933)); AddPreviousQuest(new(5012), new(4959)); // workaround because the game doesn't require completion of the CT questline through normal means @@ -209,6 +208,7 @@ public QuestData(IDataManager dataManager, ClassJobUtils classJobUtils, IPluginL const int tideGoesIn = 2490; const int firstOfMany = 2534; const int achtIaOrmhInn = 3320; + AddPreviousQuest(new(2898), new(2922)); AddPreviousQuest(new(1480), new(2373)); AddPreviousQuest(new(1717), new(mountaintopDiplomacy)); AddPreviousQuest(new(2088), new(mountaintopDiplomacy)); @@ -352,6 +352,11 @@ public QuestData(IDataManager dataManager, ClassJobUtils classJobUtils, IPluginL public ImmutableHashSet RedeemableItems { get; } public QuestId LastMainScenarioQuestId { get; } + /// + /// Adds a manual link to indicate that questToUpdate requires requiredQuestId to be completed first, so the former can be marked as locked + /// + /// The QuestId of the quest that needs a prereq added + /// The QuestId of the prereq private void AddPreviousQuest(QuestId questToUpdate, QuestId requiredQuestId) { if (_quests.TryGetValue(questToUpdate, out IQuestInfo? quest) && quest is QuestInfo questInfo)