use crate::define_enum_with_from_str;

define_enum_with_from_str! {
    #[repr(u16)]
    #[derive(Clone, Copy, Debug, PartialEq)]
    PokemonName {
        NONE,
        BULBASAUR,
        IVYSAUR,
        VENUSAUR,
        VENUSAURMEGA,
        VENUSAURGMAX,
        CHARMANDER,
        CHARMELEON,
        CHARIZARD,
        CHARIZARDMEGAX,
        CHARIZARDMEGAY,
        CHARIZARDGMAX,
        SQUIRTLE,
        WARTORTLE,
        BLASTOISE,
        BLASTOISEMEGA,
        BLASTOISEGMAX,
        CATERPIE,
        METAPOD,
        BUTTERFREE,
        BUTTERFREEGMAX,
        WEEDLE,
        KAKUNA,
        BEEDRILL,
        BEEDRILLMEGA,
        PIDGEY,
        PIDGEOTTO,
        PIDGEOT,
        PIDGEOTMEGA,
        RATTATA,
        RATTATAALOLA,
        RATICATE,
        RATICATEALOLA,
        RATICATEALOLATOTEM,
        SPEAROW,
        FEAROW,
        EKANS,
        ARBOK,
        PIKACHU,
        PIKACHUCOSPLAY,
        PIKACHUROCKSTAR,
        PIKACHUBELLE,
        PIKACHUPOPSTAR,
        PIKACHUPHD,
        PIKACHULIBRE,
        PIKACHUORIGINAL,
        PIKACHUHOENN,
        PIKACHUSINNOH,
        PIKACHUUNOVA,
        PIKACHUKALOS,
        PIKACHUALOLA,
        PIKACHUPARTNER,
        PIKACHUSTARTER,
        PIKACHUGMAX,
        PIKACHUWORLD,
        RAICHU,
        RAICHUALOLA,
        SANDSHREW,
        SANDSHREWALOLA,
        SANDSLASH,
        SANDSLASHALOLA,
        NIDORANF,
        NIDORINA,
        NIDOQUEEN,
        NIDORANM,
        NIDORINO,
        NIDOKING,
        CLEFAIRY,
        CLEFABLE,
        VULPIX,
        VULPIXALOLA,
        NINETALES,
        NINETALESALOLA,
        JIGGLYPUFF,
        WIGGLYTUFF,
        ZUBAT,
        GOLBAT,
        ODDISH,
        GLOOM,
        VILEPLUME,
        PARAS,
        PARASECT,
        VENONAT,
        VENOMOTH,
        DIGLETT,
        DIGLETTALOLA,
        DUGTRIO,
        DUGTRIOALOLA,
        MEOWTH,
        MEOWTHALOLA,
        MEOWTHGALAR,
        MEOWTHGMAX,
        PERSIAN,
        PERSIANALOLA,
        PSYDUCK,
        GOLDUCK,
        MANKEY,
        PRIMEAPE,
        GROWLITHE,
        GROWLITHEHISUI,
        ARCANINE,
        ARCANINEHISUI,
        POLIWAG,
        POLIWHIRL,
        POLIWRATH,
        ABRA,
        KADABRA,
        ALAKAZAM,
        ALAKAZAMMEGA,
        MACHOP,
        MACHOKE,
        MACHAMP,
        MACHAMPGMAX,
        BELLSPROUT,
        WEEPINBELL,
        VICTREEBEL,
        TENTACOOL,
        TENTACRUEL,
        GEODUDE,
        GEODUDEALOLA,
        GRAVELER,
        GRAVELERALOLA,
        GOLEM,
        GOLEMALOLA,
        PONYTA,
        PONYTAGALAR,
        RAPIDASH,
        RAPIDASHGALAR,
        SLOWPOKE,
        SLOWPOKEGALAR,
        SLOWBRO,
        SLOWBROMEGA,
        SLOWBROGALAR,
        MAGNEMITE,
        MAGNETON,
        FARFETCHD,
        FARFETCHDGALAR,
        DODUO,
        DODRIO,
        SEEL,
        DEWGONG,
        GRIMER,
        GRIMERALOLA,
        MUK,
        MUKALOLA,
        SHELLDER,
        CLOYSTER,
        GASTLY,
        HAUNTER,
        GENGAR,
        GENGARMEGA,
        GENGARGMAX,
        ONIX,
        DROWZEE,
        HYPNO,
        KRABBY,
        KINGLER,
        KINGLERGMAX,
        VOLTORB,
        VOLTORBHISUI,
        ELECTRODE,
        ELECTRODEHISUI,
        EXEGGCUTE,
        EXEGGUTOR,
        EXEGGUTORALOLA,
        CUBONE,
        MAROWAK,
        MAROWAKALOLA,
        MAROWAKALOLATOTEM,
        HITMONLEE,
        HITMONCHAN,
        LICKITUNG,
        KOFFING,
        WEEZING,
        WEEZINGGALAR,
        RHYHORN,
        RHYDON,
        CHANSEY,
        TANGELA,
        KANGASKHAN,
        KANGASKHANMEGA,
        HORSEA,
        SEADRA,
        GOLDEEN,
        SEAKING,
        STARYU,
        STARMIE,
        MRMIME,
        MRMIMEGALAR,
        SCYTHER,
        JYNX,
        ELECTABUZZ,
        MAGMAR,
        PINSIR,
        PINSIRMEGA,
        TAUROS,
        TAUROSPALDEACOMBAT,
        TAUROSPALDEABLAZE,
        TAUROSPALDEAAQUA,
        MAGIKARP,
        GYARADOS,
        GYARADOSMEGA,
        LAPRAS,
        LAPRASGMAX,
        DITTO,
        EEVEE,
        EEVEESTARTER,
        EEVEEGMAX,
        VAPOREON,
        JOLTEON,
        FLAREON,
        PORYGON,
        OMANYTE,
        OMASTAR,
        KABUTO,
        KABUTOPS,
        AERODACTYL,
        AERODACTYLMEGA,
        SNORLAX,
        SNORLAXGMAX,
        ARTICUNO,
        ARTICUNOGALAR,
        ZAPDOS,
        ZAPDOSGALAR,
        MOLTRES,
        MOLTRESGALAR,
        DRATINI,
        DRAGONAIR,
        DRAGONITE,
        MEWTWO,
        MEWTWOMEGAX,
        MEWTWOMEGAY,
        MEW,
        CHIKORITA,
        BAYLEEF,
        MEGANIUM,
        CYNDAQUIL,
        QUILAVA,
        TYPHLOSION,
        TYPHLOSIONHISUI,
        TOTODILE,
        CROCONAW,
        FERALIGATR,
        SENTRET,
        FURRET,
        HOOTHOOT,
        NOCTOWL,
        LEDYBA,
        LEDIAN,
        SPINARAK,
        ARIADOS,
        CROBAT,
        CHINCHOU,
        LANTURN,
        PICHU,
        PICHUSPIKYEARED,
        CLEFFA,
        IGGLYBUFF,
        TOGEPI,
        TOGETIC,
        NATU,
        XATU,
        MAREEP,
        FLAAFFY,
        AMPHAROS,
        AMPHAROSMEGA,
        BELLOSSOM,
        MARILL,
        AZUMARILL,
        SUDOWOODO,
        POLITOED,
        HOPPIP,
        SKIPLOOM,
        JUMPLUFF,
        AIPOM,
        SUNKERN,
        SUNFLORA,
        YANMA,
        WOOPER,
        WOOPERPALDEA,
        QUAGSIRE,
        ESPEON,
        UMBREON,
        MURKROW,
        SLOWKING,
        SLOWKINGGALAR,
        MISDREAVUS,
        UNOWN,
        UNOWNB,
        UNOWNC,
        UNOWND,
        UNOWNE,
        UNOWNF,
        UNOWNG,
        UNOWNH,
        UNOWNI,
        UNOWNJ,
        UNOWNK,
        UNOWNL,
        UNOWNM,
        UNOWNN,
        UNOWNO,
        UNOWNP,
        UNOWNQ,
        UNOWNR,
        UNOWNS,
        UNOWNT,
        UNOWNU,
        UNOWNV,
        UNOWNW,
        UNOWNX,
        UNOWNY,
        UNOWNZ,
        UNOWNEXCLAMATION,
        UNOWNQUESTION,
        WOBBUFFET,
        GIRAFARIG,
        PINECO,
        FORRETRESS,
        DUNSPARCE,
        GLIGAR,
        STEELIX,
        STEELIXMEGA,
        SNUBBULL,
        GRANBULL,
        QWILFISH,
        QWILFISHHISUI,
        SCIZOR,
        SCIZORMEGA,
        SHUCKLE,
        HERACROSS,
        HERACROSSMEGA,
        SNEASEL,
        SNEASELHISUI,
        TEDDIURSA,
        URSARING,
        SLUGMA,
        MAGCARGO,
        SWINUB,
        PILOSWINE,
        CORSOLA,
        CORSOLAGALAR,
        REMORAID,
        OCTILLERY,
        DELIBIRD,
        MANTINE,
        SKARMORY,
        HOUNDOUR,
        HOUNDOOM,
        HOUNDOOMMEGA,
        KINGDRA,
        PHANPY,
        DONPHAN,
        PORYGON2,
        STANTLER,
        SMEARGLE,
        TYROGUE,
        HITMONTOP,
        SMOOCHUM,
        ELEKID,
        MAGBY,
        MILTANK,
        BLISSEY,
        RAIKOU,
        ENTEI,
        SUICUNE,
        LARVITAR,
        PUPITAR,
        TYRANITAR,
        TYRANITARMEGA,
        LUGIA,
        HOOH,
        CELEBI,
        TREECKO,
        GROVYLE,
        SCEPTILE,
        SCEPTILEMEGA,
        TORCHIC,
        COMBUSKEN,
        BLAZIKEN,
        BLAZIKENMEGA,
        MUDKIP,
        MARSHTOMP,
        SWAMPERT,
        SWAMPERTMEGA,
        POOCHYENA,
        MIGHTYENA,
        ZIGZAGOON,
        ZIGZAGOONGALAR,
        LINOONE,
        LINOONEGALAR,
        WURMPLE,
        SILCOON,
        BEAUTIFLY,
        CASCOON,
        DUSTOX,
        LOTAD,
        LOMBRE,
        LUDICOLO,
        SEEDOT,
        NUZLEAF,
        SHIFTRY,
        TAILLOW,
        SWELLOW,
        WINGULL,
        PELIPPER,
        RALTS,
        KIRLIA,
        GARDEVOIR,
        GARDEVOIRMEGA,
        SURSKIT,
        MASQUERAIN,
        SHROOMISH,
        BRELOOM,
        SLAKOTH,
        VIGOROTH,
        SLAKING,
        NINCADA,
        NINJASK,
        SHEDINJA,
        WHISMUR,
        LOUDRED,
        EXPLOUD,
        MAKUHITA,
        HARIYAMA,
        AZURILL,
        NOSEPASS,
        SKITTY,
        DELCATTY,
        SABLEYE,
        SABLEYEMEGA,
        MAWILE,
        MAWILEMEGA,
        ARON,
        LAIRON,
        AGGRON,
        AGGRONMEGA,
        MEDITITE,
        MEDICHAM,
        MEDICHAMMEGA,
        ELECTRIKE,
        MANECTRIC,
        MANECTRICMEGA,
        PLUSLE,
        MINUN,
        VOLBEAT,
        ILLUMISE,
        ROSELIA,
        GULPIN,
        SWALOT,
        CARVANHA,
        SHARPEDO,
        SHARPEDOMEGA,
        WAILMER,
        WAILORD,
        NUMEL,
        CAMERUPT,
        CAMERUPTMEGA,
        TORKOAL,
        SPOINK,
        GRUMPIG,
        SPINDA,
        TRAPINCH,
        VIBRAVA,
        FLYGON,
        CACNEA,
        CACTURNE,
        SWABLU,
        ALTARIA,
        ALTARIAMEGA,
        ZANGOOSE,
        SEVIPER,
        LUNATONE,
        SOLROCK,
        BARBOACH,
        WHISCASH,
        CORPHISH,
        CRAWDAUNT,
        BALTOY,
        CLAYDOL,
        LILEEP,
        CRADILY,
        ANORITH,
        ARMALDO,
        FEEBAS,
        MILOTIC,
        CASTFORM,
        CASTFORMSUNNY,
        CASTFORMRAINY,
        CASTFORMSNOWY,
        KECLEON,
        SHUPPET,
        BANETTE,
        BANETTEMEGA,
        DUSKULL,
        DUSCLOPS,
        TROPIUS,
        CHIMECHO,
        ABSOL,
        ABSOLMEGA,
        WYNAUT,
        SNORUNT,
        GLALIE,
        GLALIEMEGA,
        SPHEAL,
        SEALEO,
        WALREIN,
        CLAMPERL,
        HUNTAIL,
        GOREBYSS,
        RELICANTH,
        LUVDISC,
        BAGON,
        SHELGON,
        SALAMENCE,
        SALAMENCEMEGA,
        BELDUM,
        METANG,
        METAGROSS,
        METAGROSSMEGA,
        REGIROCK,
        REGICE,
        REGISTEEL,
        LATIAS,
        LATIASMEGA,
        LATIOS,
        LATIOSMEGA,
        KYOGRE,
        KYOGREPRIMAL,
        GROUDON,
        GROUDONPRIMAL,
        RAYQUAZA,
        RAYQUAZAMEGA,
        JIRACHI,
        DEOXYS,
        DEOXYSATTACK,
        DEOXYSDEFENSE,
        DEOXYSSPEED,
        TURTWIG,
        GROTLE,
        TORTERRA,
        CHIMCHAR,
        MONFERNO,
        INFERNAPE,
        PIPLUP,
        PRINPLUP,
        EMPOLEON,
        STARLY,
        STARAVIA,
        STARAPTOR,
        BIDOOF,
        BIBAREL,
        KRICKETOT,
        KRICKETUNE,
        SHINX,
        LUXIO,
        LUXRAY,
        BUDEW,
        ROSERADE,
        CRANIDOS,
        RAMPARDOS,
        SHIELDON,
        BASTIODON,
        BURMY,
        BURMYSANDY,
        BURMYTRASH,
        WORMADAM,
        WORMADAMSANDY,
        WORMADAMTRASH,
        MOTHIM,
        COMBEE,
        VESPIQUEN,
        PACHIRISU,
        BUIZEL,
        FLOATZEL,
        CHERUBI,
        CHERRIM,
        CHERRIMSUNSHINE,
        SHELLOS,
        SHELLOSEAST,
        GASTRODON,
        GASTRODONEAST,
        AMBIPOM,
        DRIFLOON,
        DRIFBLIM,
        BUNEARY,
        LOPUNNY,
        LOPUNNYMEGA,
        MISMAGIUS,
        HONCHKROW,
        GLAMEOW,
        PURUGLY,
        CHINGLING,
        STUNKY,
        SKUNTANK,
        BRONZOR,
        BRONZONG,
        BONSLY,
        MIMEJR,
        HAPPINY,
        CHATOT,
        SPIRITOMB,
        GIBLE,
        GABITE,
        GARCHOMP,
        GARCHOMPMEGA,
        MUNCHLAX,
        RIOLU,
        LUCARIO,
        LUCARIOMEGA,
        HIPPOPOTAS,
        HIPPOWDON,
        SKORUPI,
        DRAPION,
        CROAGUNK,
        TOXICROAK,
        CARNIVINE,
        FINNEON,
        LUMINEON,
        MANTYKE,
        SNOVER,
        ABOMASNOW,
        ABOMASNOWMEGA,
        WEAVILE,
        MAGNEZONE,
        LICKILICKY,
        RHYPERIOR,
        TANGROWTH,
        ELECTIVIRE,
        MAGMORTAR,
        TOGEKISS,
        YANMEGA,
        LEAFEON,
        GLACEON,
        GLISCOR,
        MAMOSWINE,
        PORYGONZ,
        GALLADE,
        GALLADEMEGA,
        PROBOPASS,
        DUSKNOIR,
        FROSLASS,
        ROTOM,
        ROTOMHEAT,
        ROTOMWASH,
        ROTOMFROST,
        ROTOMFAN,
        ROTOMMOW,
        UXIE,
        MESPRIT,
        AZELF,
        DIALGA,
        DIALGAORIGIN,
        PALKIA,
        PALKIAORIGIN,
        HEATRAN,
        REGIGIGAS,
        GIRATINA,
        GIRATINAORIGIN,
        CRESSELIA,
        PHIONE,
        MANAPHY,
        DARKRAI,
        SHAYMIN,
        SHAYMINSKY,
        ARCEUS,
        ARCEUSBUG,
        ARCEUSDARK,
        ARCEUSDRAGON,
        ARCEUSELECTRIC,
        ARCEUSFAIRY,
        ARCEUSFIGHTING,
        ARCEUSFIRE,
        ARCEUSFLYING,
        ARCEUSGHOST,
        ARCEUSGRASS,
        ARCEUSGROUND,
        ARCEUSICE,
        ARCEUSPOISON,
        ARCEUSPSYCHIC,
        ARCEUSROCK,
        ARCEUSSTEEL,
        ARCEUSWATER,
        VICTINI,
        SNIVY,
        SERVINE,
        SERPERIOR,
        TEPIG,
        PIGNITE,
        EMBOAR,
        OSHAWOTT,
        DEWOTT,
        SAMUROTT,
        SAMUROTTHISUI,
        PATRAT,
        WATCHOG,
        LILLIPUP,
        HERDIER,
        STOUTLAND,
        PURRLOIN,
        LIEPARD,
        PANSAGE,
        SIMISAGE,
        PANSEAR,
        SIMISEAR,
        PANPOUR,
        SIMIPOUR,
        MUNNA,
        MUSHARNA,
        PIDOVE,
        TRANQUILL,
        UNFEZANT,
        BLITZLE,
        ZEBSTRIKA,
        ROGGENROLA,
        BOLDORE,
        GIGALITH,
        WOOBAT,
        SWOOBAT,
        DRILBUR,
        EXCADRILL,
        AUDINO,
        AUDINOMEGA,
        TIMBURR,
        GURDURR,
        CONKELDURR,
        TYMPOLE,
        PALPITOAD,
        SEISMITOAD,
        THROH,
        SAWK,
        SEWADDLE,
        SWADLOON,
        LEAVANNY,
        VENIPEDE,
        WHIRLIPEDE,
        SCOLIPEDE,
        COTTONEE,
        WHIMSICOTT,
        PETILIL,
        LILLIGANT,
        LILLIGANTHISUI,
        BASCULIN,
        BASCULINBLUESTRIPED,
        BASCULINWHITESTRIPED,
        SANDILE,
        KROKOROK,
        KROOKODILE,
        DARUMAKA,
        DARUMAKAGALAR,
        DARMANITAN,
        DARMANITANZEN,
        DARMANITANGALAR,
        DARMANITANGALARZEN,
        MARACTUS,
        DWEBBLE,
        CRUSTLE,
        SCRAGGY,
        SCRAFTY,
        SIGILYPH,
        YAMASK,
        YAMASKGALAR,
        COFAGRIGUS,
        TIRTOUGA,
        CARRACOSTA,
        ARCHEN,
        ARCHEOPS,
        TRUBBISH,
        GARBODOR,
        GARBODORGMAX,
        ZORUA,
        ZORUAHISUI,
        ZOROARK,
        ZOROARKHISUI,
        MINCCINO,
        CINCCINO,
        GOTHITA,
        GOTHORITA,
        GOTHITELLE,
        SOLOSIS,
        DUOSION,
        REUNICLUS,
        DUCKLETT,
        SWANNA,
        VANILLITE,
        VANILLISH,
        VANILLUXE,
        DEERLING,
        DEERLINGSUMMER,
        DEERLINGAUTUMN,
        DEERLINGWINTER,
        SAWSBUCK,
        SAWSBUCKSUMMER,
        SAWSBUCKAUTUMN,
        SAWSBUCKWINTER,
        EMOLGA,
        KARRABLAST,
        ESCAVALIER,
        FOONGUS,
        AMOONGUSS,
        FRILLISH,
        JELLICENT,
        ALOMOMOLA,
        JOLTIK,
        GALVANTULA,
        FERROSEED,
        FERROTHORN,
        KLINK,
        KLANG,
        KLINKLANG,
        TYNAMO,
        EELEKTRIK,
        EELEKTROSS,
        ELGYEM,
        BEHEEYEM,
        LITWICK,
        LAMPENT,
        CHANDELURE,
        AXEW,
        FRAXURE,
        HAXORUS,
        CUBCHOO,
        BEARTIC,
        CRYOGONAL,
        SHELMET,
        ACCELGOR,
        STUNFISK,
        STUNFISKGALAR,
        MIENFOO,
        MIENSHAO,
        DRUDDIGON,
        GOLETT,
        GOLURK,
        PAWNIARD,
        BISHARP,
        BOUFFALANT,
        RUFFLET,
        BRAVIARY,
        BRAVIARYHISUI,
        VULLABY,
        MANDIBUZZ,
        HEATMOR,
        DURANT,
        DEINO,
        ZWEILOUS,
        HYDREIGON,
        LARVESTA,
        VOLCARONA,
        COBALION,
        TERRAKION,
        VIRIZION,
        TORNADUS,
        TORNADUSTHERIAN,
        THUNDURUS,
        THUNDURUSTHERIAN,
        RESHIRAM,
        ZEKROM,
        LANDORUS,
        LANDORUSTHERIAN,
        KYUREM,
        KYUREMBLACK,
        KYUREMWHITE,
        KELDEO,
        KELDEORESOLUTE,
        MELOETTA,
        MELOETTAPIROUETTE,
        GENESECT,
        GENESECTDOUSE,
        GENESECTSHOCK,
        GENESECTBURN,
        GENESECTCHILL,
        CHESPIN,
        QUILLADIN,
        CHESNAUGHT,
        FENNEKIN,
        BRAIXEN,
        DELPHOX,
        FROAKIE,
        FROGADIER,
        GRENINJA,
        GRENINJABOND,
        GRENINJAASH,
        BUNNELBY,
        DIGGERSBY,
        FLETCHLING,
        FLETCHINDER,
        TALONFLAME,
        SCATTERBUG,
        SPEWPA,
        VIVILLON,
        VIVILLONARCHIPELAGO,
        VIVILLONCONTINENTAL,
        VIVILLONELEGANT,
        VIVILLONGARDEN,
        VIVILLONHIGHPLAINS,
        VIVILLONICYSNOW,
        VIVILLONJUNGLE,
        VIVILLONMARINE,
        VIVILLONMODERN,
        VIVILLONMONSOON,
        VIVILLONOCEAN,
        VIVILLONPOLAR,
        VIVILLONRIVER,
        VIVILLONSANDSTORM,
        VIVILLONSAVANNA,
        VIVILLONSUN,
        VIVILLONTUNDRA,
        VIVILLONFANCY,
        VIVILLONPOKEBALL,
        LITLEO,
        PYROAR,
        FLABEBE,
        FLABEBEBLUE,
        FLABEBEORANGE,
        FLABEBEWHITE,
        FLABEBEYELLOW,
        FLOETTE,
        FLOETTEBLUE,
        FLOETTEORANGE,
        FLOETTEWHITE,
        FLOETTEYELLOW,
        FLOETTEETERNAL,
        FLORGES,
        FLORGESBLUE,
        FLORGESORANGE,
        FLORGESWHITE,
        FLORGESYELLOW,
        SKIDDO,
        GOGOAT,
        PANCHAM,
        PANGORO,
        FURFROU,
        FURFROUDANDY,
        FURFROUDEBUTANTE,
        FURFROUDIAMOND,
        FURFROUHEART,
        FURFROUKABUKI,
        FURFROULAREINE,
        FURFROUMATRON,
        FURFROUPHARAOH,
        FURFROUSTAR,
        ESPURR,
        MEOWSTIC,
        MEOWSTICF,
        HONEDGE,
        DOUBLADE,
        AEGISLASH,
        AEGISLASHBLADE,
        SPRITZEE,
        AROMATISSE,
        SWIRLIX,
        SLURPUFF,
        INKAY,
        MALAMAR,
        BINACLE,
        BARBARACLE,
        SKRELP,
        DRAGALGE,
        CLAUNCHER,
        CLAWITZER,
        HELIOPTILE,
        HELIOLISK,
        TYRUNT,
        TYRANTRUM,
        AMAURA,
        AURORUS,
        SYLVEON,
        HAWLUCHA,
        DEDENNE,
        CARBINK,
        GOOMY,
        SLIGGOO,
        SLIGGOOHISUI,
        GOODRA,
        GOODRAHISUI,
        KLEFKI,
        PHANTUMP,
        TREVENANT,
        PUMPKABOO,
        PUMPKABOOSMALL,
        PUMPKABOOLARGE,
        PUMPKABOOSUPER,
        GOURGEIST,
        GOURGEISTSMALL,
        GOURGEISTLARGE,
        GOURGEISTSUPER,
        BERGMITE,
        AVALUGG,
        AVALUGGHISUI,
        NOIBAT,
        NOIVERN,
        XERNEAS,
        XERNEASNEUTRAL,
        YVELTAL,
        ZYGARDE,
        ZYGARDE10,
        ZYGARDECOMPLETE,
        DIANCIE,
        DIANCIEMEGA,
        HOOPA,
        HOOPAUNBOUND,
        VOLCANION,
        ROWLET,
        DARTRIX,
        DECIDUEYE,
        DECIDUEYEHISUI,
        LITTEN,
        TORRACAT,
        INCINEROAR,
        POPPLIO,
        BRIONNE,
        PRIMARINA,
        PIKIPEK,
        TRUMBEAK,
        TOUCANNON,
        YUNGOOS,
        GUMSHOOS,
        GUMSHOOSTOTEM,
        GRUBBIN,
        CHARJABUG,
        VIKAVOLT,
        VIKAVOLTTOTEM,
        CRABRAWLER,
        CRABOMINABLE,
        ORICORIO,
        ORICORIOPOMPOM,
        ORICORIOPAU,
        ORICORIOSENSU,
        CUTIEFLY,
        RIBOMBEE,
        RIBOMBEETOTEM,
        ROCKRUFF,
        LYCANROC,
        LYCANROCMIDNIGHT,
        LYCANROCDUSK,
        WISHIWASHI,
        WISHIWASHISCHOOL,
        MAREANIE,
        TOXAPEX,
        MUDBRAY,
        MUDSDALE,
        DEWPIDER,
        ARAQUANID,
        ARAQUANIDTOTEM,
        FOMANTIS,
        LURANTIS,
        LURANTISTOTEM,
        MORELULL,
        SHIINOTIC,
        SALANDIT,
        SALAZZLE,
        SALAZZLETOTEM,
        STUFFUL,
        BEWEAR,
        BOUNSWEET,
        STEENEE,
        TSAREENA,
        COMFEY,
        ORANGURU,
        PASSIMIAN,
        WIMPOD,
        GOLISOPOD,
        SANDYGAST,
        PALOSSAND,
        PYUKUMUKU,
        TYPENULL,
        SILVALLY,
        SILVALLYBUG,
        SILVALLYDARK,
        SILVALLYDRAGON,
        SILVALLYELECTRIC,
        SILVALLYFAIRY,
        SILVALLYFIGHTING,
        SILVALLYFIRE,
        SILVALLYFLYING,
        SILVALLYGHOST,
        SILVALLYGRASS,
        SILVALLYGROUND,
        SILVALLYICE,
        SILVALLYPOISON,
        SILVALLYPSYCHIC,
        SILVALLYROCK,
        SILVALLYSTEEL,
        SILVALLYWATER,
        MINIOR,
        MINIORORANGE,
        MINIORYELLOW,
        MINIORGREEN,
        MINIORBLUE,
        MINIORINDIGO,
        MINIORVIOLET,
        MINIORMETEOR,
        KOMALA,
        TURTONATOR,
        TOGEDEMARU,
        TOGEDEMARUTOTEM,
        MIMIKYU,
        MIMIKYUBUSTED,
        MIMIKYUTOTEM,
        MIMIKYUBUSTEDTOTEM,
        BRUXISH,
        DRAMPA,
        DHELMISE,
        JANGMOO,
        HAKAMOO,
        KOMMOO,
        KOMMOOTOTEM,
        TAPUKOKO,
        TAPULELE,
        TAPUBULU,
        TAPUFINI,
        COSMOG,
        COSMOEM,
        SOLGALEO,
        LUNALA,
        NIHILEGO,
        BUZZWOLE,
        PHEROMOSA,
        XURKITREE,
        CELESTEELA,
        KARTANA,
        GUZZLORD,
        NECROZMA,
        NECROZMADUSKMANE,
        NECROZMADAWNWINGS,
        NECROZMAULTRA,
        MAGEARNA,
        MAGEARNAORIGINAL,
        MARSHADOW,
        POIPOLE,
        NAGANADEL,
        STAKATAKA,
        BLACEPHALON,
        ZERAORA,
        MELTAN,
        MELMETAL,
        MELMETALGMAX,
        GROOKEY,
        THWACKEY,
        RILLABOOM,
        RILLABOOMGMAX,
        SCORBUNNY,
        RABOOT,
        CINDERACE,
        CINDERACEGMAX,
        SOBBLE,
        DRIZZILE,
        INTELEON,
        INTELEONGMAX,
        SKWOVET,
        GREEDENT,
        ROOKIDEE,
        CORVISQUIRE,
        CORVIKNIGHT,
        CORVIKNIGHTGMAX,
        BLIPBUG,
        DOTTLER,
        ORBEETLE,
        ORBEETLEGMAX,
        NICKIT,
        THIEVUL,
        GOSSIFLEUR,
        ELDEGOSS,
        WOOLOO,
        DUBWOOL,
        CHEWTLE,
        DREDNAW,
        DREDNAWGMAX,
        YAMPER,
        BOLTUND,
        ROLYCOLY,
        CARKOL,
        COALOSSAL,
        COALOSSALGMAX,
        APPLIN,
        FLAPPLE,
        FLAPPLEGMAX,
        APPLETUN,
        APPLETUNGMAX,
        SILICOBRA,
        SANDACONDA,
        SANDACONDAGMAX,
        CRAMORANT,
        CRAMORANTGULPING,
        CRAMORANTGORGING,
        ARROKUDA,
        BARRASKEWDA,
        TOXEL,
        TOXTRICITY,
        TOXTRICITYLOWKEY,
        TOXTRICITYGMAX,
        TOXTRICITYLOWKEYGMAX,
        SIZZLIPEDE,
        CENTISKORCH,
        CENTISKORCHGMAX,
        CLOBBOPUS,
        GRAPPLOCT,
        SINISTEA,
        SINISTEAANTIQUE,
        POLTEAGEIST,
        POLTEAGEISTANTIQUE,
        HATENNA,
        HATTREM,
        HATTERENE,
        HATTERENEGMAX,
        IMPIDIMP,
        MORGREM,
        GRIMMSNARL,
        GRIMMSNARLGMAX,
        OBSTAGOON,
        PERRSERKER,
        CURSOLA,
        SIRFETCHD,
        MRRIME,
        RUNERIGUS,
        MILCERY,
        ALCREMIE,
        ALCREMIERUBYCREAM,
        ALCREMIEMATCHACREAM,
        ALCREMIEMINTCREAM,
        ALCREMIELEMONCREAM,
        ALCREMIESALTEDCREAM,
        ALCREMIERUBYSWIRL,
        ALCREMIECARAMELSWIRL,
        ALCREMIERAINBOWSWIRL,
        ALCREMIEGMAX,
        FALINKS,
        PINCURCHIN,
        SNOM,
        FROSMOTH,
        STONJOURNER,
        EISCUE,
        EISCUENOICE,
        INDEEDEE,
        INDEEDEEF,
        MORPEKO,
        MORPEKOHANGRY,
        CUFANT,
        COPPERAJAH,
        COPPERAJAHGMAX,
        DRACOZOLT,
        ARCTOZOLT,
        DRACOVISH,
        ARCTOVISH,
        DURALUDON,
        DURALUDONGMAX,
        DREEPY,
        DRAKLOAK,
        DRAGAPULT,
        ZACIAN,
        ZACIANCROWNED,
        ZAMAZENTA,
        ZAMAZENTACROWNED,
        ETERNATUS,
        ETERNATUSETERNAMAX,
        KUBFU,
        URSHIFU,
        URSHIFURAPIDSTRIKE,
        URSHIFUGMAX,
        URSHIFURAPIDSTRIKEGMAX,
        ZARUDE,
        ZARUDEDADA,
        REGIELEKI,
        REGIDRAGO,
        GLASTRIER,
        SPECTRIER,
        CALYREX,
        CALYREXICE,
        CALYREXSHADOW,
        WYRDEER,
        KLEAVOR,
        URSALUNA,
        URSALUNABLOODMOON,
        BASCULEGION,
        BASCULEGIONF,
        SNEASLER,
        OVERQWIL,
        ENAMORUS,
        ENAMORUSTHERIAN,
        SPRIGATITO,
        FLORAGATO,
        MEOWSCARADA,
        FUECOCO,
        CROCALOR,
        SKELEDIRGE,
        QUAXLY,
        QUAXWELL,
        QUAQUAVAL,
        LECHONK,
        OINKOLOGNE,
        OINKOLOGNEF,
        TAROUNTULA,
        SPIDOPS,
        NYMBLE,
        LOKIX,
        PAWMI,
        PAWMO,
        PAWMOT,
        TANDEMAUS,
        MAUSHOLD,
        MAUSHOLDFOUR,
        FIDOUGH,
        DACHSBUN,
        SMOLIV,
        DOLLIV,
        ARBOLIVA,
        SQUAWKABILLY,
        SQUAWKABILLYBLUE,
        SQUAWKABILLYYELLOW,
        SQUAWKABILLYWHITE,
        NACLI,
        NACLSTACK,
        GARGANACL,
        CHARCADET,
        ARMAROUGE,
        CERULEDGE,
        TADBULB,
        BELLIBOLT,
        WATTREL,
        KILOWATTREL,
        MASCHIFF,
        MABOSSTIFF,
        SHROODLE,
        GRAFAIAI,
        BRAMBLIN,
        BRAMBLEGHAST,
        TOEDSCOOL,
        TOEDSCRUEL,
        KLAWF,
        CAPSAKID,
        SCOVILLAIN,
        RELLOR,
        RABSCA,
        FLITTLE,
        ESPATHRA,
        TINKATINK,
        TINKATUFF,
        TINKATON,
        WIGLETT,
        WUGTRIO,
        BOMBIRDIER,
        FINIZEN,
        PALAFIN,
        PALAFINHERO,
        VAROOM,
        REVAVROOM,
        CYCLIZAR,
        ORTHWORM,
        GLIMMET,
        GLIMMORA,
        GREAVARD,
        HOUNDSTONE,
        FLAMIGO,
        CETODDLE,
        CETITAN,
        VELUZA,
        DONDOZO,
        TATSUGIRI,
        TATSUGIRIDROOPY,
        TATSUGIRISTRETCHY,
        ANNIHILAPE,
        CLODSIRE,
        FARIGIRAF,
        DUDUNSPARCE,
        DUDUNSPARCETHREESEGMENT,
        KINGAMBIT,
        GREATTUSK,
        SCREAMTAIL,
        BRUTEBONNET,
        FLUTTERMANE,
        SLITHERWING,
        SANDYSHOCKS,
        IRONTREADS,
        IRONBUNDLE,
        IRONHANDS,
        IRONJUGULIS,
        IRONMOTH,
        IRONTHORNS,
        FRIGIBAX,
        ARCTIBAX,
        BAXCALIBUR,
        GIMMIGHOUL,
        GIMMIGHOULROAMING,
        GHOLDENGO,
        WOCHIEN,
        CHIENPAO,
        TINGLU,
        CHIYU,
        ROARINGMOON,
        IRONVALIANT,
        KORAIDON,
        MIRAIDON,
        WALKINGWAKE,
        IRONLEAVES,
        DIPPLIN,
        POLTCHAGEIST,
        POLTCHAGEISTARTISAN,
        SINISTCHA,
        SINISTCHAMASTERPIECE,
        OKIDOGI,
        MUNKIDORI,
        FEZANDIPITI,
        OGERPON,
        OGERPONWELLSPRING,
        OGERPONHEARTHFLAME,
        OGERPONCORNERSTONE,
        OGERPONTEALTERA,
        OGERPONWELLSPRINGTERA,
        OGERPONHEARTHFLAMETERA,
        OGERPONCORNERSTONETERA,
        ARCHALUDON,
        HYDRAPPLE,
        GOUGINGFIRE,
        RAGINGBOLT,
        IRONBOULDER,
        IRONCROWN,
        TERAPAGOS,
        TERAPAGOSTERASTAL,
        TERAPAGOSSTELLAR,
        PECHARUNT,
    },
    default = NONE
}

impl PokemonName {
    pub fn is_pikachu_variant(&self) -> bool {
        match self {
            PokemonName::PIKACHU => true,
            PokemonName::PIKACHUCOSPLAY => true,
            PokemonName::PIKACHUROCKSTAR => true,
            PokemonName::PIKACHUBELLE => true,
            PokemonName::PIKACHUPOPSTAR => true,
            PokemonName::PIKACHUPHD => true,
            PokemonName::PIKACHULIBRE => true,
            PokemonName::PIKACHUORIGINAL => true,
            PokemonName::PIKACHUHOENN => true,
            PokemonName::PIKACHUSINNOH => true,
            PokemonName::PIKACHUUNOVA => true,
            PokemonName::PIKACHUKALOS => true,
            PokemonName::PIKACHUALOLA => true,
            PokemonName::PIKACHUPARTNER => true,
            PokemonName::PIKACHUSTARTER => true,
            PokemonName::PIKACHUGMAX => true,
            PokemonName::PIKACHUWORLD => true,
            _ => false,
        }
    }
}
