From 6f696d27329852f53e3260f348fe7ca551e4636b Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Mon, 31 Mar 2025 23:14:43 +0200 Subject: [PATCH] Fix 'A Relic Reborn' showing under 'Manderville Weapons' --- Questionable/Data/QuestData.cs | 10 +--------- Questionable/Model/JournalGenreOverrides.cs | 1 + Questionable/Model/QuestInfo.cs | 14 +++++++++----- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/Questionable/Data/QuestData.cs b/Questionable/Data/QuestData.cs index 1993c414..328bcfcc 100644 --- a/Questionable/Data/QuestData.cs +++ b/Questionable/Data/QuestData.cs @@ -42,6 +42,7 @@ internal sealed class QuestData { JournalGenreOverrides journalGenreOverrides = new() { + ARelicRebornQuests = dataManager.GetExcelSheet().GetRow(65742).JournalGenre.RowId, RadzAtHanSideQuests = dataManager.GetExcelSheet().GetRow(69805).JournalGenre.RowId, ThavnairSideQuests = dataManager.GetExcelSheet().GetRow(70025).JournalGenre.RowId, }; @@ -228,15 +229,6 @@ internal sealed class QuestData // follow-up quests to picking a GC AddGcFollowUpQuests(); - // update relic quests to be in a different journal category - ushort[] zodiacStartingQuests = [1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1579]; - foreach (var questId in zodiacStartingQuests) - { - var quest = ((QuestInfo)_quests[new QuestId(questId)]); - quest.JournalGenre = 82; - quest.SortKey = 0; - } - RedeemableItems = quests.Where(x => x is QuestInfo) .Cast() .SelectMany(x => x.ItemRewards) diff --git a/Questionable/Model/JournalGenreOverrides.cs b/Questionable/Model/JournalGenreOverrides.cs index bafd7282..86340b16 100644 --- a/Questionable/Model/JournalGenreOverrides.cs +++ b/Questionable/Model/JournalGenreOverrides.cs @@ -2,6 +2,7 @@ internal sealed class JournalGenreOverrides { + public required uint ARelicRebornQuests { get; init; } public required uint ThavnairSideQuests { get; init; } public required uint RadzAtHanSideQuests { get; init; } } diff --git a/Questionable/Model/QuestInfo.cs b/Questionable/Model/QuestInfo.cs index a5f3de7c..8f5a6ebc 100644 --- a/Questionable/Model/QuestInfo.cs +++ b/Questionable/Model/QuestInfo.cs @@ -54,13 +54,17 @@ internal sealed class QuestInfo : IQuestInfo .Where(x => x.Value != 0) .ToImmutableList(); QuestLockJoin = (EQuestJoin)quest.QuestLockJoin; - JournalGenre = QuestId.Value switch + + ValueTuple genreAndSortKey = QuestId.Value switch { - >= 4196 and <= 4209 => journalGenreOverrides.ThavnairSideQuests, - 4173 => journalGenreOverrides.RadzAtHanSideQuests, - _ => quest.JournalGenre.ValueNullable?.RowId, + >= 1119 and <= 1127 or 1579 => (journalGenreOverrides.ARelicRebornQuests, 0), + >= 4196 and <= 4209 => (journalGenreOverrides.ThavnairSideQuests, null), + 4173 => (journalGenreOverrides.RadzAtHanSideQuests, null), + _ => (quest.JournalGenre.ValueNullable?.RowId, null), }; - SortKey = quest.SortKey; + JournalGenre = genreAndSortKey.Item1; + SortKey = genreAndSortKey.Item2 ?? quest.SortKey; + IsMainScenarioQuest = quest.JournalGenre.ValueNullable?.Icon == 61412; CompletesInstantly = quest.TodoParams[0].ToDoCompleteSeq == 0; PreviousInstanceContent = quest.InstanceContent.Select(x => (ushort)x.RowId).Where(x => x != 0).ToList(); -- 2.30.2