private Tuple <ulong, ulong> PerformSeedSearch() { Log("Searching for a matching seed... Search may take a while."); SeedSearchUtil.SpecificSeedSearch(RaidInfo, out long frames, out ulong seed, out ulong threeDay, out string ivSpread); if (ivSpread == string.Empty) { Log($"No results found within the specified search range."); return(new Tuple <ulong, ulong>(0, 0)); } var species = RaidInfo.Den.IsEvent ? RaidInfo.RaidDistributionEncounter.Species : RaidInfo.RaidEncounter.Species; var specName = SpeciesName.GetSpeciesNameGeneration((int)species, 2, 8); var form = TradeExtensions.FormOutput((int)(RaidInfo.Den.IsEvent ? RaidInfo.RaidDistributionEncounter.Species : RaidInfo.RaidEncounter.Species), (int)(RaidInfo.Den.IsEvent ? RaidInfo.RaidDistributionEncounter.AltForm : RaidInfo.RaidEncounter.AltForm), out _); var results = $"\n\nDesired species: {(uint)RaidInfo.Den.Stars + 1}★ - {specName}{form}\n" + $"\n{ivSpread}\n" + $"\nStarting seed: {RaidInfo.Den.Seed:X16}\n" + $"Target frame seed: {seed:X16}\n" + $"Three day roll: {threeDay:X16}\n" + $"Skips to target frame: {frames:N0}\n"; EchoUtil.Echo(results); return(new Tuple <ulong, ulong>(seed, threeDay)); }