From fe63319b5682755ae94515f221a70b7b0255d451 Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Wed, 26 Feb 2025 20:24:42 +0100 Subject: [PATCH] Update moogle mount npcs --- Questionable/Controller/Steps/QuestCleanUp.cs | 5 +++-- Questionable/Data/AlliedSocietyData.cs | 14 +++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Questionable/Controller/Steps/QuestCleanUp.cs b/Questionable/Controller/Steps/QuestCleanUp.cs index d9c7701f..18f236d7 100644 --- a/Questionable/Controller/Steps/QuestCleanUp.cs +++ b/Questionable/Controller/Steps/QuestCleanUp.cs @@ -45,12 +45,13 @@ internal static class QuestCleanUp } // have any of the previous sequences interacted with the issuer? - var previousSequences = + var previousSteps = quest.AllSequences() .Where(x => x.Sequence > 0 // quest accept doesn't ever put us into a mount && x.Sequence < sequence.Sequence) + .SelectMany(x => x.Steps) .ToList(); - if (previousSequences.SelectMany(x => x.Steps).All(x => x.DataId != mountConfiguration.IssuerDataId)) + if (!previousSteps.Any(x => x.DataId != null && mountConfiguration.IssuerDataIds.Contains(x.DataId.Value))) { // this quest hasn't given us a mount yet logger.LogInformation("Haven't talked to mount NPC for this allied society quest; {Aetheryte}", mountConfiguration.ClosestAetheryte); diff --git a/Questionable/Data/AlliedSocietyData.cs b/Questionable/Data/AlliedSocietyData.cs index d76003d8..b055e654 100644 --- a/Questionable/Data/AlliedSocietyData.cs +++ b/Questionable/Data/AlliedSocietyData.cs @@ -13,12 +13,12 @@ internal sealed class AlliedSocietyData public ReadOnlyDictionary Mounts { get; } = new Dictionary { - { 66, new(1016093, EAetheryteLocation.SeaOfCloudsOkZundu) }, - { 79, new(1017031, EAetheryteLocation.DravanianForelandsAnyxTrine) }, - { 88, new(1017470, EAetheryteLocation.ChurningMistsZenith) }, - { 89, new(1017322, EAetheryteLocation.ChurningMistsZenith) }, - { 147, new(1024777, EAetheryteLocation.FringesPeeringStones) }, - { 369, new(1051798, EAetheryteLocation.KozamaukaDockPoga) }, + { 66, new([1016093], EAetheryteLocation.SeaOfCloudsOkZundu) }, + { 79, new([1017031], EAetheryteLocation.DravanianForelandsAnyxTrine) }, + { 88, new([1017470, 1017432], EAetheryteLocation.ChurningMistsZenith) }, + { 89, new([1017322], EAetheryteLocation.ChurningMistsZenith) }, + { 147, new([1024777], EAetheryteLocation.FringesPeeringStones) }, + { 369, new([1051798], EAetheryteLocation.KozamaukaDockPoga) }, }.AsReadOnly(); public EAlliedSociety GetCommonAlliedSocietyTurnIn(ElementId elementId) @@ -63,4 +63,4 @@ internal sealed class AlliedSocietyData } } -public sealed record AlliedSocietyMountConfiguration(uint IssuerDataId, EAetheryteLocation ClosestAetheryte); +public sealed record AlliedSocietyMountConfiguration(List IssuerDataIds, EAetheryteLocation ClosestAetheryte);