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?
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);

View File

@ -13,12 +13,12 @@ internal sealed class AlliedSocietyData
public ReadOnlyDictionary<ushort, AlliedSocietyMountConfiguration> Mounts { get; } =
new Dictionary<ushort, AlliedSocietyMountConfiguration>
{
{ 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<uint> IssuerDataIds, EAetheryteLocation ClosestAetheryte);