PKHeX/PKHeX.Core/Legality/Evolutions/EvolutionLegality.cs
Kurt fc754b346b
File scoped namespaces (#3529)
[Language Reference](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-10.0/file-scoped-namespaces)

Updates all the files, one less level of indentation.

Some small changes were made to API surfaces, renaming `PKM pkm` -> `PKM pk`, and `LegalityAnalysis.pkm` -> `LegalityAnalysis.Entity`
2022-06-18 11:04:24 -07:00

107 lines
2.8 KiB
C#

using System;
using System.Collections.Generic;
namespace PKHeX.Core;
internal static class EvolutionLegality
{
internal static readonly HashSet<int> FutureEvolutionsGen1 = new()
{
(int)Species.Crobat,
(int)Species.Bellossom,
(int)Species.Politoed,
(int)Species.Espeon,
(int)Species.Umbreon,
(int)Species.Slowking,
(int)Species.Steelix,
(int)Species.Scizor,
(int)Species.Kingdra,
(int)Species.Porygon2,
(int)Species.Blissey,
(int)Species.Magnezone,
(int)Species.Lickilicky,
(int)Species.Rhyperior,
(int)Species.Tangrowth,
(int)Species.Electivire,
(int)Species.Magmortar,
(int)Species.Leafeon,
(int)Species.Glaceon,
(int)Species.PorygonZ,
(int)Species.Sylveon,
(int)Species.Kleavor,
};
private static readonly HashSet<int> FutureEvolutionsGen2 = new()
{
(int)Species.Ambipom,
(int)Species.Mismagius,
(int)Species.Honchkrow,
(int)Species.Weavile,
(int)Species.Magnezone,
(int)Species.Lickilicky,
(int)Species.Rhyperior,
(int)Species.Tangrowth,
(int)Species.Electivire,
(int)Species.Magmortar,
(int)Species.Togekiss,
(int)Species.Yanmega,
(int)Species.Leafeon,
(int)Species.Glaceon,
(int)Species.Gliscor,
(int)Species.Mamoswine,
(int)Species.PorygonZ,
(int)Species.Sylveon,
(int)Species.Wyrdeer,
(int)Species.Ursaluna,
};
private static readonly HashSet<int> FutureEvolutionsGen3 = new()
{
(int)Species.Roserade,
(int)Species.Ambipom,
(int)Species.Mismagius,
(int)Species.Honchkrow,
(int)Species.Weavile,
(int)Species.Magnezone,
(int)Species.Lickilicky,
(int)Species.Rhyperior,
(int)Species.Tangrowth,
(int)Species.Electivire,
(int)Species.Magmortar,
(int)Species.Togekiss,
(int)Species.Yanmega,
(int)Species.Leafeon,
(int)Species.Glaceon,
(int)Species.Gliscor,
(int)Species.Mamoswine,
(int)Species.PorygonZ,
(int)Species.Gallade,
(int)Species.Probopass,
(int)Species.Dusknoir,
(int)Species.Froslass,
(int)Species.Sylveon,
};
private static readonly int[] FutureEvolutionsGen4 =
{
(int)Species.Sylveon,
};
private static readonly int[] FutureEvolutionsGen5 = FutureEvolutionsGen4;
internal static ICollection<int> GetFutureGenEvolutions(int generation) => generation switch
{
1 => FutureEvolutionsGen1,
2 => FutureEvolutionsGen2,
3 => FutureEvolutionsGen3,
4 => FutureEvolutionsGen4,
5 => FutureEvolutionsGen5,
_ => Array.Empty<int>(),
};
}