1
0
forked from liza/Questionable

Update moogle mount npcs

This commit is contained in:
Liza 2025-02-26 20:24:42 +01:00
parent 5757a73b22
commit fe63319b56
Signed by: liza
GPG Key ID: 2C41B84815CF6445
2 changed files with 10 additions and 9 deletions

View File

@ -45,12 +45,13 @@ internal static class QuestCleanUp
} }
// have any of the previous sequences interacted with the issuer? // have any of the previous sequences interacted with the issuer?
var previousSequences = var previousSteps =
quest.AllSequences() quest.AllSequences()
.Where(x => x.Sequence > 0 // quest accept doesn't ever put us into a mount .Where(x => x.Sequence > 0 // quest accept doesn't ever put us into a mount
&& x.Sequence < sequence.Sequence) && x.Sequence < sequence.Sequence)
.SelectMany(x => x.Steps)
.ToList(); .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 // 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); logger.LogInformation("Haven't talked to mount NPC for this allied society quest; {Aetheryte}", mountConfiguration.ClosestAetheryte);

View File

@ -13,12 +13,12 @@ internal sealed class AlliedSocietyData
public ReadOnlyDictionary<ushort, AlliedSocietyMountConfiguration> Mounts { get; } = public ReadOnlyDictionary<ushort, AlliedSocietyMountConfiguration> Mounts { get; } =
new Dictionary<ushort, AlliedSocietyMountConfiguration> new Dictionary<ushort, AlliedSocietyMountConfiguration>
{ {
{ 66, new(1016093, EAetheryteLocation.SeaOfCloudsOkZundu) }, { 66, new([1016093], EAetheryteLocation.SeaOfCloudsOkZundu) },
{ 79, new(1017031, EAetheryteLocation.DravanianForelandsAnyxTrine) }, { 79, new([1017031], EAetheryteLocation.DravanianForelandsAnyxTrine) },
{ 88, new(1017470, EAetheryteLocation.ChurningMistsZenith) }, { 88, new([1017470, 1017432], EAetheryteLocation.ChurningMistsZenith) },
{ 89, new(1017322, EAetheryteLocation.ChurningMistsZenith) }, { 89, new([1017322], EAetheryteLocation.ChurningMistsZenith) },
{ 147, new(1024777, EAetheryteLocation.FringesPeeringStones) }, { 147, new([1024777], EAetheryteLocation.FringesPeeringStones) },
{ 369, new(1051798, EAetheryteLocation.KozamaukaDockPoga) }, { 369, new([1051798], EAetheryteLocation.KozamaukaDockPoga) },
}.AsReadOnly(); }.AsReadOnly();
public EAlliedSociety GetCommonAlliedSocietyTurnIn(ElementId elementId) 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<uint> IssuerDataIds, EAetheryteLocation ClosestAetheryte);