namespace PKHeX.Core; /// /// Game Version ID enum shared between actual Version IDs and lumped version groupings. /// public enum GameVersion : byte { #region Indicators for method empty arguments & result indication. Not stored values. Any = 0, Unknown = byte.MaxValue - 1, Invalid = byte.MaxValue, #endregion // The following values are IDs stored within PKM data, and can also identify individual games. #region Gen3 /// /// Pokémon Sapphire (GBA) /// S = 1, /// /// Pokémon Ruby (GBA) /// R = 2, /// /// Pokémon Emerald (GBA) /// E = 3, /// /// Pokémon FireRed (GBA) /// FR = 4, /// /// Pokémon LeafGreen (GBA) /// LG = 5, /// /// Pokémon Colosseum & Pokémon XD (GameCube) /// CXD = 15, #endregion #region Gen4 /// /// Pokémon Diamond (NDS) /// D = 10, /// /// Pokémon Pearl (NDS) /// P = 11, /// /// Pokémon Platinum (NDS) /// Pt = 12, /// /// Pokémon HeartGold (NDS) /// HG = 7, /// /// Pokémon SoulSilver (NDS) /// SS = 8, #endregion #region Gen5 /// /// Pokémon White (NDS) /// W = 20, /// /// Pokémon Black (NDS) /// B = 21, /// /// Pokémon White 2 (NDS) /// W2 = 22, /// /// Pokémon Black 2 (NDS) /// B2 = 23, #endregion #region Gen6 /// /// Pokémon X (3DS) /// X = 24, /// /// Pokémon Y (3DS) /// Y = 25, /// /// Pokémon Alpha Sapphire (3DS) /// AS = 26, /// /// Pokémon Omega Ruby (3DS) /// OR = 27, #endregion #region Gen7 /// /// Pokémon Sun (3DS) /// SN = 30, /// /// Pokémon Moon (3DS) /// MN = 31, /// /// Pokémon Ultra Sun (3DS) /// US = 32, /// /// Pokémon Ultra Moon (3DS) /// UM = 33, #endregion /// /// Pokémon GO (GO -> Let's Go/HOME transfers) /// GO = 34, #region Virtual Console (3DS) Gen1 /// /// Pokémon Red (3DS Virtual Console) /// RD = 35, /// /// Pokémon Green[JP]/Blue[INT] (3DS Virtual Console) /// GN = 36, /// /// Pokémon Blue[JP] (3DS Virtual Console) /// BU = 37, /// /// Pokémon Yellow [JP] (3DS Virtual Console) /// YW = 38, #endregion #region Virtual Console (3DS) Gen2 /// /// Pokémon Gold (3DS Virtual Console) /// GD = 39, /// /// Pokémon Silver (3DS Virtual Console) /// SI = 40, /// /// Pokémon Crystal (3DS Virtual Console) /// C = 41, #endregion #region Nintendo Switch /// /// Pokémon: Let's Go, Pikachu! (NX) /// GP = 42, /// /// Pokémon: Let's Go, Eevee! (NX) /// GE = 43, /// /// Pokémon Sword (NX) /// SW = 44, /// /// Pokémon Shield (NX) /// SH = 45, // HOME = 46, /// /// Pokémon Legends: Arceus (NX) /// PLA = 47, /// /// Pokémon Brilliant Diamond (NX) /// BD = 48, /// /// Pokémon Shining Pearl (NX) /// SP = 49, /// /// Pokémon Scarlet (NX) /// SL = 50, /// /// Pokémon Violet (NX) /// VL = 51, #endregion // The following values are not actually stored values in pk data, // These values are assigned within PKHeX as properties for various logic branching. #region Game Groupings (SaveFile type, roughly) /// /// Pokémon Red & Blue [] identifier. /// /// /// /// RB, /// /// Pokémon Red/Blue/Yellow [] identifier. /// /// /// /// /// RBY, /// /// Pokémon Gold & Silver [] identifier. /// /// /// GS, /// /// Pokémon Gold/Silver/Crystal [] identifier. /// /// /// /// GSC, /// /// Pokémon Ruby & Sapphire [] identifier. /// /// /// RS, /// /// Pokémon Ruby/Sapphire/Emerald [] identifier. /// /// /// /// RSE, /// /// Pokémon FireRed/LeafGreen [] identifier. /// /// /// FRLG, /// /// Pokémon Box Ruby & Sapphire [] identifier. /// RSBOX, /// /// Pokémon Colosseum [] identifier. /// /// /// Also used to mark Colosseum-only origin data as this game shares a version ID with COLO, /// /// Pokémon XD [] identifier. /// /// /// Also used to mark XD-only origin data as this game shares a version ID with XD, /// /// Pokémon Diamond & Pearl [] identifier. /// /// /// DP, /// /// Pokémon Diamond/Pearl/Platinum version group. /// /// Used to lump data from the associated games as data assets are shared. /// /// /// DPPt, /// /// Pokémon HeartGold & SoulSilver [] identifier. /// /// /// HGSS, /// /// Pokémon Battle Revolution [] identifier. /// BATREV, /// /// Pokémon Black & White version group. /// /// Used to lump data from the associated games as data assets are shared. /// /// BW, /// /// Pokémon Black 2 & White 2 version group. /// /// Used to lump data from the associated games as data assets are shared. /// /// B2W2, /// /// Pokémon X & Y /// /// Used to lump data from the associated games as data assets are shared. /// /// XY, /// /// Pokémon Omega Ruby & Alpha Sapphire Demo [] identifier. /// /// ORASDEMO, /// /// Pokémon Omega Ruby & Alpha Sapphire version group. /// /// Used to lump data from the associated games as data assets are shared. /// /// ORAS, /// /// Pokémon Sun & Moon /// /// Used to lump data from the associated games as data assets are shared. /// /// SM, /// /// Pokémon Ultra Sun & Ultra Moon /// /// Used to lump data from the associated games as data assets are shared. /// /// USUM, /// /// Pokémon Let's Go Pikachu & Eevee /// /// Used to lump data from the associated games as data assets are shared. /// /// GG, /// /// Pokémon Sword & Shield /// /// Used to lump data from the associated games as data assets are shared. /// /// SWSH, /// /// Pokémon Brilliant Diamond & Shining Pearl /// /// Used to lump data from the associated games as data assets are shared. /// /// BDSP, /// /// Pokémon Scarlet & Violet /// /// Used to lump data from the associated games as data assets are shared. /// /// SV, /// /// Generation 1 Games /// /// Gen1, /// /// Generation 2 Games /// /// Gen2, /// /// Generation 3 Games /// /// /// Gen3, /// /// Generation 4 Games /// /// /// Gen4, /// /// Generation 5 Games /// /// /// Gen5, /// /// Generation 6 Games /// /// /// Gen6, /// /// Generation 7 Games on the Nintendo 3DS /// /// /// Gen7, /// /// Generation 7 Games on the Nintendo Switch /// /// /// Gen7b, /// /// Generation 8 Games /// /// /// /// Gen8, /// /// Generation 9 Games /// /// Gen9, /// /// Pocket Monsters Stadium data origin identifier /// StadiumJ, /// /// Pokémon Stadium data origin identifier /// Stadium, /// /// Pokémon Stadium 2 data origin identifier /// Stadium2, #endregion }