From 2d87607edccdaf91e81e3ddcd63fc16179e6d0bc Mon Sep 17 00:00:00 2001 From: TheGreenTie Date: Mon, 17 Feb 2020 14:19:53 -0600 Subject: [PATCH] 01/02/2020 #1 --- LivingDexSS.gmx/Configs/Default.config.gmx | 4 +- LivingDexSS.gmx/LivingDexSS.project.gmx | 3 + .../datafiles/pokedata - copia.csv | 1287 +++++++++ LivingDexSS.gmx/datafiles/pokedata.csv | 2574 ++++++++--------- LivingDexSS.gmx/extensions/nsfs.extension.gmx | 503 ++++ .../nsfs/Assets/Fonts/fnt_nsfs_demo.font.gmx | 117 + .../nsfs/Assets/Fonts/fnt_nsfs_demo.png | Bin 0 -> 13505 bytes .../Assets/Objects/obj_nsfs_demo.object.gmx | 201 ++ .../nsfs/Assets/Rooms/rm_nsfs_demo.room.gmx | 65 + .../nsfs/Assets/Scripts/demo_button.gml | 23 + .../nsfs/Assets/Scripts/demo_param.gml | 7 + .../nsfs/Assets/Scripts/demo_prompt.gml | 7 + .../nsfs/Assets/Scripts/demo_sfmt.gml | 11 + .../nsfs/Assets/Scripts/demo_status.gml | 5 + .../nsfs/Assets/Scripts/demo_trace.gml | 1 + .../images/spr_nsfs_demo_white32_0.png | Bin 0 -> 98 bytes .../Sprites/spr_nsfs_demo_white32.sprite.gmx | 25 + .../nsfs/Assets/datafiles/nsfs-doc.html | 502 ++++ LivingDexSS.gmx/extensions/nsfs/nsfs.cpp | 491 ++++ LivingDexSS.gmx/extensions/nsfs/nsfs.dll | Bin 0 -> 80896 bytes LivingDexSS.gmx/extensions/nsfs/nsfs.gml | 34 + LivingDexSS.gmx/objects/obj_global.object.gmx | 155 +- LivingDexSS.gmx/objects/obj_slot.object.gmx | 100 +- LivingDexSS.gmx/scripts/get_color.gml | 16 + LivingDexSS.gmx/scripts/get_color3.gml | 16 + LivingDexSS.gmx/scripts/scr_window_resize.gml | 5 +- LivingDexSS.gmx/scripts/scr_zeros.gml | 1 + 27 files changed, 4819 insertions(+), 1334 deletions(-) create mode 100644 LivingDexSS.gmx/datafiles/pokedata - copia.csv create mode 100644 LivingDexSS.gmx/extensions/nsfs.extension.gmx create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Fonts/fnt_nsfs_demo.font.gmx create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Fonts/fnt_nsfs_demo.png create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Objects/obj_nsfs_demo.object.gmx create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Rooms/rm_nsfs_demo.room.gmx create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_button.gml create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_param.gml create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_prompt.gml create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_sfmt.gml create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_status.gml create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_trace.gml create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Sprites/images/spr_nsfs_demo_white32_0.png create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/Sprites/spr_nsfs_demo_white32.sprite.gmx create mode 100644 LivingDexSS.gmx/extensions/nsfs/Assets/datafiles/nsfs-doc.html create mode 100644 LivingDexSS.gmx/extensions/nsfs/nsfs.cpp create mode 100644 LivingDexSS.gmx/extensions/nsfs/nsfs.dll create mode 100644 LivingDexSS.gmx/extensions/nsfs/nsfs.gml create mode 100644 LivingDexSS.gmx/scripts/get_color.gml create mode 100644 LivingDexSS.gmx/scripts/get_color3.gml create mode 100644 LivingDexSS.gmx/scripts/scr_zeros.gml diff --git a/LivingDexSS.gmx/Configs/Default.config.gmx b/LivingDexSS.gmx/Configs/Default.config.gmx index 207b3bd..34d0edd 100644 --- a/LivingDexSS.gmx/Configs/Default.config.gmx +++ b/LivingDexSS.gmx/Configs/Default.config.gmx @@ -222,8 +222,8 @@ 0 nil False - {D242171F-68AC-415F-95CA-A6C1E6F1F95F} - 350581466 + {E0833200-DDCB-48EF-B22C-B65B9A7F033A} + 835589168 false true true diff --git a/LivingDexSS.gmx/LivingDexSS.project.gmx b/LivingDexSS.gmx/LivingDexSS.project.gmx index 7179f1b..168d828 100644 --- a/LivingDexSS.gmx/LivingDexSS.project.gmx +++ b/LivingDexSS.gmx/LivingDexSS.project.gmx @@ -39850,6 +39850,7 @@ extensions\CSV Manager + extensions\nsfs @@ -39868,6 +39869,8 @@ + + objects\obj_global diff --git a/LivingDexSS.gmx/datafiles/pokedata - copia.csv b/LivingDexSS.gmx/datafiles/pokedata - copia.csv new file mode 100644 index 0000000..04d462d --- /dev/null +++ b/LivingDexSS.gmx/datafiles/pokedata - copia.csv @@ -0,0 +1,1287 @@ +id,DexNo,Pokemon,Form,Type 1,Type 2 +1,1,BULBASAUR,,Grass,Poison +2,2,IVYSAUR,,Grass,Poison +3,3,VENUSAUR,FEMALE,Grass,Poison +4,3,VENUSAUR,MALE,Grass,Poison +5,3,VENUSAUR,MEGA,Grass,Poison +6,4,CHARMANDER,,Fire, +7,5,CHARMELEON,,Fire, +8,6,CHARIZARD,,Fire,Flying +9,6,CHARIZARD,MEGA (X),Fire,Dragon +10,6,CHARIZARD,MEGA (Y),Fire,Flying +11,7,SQUIRTLE,,Water, +12,8,WARTORTLE,,Water, +13,9,BLASTOISE,,Water, +14,9,BLASTOISE,MEGA,Water, +15,10,CATERPIE,,Bug, +16,11,METAPOD,,Bug, +17,12,BUTTERFREE,FEMALE,Bug,Flying +18,12,BUTTERFREE,MALE,Bug,Flying +19,13,WEEDLE,,Bug,Poison +20,14,KAKUNA,,Bug,Poison +21,15,BEEDRILL,,Bug,Poison +22,15,BEEDRILL,MEGA,Bug,Poison +23,16,PIDGEY,,Normal,Flying +24,17,PIDGEOTTO,,Normal,Flying +25,18,PIDGEOT,,Normal,Flying +26,18,PIDGEOT,MEGA,Normal,Flying +27,19,RATTATA,FEMALE,Normal, +28,19,RATTATA,MALE,Normal, +29,19,RATTATA,ALOLAN,Dark,Normal +30,20,RATICATE,FEMALE,Normal, +31,20,RATICATE,MALE,Normal, +32,20,RATICATE,ALOLAN,Dark,Normal +33,21,SPEAROW,,Normal,Flying +34,22,FEAROW,,Normal,Flying +35,23,EKANS,,Poison, +36,24,ARBOK,,Poison, +37,25,PIKACHU,FEMALE,Electric, +38,25,PIKACHU,MALE,Electric, +39,25,PIKACHU,ASH 1,Electric, +40,25,PIKACHU,ASH 2,Electric, +41,25,PIKACHU,ASH 3,Electric, +42,25,PIKACHU,ASH 4,Electric, +43,25,PIKACHU,ASH 5,Electric, +44,25,PIKACHU,ASH 6,Electric, +45,26,RAICHU,FEMALE,Electric, +46,26,RAICHU,MALE,Electric, +47,26,RAICHU,ALOLAN,Electric,Psychic +48,27,SANDSHREW,,Ground, +49,27,SANDSHREW,ALOLAN,Ice,Steel +50,28,SANDSLASH,,Ground, +51,28,SANDSLASH,ALOLAN,Ice,Steel +52,29,NIDORAN♀,FEMALE,Poison, +53,30,NIDORINA,,Poison, +54,31,NIDOQUEEN,,Poison,Ground +55,32,NIDORAN♂,,Poison, +56,33,NIDORINO,,Poison, +57,34,NIDOKING,,Poison,Ground +58,35,CLEFAIRY,,Fairy, +59,36,CLEFABLE,,Fairy, +60,37,VULPIX,,Fire, +61,37,VULPIX,ALOLAN,Ice, +62,38,NINETALES,,Fire, +63,38,NINETALES,ALOLAN,Ice,Fairy +64,39,JIGGLYPUFF,,Normal,Fairy +65,40,WIGGLYTUFF,,Normal,Fairy +66,41,ZUBAT,FEMALE,Poison,Flying +67,41,ZUBAT,MALE,Poison,Flying +68,42,GOLBAT,FEMALE,Poison,Flying +69,42,GOLBAT,MALE,Poison,Flying +70,43,ODDISH,,Grass,Poison +71,44,GLOOM,FEMALE,Grass,Poison +72,44,GLOOM,MALE,Grass,Poison +73,45,VILEPLUME,FEMALE,Grass,Poison +74,45,VILEPLUME,MALE,Grass,Poison +75,46,PARAS,,Bug,Grass +76,47,PARASECT,,Bug,Grass +77,48,VENONAT,,Bug,Poison +78,49,VENOMOTH,,Bug,Poison +79,50,DIGLETT,,Ground, +80,50,DIGLETT,ALOLAN,Ground,Steel +81,51,DUGTRIO,,Ground, +82,51,DUGTRIO,ALOLAN,Ground,Steel +83,52,MEOWTH,,Normal, +84,52,MEOWTH,ALOLAN,Dark, +85,52,MEOWTH,GALARIAN,Steel, +86,53,PERSIAN,,Normal, +87,53,PERSIAN,ALOLAN,Dark, +88,54,PSYDUCK,,Water, +89,55,GOLDUCK,,Water, +90,56,MANKEY,,Fighting, +91,57,PRIMEAPE,,Fighting, +92,58,GROWLITHE,,Fire, +93,59,ARCANINE,,Fire, +94,60,POLIWAG,,Water, +95,61,POLIWHIRL,,Water, +96,62,POLIWRATH,,Water,Fighting +97,63,ABRA,,Psychic, +98,64,KADABRA,FEMALE,Psychic, +99,64,KADABRA,MALE,Psychic, +100,65,ALAKAZAM,FEMALE,Psychic, +101,65,ALAKAZAM,MALE,Psychic, +102,65,ALAKAZAM,MEGA,Psychic, +103,66,MACHOP,,Fighting, +104,67,MACHOKE,,Fighting, +105,68,MACHAMP,,Fighting, +106,69,BELLSPROUT,,Grass,Poison +107,70,WEEPINBELL,,Grass,Poison +108,71,VICTREEBEL,,Grass,Poison +109,72,TENTACOOL,,Water,Poison +110,73,TENTACRUEL,,Water,Poison +111,74,GEODUDE,,Rock,Ground +112,74,GEODUDE,ALOLAN,Rock,Electric +113,75,GRAVELER,,Rock,Ground +114,75,GRAVELER,ALOLAN,Rock,Electric +115,76,GOLEM,,Rock,Ground +116,76,GOLEM,ALOLAN,Rock,Electric +117,77,PONYTA,,Fire, +118,77,PONYTA,GALARIAN,Psychic, +119,78,RAPIDASH,,Fire, +120,78,RAPIDASH,GALARIAN,Psychic,Fairy +121,79,SLOWPOKE,,Water,Psychic +122,80,SLOWBRO,,Water,Psychic +123,80,SLOWBRO,MEGA,Water,Psychic +124,81,MAGNEMITE,,Electric,Steel +125,82,MAGNETON,,Electric,Steel +126,83,FARFETCH'D,,Normal,Flying +127,83,FARFETCH'D,GALARIAN,Fighting, +128,84,DODUO,FEMALE,Normal,Flying +129,84,DODUO,MALE,Normal,Flying +130,85,DODRIO,FEMALE,Normal,Flying +131,85,DODRIO,MALE,Normal,Flying +132,86,SEEL,,Water, +133,87,DEWGONG,,Water,Ice +134,88,GRIMER,,Poison, +135,88,GRIMER,ALOLAN,Poison,Dark +136,89,MUK,,Poison, +137,89,MUK,ALOLAN,Poison,Dark +138,90,SHELLDER,,Water, +139,91,CLOYSTER,,Water,Ice +140,92,GASTLY,,Ghost,Poison +141,93,HAUNTER,,Ghost,Poison +142,94,GENGAR,,Ghost,Poison +143,94,GENGAR,MEGA,Ghost,Poison +144,95,ONIX,,Rock,Ground +145,96,DROWZEE,,Psychic, +146,97,HYPNO,FEMALE,Psychic, +147,97,HYPNO,MALE,Psychic, +148,98,KRABBY,,Water, +149,99,KINGLER,,Water, +150,100,VOLTORB,,Electric, +151,101,ELECTRODE,,Electric, +152,102,EXEGGCUTE,,Grass,Psychic +153,103,EXEGGUTOR,,Grass,Psychic +154,103,EXEGGUTOR,ALOLAN,Grass,Dragon +155,104,CUBONE,,Ground, +156,105,MAROWAK,,Ground, +157,105,MAROWAK,ALOLAN,Fire,Ghost +158,106,HITMONLEE,,Fighting, +159,107,HITMONCHAN,,Fighting, +160,108,LICKITUNG,,Normal, +161,109,KOFFING,,Poison, +162,110,WEEZING,,Poison, +163,110,WEEZING,GALARIAN,Poison,Fairy +164,111,RHYHORN,FEMALE,Ground,Rock +165,111,RHYHORN,MALE,Ground,Rock +166,112,RHYDON,FEMALE,Ground,Rock +167,112,RHYDON,MALE,Ground,Rock +168,113,CHANSEY,,Normal, +169,114,TANGELA,,Grass, +170,115,KANGASKHAN,,Normal, +171,115,KANGASKHAN,MEGA,Normal, +172,116,HORSEA,,Water, +173,117,SEADRA,,Water, +174,118,GOLDEEN,FEMALE,Water, +175,118,GOLDEEN,MALE,Water, +176,119,SEAKING,FEMALE,Water, +177,119,SEAKING,MALE,Water, +178,120,STARYU,,Water, +179,121,STARMIE,,Water,Psychic +180,122,MR. MIME,,Psychic,Fairy +181,122,MR. MIME,GALARIAN,Ice,Psychic +182,123,SCYTHER,FEMALE,Bug,Flying +183,123,SCYTHER,MALE,Bug,Flying +184,124,JYNX,,Ice,Psychic +185,125,ELECTABUZZ,,Electric, +186,126,MAGMAR,,Fire, +187,127,PINSIR,,Bug, +188,127,PINSIR,MEGA,Bug,Flying +189,128,TAUROS,,Normal, +190,129,MAGIKARP,FEMALE,Water, +191,129,MAGIKARP,MALE,Water, +192,130,GYARADOS,FEMALE,Water,Flying +193,130,GYARADOS,MALE,Water,Flying +194,130,GYARADOS,MEGA,Water,Dark +195,131,LAPRAS,,Water,Ice +196,132,DITTO,,Normal, +197,133,EEVEE,,Normal, +198,134,VAPOREON,,Water, +199,135,JOLTEON,,Electric, +200,136,FLAREON,,Fire, +201,137,PORYGON,,Normal, +202,138,OMANYTE,,Rock,Water +203,139,OMASTAR,,Rock,Water +204,140,KABUTO,,Rock,Water +205,141,KABUTOPS,,Rock,Water +206,142,AERODACTYL,,Rock,Flying +207,142,AERODACTYL,MEGA,Rock,Flying +208,143,SNORLAX,,Normal, +209,144,ARTICUNO,,Ice,Flying +210,145,ZAPDOS,,Electric,Flying +211,146,MOLTRES,,Fire,Flying +212,147,DRATINI,,Dragon, +213,148,DRAGONAIR,,Dragon, +214,149,DRAGONITE,,Dragon,Flying +215,150,MEWTWO,,Psychic, +216,150,MEWTWO,MEGA (X),Psychic, +217,150,MEWTWO,MEGA (Y),Psychic, +218,151,MEW,,Psychic, +219,152,CHIKORITA,,Grass, +220,153,BAYLEEF,,Grass, +221,154,MEGANIUM,FEMALE,Grass, +222,154,MEGANIUM,MALE,Grass, +223,155,CYNDAQUIL,,Fire, +224,156,QUILAVA,,Fire, +225,157,TYPHLOSION,,Fire, +226,158,TOTODILE,,Water, +227,159,CROCONAW,,Water, +228,160,FERALIGATR,,Water, +229,161,SENTRET,,Normal, +230,162,FURRET,,Normal, +231,163,HOOTHOOT,,Normal,Flying +232,164,NOCTOWL,,Normal,Flying +233,165,LEDYBA,FEMALE,Bug,Flying +234,165,LEDYBA,MALE,Bug,Flying +235,166,LEDIAN,FEMALE,Bug,Flying +236,166,LEDIAN,MALE,Bug,Flying +237,167,SPINARAK,,Bug,Poison +238,168,ARIADOS,,Bug,Poison +239,169,CROBAT,,Poison,Flying +240,170,CHINCHOU,,Water,Electric +241,171,LANTURN,,Water,Electric +242,172,PICHU,,Electric, +243,173,CLEFFA,,Fairy, +244,174,IGGLYBUFF,,Normal,Fairy +245,175,TOGEPI,,Fairy, +246,176,TOGETIC,,Fairy,Flying +247,177,NATU,,Psychic,Flying +248,178,XATU,FEMALE,Psychic,Flying +249,178,XATU,MALE,Psychic,Flying +250,179,MAREEP,,Electric, +251,180,FLAAFFY,,Electric, +252,181,AMPHAROS,,Electric, +253,181,AMPHAROS,MEGA,Electric,Dragon +254,182,BELLOSSOM,,Grass, +255,183,MARILL,,Water,Fairy +256,184,AZUMARILL,,Water,Fairy +257,185,SUDOWOODO,FEMALE,Rock, +258,185,SUDOWOODO,MALE,Rock, +259,186,POLITOED,FEMALE,Water, +260,186,POLITOED,MALE,Water, +261,187,HOPPIP,,Grass,Flying +262,188,SKIPLOOM,,Grass,Flying +263,189,JUMPLUFF,,Grass,Flying +264,190,AIPOM,FEMALE,Normal, +265,190,AIPOM,MALE,Normal, +266,191,SUNKERN,,Grass, +267,192,SUNFLORA,,Grass, +268,193,YANMA,,Bug,Flying +269,194,WOOPER,FEMALE,Water,Ground +270,194,WOOPER,MALE,Water,Ground +271,195,QUAGSIRE,FEMALE,Water,Ground +272,195,QUAGSIRE,MALE,Water,Ground +273,196,ESPEON,,Psychic, +274,197,UMBREON,,Dark, +275,198,MURKROW,FEMALE,Dark,Flying +276,198,MURKROW,MALE,Dark,Flying +277,199,SLOWKING,,Water,Psychic +278,200,MISDREAVUS,,Ghost, +279,201,UNOWN,A,Psychic, +280,201,UNOWN,B,Psychic, +281,201,UNOWN,C,Psychic, +282,201,UNOWN,D,Psychic, +283,201,UNOWN,E,Psychic, +284,201,UNOWN,F,Psychic, +285,201,UNOWN,G,Psychic, +286,201,UNOWN,H,Psychic, +287,201,UNOWN,I,Psychic, +288,201,UNOWN,J,Psychic, +289,201,UNOWN,K,Psychic, +290,201,UNOWN,L,Psychic, +291,201,UNOWN,M,Psychic, +292,201,UNOWN,N,Psychic, +293,201,UNOWN,O,Psychic, +294,201,UNOWN,P,Psychic, +295,201,UNOWN,Q,Psychic, +296,201,UNOWN,R,Psychic, +297,201,UNOWN,S,Psychic, +298,201,UNOWN,T,Psychic, +299,201,UNOWN,U,Psychic, +300,201,UNOWN,V,Psychic, +301,201,UNOWN,W,Psychic, +302,201,UNOWN,X,Psychic, +303,201,UNOWN,Y,Psychic, +304,201,UNOWN,Z,Psychic, +305,201,UNOWN,!,Psychic, +306,201,UNOWN,?,Psychic, +307,202,WOBBUFFET,FEMALE,Psychic, +308,202,WOBBUFFET,MALE,Psychic, +309,203,GIRAFARIG,FEMALE,Normal,Psychic +310,203,GIRAFARIG,MALE,Normal,Psychic +311,204,PINECO,,Bug, +312,205,FORRETRESS,,Bug,Steel +313,206,DUNSPARCE,,Normal, +314,207,GLIGAR,FEMALE,Ground,Flying +315,207,GLIGAR,MALE,Ground,Flying +316,208,STEELIX,FEMALE,Steel,Ground +317,208,STEELIX,MALE,Steel,Ground +318,208,STEELIX,MEGA,Steel,Ground +319,209,SNUBBULL,,Fairy, +320,210,GRANBULL,,Fairy, +321,211,QWILFISH,,Water,Poison +322,212,SCIZOR,FEMALE,Bug,Steel +323,212,SCIZOR,MALE,Bug,Steel +324,212,SCIZOR,MEGA,Bug,Steel +325,213,SHUCKLE,,Bug,Rock +326,214,HERACROSS,FEMALE,Bug,Fighting +327,214,HERACROSS,MALE,Bug,Fighting +328,214,HERACROSS,MEGA,Bug,Fighting +329,215,SNEASEL,FEMALE,Dark,Ice +330,215,SNEASEL,MALE,Dark,Ice +331,216,TEDDIURSA,,Normal, +332,217,URSARING,FEMALE,Normal, +333,217,URSARING,MALE,Normal, +334,218,SLUGMA,,Fire, +335,219,MAGCARGO,,Fire,Rock +336,220,SWINUB,,Ice,Ground +337,221,PILOSWINE,FEMALE,Ice,Ground +338,221,PILOSWINE,MALE,Ice,Ground +339,222,CORSOLA,,Water,Rock +340,222,CORSOLA,GALARIAN,Ghost, +341,223,REMORAID,,Water, +342,224,OCTILLERY,FEMALE,Water, +343,224,OCTILLERY,MALE,Water, +344,225,DELIBIRD,,Ice,Flying +345,226,MANTINE,,Water,Flying +346,227,SKARMORY,,Steel,Flying +347,228,HOUNDOUR,,Dark,Fire +348,229,HOUNDOOM,FEMALE,Dark,Fire +349,229,HOUNDOOM,MALE,Dark,Fire +350,229,HOUNDOOM,MEGA,Dark,Fire +351,230,KINGDRA,,Water,Dragon +352,231,PHANPY,,Ground, +353,232,DONPHAN,FEMALE,Ground, +354,232,DONPHAN,MALE,Ground, +355,233,PORYGON2,,Normal, +356,234,STANTLER,,Normal, +357,235,SMEARGLE,,Normal, +358,236,TYROGUE,,Fighting, +359,237,HITMONTOP,,Fighting, +360,238,SMOOCHUM,,Ice,Psychic +361,239,ELEKID,,Electric, +362,240,MAGBY,,Fire, +363,241,MILTANK,,Normal, +364,242,BLISSEY,,Normal, +365,243,RAIKOU,,Electric, +366,244,ENTEI,,Fire, +367,245,SUICUNE,,Water, +368,246,LARVITAR,,Rock,Ground +369,247,PUPITAR,,Rock,Ground +370,248,TYRANITAR,,Rock,Dark +371,248,TYRANITAR,MEGA,Rock,Dark +372,249,LUGIA,,Psychic,Flying +373,250,HO-OH,,Fire,Flying +374,251,CELEBI,,Psychic,Grass +375,252,TREECKO,,Grass, +376,253,GROVYLE,,Grass, +377,254,SCEPTILE,,Grass, +378,254,SCEPTILE,MEGA,Grass,Dragon +379,255,TORCHIC,FEMALE,Fire, +380,255,TORCHIC,MALE,Fire, +381,256,COMBUSKEN,FEMALE,Fire,Fighting +382,256,COMBUSKEN,MALE,Fire,Fighting +383,257,BLAZIKEN,FEMALE,Fire,Fighting +384,257,BLAZIKEN,MALE,Fire,Fighting +385,257,BLAZIKEN,MEGA,Fire,Fighting +386,258,MUDKIP,,Water, +387,259,MARSHTOMP,,Water,Ground +388,260,SWAMPERT,,Water,Ground +389,260,SWAMPERT,MEGA,Water,Ground +390,261,POOCHYENA,,Dark, +391,262,MIGHTYENA,,Dark, +392,263,ZIGZAGOON,,Normal, +393,263,ZIGZAGOON,GALARIAN,Dark,Normal +394,264,LINOONE,,Normal, +395,264,LINOONE,GALARIAN,Dark,Normal +396,265,WURMPLE,,Bug, +397,266,SILCOON,,Bug, +398,267,BEAUTIFLY,FEMALE,Bug,Flying +399,267,BEAUTIFLY,MALE,Bug,Flying +400,268,CASCOON,,Bug, +401,269,DUSTOX,FEMALE,Bug,Poison +402,269,DUSTOX,MALE,Bug,Poison +403,270,LOTAD,,Water,Grass +404,271,LOMBRE,,Water,Grass +405,272,LUDICOLO,FEMALE,Water,Grass +406,272,LUDICOLO,MALE,Water,Grass +407,273,SEEDOT,,Grass, +408,274,NUZLEAF,FEMALE,Grass,Dark +409,274,NUZLEAF,MALE,Grass,Dark +410,275,SHIFTRY,FEMALE,Grass,Dark +411,275,SHIFTRY,MALE,Grass,Dark +412,276,TAILLOW,,Normal,Flying +413,277,SWELLOW,,Normal,Flying +414,278,WINGULL,,Water,Flying +415,279,PELIPPER,,Water,Flying +416,280,RALTS,,Psychic,Fairy +417,281,KIRLIA,,Psychic,Fairy +418,282,GARDEVOIR,,Psychic,Fairy +419,282,GARDEVOIR,MEGA,Psychic,Fairy +420,283,SURSKIT,,Bug,Water +421,284,MASQUERAIN,,Bug,Flying +422,285,SHROOMISH,,Grass, +423,286,BRELOOM,,Grass,Fighting +424,287,SLAKOTH,,Normal, +425,288,VIGOROTH,,Normal, +426,289,SLAKING,,Normal, +427,290,NINCADA,,Bug,Ground +428,291,NINJASK,,Bug,Flying +429,292,SHEDINJA,,Bug,Ghost +430,293,WHISMUR,,Normal, +431,294,LOUDRED,,Normal, +432,295,EXPLOUD,,Normal, +433,296,MAKUHITA,,Fighting, +434,297,HARIYAMA,,Fighting, +435,298,AZURILL,,Normal,Fairy +436,299,NOSEPASS,,Rock, +437,300,SKITTY,,Normal, +438,301,DELCATTY,,Normal, +439,302,SABLEYE,,Dark,Ghost +440,302,SABLEYE,MEGA,Dark,Ghost +441,303,MAWILE,,Steel,Fairy +442,303,MAWILE,MEGA,Steel,Fairy +443,304,ARON,,Steel,Rock +444,305,LAIRON,,Steel,Rock +445,306,AGGRON,,Steel,Rock +446,306,AGGRON,MEGA,Steel,Rock +447,307,MEDITITE,FEMALE,Fighting,Psychic +448,307,MEDITITE,MALE,Fighting,Psychic +449,308,MEDICHAM,FEMALE,Fighting,Psychic +450,308,MEDICHAM,MALE,Fighting,Psychic +451,308,MEDICHAM,MEGA,Fighting,Psychic +452,309,ELECTRIKE,,Electric, +453,310,MANECTRIC,,Electric, +454,310,MANECTRIC,MEGA,Electric, +455,311,PLUSLE,,Electric, +456,312,MINUN,,Electric, +457,313,VOLBEAT,,Bug, +458,314,ILLUMISE,,Bug, +459,315,ROSELIA,FEMALE,Grass,Poison +460,315,ROSELIA,MALE,Grass,Poison +461,316,GULPIN,FEMALE,Poison, +462,316,GULPIN,MALE,Poison, +463,317,SWALOT,FEMALE,Poison, +464,317,SWALOT,MALE,Poison, +465,318,CARVANHA,,Water,Dark +466,319,SHARPEDO,,Water,Dark +467,319,SHARPEDO,MEGA,Water,Dark +468,320,WAILMER,,Water, +469,321,WAILORD,,Water, +470,322,NUMEL,FEMALE,Fire,Ground +471,322,NUMEL,MALE,Fire,Ground +472,323,CAMERUPT,FEMALE,Fire,Ground +473,323,CAMERUPT,MALE,Fire,Ground +474,323,CAMERUPT,MEGA,Fire,Ground +475,324,TORKOAL,,Fire, +476,325,SPOINK,,Psychic, +477,326,GRUMPIG,,Psychic, +478,327,SPINDA,,Normal, +479,328,TRAPINCH,,Ground, +480,329,VIBRAVA,,Ground,Dragon +481,330,FLYGON,,Ground,Dragon +482,331,CACNEA,,Grass, +483,332,CACTURNE,FEMALE,Grass,Dark +484,332,CACTURNE,MALE,Grass,Dark +485,333,SWABLU,,Normal,Flying +486,334,ALTARIA,,Dragon,Flying +487,334,ALTARIA,MEGA,Dragon,Fairy +488,335,ZANGOOSE,,Normal, +489,336,SEVIPER,,Poison, +490,337,LUNATONE,,Rock,Psychic +491,338,SOLROCK,,Rock,Psychic +492,339,BARBOACH,,Water,Ground +493,340,WHISCASH,,Water,Ground +494,341,CORPHISH,,Water, +495,342,CRAWDAUNT,,Water,Dark +496,343,BALTOY,,Ground,Psychic +497,344,CLAYDOL,,Ground,Psychic +498,345,LILEEP,,Rock,Grass +499,346,CRADILY,,Rock,Grass +500,347,ANORITH,,Rock,Bug +501,348,ARMALDO,,Rock,Bug +502,349,FEEBAS,,Water, +503,350,MILOTIC,FEMALE,Water, +504,350,MILOTIC,MALE,Water, +505,351,CASTFORM,,Normal, +506,352,KECLEON,,Normal, +507,353,SHUPPET,,Ghost, +508,354,BANETTE,,Ghost, +509,354,BANETTE,MEGA,Ghost, +510,355,DUSKULL,,Ghost, +511,356,DUSCLOPS,,Ghost, +512,357,TROPIUS,,Grass,Flying +513,358,CHIMECHO,,Psychic, +514,359,ABSOL,,Dark, +515,359,ABSOL,MEGA,Dark, +516,360,WYNAUT,,Psychic, +517,361,SNORUNT,,Ice, +518,362,GLALIE,,Ice, +519,362,GLALIE,MEGA,Ice, +520,363,SPHEAL,,Ice,Water +521,364,SEALEO,,Ice,Water +522,365,WALREIN,,Ice,Water +523,366,CLAMPERL,,Water, +524,367,HUNTAIL,,Water, +525,368,GOREBYSS,,Water, +526,369,RELICANTH,FEMALE,Water,Rock +527,369,RELICANTH,MALE,Water,Rock +528,370,LUVDISC,,Water, +529,371,BAGON,,Dragon, +530,372,SHELGON,,Dragon, +531,373,SALAMENCE,,Dragon,Flying +532,373,SALAMENCE,MEGA,Dragon,Flying +533,374,BELDUM,,Steel,Psychic +534,375,METANG,,Steel,Psychic +535,376,METAGROSS,,Steel,Psychic +536,376,METAGROSS,MEGA,Steel,Psychic +537,377,REGIROCK,,Rock, +538,378,REGICE,,Ice, +539,379,REGISTEEL,,Steel, +540,380,LATIAS,,Dragon,Psychic +541,380,LATIAS,MEGA,Dragon,Psychic +542,381,LATIOS,,Dragon,Psychic +543,381,LATIOS,MEGA,Dragon,Psychic +544,382,KYOGRE,,Water, +545,382,KYOGRE,PRIMAL,Water, +546,383,GROUDON,,Ground, +547,383,GROUDON,PRIMAL,Ground, +548,384,RAYQUAZA,,Dragon,Flying +549,384,RAYQUAZA,MEGA,Dragon,Flying +550,385,JIRACHI,,Steel,Psychic +551,386,DEOXYS,,Psychic, +552,386,DEOXYS,ATTACK,Psychic, +553,386,DEOXYS,DEFENSE,Psychic, +554,386,DEOXYS,SPEED,Psychic, +555,387,TURTWIG,,Grass, +556,388,GROTLE,,Grass, +557,389,TORTERRA,,Grass,Ground +558,390,CHIMCHAR,,Fire, +559,391,MONFERNO,,Fire,Fighting +560,392,INFERNAPE,,Fire,Fighting +561,393,PIPLUP,,Water, +562,394,PRINPLUP,,Water, +563,395,EMPOLEON,,Water,Steel +564,396,STARLY,FEMALE,Normal,Flying +565,396,STARLY,MALE,Normal,Flying +566,397,STARAVIA,FEMALE,Normal,Flying +567,397,STARAVIA,MALE,Normal,Flying +568,398,STARAPTOR,FEMALE,Normal,Flying +569,398,STARAPTOR,MALE,Normal,Flying +570,399,BIDOOF,FEMALE,Normal, +571,399,BIDOOF,MALE,Normal, +572,400,BIBAREL,FEMALE,Normal,Water +573,400,BIBAREL,MALE,Normal,Water +574,401,KRICKETOT,FEMALE,Bug, +575,401,KRICKETOT,MALE,Bug, +576,402,KRICKETUNE,FEMALE,Bug, +577,402,KRICKETUNE,MALE,Bug, +578,403,SHINX,FEMALE,Electric, +579,403,SHINX,MALE,Electric, +580,404,LUXIO,FEMALE,Electric, +581,404,LUXIO,MALE,Electric, +582,405,LUXRAY,FEMALE,Electric, +583,405,LUXRAY,MALE,Electric, +584,406,BUDEW,,Grass,Poison +585,407,ROSERADE,FEMALE,Grass,Poison +586,407,ROSERADE,MALE,Grass,Poison +587,408,CRANIDOS,,Rock, +588,409,RAMPARDOS,,Rock, +589,410,SHIELDON,,Rock,Steel +590,411,BASTIODON,,Rock,Steel +591,412,BURMY,PLANT CLOAK,Bug, +592,412,BURMY,SANDY CLOAK,Bug, +593,412,BURMY,TRASH CLOAK,Bug, +594,413,WORMADAM,PLANT CLOAK,Bug,Grass +595,413,WORMADAM,SANDY CLOAK,Bug,Ground +596,413,WORMADAM,TRASH CLOAK,Bug,Steel +597,414,MOTHIM,,Bug,Flying +598,415,COMBEE,FEMALE,Bug,Flying +599,415,COMBEE,MALE,Bug,Flying +600,416,VESPIQUEN,,Bug,Flying +601,417,PACHIRISU,FEMALE,Electric, +602,417,PACHIRISU,MALE,Electric, +603,418,BUIZEL,FEMALE,Water, +604,418,BUIZEL,MALE,Water, +605,419,FLOATZEL,FEMALE,Water, +606,419,FLOATZEL,MALE,Water, +607,420,CHERUBI,,Grass, +608,421,CHERRIM,,Grass, +609,422,SHELLOS,WEST SEA,Water, +610,422,SHELLOS,EAST SEA,Water, +611,423,GASTRODON,WEST SEA,Water,Ground +612,423,GASTRODON,EAST SEA,Water,Ground +613,424,AMBIPOM,FEMALE,Normal, +614,424,AMBIPOM,MALE,Normal, +615,425,DRIFLOON,,Ghost,Flying +616,426,DRIFBLIM,,Ghost,Flying +617,427,BUNEARY,,Normal, +618,428,LOPUNNY,,Normal, +619,428,LOPUNNY,MEGA,Normal,Fighting +620,429,MISMAGIUS,,Ghost, +621,430,HONCHKROW,,Dark,Flying +622,431,GLAMEOW,,Normal, +623,432,PURUGLY,,Normal, +624,433,CHINGLING,,Psychic, +625,434,STUNKY,,Poison,Dark +626,435,SKUNTANK,,Poison,Dark +627,436,BRONZOR,,Steel,Psychic +628,437,BRONZONG,,Steel,Psychic +629,438,BONSLY,,Rock, +630,439,MIME JR.,,Psychic,Fairy +631,440,HAPPINY,,Normal, +632,441,CHATOT,,Normal,Flying +633,442,SPIRITOMB,,Ghost,Dark +634,443,GIBLE,FEMALE,Dragon,Ground +635,443,GIBLE,MALE,Dragon,Ground +636,444,GABITE,FEMALE,Dragon,Ground +637,444,GABITE,MALE,Dragon,Ground +638,445,GARCHOMP,FEMALE,Dragon,Ground +639,445,GARCHOMP,MALE,Dragon,Ground +640,445,GARCHOMP,MEGA,Dragon,Ground +641,446,MUNCHLAX,,Normal, +642,447,RIOLU,,Fighting, +643,448,LUCARIO,,Fighting,Steel +644,448,LUCARIO,MEGA,Fighting,Steel +645,449,HIPPOPOTAS,FEMALE,Ground, +646,449,HIPPOPOTAS,MALE,Ground, +647,450,HIPPOWDON,FEMALE,Ground, +648,450,HIPPOWDON,MALE,Ground, +649,451,SKORUPI,,Poison,Bug +650,452,DRAPION,,Poison,Dark +651,453,CROAGUNK,FEMALE,Poison,Fighting +652,453,CROAGUNK,MALE,Poison,Fighting +653,454,TOXICROAK,FEMALE,Poison,Fighting +654,454,TOXICROAK,MALE,Poison,Fighting +655,455,CARNIVINE,,Grass, +656,456,FINNEON,FEMALE,Water, +657,456,FINNEON,MALE,Water, +658,457,LUMINEON,FEMALE,Water, +659,457,LUMINEON,MALE,Water, +660,458,MANTYKE,,Water,Flying +661,459,SNOVER,FEMALE,Grass,Ice +662,459,SNOVER,MALE,Grass,Ice +663,460,ABOMASNOW,FEMALE,Grass,Ice +664,460,ABOMASNOW,MALE,Grass,Ice +665,460,ABOMASNOW,MEGA,Grass,Ice +666,461,WEAVILE,FEMALE,Dark,Ice +667,461,WEAVILE,MALE,Dark,Ice +668,462,MAGNEZONE,,Electric,Steel +669,463,LICKILICKY,,Normal, +670,464,RHYPERIOR,FEMALE,Ground,Rock +671,464,RHYPERIOR,MALE,Ground,Rock +672,465,TANGROWTH,FEMALE,Grass, +673,465,TANGROWTH,MALE,Grass, +674,466,ELECTIVIRE,,Electric, +675,467,MAGMORTAR,,Fire, +676,468,TOGEKISS,,Fairy,Flying +677,469,YANMEGA,,Bug,Flying +678,470,LEAFEON,,Grass, +679,471,GLACEON,,Ice, +680,472,GLISCOR,,Ground,Flying +681,473,MAMOSWINE,FEMALE,Ice,Ground +682,473,MAMOSWINE,MALE,Ice,Ground +683,474,PORYGON-Z,,Normal, +684,475,GALLADE,,Psychic,Fighting +685,475,GALLADE,MEGA,Psychic,Fighting +686,476,PROBOPASS,,Rock,Steel +687,477,DUSKNOIR,,Ghost, +688,478,FROSLASS,,Ice,Ghost +689,479,ROTOM,,Electric,Ghost +690,479,ROTOM,HEAT,Electric,Fire +691,479,ROTOM,WASH,Electric,Water +692,479,ROTOM,FROST,Electric,Ice +693,479,ROTOM,FAN,Electric,Flying +694,479,ROTOM,MOW,Electric,Grass +695,480,UXIE,,Psychic, +696,481,MESPRIT,,Psychic, +697,482,AZELF,,Psychic, +698,483,DIALGA,,Steel,Dragon +699,484,PALKIA,,Water,Dragon +700,485,HEATRAN,,Fire,Steel +701,486,REGIGIGAS,,Normal, +702,487,GIRATINA,ALTERED,Ghost,Dragon +703,487,GIRATINA,ORIGIN,Ghost,Dragon +704,488,CRESSELIA,,Psychic, +705,489,PHIONE,,Water, +706,490,MANAPHY,,Water, +707,491,DARKRAI,,Dark, +708,492,SHAYMIN,,Grass,Flying +709,493,ARCEUS,NORMAL,Normal, +710,493,ARCEUS,FIRE,Fire, +711,493,ARCEUS,WATER,Water, +712,493,ARCEUS,ELECTRIC,Electric, +713,493,ARCEUS,GRASS,Grass, +714,493,ARCEUS,ICE,Ice, +715,493,ARCEUS,FIGHTING,Fighting, +716,493,ARCEUS,POISON,Poison, +717,493,ARCEUS,GROUND,Ground, +718,493,ARCEUS,FLYING,Flying, +719,493,ARCEUS,PSYCHIC,Psychic, +720,493,ARCEUS,BUG,Bug, +721,493,ARCEUS,ROCK,Rock, +722,493,ARCEUS,GHOST,Ghost, +723,493,ARCEUS,DRAGON,Dragon, +724,493,ARCEUS,DARK,Dark, +725,493,ARCEUS,STEEL,Steel, +726,493,ARCEUS,FAIRY,Fairy, +727,494,VICTINI,,Psychic,Fire +728,495,SNIVY,,Grass, +729,496,SERVINE,,Grass, +730,497,SERPERIOR,,Grass, +731,498,TEPIG,,Fire, +732,499,PIGNITE,,Fire,Fighting +733,500,EMBOAR,,Fire,Fighting +734,501,OSHAWOTT,,Water, +735,502,DEWOTT,,Water, +736,503,SAMUROTT,,Water, +737,504,PATRAT,,Normal, +738,505,WATCHOG,,Normal, +739,506,LILLIPUP,,Normal, +740,507,HERDIER,,Normal, +741,508,STOUTLAND,,Normal, +742,509,PURRLOIN,,Dark, +743,510,LIEPARD,,Dark, +744,511,PANSAGE,,Grass, +745,512,SIMISAGE,,Grass, +746,513,PANSEAR,,Fire, +747,514,SIMISEAR,,Fire, +748,515,PANPOUR,,Water, +749,516,SIMIPOUR,,Water, +750,517,MUNNA,,Psychic, +751,518,MUSHARNA,,Psychic, +752,519,PIDOVE,,Normal,Flying +753,520,TRANQUILL,,Normal,Flying +754,521,UNFEZANT,FEMALE,Normal,Flying +755,521,UNFEZANT,MALE,Normal,Flying +756,522,BLITZLE,,Electric, +757,523,ZEBSTRIKA,,Electric, +758,524,ROGGENROLA,,Rock, +759,525,BOLDORE,,Rock, +760,526,GIGALITH,,Rock, +761,527,WOOBAT,,Psychic,Flying +762,528,SWOOBAT,,Psychic,Flying +763,529,DRILBUR,,Ground, +764,530,EXCADRILL,,Ground,Steel +765,531,AUDINO,,Normal, +766,531,AUDINO,MEGA,Normal,Fairy +767,532,TIMBURR,,Fighting, +768,533,GURDURR,,Fighting, +769,534,CONKELDURR,,Fighting, +770,535,TYMPOLE,,Water, +771,536,PALPITOAD,,Water,Ground +772,537,SEISMITOAD,,Water,Ground +773,538,THROH,,Fighting, +774,539,SAWK,,Fighting, +775,540,SEWADDLE,,Bug,Grass +776,541,SWADLOON,,Bug,Grass +777,542,LEAVANNY,,Bug,Grass +778,543,VENIPEDE,,Bug,Poison +779,544,WHIRLIPEDE,,Bug,Poison +780,545,SCOLIPEDE,,Bug,Poison +781,546,COTTONEE,,Grass, +782,547,WHIMSICOTT,,Grass,Fairy +783,548,PETILIL,,Grass, +784,549,LILLIGANT,,Grass, +785,550,BASCULIN,RED-STRIPPED,Water, +786,550,BASCULIN,BLUE-STRIPPED,Water, +787,551,SANDILE,,Ground,Dark +788,552,KROKOROK,,Ground,Dark +789,553,KROOKODILE,,Ground,Dark +790,554,DARUMAKA,,Fire, +791,554,DARUMAKA,GALARIAN,Ice, +792,555,DARMANITAN,,Fire, +793,555,DARMANITAN,GALARIAN,Ice, +794,556,MARACTUS,,Grass, +795,557,DWEBBLE,,Bug,Rock +796,558,CRUSTLE,,Bug,Rock +797,559,SCRAGGY,,Dark,Fighting +798,560,SCRAFTY,,Dark,Fighting +799,561,SIGILYPH,,Psychic,Flying +800,562,YAMASK,,Ghost, +801,562,YAMASK,GALARIAN,Ground,Ghost +802,563,COFAGRIGUS,,Ghost, +803,564,TIRTOUGA,,Water,Rock +804,565,CARRACOSTA,,Water,Rock +805,566,ARCHEN,,Rock,Flying +806,567,ARCHEOPS,,Rock,Flying +807,568,TRUBBISH,,Poison, +808,569,GARBODOR,,Poison, +809,570,ZORUA,,Dark, +810,571,ZOROARK,,Dark, +811,572,MINCCINO,,Normal, +812,573,CINCCINO,,Normal, +813,574,GOTHITA,,Psychic, +814,575,GOTHORITA,,Psychic, +815,576,GOTHITELLE,,Psychic, +816,577,SOLOSIS,,Psychic, +817,578,DUOSION,,Psychic, +818,579,REUNICLUS,,Psychic, +819,580,DUCKLETT,,Water,Flying +820,581,SWANNA,,Water,Flying +821,582,VANILLITE,,Ice, +822,583,VANILLISH,,Ice, +823,584,VANILLUXE,,Ice, +824,585,DEERLING,SPRING,Normal,Grass +825,585,DEERLING,SUMMER,Normal,Grass +826,585,DEERLING,AUTUMN,Normal,Grass +827,585,DEERLING,WINTER,Normal,Grass +828,586,SAWSBUCK,SPRING,Normal,Grass +829,586,SAWSBUCK,SUMMER,Normal,Grass +830,586,SAWSBUCK,AUTUMN,Normal,Grass +831,586,SAWSBUCK,WINTER,Normal,Grass +832,587,EMOLGA,,Electric,Flying +833,588,KARRABLAST,,Bug, +834,589,ESCAVALIER,,Bug,Steel +835,590,FOONGUS,,Grass,Poison +836,591,AMOONGUSS,,Grass,Poison +837,592,FRILLISH,FEMALE,Water,Ghost +838,592,FRILLISH,MALE,Water,Ghost +839,593,JELLICENT,FEMALE,Water,Ghost +840,593,JELLICENT,MALE,Water,Ghost +841,594,ALOMOMOLA,,Water, +842,595,JOLTIK,,Bug,Electric +843,596,GALVANTULA,,Bug,Electric +844,597,FERROSEED,,Grass,Steel +845,598,FERROTHORN,,Grass,Steel +846,599,KLINK,,Steel, +847,600,KLANG,,Steel, +848,601,KLINKLANG,,Steel, +849,602,TYNAMO,,Electric, +850,603,EELEKTRIK,,Electric, +851,604,EELEKTROSS,,Electric, +852,605,ELGYEM,,Psychic, +853,606,BEHEEYEM,,Psychic, +854,607,LITWICK,,Ghost,Fire +855,608,LAMPENT,,Ghost,Fire +856,609,CHANDELURE,,Ghost,Fire +857,610,AXEW,,Dragon, +858,611,FRAXURE,,Dragon, +859,612,HAXORUS,,Dragon, +860,613,CUBCHOO,,Ice, +861,614,BEARTIC,,Ice, +862,615,CRYOGONAL,,Ice, +863,616,SHELMET,,Bug, +864,617,ACCELGOR,,Bug, +865,618,STUNFISK,,Ground,Electric +866,618,STUNFISK,GALARIAN,Ground,Steel +867,619,MIENFOO,,Fighting, +868,620,MIENSHAO,,Fighting, +869,621,DRUDDIGON,,Dragon, +870,622,GOLETT,,Ground,Ghost +871,623,GOLURK,,Ground,Ghost +872,624,PAWNIARD,,Dark,Steel +873,625,BISHARP,,Dark,Steel +874,626,BOUFFALANT,,Normal, +875,627,RUFFLET,,Normal,Flying +876,628,BRAVIARY,,Normal,Flying +877,629,VULLABY,,Dark,Flying +878,630,MANDIBUZZ,,Dark,Flying +879,631,HEATMOR,,Fire, +880,632,DURANT,,Bug,Steel +881,633,DEINO,,Dark,Dragon +882,634,ZWEILOUS,,Dark,Dragon +883,635,HYDREIGON,,Dark,Dragon +884,636,LARVESTA,,Bug,Fire +885,637,VOLCARONA,,Bug,Fire +886,638,COBALION,,Steel,Fighting +887,639,TERRAKION,,Rock,Fighting +888,640,VIRIZION,,Grass,Fighting +889,641,TORNADUS,INCARNATE,Flying, +890,641,TORNADUS,THERIAN,Flying, +891,642,THUNDURUS,INCARNATE,Electric,Flying +892,642,THUNDURUS,THERIAN,Electric,Flying +893,643,RESHIRAM,,Dragon,Fire +894,644,ZEKROM,,Dragon,Electric +895,645,LANDORUS,INCARNATE,Ground,Flying +896,645,LANDORUS,THERIAN,Ground,Flying +897,646,KYUREM,,Dragon,Ice +898,646,KYUREM,WHITE,Dragon,Ice +899,646,KYUREM,BLACK,Dragon,Ice +900,647,KELDEO,ORDINARY,Water,Fighting +901,647,KELDEO,RESOLUTE,Water,Fighting +902,648,MELOETTA,ARIA,Normal,Psychic +903,648,MELOETTA,PIROUETTE,Normal,Fighting +904,649,GENESECT,,Bug,Steel +905,649,GENESECT,SHOCK DRIVE,Bug,Steel +906,649,GENESECT,BURN DRIVE,Bug,Steel +907,649,GENESECT,CHILL DRIVE,Bug,Steel +908,649,GENESECT,DOUSE DRIVE,Bug,Steel +909,650,CHESPIN,,Grass, +910,651,QUILLADIN,,Grass, +911,652,CHESNAUGHT,,Grass,Fighting +912,653,FENNEKIN,,Fire, +913,654,BRAIXEN,,Fire, +914,655,DELPHOX,,Fire,Psychic +915,656,FROAKIE,,Water, +916,657,FROGADIER,,Water, +917,658,GRENINJA,,Water,Dark +918,658,GRENINJA,ASH,Water,Dark +919,659,BUNNELBY,,Normal, +920,660,DIGGERSBY,,Normal,Ground +921,661,FLETCHLING,,Normal,Flying +922,662,FLETCHINDER,,Fire,Flying +923,663,TALONFLAME,,Fire,Flying +924,664,SCATTERBUG,,Bug, +925,665,SPEWPA,,Bug, +926,666,VIVILLON,ARCHIPELAGO,Bug,Flying +927,666,VIVILLON,CONTINENTAL,Bug,Flying +928,666,VIVILLON,ELEGANT,Bug,Flying +929,666,VIVILLON,GARDEN,Bug,Flying +930,666,VIVILLON,HIGH PLAINS,Bug,Flying +931,666,VIVILLON,ICY SNOW,Bug,Flying +932,666,VIVILLON,JUNGLE,Bug,Flying +933,666,VIVILLON,MARINE,Bug,Flying +934,666,VIVILLON,MEADOW,Bug,Flying +935,666,VIVILLON,MODERN,Bug,Flying +936,666,VIVILLON,MONSOON,Bug,Flying +937,666,VIVILLON,OCEAN,Bug,Flying +938,666,VIVILLON,POLAR,Bug,Flying +939,666,VIVILLON,RIVER,Bug,Flying +940,666,VIVILLON,SANDSTORM,Bug,Flying +941,666,VIVILLON,SAVANNA,Bug,Flying +942,666,VIVILLON,SUN,Bug,Flying +943,666,VIVILLON,TUNDRA,Bug,Flying +944,666,VIVILLON,POKÉ BALL,Bug,Flying +945,666,VIVILLON,FANCY,Bug,Flying +946,667,LITLEO,,Fire,Normal +947,668,PYROAR,FEMALE,Fire,Normal +948,668,PYROAR,MALE,Fire,Normal +949,669,FLABÉBÉ,RED FLOWER,Fairy, +950,669,FLABÉBÉ,YELLOW FLOWER,Fairy, +951,669,FLABÉBÉ,ORANGE FLOWER,Fairy, +952,669,FLABÉBÉ,BLUE FLOWER,Fairy, +953,669,FLABÉBÉ,WHITE FLOWER,Fairy, +954,670,FLOETTE,RED FLOWER,Fairy, +955,670,FLOETTE,YELLOW FLOWER,Fairy, +956,670,FLOETTE,ORANGE FLOWER,Fairy, +957,670,FLOETTE,BLUE FLOWER,Fairy, +958,670,FLOETTE,WHITE FLOWER,Fairy, +959,671,FLORGES,RED FLOWER,Fairy, +960,671,FLORGES,YELLOW FLOWER,Fairy, +961,671,FLORGES,ORANGE FLOWER,Fairy, +962,671,FLORGES,BLUE FLOWER,Fairy, +963,671,FLORGES,WHITE FLOWER,Fairy, +964,672,SKIDDO,,Grass, +965,673,GOGOAT,,Grass, +966,674,PANCHAM,,Fighting, +967,675,PANGORO,,Fighting,Dark +968,676,FURFROU,,Normal, +969,677,ESPURR,,Psychic, +970,678,MEOWSTIC,FEMALE,Psychic, +971,678,MEOWSTIC,MALE,Psychic, +972,679,HONEDGE,,Steel,Ghost +973,680,DOUBLADE,,Steel,Ghost +974,681,AEGISLASH,,Steel,Ghost +975,682,SPRITZEE,,Fairy, +976,683,AROMATISSE,,Fairy, +977,684,SWIRLIX,,Fairy, +978,685,SLURPUFF,,Fairy, +979,686,INKAY,,Dark,Psychic +980,687,MALAMAR,,Dark,Psychic +981,688,BINACLE,,Rock,Water +982,689,BARBARACLE,,Rock,Water +983,690,SKRELP,,Poison,Water +984,691,DRAGALGE,,Poison,Dragon +985,692,CLAUNCHER,,Water, +986,693,CLAWITZER,,Water, +987,694,HELIOPTILE,,Electric,Normal +988,695,HELIOLISK,,Electric,Normal +989,696,TYRUNT,,Rock,Dragon +990,697,TYRANTRUM,,Rock,Dragon +991,698,AMAURA,,Rock,Ice +992,699,AURORUS,,Rock,Ice +993,700,SYLVEON,,Fairy, +994,701,HAWLUCHA,,Fighting,Flying +995,702,DEDENNE,,Electric,Fairy +996,703,CARBINK,,Rock,Fairy +997,704,GOOMY,,Dragon, +998,705,SLIGGOO,,Dragon, +999,706,GOODRA,,Dragon, +1000,707,KLEFKI,,Steel,Fairy +1001,708,PHANTUMP,,Ghost,Grass +1002,709,TREVENANT,,Ghost,Grass +1003,710,PUMPKABOO,SMALL SIZE,Ghost,Grass +1004,710,PUMPKABOO,AVERAGE SIZE,Ghost,Grass +1005,710,PUMPKABOO,LARGE SIZE,Ghost,Grass +1006,710,PUMPKABOO,SUPER SIZE,Ghost,Grass +1007,711,GOURGEIST,SMALL SIZE,Ghost,Grass +1008,711,GOURGEIST,AVERAGE SIZE,Ghost,Grass +1009,711,GOURGEIST,LARGE SIZE,Ghost,Grass +1010,711,GOURGEIST,SUPER SIZE,Ghost,Grass +1011,712,BERGMITE,,Ice, +1012,713,AVALUGG,,Ice, +1013,714,NOIBAT,,Flying,Dragon +1014,715,NOIVERN,,Flying,Dragon +1015,716,XERNEAS,,Fairy, +1016,717,YVELTAL,,Dark,Flying +1017,718,ZYGARDE,50% FORME,Dragon,Ground +1018,718,ZYGARDE,10% FORME,Dragon,Ground +1019,719,DIANCIE,,Rock,Fairy +1020,719,DIANCIE,MEGA,Rock,Fairy +1021,720,HOOPA,,Psychic,Ghost +1022,721,VOLCANION,,Fire,Water +1023,722,ROWLETT,,Grass,Flying +1024,723,DARTRIX,,Grass,Flying +1025,724,DECIDUEYE,,Grass,Ghost +1026,725,LITTEN,,Fire, +1027,726,TORRACAT,,Fire, +1028,727,INCINEROAR,,Fire,Dark +1029,728,POPPLIO,,Water, +1030,729,BRIONNE,,Water, +1031,730,PRIMARINA,,Water,Fairy +1032,731,PIKIPEK,,Normal,Flying +1033,732,TRUMBEAK,,Normal,Flying +1034,733,TOUCANNON,,Normal,Flying +1035,734,YUNGOOS,,Normal, +1036,735,GUMSHOOS,,Normal, +1037,736,GRUBBIN,,Bug, +1038,737,CHARJABUG,,Bug,Electric +1039,738,VIKAVOLT,,Bug,Electric +1040,739,CRABRAWLER,,Fighting, +1041,740,CRABOMINABLE,,Fighting,Ice +1042,741,ORICORIO,BAILE STYLE,Fire,Flying +1043,741,ORICORIO,POM-POM STYLE,Electric,Flying +1044,741,ORICORIO,PA'U STYLE,Psychic,Flying +1045,741,ORICORIO,SENSU STYLE,Ghost,Flying +1046,742,CUTIEFLY,,Bug,Fairy +1047,743,RIBOMBEE,,Bug,Fairy +1048,744,ROCKRUFF,,Rock, +1049,745,LYCANROC,MIDDAY,Rock, +1050,745,LYCANROC,MIDNIGHT,Rock, +1051,745,LYCANROC,DUSK,, +1052,746,WISHIWASHI,,Water, +1053,747,MAREANIE,,Poison,Water +1054,748,TOXAPEX,,Poison,Water +1055,749,MUDBRAY,,Ground, +1056,750,MUDSDALE,,Ground, +1057,751,DEWPIDER,,Water,Bug +1058,752,ARAQUANID,,Water,Bug +1059,753,FOMANTIS,,Grass, +1060,754,LURANTIS,,Grass, +1061,755,MORELULL,,Grass,Fairy +1062,756,SHIINOTIC,,Grass,Fairy +1063,757,SALANDIT,,Poison,Fire +1064,758,SALAZZLE,,Poison,Fire +1065,759,STUFFUL,,Normal,Fighting +1066,760,BEWEAR,,Normal,Fighting +1067,761,BOUNSWEET,,Grass, +1068,762,STEENEE,,Grass, +1069,763,TSAREENA,,Grass, +1070,764,COMFEY,,FAIry, +1071,765,ORANGURU,,Normal,Psychic +1072,766,PASSIMIAN,,Fighting, +1073,767,WIMPOD,,Bug,Water +1074,768,GOLISOPOD,,Bug,Water +1075,769,SANDYGAST,,Ghost,Ground +1076,770,PALOSSAND,,Ghost,Ground +1077,771,PYUKUMUKU,,Water, +1078,772,TYPE: NULL,,Normal, +1079,773,SILVALLY,NORMAL,Normal, +1080,773,SILVALLY,FIRE,Fire, +1081,773,SILVALLY,WATER,Water, +1082,773,SILVALLY,ELECTRIC,Electric, +1083,773,SILVALLY,GRASS,Grass, +1084,773,SILVALLY,ICE,Ice, +1085,773,SILVALLY,FIGHTING,Fighting, +1086,773,SILVALLY,POISON,Poison, +1087,773,SILVALLY,GROUND,Ground, +1088,773,SILVALLY,FLYING,Flying, +1089,773,SILVALLY,PSYCHIC,Psychic, +1090,773,SILVALLY,BUG,Bug, +1091,773,SILVALLY,ROCK,Rock, +1092,773,SILVALLY,GHOST,Ghost, +1093,773,SILVALLY,DRAGON,Dragon, +1094,773,SILVALLY,DARK,Dark, +1095,773,SILVALLY,STEEL,Steel, +1096,773,SILVALLY,FAIRY,Fairy, +1097,774,MINIOR,BLUE CORE,Rock,Flying +1098,774,MINIOR,GREEN CORE,Rock,Flying +1099,774,MINIOR,INDIGO CORE,Rock,Flying +1100,774,MINIOR,ORANGE CORE,Rock,Flying +1101,774,MINIOR,RED CORE,Rock,Flying +1102,774,MINIOR,VIOLET CORE,Rock,Flying +1103,774,MINIOR,YELLOW CORE,Rock,Flying +1104,775,KOMALA,,Normal, +1105,776,TURTONATOR,,Fire,Dragon +1106,777,TOGEDEMARU,,Electric,Steel +1107,778,MIMIKYU,,Ghost,Fairy +1108,779,BRUXISH,,Water,Psychic +1109,780,DRAMPA,,Normal,Dragon +1110,781,DHELMISE,,Ghost,Grass +1111,782,JANGMO-O,,Dragon, +1112,783,HAKAMO-O,,Dragon,Fighting +1113,784,KOMMO-O,,Dragon,Fighting +1114,785,TAPU KOKO,,Electric,Fairy +1115,786,TAPU LELE,,Psychic,Fairy +1116,787,TAPU BULU,,Grass,Fairy +1117,788,TAPU FINI,,Water,Fairy +1118,789,COSMOG,,Psychic, +1119,790,COSMOEM,,Psychic, +1120,791,SOLGALEO,,Psychic,Steel +1121,792,LUNAALA,,Psychic,Ghost +1122,793,NIHILEGO,,Rock,Poison +1123,794,BUZZWOLE,,Bug,Fighting +1124,795,PHEROMOSA,,Bug,Fighting +1125,796,XURKITREE,,Electric, +1126,797,CELESTEELA,,Steel,Flying +1127,798,KARTANA,,Grass,Steel +1128,799,GUZZLORD,,Dark,Dragon +1129,800,NECROZMA,,Psychic, +1130,801,MAGEARNA,,Steel,Fairy +1131,801,MAGEARNA,POKé BALL,Steel,Fairy +1132,802,MARSHADOW,,Fighting,Ghost +1133,803,POIPOLE,,Poison, +1134,804,NAGANADEL,,Poison,Dragon +1135,805,STAKATAKA,,Rock,Steel +1136,806,BLACEPHALON,,Fire,Ghost +1137,807,ZERAORA,,Electric, +1138,808,MELTAN,,Steel, +1139,809,MELMETAL,,Steel, +1140,810,GROOKEY,,Grass, +1141,811,THWACKEY,,Grass, +1142,812,RILLABOOM,,Grass, +1143,813,SCORBUNNY,,Fire, +1144,814,RABOOT,,Fire, +1145,815,CINDERACE,,Fire, +1146,816,SOBBLE,,Water, +1147,817,DRIZZLE,,Water, +1148,818,INTELEON,,Water, +1149,819,SKWOVET,,Normal, +1150,820,GREEDENT,,Normal, +1151,821,ROOKIDEE,,Flying, +1152,822,CORVISQUIRE,,Flying, +1153,823,CORVIKNIGHT,,Flying,Steel +1154,824,BLIPBUG,,Bug, +1155,825,DOTTLER,,Bug,Psychic +1156,826,ORBEETLE,,Bug,Psychic +1157,827,NICKIT,,Dark, +1158,828,THIEVUL,,Dark, +1159,829,GOSSIFLEUR,,Grass, +1160,830,ELDEGOSS,,Grass, +1161,831,WOOLOO,,Normal, +1162,832,DUBWOOL,,Normal, +1163,833,CHEWTLE,,Water, +1164,834,DREDNAW,,Water,Rock +1165,835,YAMPER,,Electric, +1166,836,BOLTUND,,Electric, +1167,837,ROLYCOLY,,Rock, +1168,838,CARKOL,,Rock,Fire +1169,839,COALOSSAL,,Rock,Fire +1170,840,APPLIN,,Grass,Dragon +1171,841,FLAPPLE,,Grass,Dragon +1172,842,APPLETUN,,Grass,Dragon +1173,843,SILICOBRA,,Ground, +1174,844,SANDACONDA,,Ground, +1175,845,CRAMORANT,,Flying,Water +1176,846,ARROKUDA,,Water, +1177,847,BARRASKEWDA,,Water, +1178,848,TOXEL,,Electric,Poison +1179,849,TOXTRICITY,AMPED,Electric,Poison +1180,849,TOXTRICITY,LOW KEY,Electric,Poison +1181,850,SIZZLIPEDE,,Fire,Bug +1182,851,CENTISKORCH,,Fire,Bug +1183,852,CLOBBOPUS,,Fighting, +1184,853,GRAPPLOCT,,Fighting, +1185,854,SINISTEA,PHONY,Ghost, +1186,854,SINISTEA,ANTIQUE,Ghost, +1187,855,POLTEAGEIST,PHONY,Ghost, +1188,855,POLTEAGEIST,ANTIQUE,Ghost, +1189,856,HATENNA,,Psychic, +1190,857,HATTREM,,Psychic, +1191,858,HATTERENE,,Psychic,Fairy +1192,859,IMPIDIMP,,Dark,Fairy +1193,860,MORGREM,,Dark,Fairy +1194,861,GRIMMSNARL,,Dark,Fairy +1195,862,OBSTAGOON,,Dark,Normal +1196,863,PERRSERKER,,Steel, +1197,864,CURSOLA,,Ghost, +1198,865,SIRFECH'D,,Fighting, +1199,866,MR. RIME,,Ice,Psychic +1200,867,RUNERIGUS,,Ground,Ghost +1201,868,MILCERY,,Fairy, +1202,869,ALCREMY,STRAWBERRY VANILLA CREAM,Fairy, +1203,869,ALCREMY,BERRY VANILLA CREAM,Fairy, +1204,869,ALCREMY,LOVE VANILLA CREAM,Fairy, +1205,869,ALCREMY,CLOVER VANILLA CREAM,Fairy, +1206,869,ALCREMY,FLOWER VANILLA CREAM,Fairy, +1207,869,ALCREMY,STAR VANILLA CREAM,Fairy, +1208,869,ALCREMY,RIBBON VANILLA CREAM,Fairy, +1209,869,ALCREMY,STRAWBERRY RUBY CREAM,Fairy, +1210,869,ALCREMY,BERRY RUBY CREAM,Fairy, +1211,869,ALCREMY,LOVE RUBY CREAM,Fairy, +1212,869,ALCREMY,CLOVER RUBY CREAM,Fairy, +1213,869,ALCREMY,FLOWER RUBY CREAM,Fairy, +1214,869,ALCREMY,STAR RUBY CREAM,Fairy, +1215,869,ALCREMY,RIBBON RUBY CREAM,Fairy, +1216,869,ALCREMY,STRAWBERRY MATCHA CREAM,Fairy, +1217,869,ALCREMY,BERRY MATCHA CREAM,Fairy, +1218,869,ALCREMY,LOVE MATCHA CREAM,Fairy, +1219,869,ALCREMY,CLOVER MATCHA CREAM,Fairy, +1220,869,ALCREMY,FLOWER MATCHA CREAM,Fairy, +1221,869,ALCREMY,STAR MATCHA CREAM,Fairy, +1222,869,ALCREMY,RIBBON MATCHA CREAM,Fairy, +1223,869,ALCREMY,STRAWBERRY MINT CREAM,Fairy, +1224,869,ALCREMY,BERRY MINT CREAM,Fairy, +1225,869,ALCREMY,LOVE MINT CREAM,Fairy, +1226,869,ALCREMY,CLOVER MINT CREAM,Fairy, +1227,869,ALCREMY,FLOWER MINT CREAM,Fairy, +1228,869,ALCREMY,STAR MINT CREAM,Fairy, +1229,869,ALCREMY,RIBBON MINT CREAM,Fairy, +1230,869,ALCREMY,STRAWBERRY LEMON CREAM,Fairy, +1231,869,ALCREMY,BERRY LEMON CREAM,Fairy, +1232,869,ALCREMY,LOVE LEMON CREAM,Fairy, +1233,869,ALCREMY,CLOVER LEMON CREAM,Fairy, +1234,869,ALCREMY,FLOWER LEMON CREAM,Fairy, +1235,869,ALCREMY,STAR LEMON CREAM,Fairy, +1236,869,ALCREMY,RIBBON LEMON CREAM,Fairy, +1237,869,ALCREMY,STRAWBERRY SALTED CREAM,Fairy, +1238,869,ALCREMY,BERRY SALTED CREAM,Fairy, +1239,869,ALCREMY,LOVE SALTED CREAM,Fairy, +1240,869,ALCREMY,CLOVER SALTED CREAM,Fairy, +1241,869,ALCREMY,FLOWER SALTED CREAM,Fairy, +1242,869,ALCREMY,STAR SALTED CREAM,Fairy, +1243,869,ALCREMY,RIBBON SALTED CREAM,Fairy, +1244,869,ALCREMY,STRAWBERRY RUBY SWIRL,Fairy, +1245,869,ALCREMY,BERRY RUBY SWIRL,Fairy, +1246,869,ALCREMY,LOVE RUBY SWIRL,Fairy, +1247,869,ALCREMY,CLOVER RUBY SWIRL,Fairy, +1248,869,ALCREMY,FLOWER RUBY SWIRL,Fairy, +1249,869,ALCREMY,STAR RUBY SWIRL,Fairy, +1250,869,ALCREMY,RIBBON RUBY SWIRL,Fairy, +1251,869,ALCREMY,STRAWBERRY CARAMEL SWIRL,Fairy, +1252,869,ALCREMY,BERRY CARAMEL SWIRL,Fairy, +1253,869,ALCREMY,LOVE CARAMEL SWIRL,Fairy, +1254,869,ALCREMY,CLOVER CARAMEL SWIRL,Fairy, +1255,869,ALCREMY,FLOWER CARAMEL SWIRL,Fairy, +1256,869,ALCREMY,STAR CARAMEL SWIRL,Fairy, +1257,869,ALCREMY,RIBBON CARAMEL SWIRL,Fairy, +1258,869,ALCREMY,STRAWBERRY RAINBOW SWIRL,Fairy, +1259,869,ALCREMY,BERRY RAINBOW SWIRL,Fairy, +1260,869,ALCREMY,LOVE RAINBOW SWIRL,Fairy, +1261,869,ALCREMY,CLOVER RAINBOW SWIRL,Fairy, +1262,869,ALCREMY,FLOWER RAINBOW SWIRL,Fairy, +1263,869,ALCREMY,STAR RAINBOW SWIRL,Fairy, +1264,869,ALCREMY,RIBBON RAINBOW SWIRL,Fairy, +1265,870,FALINKS,,Fighting, +1266,871,PINCURCHIN,,Electric, +1267,872,SNOM,,Ice,Bug +1268,873,FROSMOTH,,Ice,Bug +1269,874,STONJOURNER,,Rock, +1270,875,EISCUE,,Ice, +1271,876,INDEEDEE,FEMALE,Fairy,Normal +1272,876,INDEEDEE,MALE,Fairy,Normal +1273,877,MORPEKO,,Electric,Dark +1274,878,CUFANT,,Steel, +1275,879,COPPERAJAH,,Steel, +1276,880,DRACOZOLT,,Electric,Dragon +1277,881,ARCTOZOLT,,Electric,Ice +1278,882,DRACOVISH,,Water,Dragon +1279,883,ARCTOVISH,,Water,Ice +1280,884,DURALODON,,Steel,Dragon +1281,885,DREEPY,,Dragon,Ghost +1282,886,DRAKLOAK,,Dragon,Ghost +1283,887,DRAGAPULT,,Dragon,Ghost +1284,888,ZACIAN,,Fairy, +1285,889,ZAMAZENTA,,Fighting, +1286,890,ETERNATUS,,Poison,Dragon \ No newline at end of file diff --git a/LivingDexSS.gmx/datafiles/pokedata.csv b/LivingDexSS.gmx/datafiles/pokedata.csv index 04d462d..11eeeda 100644 --- a/LivingDexSS.gmx/datafiles/pokedata.csv +++ b/LivingDexSS.gmx/datafiles/pokedata.csv @@ -1,1287 +1,1287 @@ -id,DexNo,Pokemon,Form,Type 1,Type 2 -1,1,BULBASAUR,,Grass,Poison -2,2,IVYSAUR,,Grass,Poison -3,3,VENUSAUR,FEMALE,Grass,Poison -4,3,VENUSAUR,MALE,Grass,Poison -5,3,VENUSAUR,MEGA,Grass,Poison -6,4,CHARMANDER,,Fire, -7,5,CHARMELEON,,Fire, -8,6,CHARIZARD,,Fire,Flying -9,6,CHARIZARD,MEGA (X),Fire,Dragon -10,6,CHARIZARD,MEGA (Y),Fire,Flying -11,7,SQUIRTLE,,Water, -12,8,WARTORTLE,,Water, -13,9,BLASTOISE,,Water, -14,9,BLASTOISE,MEGA,Water, -15,10,CATERPIE,,Bug, -16,11,METAPOD,,Bug, -17,12,BUTTERFREE,FEMALE,Bug,Flying -18,12,BUTTERFREE,MALE,Bug,Flying -19,13,WEEDLE,,Bug,Poison -20,14,KAKUNA,,Bug,Poison -21,15,BEEDRILL,,Bug,Poison -22,15,BEEDRILL,MEGA,Bug,Poison -23,16,PIDGEY,,Normal,Flying -24,17,PIDGEOTTO,,Normal,Flying -25,18,PIDGEOT,,Normal,Flying -26,18,PIDGEOT,MEGA,Normal,Flying -27,19,RATTATA,FEMALE,Normal, -28,19,RATTATA,MALE,Normal, -29,19,RATTATA,ALOLAN,Dark,Normal -30,20,RATICATE,FEMALE,Normal, -31,20,RATICATE,MALE,Normal, -32,20,RATICATE,ALOLAN,Dark,Normal -33,21,SPEAROW,,Normal,Flying -34,22,FEAROW,,Normal,Flying -35,23,EKANS,,Poison, -36,24,ARBOK,,Poison, -37,25,PIKACHU,FEMALE,Electric, -38,25,PIKACHU,MALE,Electric, -39,25,PIKACHU,ASH 1,Electric, -40,25,PIKACHU,ASH 2,Electric, -41,25,PIKACHU,ASH 3,Electric, -42,25,PIKACHU,ASH 4,Electric, -43,25,PIKACHU,ASH 5,Electric, -44,25,PIKACHU,ASH 6,Electric, -45,26,RAICHU,FEMALE,Electric, -46,26,RAICHU,MALE,Electric, -47,26,RAICHU,ALOLAN,Electric,Psychic -48,27,SANDSHREW,,Ground, -49,27,SANDSHREW,ALOLAN,Ice,Steel -50,28,SANDSLASH,,Ground, -51,28,SANDSLASH,ALOLAN,Ice,Steel -52,29,NIDORAN♀,FEMALE,Poison, -53,30,NIDORINA,,Poison, -54,31,NIDOQUEEN,,Poison,Ground -55,32,NIDORAN♂,,Poison, -56,33,NIDORINO,,Poison, -57,34,NIDOKING,,Poison,Ground -58,35,CLEFAIRY,,Fairy, -59,36,CLEFABLE,,Fairy, -60,37,VULPIX,,Fire, -61,37,VULPIX,ALOLAN,Ice, -62,38,NINETALES,,Fire, -63,38,NINETALES,ALOLAN,Ice,Fairy -64,39,JIGGLYPUFF,,Normal,Fairy -65,40,WIGGLYTUFF,,Normal,Fairy -66,41,ZUBAT,FEMALE,Poison,Flying -67,41,ZUBAT,MALE,Poison,Flying -68,42,GOLBAT,FEMALE,Poison,Flying -69,42,GOLBAT,MALE,Poison,Flying -70,43,ODDISH,,Grass,Poison -71,44,GLOOM,FEMALE,Grass,Poison -72,44,GLOOM,MALE,Grass,Poison -73,45,VILEPLUME,FEMALE,Grass,Poison -74,45,VILEPLUME,MALE,Grass,Poison -75,46,PARAS,,Bug,Grass -76,47,PARASECT,,Bug,Grass -77,48,VENONAT,,Bug,Poison -78,49,VENOMOTH,,Bug,Poison -79,50,DIGLETT,,Ground, -80,50,DIGLETT,ALOLAN,Ground,Steel -81,51,DUGTRIO,,Ground, -82,51,DUGTRIO,ALOLAN,Ground,Steel -83,52,MEOWTH,,Normal, -84,52,MEOWTH,ALOLAN,Dark, -85,52,MEOWTH,GALARIAN,Steel, -86,53,PERSIAN,,Normal, -87,53,PERSIAN,ALOLAN,Dark, -88,54,PSYDUCK,,Water, -89,55,GOLDUCK,,Water, -90,56,MANKEY,,Fighting, -91,57,PRIMEAPE,,Fighting, -92,58,GROWLITHE,,Fire, -93,59,ARCANINE,,Fire, -94,60,POLIWAG,,Water, -95,61,POLIWHIRL,,Water, -96,62,POLIWRATH,,Water,Fighting -97,63,ABRA,,Psychic, -98,64,KADABRA,FEMALE,Psychic, -99,64,KADABRA,MALE,Psychic, -100,65,ALAKAZAM,FEMALE,Psychic, -101,65,ALAKAZAM,MALE,Psychic, -102,65,ALAKAZAM,MEGA,Psychic, -103,66,MACHOP,,Fighting, -104,67,MACHOKE,,Fighting, -105,68,MACHAMP,,Fighting, -106,69,BELLSPROUT,,Grass,Poison -107,70,WEEPINBELL,,Grass,Poison -108,71,VICTREEBEL,,Grass,Poison -109,72,TENTACOOL,,Water,Poison -110,73,TENTACRUEL,,Water,Poison -111,74,GEODUDE,,Rock,Ground -112,74,GEODUDE,ALOLAN,Rock,Electric -113,75,GRAVELER,,Rock,Ground -114,75,GRAVELER,ALOLAN,Rock,Electric -115,76,GOLEM,,Rock,Ground -116,76,GOLEM,ALOLAN,Rock,Electric -117,77,PONYTA,,Fire, -118,77,PONYTA,GALARIAN,Psychic, -119,78,RAPIDASH,,Fire, -120,78,RAPIDASH,GALARIAN,Psychic,Fairy -121,79,SLOWPOKE,,Water,Psychic -122,80,SLOWBRO,,Water,Psychic -123,80,SLOWBRO,MEGA,Water,Psychic -124,81,MAGNEMITE,,Electric,Steel -125,82,MAGNETON,,Electric,Steel -126,83,FARFETCH'D,,Normal,Flying -127,83,FARFETCH'D,GALARIAN,Fighting, -128,84,DODUO,FEMALE,Normal,Flying -129,84,DODUO,MALE,Normal,Flying -130,85,DODRIO,FEMALE,Normal,Flying -131,85,DODRIO,MALE,Normal,Flying -132,86,SEEL,,Water, -133,87,DEWGONG,,Water,Ice -134,88,GRIMER,,Poison, -135,88,GRIMER,ALOLAN,Poison,Dark -136,89,MUK,,Poison, -137,89,MUK,ALOLAN,Poison,Dark -138,90,SHELLDER,,Water, -139,91,CLOYSTER,,Water,Ice -140,92,GASTLY,,Ghost,Poison -141,93,HAUNTER,,Ghost,Poison -142,94,GENGAR,,Ghost,Poison -143,94,GENGAR,MEGA,Ghost,Poison -144,95,ONIX,,Rock,Ground -145,96,DROWZEE,,Psychic, -146,97,HYPNO,FEMALE,Psychic, -147,97,HYPNO,MALE,Psychic, -148,98,KRABBY,,Water, -149,99,KINGLER,,Water, -150,100,VOLTORB,,Electric, -151,101,ELECTRODE,,Electric, -152,102,EXEGGCUTE,,Grass,Psychic -153,103,EXEGGUTOR,,Grass,Psychic -154,103,EXEGGUTOR,ALOLAN,Grass,Dragon -155,104,CUBONE,,Ground, -156,105,MAROWAK,,Ground, -157,105,MAROWAK,ALOLAN,Fire,Ghost -158,106,HITMONLEE,,Fighting, -159,107,HITMONCHAN,,Fighting, -160,108,LICKITUNG,,Normal, -161,109,KOFFING,,Poison, -162,110,WEEZING,,Poison, -163,110,WEEZING,GALARIAN,Poison,Fairy -164,111,RHYHORN,FEMALE,Ground,Rock -165,111,RHYHORN,MALE,Ground,Rock -166,112,RHYDON,FEMALE,Ground,Rock -167,112,RHYDON,MALE,Ground,Rock -168,113,CHANSEY,,Normal, -169,114,TANGELA,,Grass, -170,115,KANGASKHAN,,Normal, -171,115,KANGASKHAN,MEGA,Normal, -172,116,HORSEA,,Water, -173,117,SEADRA,,Water, -174,118,GOLDEEN,FEMALE,Water, -175,118,GOLDEEN,MALE,Water, -176,119,SEAKING,FEMALE,Water, -177,119,SEAKING,MALE,Water, -178,120,STARYU,,Water, -179,121,STARMIE,,Water,Psychic -180,122,MR. MIME,,Psychic,Fairy -181,122,MR. MIME,GALARIAN,Ice,Psychic -182,123,SCYTHER,FEMALE,Bug,Flying -183,123,SCYTHER,MALE,Bug,Flying -184,124,JYNX,,Ice,Psychic -185,125,ELECTABUZZ,,Electric, -186,126,MAGMAR,,Fire, -187,127,PINSIR,,Bug, -188,127,PINSIR,MEGA,Bug,Flying -189,128,TAUROS,,Normal, -190,129,MAGIKARP,FEMALE,Water, -191,129,MAGIKARP,MALE,Water, -192,130,GYARADOS,FEMALE,Water,Flying -193,130,GYARADOS,MALE,Water,Flying -194,130,GYARADOS,MEGA,Water,Dark -195,131,LAPRAS,,Water,Ice -196,132,DITTO,,Normal, -197,133,EEVEE,,Normal, -198,134,VAPOREON,,Water, -199,135,JOLTEON,,Electric, -200,136,FLAREON,,Fire, -201,137,PORYGON,,Normal, -202,138,OMANYTE,,Rock,Water -203,139,OMASTAR,,Rock,Water -204,140,KABUTO,,Rock,Water -205,141,KABUTOPS,,Rock,Water -206,142,AERODACTYL,,Rock,Flying -207,142,AERODACTYL,MEGA,Rock,Flying -208,143,SNORLAX,,Normal, -209,144,ARTICUNO,,Ice,Flying -210,145,ZAPDOS,,Electric,Flying -211,146,MOLTRES,,Fire,Flying -212,147,DRATINI,,Dragon, -213,148,DRAGONAIR,,Dragon, -214,149,DRAGONITE,,Dragon,Flying -215,150,MEWTWO,,Psychic, -216,150,MEWTWO,MEGA (X),Psychic, -217,150,MEWTWO,MEGA (Y),Psychic, -218,151,MEW,,Psychic, -219,152,CHIKORITA,,Grass, -220,153,BAYLEEF,,Grass, -221,154,MEGANIUM,FEMALE,Grass, -222,154,MEGANIUM,MALE,Grass, -223,155,CYNDAQUIL,,Fire, -224,156,QUILAVA,,Fire, -225,157,TYPHLOSION,,Fire, -226,158,TOTODILE,,Water, -227,159,CROCONAW,,Water, -228,160,FERALIGATR,,Water, -229,161,SENTRET,,Normal, -230,162,FURRET,,Normal, -231,163,HOOTHOOT,,Normal,Flying -232,164,NOCTOWL,,Normal,Flying -233,165,LEDYBA,FEMALE,Bug,Flying -234,165,LEDYBA,MALE,Bug,Flying -235,166,LEDIAN,FEMALE,Bug,Flying -236,166,LEDIAN,MALE,Bug,Flying -237,167,SPINARAK,,Bug,Poison -238,168,ARIADOS,,Bug,Poison -239,169,CROBAT,,Poison,Flying -240,170,CHINCHOU,,Water,Electric -241,171,LANTURN,,Water,Electric -242,172,PICHU,,Electric, -243,173,CLEFFA,,Fairy, -244,174,IGGLYBUFF,,Normal,Fairy -245,175,TOGEPI,,Fairy, -246,176,TOGETIC,,Fairy,Flying -247,177,NATU,,Psychic,Flying -248,178,XATU,FEMALE,Psychic,Flying -249,178,XATU,MALE,Psychic,Flying -250,179,MAREEP,,Electric, -251,180,FLAAFFY,,Electric, -252,181,AMPHAROS,,Electric, -253,181,AMPHAROS,MEGA,Electric,Dragon -254,182,BELLOSSOM,,Grass, -255,183,MARILL,,Water,Fairy -256,184,AZUMARILL,,Water,Fairy -257,185,SUDOWOODO,FEMALE,Rock, -258,185,SUDOWOODO,MALE,Rock, -259,186,POLITOED,FEMALE,Water, -260,186,POLITOED,MALE,Water, -261,187,HOPPIP,,Grass,Flying -262,188,SKIPLOOM,,Grass,Flying -263,189,JUMPLUFF,,Grass,Flying -264,190,AIPOM,FEMALE,Normal, -265,190,AIPOM,MALE,Normal, -266,191,SUNKERN,,Grass, -267,192,SUNFLORA,,Grass, -268,193,YANMA,,Bug,Flying -269,194,WOOPER,FEMALE,Water,Ground -270,194,WOOPER,MALE,Water,Ground -271,195,QUAGSIRE,FEMALE,Water,Ground -272,195,QUAGSIRE,MALE,Water,Ground -273,196,ESPEON,,Psychic, -274,197,UMBREON,,Dark, -275,198,MURKROW,FEMALE,Dark,Flying -276,198,MURKROW,MALE,Dark,Flying -277,199,SLOWKING,,Water,Psychic -278,200,MISDREAVUS,,Ghost, -279,201,UNOWN,A,Psychic, -280,201,UNOWN,B,Psychic, -281,201,UNOWN,C,Psychic, -282,201,UNOWN,D,Psychic, -283,201,UNOWN,E,Psychic, -284,201,UNOWN,F,Psychic, -285,201,UNOWN,G,Psychic, -286,201,UNOWN,H,Psychic, -287,201,UNOWN,I,Psychic, -288,201,UNOWN,J,Psychic, -289,201,UNOWN,K,Psychic, -290,201,UNOWN,L,Psychic, -291,201,UNOWN,M,Psychic, -292,201,UNOWN,N,Psychic, -293,201,UNOWN,O,Psychic, -294,201,UNOWN,P,Psychic, -295,201,UNOWN,Q,Psychic, -296,201,UNOWN,R,Psychic, -297,201,UNOWN,S,Psychic, -298,201,UNOWN,T,Psychic, -299,201,UNOWN,U,Psychic, -300,201,UNOWN,V,Psychic, -301,201,UNOWN,W,Psychic, -302,201,UNOWN,X,Psychic, -303,201,UNOWN,Y,Psychic, -304,201,UNOWN,Z,Psychic, -305,201,UNOWN,!,Psychic, -306,201,UNOWN,?,Psychic, -307,202,WOBBUFFET,FEMALE,Psychic, -308,202,WOBBUFFET,MALE,Psychic, -309,203,GIRAFARIG,FEMALE,Normal,Psychic -310,203,GIRAFARIG,MALE,Normal,Psychic -311,204,PINECO,,Bug, -312,205,FORRETRESS,,Bug,Steel -313,206,DUNSPARCE,,Normal, -314,207,GLIGAR,FEMALE,Ground,Flying -315,207,GLIGAR,MALE,Ground,Flying -316,208,STEELIX,FEMALE,Steel,Ground -317,208,STEELIX,MALE,Steel,Ground -318,208,STEELIX,MEGA,Steel,Ground -319,209,SNUBBULL,,Fairy, -320,210,GRANBULL,,Fairy, -321,211,QWILFISH,,Water,Poison -322,212,SCIZOR,FEMALE,Bug,Steel -323,212,SCIZOR,MALE,Bug,Steel -324,212,SCIZOR,MEGA,Bug,Steel -325,213,SHUCKLE,,Bug,Rock -326,214,HERACROSS,FEMALE,Bug,Fighting -327,214,HERACROSS,MALE,Bug,Fighting -328,214,HERACROSS,MEGA,Bug,Fighting -329,215,SNEASEL,FEMALE,Dark,Ice -330,215,SNEASEL,MALE,Dark,Ice -331,216,TEDDIURSA,,Normal, -332,217,URSARING,FEMALE,Normal, -333,217,URSARING,MALE,Normal, -334,218,SLUGMA,,Fire, -335,219,MAGCARGO,,Fire,Rock -336,220,SWINUB,,Ice,Ground -337,221,PILOSWINE,FEMALE,Ice,Ground -338,221,PILOSWINE,MALE,Ice,Ground -339,222,CORSOLA,,Water,Rock -340,222,CORSOLA,GALARIAN,Ghost, -341,223,REMORAID,,Water, -342,224,OCTILLERY,FEMALE,Water, -343,224,OCTILLERY,MALE,Water, -344,225,DELIBIRD,,Ice,Flying -345,226,MANTINE,,Water,Flying -346,227,SKARMORY,,Steel,Flying -347,228,HOUNDOUR,,Dark,Fire -348,229,HOUNDOOM,FEMALE,Dark,Fire -349,229,HOUNDOOM,MALE,Dark,Fire -350,229,HOUNDOOM,MEGA,Dark,Fire -351,230,KINGDRA,,Water,Dragon -352,231,PHANPY,,Ground, -353,232,DONPHAN,FEMALE,Ground, -354,232,DONPHAN,MALE,Ground, -355,233,PORYGON2,,Normal, -356,234,STANTLER,,Normal, -357,235,SMEARGLE,,Normal, -358,236,TYROGUE,,Fighting, -359,237,HITMONTOP,,Fighting, -360,238,SMOOCHUM,,Ice,Psychic -361,239,ELEKID,,Electric, -362,240,MAGBY,,Fire, -363,241,MILTANK,,Normal, -364,242,BLISSEY,,Normal, -365,243,RAIKOU,,Electric, -366,244,ENTEI,,Fire, -367,245,SUICUNE,,Water, -368,246,LARVITAR,,Rock,Ground -369,247,PUPITAR,,Rock,Ground -370,248,TYRANITAR,,Rock,Dark -371,248,TYRANITAR,MEGA,Rock,Dark -372,249,LUGIA,,Psychic,Flying -373,250,HO-OH,,Fire,Flying -374,251,CELEBI,,Psychic,Grass -375,252,TREECKO,,Grass, -376,253,GROVYLE,,Grass, -377,254,SCEPTILE,,Grass, -378,254,SCEPTILE,MEGA,Grass,Dragon -379,255,TORCHIC,FEMALE,Fire, -380,255,TORCHIC,MALE,Fire, -381,256,COMBUSKEN,FEMALE,Fire,Fighting -382,256,COMBUSKEN,MALE,Fire,Fighting -383,257,BLAZIKEN,FEMALE,Fire,Fighting -384,257,BLAZIKEN,MALE,Fire,Fighting -385,257,BLAZIKEN,MEGA,Fire,Fighting -386,258,MUDKIP,,Water, -387,259,MARSHTOMP,,Water,Ground -388,260,SWAMPERT,,Water,Ground -389,260,SWAMPERT,MEGA,Water,Ground -390,261,POOCHYENA,,Dark, -391,262,MIGHTYENA,,Dark, -392,263,ZIGZAGOON,,Normal, -393,263,ZIGZAGOON,GALARIAN,Dark,Normal -394,264,LINOONE,,Normal, -395,264,LINOONE,GALARIAN,Dark,Normal -396,265,WURMPLE,,Bug, -397,266,SILCOON,,Bug, -398,267,BEAUTIFLY,FEMALE,Bug,Flying -399,267,BEAUTIFLY,MALE,Bug,Flying -400,268,CASCOON,,Bug, -401,269,DUSTOX,FEMALE,Bug,Poison -402,269,DUSTOX,MALE,Bug,Poison -403,270,LOTAD,,Water,Grass -404,271,LOMBRE,,Water,Grass -405,272,LUDICOLO,FEMALE,Water,Grass -406,272,LUDICOLO,MALE,Water,Grass -407,273,SEEDOT,,Grass, -408,274,NUZLEAF,FEMALE,Grass,Dark -409,274,NUZLEAF,MALE,Grass,Dark -410,275,SHIFTRY,FEMALE,Grass,Dark -411,275,SHIFTRY,MALE,Grass,Dark -412,276,TAILLOW,,Normal,Flying -413,277,SWELLOW,,Normal,Flying -414,278,WINGULL,,Water,Flying -415,279,PELIPPER,,Water,Flying -416,280,RALTS,,Psychic,Fairy -417,281,KIRLIA,,Psychic,Fairy -418,282,GARDEVOIR,,Psychic,Fairy -419,282,GARDEVOIR,MEGA,Psychic,Fairy -420,283,SURSKIT,,Bug,Water -421,284,MASQUERAIN,,Bug,Flying -422,285,SHROOMISH,,Grass, -423,286,BRELOOM,,Grass,Fighting -424,287,SLAKOTH,,Normal, -425,288,VIGOROTH,,Normal, -426,289,SLAKING,,Normal, -427,290,NINCADA,,Bug,Ground -428,291,NINJASK,,Bug,Flying -429,292,SHEDINJA,,Bug,Ghost -430,293,WHISMUR,,Normal, -431,294,LOUDRED,,Normal, -432,295,EXPLOUD,,Normal, -433,296,MAKUHITA,,Fighting, -434,297,HARIYAMA,,Fighting, -435,298,AZURILL,,Normal,Fairy -436,299,NOSEPASS,,Rock, -437,300,SKITTY,,Normal, -438,301,DELCATTY,,Normal, -439,302,SABLEYE,,Dark,Ghost -440,302,SABLEYE,MEGA,Dark,Ghost -441,303,MAWILE,,Steel,Fairy -442,303,MAWILE,MEGA,Steel,Fairy -443,304,ARON,,Steel,Rock -444,305,LAIRON,,Steel,Rock -445,306,AGGRON,,Steel,Rock -446,306,AGGRON,MEGA,Steel,Rock -447,307,MEDITITE,FEMALE,Fighting,Psychic -448,307,MEDITITE,MALE,Fighting,Psychic -449,308,MEDICHAM,FEMALE,Fighting,Psychic -450,308,MEDICHAM,MALE,Fighting,Psychic -451,308,MEDICHAM,MEGA,Fighting,Psychic -452,309,ELECTRIKE,,Electric, -453,310,MANECTRIC,,Electric, -454,310,MANECTRIC,MEGA,Electric, -455,311,PLUSLE,,Electric, -456,312,MINUN,,Electric, -457,313,VOLBEAT,,Bug, -458,314,ILLUMISE,,Bug, -459,315,ROSELIA,FEMALE,Grass,Poison -460,315,ROSELIA,MALE,Grass,Poison -461,316,GULPIN,FEMALE,Poison, -462,316,GULPIN,MALE,Poison, -463,317,SWALOT,FEMALE,Poison, -464,317,SWALOT,MALE,Poison, -465,318,CARVANHA,,Water,Dark -466,319,SHARPEDO,,Water,Dark -467,319,SHARPEDO,MEGA,Water,Dark -468,320,WAILMER,,Water, -469,321,WAILORD,,Water, -470,322,NUMEL,FEMALE,Fire,Ground -471,322,NUMEL,MALE,Fire,Ground -472,323,CAMERUPT,FEMALE,Fire,Ground -473,323,CAMERUPT,MALE,Fire,Ground -474,323,CAMERUPT,MEGA,Fire,Ground -475,324,TORKOAL,,Fire, -476,325,SPOINK,,Psychic, -477,326,GRUMPIG,,Psychic, -478,327,SPINDA,,Normal, -479,328,TRAPINCH,,Ground, -480,329,VIBRAVA,,Ground,Dragon -481,330,FLYGON,,Ground,Dragon -482,331,CACNEA,,Grass, -483,332,CACTURNE,FEMALE,Grass,Dark -484,332,CACTURNE,MALE,Grass,Dark -485,333,SWABLU,,Normal,Flying -486,334,ALTARIA,,Dragon,Flying -487,334,ALTARIA,MEGA,Dragon,Fairy -488,335,ZANGOOSE,,Normal, -489,336,SEVIPER,,Poison, -490,337,LUNATONE,,Rock,Psychic -491,338,SOLROCK,,Rock,Psychic -492,339,BARBOACH,,Water,Ground -493,340,WHISCASH,,Water,Ground -494,341,CORPHISH,,Water, -495,342,CRAWDAUNT,,Water,Dark -496,343,BALTOY,,Ground,Psychic -497,344,CLAYDOL,,Ground,Psychic -498,345,LILEEP,,Rock,Grass -499,346,CRADILY,,Rock,Grass -500,347,ANORITH,,Rock,Bug -501,348,ARMALDO,,Rock,Bug -502,349,FEEBAS,,Water, -503,350,MILOTIC,FEMALE,Water, -504,350,MILOTIC,MALE,Water, -505,351,CASTFORM,,Normal, -506,352,KECLEON,,Normal, -507,353,SHUPPET,,Ghost, -508,354,BANETTE,,Ghost, -509,354,BANETTE,MEGA,Ghost, -510,355,DUSKULL,,Ghost, -511,356,DUSCLOPS,,Ghost, -512,357,TROPIUS,,Grass,Flying -513,358,CHIMECHO,,Psychic, -514,359,ABSOL,,Dark, -515,359,ABSOL,MEGA,Dark, -516,360,WYNAUT,,Psychic, -517,361,SNORUNT,,Ice, -518,362,GLALIE,,Ice, -519,362,GLALIE,MEGA,Ice, -520,363,SPHEAL,,Ice,Water -521,364,SEALEO,,Ice,Water -522,365,WALREIN,,Ice,Water -523,366,CLAMPERL,,Water, -524,367,HUNTAIL,,Water, -525,368,GOREBYSS,,Water, -526,369,RELICANTH,FEMALE,Water,Rock -527,369,RELICANTH,MALE,Water,Rock -528,370,LUVDISC,,Water, -529,371,BAGON,,Dragon, -530,372,SHELGON,,Dragon, -531,373,SALAMENCE,,Dragon,Flying -532,373,SALAMENCE,MEGA,Dragon,Flying -533,374,BELDUM,,Steel,Psychic -534,375,METANG,,Steel,Psychic -535,376,METAGROSS,,Steel,Psychic -536,376,METAGROSS,MEGA,Steel,Psychic -537,377,REGIROCK,,Rock, -538,378,REGICE,,Ice, -539,379,REGISTEEL,,Steel, -540,380,LATIAS,,Dragon,Psychic -541,380,LATIAS,MEGA,Dragon,Psychic -542,381,LATIOS,,Dragon,Psychic -543,381,LATIOS,MEGA,Dragon,Psychic -544,382,KYOGRE,,Water, -545,382,KYOGRE,PRIMAL,Water, -546,383,GROUDON,,Ground, -547,383,GROUDON,PRIMAL,Ground, -548,384,RAYQUAZA,,Dragon,Flying -549,384,RAYQUAZA,MEGA,Dragon,Flying -550,385,JIRACHI,,Steel,Psychic -551,386,DEOXYS,,Psychic, -552,386,DEOXYS,ATTACK,Psychic, -553,386,DEOXYS,DEFENSE,Psychic, -554,386,DEOXYS,SPEED,Psychic, -555,387,TURTWIG,,Grass, -556,388,GROTLE,,Grass, -557,389,TORTERRA,,Grass,Ground -558,390,CHIMCHAR,,Fire, -559,391,MONFERNO,,Fire,Fighting -560,392,INFERNAPE,,Fire,Fighting -561,393,PIPLUP,,Water, -562,394,PRINPLUP,,Water, -563,395,EMPOLEON,,Water,Steel -564,396,STARLY,FEMALE,Normal,Flying -565,396,STARLY,MALE,Normal,Flying -566,397,STARAVIA,FEMALE,Normal,Flying -567,397,STARAVIA,MALE,Normal,Flying -568,398,STARAPTOR,FEMALE,Normal,Flying -569,398,STARAPTOR,MALE,Normal,Flying -570,399,BIDOOF,FEMALE,Normal, -571,399,BIDOOF,MALE,Normal, -572,400,BIBAREL,FEMALE,Normal,Water -573,400,BIBAREL,MALE,Normal,Water -574,401,KRICKETOT,FEMALE,Bug, -575,401,KRICKETOT,MALE,Bug, -576,402,KRICKETUNE,FEMALE,Bug, -577,402,KRICKETUNE,MALE,Bug, -578,403,SHINX,FEMALE,Electric, -579,403,SHINX,MALE,Electric, -580,404,LUXIO,FEMALE,Electric, -581,404,LUXIO,MALE,Electric, -582,405,LUXRAY,FEMALE,Electric, -583,405,LUXRAY,MALE,Electric, -584,406,BUDEW,,Grass,Poison -585,407,ROSERADE,FEMALE,Grass,Poison -586,407,ROSERADE,MALE,Grass,Poison -587,408,CRANIDOS,,Rock, -588,409,RAMPARDOS,,Rock, -589,410,SHIELDON,,Rock,Steel -590,411,BASTIODON,,Rock,Steel -591,412,BURMY,PLANT CLOAK,Bug, -592,412,BURMY,SANDY CLOAK,Bug, -593,412,BURMY,TRASH CLOAK,Bug, -594,413,WORMADAM,PLANT CLOAK,Bug,Grass -595,413,WORMADAM,SANDY CLOAK,Bug,Ground -596,413,WORMADAM,TRASH CLOAK,Bug,Steel -597,414,MOTHIM,,Bug,Flying -598,415,COMBEE,FEMALE,Bug,Flying -599,415,COMBEE,MALE,Bug,Flying -600,416,VESPIQUEN,,Bug,Flying -601,417,PACHIRISU,FEMALE,Electric, -602,417,PACHIRISU,MALE,Electric, -603,418,BUIZEL,FEMALE,Water, -604,418,BUIZEL,MALE,Water, -605,419,FLOATZEL,FEMALE,Water, -606,419,FLOATZEL,MALE,Water, -607,420,CHERUBI,,Grass, -608,421,CHERRIM,,Grass, -609,422,SHELLOS,WEST SEA,Water, -610,422,SHELLOS,EAST SEA,Water, -611,423,GASTRODON,WEST SEA,Water,Ground -612,423,GASTRODON,EAST SEA,Water,Ground -613,424,AMBIPOM,FEMALE,Normal, -614,424,AMBIPOM,MALE,Normal, -615,425,DRIFLOON,,Ghost,Flying -616,426,DRIFBLIM,,Ghost,Flying -617,427,BUNEARY,,Normal, -618,428,LOPUNNY,,Normal, -619,428,LOPUNNY,MEGA,Normal,Fighting -620,429,MISMAGIUS,,Ghost, -621,430,HONCHKROW,,Dark,Flying -622,431,GLAMEOW,,Normal, -623,432,PURUGLY,,Normal, -624,433,CHINGLING,,Psychic, -625,434,STUNKY,,Poison,Dark -626,435,SKUNTANK,,Poison,Dark -627,436,BRONZOR,,Steel,Psychic -628,437,BRONZONG,,Steel,Psychic -629,438,BONSLY,,Rock, -630,439,MIME JR.,,Psychic,Fairy -631,440,HAPPINY,,Normal, -632,441,CHATOT,,Normal,Flying -633,442,SPIRITOMB,,Ghost,Dark -634,443,GIBLE,FEMALE,Dragon,Ground -635,443,GIBLE,MALE,Dragon,Ground -636,444,GABITE,FEMALE,Dragon,Ground -637,444,GABITE,MALE,Dragon,Ground -638,445,GARCHOMP,FEMALE,Dragon,Ground -639,445,GARCHOMP,MALE,Dragon,Ground -640,445,GARCHOMP,MEGA,Dragon,Ground -641,446,MUNCHLAX,,Normal, -642,447,RIOLU,,Fighting, -643,448,LUCARIO,,Fighting,Steel -644,448,LUCARIO,MEGA,Fighting,Steel -645,449,HIPPOPOTAS,FEMALE,Ground, -646,449,HIPPOPOTAS,MALE,Ground, -647,450,HIPPOWDON,FEMALE,Ground, -648,450,HIPPOWDON,MALE,Ground, -649,451,SKORUPI,,Poison,Bug -650,452,DRAPION,,Poison,Dark -651,453,CROAGUNK,FEMALE,Poison,Fighting -652,453,CROAGUNK,MALE,Poison,Fighting -653,454,TOXICROAK,FEMALE,Poison,Fighting -654,454,TOXICROAK,MALE,Poison,Fighting -655,455,CARNIVINE,,Grass, -656,456,FINNEON,FEMALE,Water, -657,456,FINNEON,MALE,Water, -658,457,LUMINEON,FEMALE,Water, -659,457,LUMINEON,MALE,Water, -660,458,MANTYKE,,Water,Flying -661,459,SNOVER,FEMALE,Grass,Ice -662,459,SNOVER,MALE,Grass,Ice -663,460,ABOMASNOW,FEMALE,Grass,Ice -664,460,ABOMASNOW,MALE,Grass,Ice -665,460,ABOMASNOW,MEGA,Grass,Ice -666,461,WEAVILE,FEMALE,Dark,Ice -667,461,WEAVILE,MALE,Dark,Ice -668,462,MAGNEZONE,,Electric,Steel -669,463,LICKILICKY,,Normal, -670,464,RHYPERIOR,FEMALE,Ground,Rock -671,464,RHYPERIOR,MALE,Ground,Rock -672,465,TANGROWTH,FEMALE,Grass, -673,465,TANGROWTH,MALE,Grass, -674,466,ELECTIVIRE,,Electric, -675,467,MAGMORTAR,,Fire, -676,468,TOGEKISS,,Fairy,Flying -677,469,YANMEGA,,Bug,Flying -678,470,LEAFEON,,Grass, -679,471,GLACEON,,Ice, -680,472,GLISCOR,,Ground,Flying -681,473,MAMOSWINE,FEMALE,Ice,Ground -682,473,MAMOSWINE,MALE,Ice,Ground -683,474,PORYGON-Z,,Normal, -684,475,GALLADE,,Psychic,Fighting -685,475,GALLADE,MEGA,Psychic,Fighting -686,476,PROBOPASS,,Rock,Steel -687,477,DUSKNOIR,,Ghost, -688,478,FROSLASS,,Ice,Ghost -689,479,ROTOM,,Electric,Ghost -690,479,ROTOM,HEAT,Electric,Fire -691,479,ROTOM,WASH,Electric,Water -692,479,ROTOM,FROST,Electric,Ice -693,479,ROTOM,FAN,Electric,Flying -694,479,ROTOM,MOW,Electric,Grass -695,480,UXIE,,Psychic, -696,481,MESPRIT,,Psychic, -697,482,AZELF,,Psychic, -698,483,DIALGA,,Steel,Dragon -699,484,PALKIA,,Water,Dragon -700,485,HEATRAN,,Fire,Steel -701,486,REGIGIGAS,,Normal, -702,487,GIRATINA,ALTERED,Ghost,Dragon -703,487,GIRATINA,ORIGIN,Ghost,Dragon -704,488,CRESSELIA,,Psychic, -705,489,PHIONE,,Water, -706,490,MANAPHY,,Water, -707,491,DARKRAI,,Dark, -708,492,SHAYMIN,,Grass,Flying -709,493,ARCEUS,NORMAL,Normal, -710,493,ARCEUS,FIRE,Fire, -711,493,ARCEUS,WATER,Water, -712,493,ARCEUS,ELECTRIC,Electric, -713,493,ARCEUS,GRASS,Grass, -714,493,ARCEUS,ICE,Ice, -715,493,ARCEUS,FIGHTING,Fighting, -716,493,ARCEUS,POISON,Poison, -717,493,ARCEUS,GROUND,Ground, -718,493,ARCEUS,FLYING,Flying, -719,493,ARCEUS,PSYCHIC,Psychic, -720,493,ARCEUS,BUG,Bug, -721,493,ARCEUS,ROCK,Rock, -722,493,ARCEUS,GHOST,Ghost, -723,493,ARCEUS,DRAGON,Dragon, -724,493,ARCEUS,DARK,Dark, -725,493,ARCEUS,STEEL,Steel, -726,493,ARCEUS,FAIRY,Fairy, -727,494,VICTINI,,Psychic,Fire -728,495,SNIVY,,Grass, -729,496,SERVINE,,Grass, -730,497,SERPERIOR,,Grass, -731,498,TEPIG,,Fire, -732,499,PIGNITE,,Fire,Fighting -733,500,EMBOAR,,Fire,Fighting -734,501,OSHAWOTT,,Water, -735,502,DEWOTT,,Water, -736,503,SAMUROTT,,Water, -737,504,PATRAT,,Normal, -738,505,WATCHOG,,Normal, -739,506,LILLIPUP,,Normal, -740,507,HERDIER,,Normal, -741,508,STOUTLAND,,Normal, -742,509,PURRLOIN,,Dark, -743,510,LIEPARD,,Dark, -744,511,PANSAGE,,Grass, -745,512,SIMISAGE,,Grass, -746,513,PANSEAR,,Fire, -747,514,SIMISEAR,,Fire, -748,515,PANPOUR,,Water, -749,516,SIMIPOUR,,Water, -750,517,MUNNA,,Psychic, -751,518,MUSHARNA,,Psychic, -752,519,PIDOVE,,Normal,Flying -753,520,TRANQUILL,,Normal,Flying -754,521,UNFEZANT,FEMALE,Normal,Flying -755,521,UNFEZANT,MALE,Normal,Flying -756,522,BLITZLE,,Electric, -757,523,ZEBSTRIKA,,Electric, -758,524,ROGGENROLA,,Rock, -759,525,BOLDORE,,Rock, -760,526,GIGALITH,,Rock, -761,527,WOOBAT,,Psychic,Flying -762,528,SWOOBAT,,Psychic,Flying -763,529,DRILBUR,,Ground, -764,530,EXCADRILL,,Ground,Steel -765,531,AUDINO,,Normal, -766,531,AUDINO,MEGA,Normal,Fairy -767,532,TIMBURR,,Fighting, -768,533,GURDURR,,Fighting, -769,534,CONKELDURR,,Fighting, -770,535,TYMPOLE,,Water, -771,536,PALPITOAD,,Water,Ground -772,537,SEISMITOAD,,Water,Ground -773,538,THROH,,Fighting, -774,539,SAWK,,Fighting, -775,540,SEWADDLE,,Bug,Grass -776,541,SWADLOON,,Bug,Grass -777,542,LEAVANNY,,Bug,Grass -778,543,VENIPEDE,,Bug,Poison -779,544,WHIRLIPEDE,,Bug,Poison -780,545,SCOLIPEDE,,Bug,Poison -781,546,COTTONEE,,Grass, -782,547,WHIMSICOTT,,Grass,Fairy -783,548,PETILIL,,Grass, -784,549,LILLIGANT,,Grass, -785,550,BASCULIN,RED-STRIPPED,Water, -786,550,BASCULIN,BLUE-STRIPPED,Water, -787,551,SANDILE,,Ground,Dark -788,552,KROKOROK,,Ground,Dark -789,553,KROOKODILE,,Ground,Dark -790,554,DARUMAKA,,Fire, -791,554,DARUMAKA,GALARIAN,Ice, -792,555,DARMANITAN,,Fire, -793,555,DARMANITAN,GALARIAN,Ice, -794,556,MARACTUS,,Grass, -795,557,DWEBBLE,,Bug,Rock -796,558,CRUSTLE,,Bug,Rock -797,559,SCRAGGY,,Dark,Fighting -798,560,SCRAFTY,,Dark,Fighting -799,561,SIGILYPH,,Psychic,Flying -800,562,YAMASK,,Ghost, -801,562,YAMASK,GALARIAN,Ground,Ghost -802,563,COFAGRIGUS,,Ghost, -803,564,TIRTOUGA,,Water,Rock -804,565,CARRACOSTA,,Water,Rock -805,566,ARCHEN,,Rock,Flying -806,567,ARCHEOPS,,Rock,Flying -807,568,TRUBBISH,,Poison, -808,569,GARBODOR,,Poison, -809,570,ZORUA,,Dark, -810,571,ZOROARK,,Dark, -811,572,MINCCINO,,Normal, -812,573,CINCCINO,,Normal, -813,574,GOTHITA,,Psychic, -814,575,GOTHORITA,,Psychic, -815,576,GOTHITELLE,,Psychic, -816,577,SOLOSIS,,Psychic, -817,578,DUOSION,,Psychic, -818,579,REUNICLUS,,Psychic, -819,580,DUCKLETT,,Water,Flying -820,581,SWANNA,,Water,Flying -821,582,VANILLITE,,Ice, -822,583,VANILLISH,,Ice, -823,584,VANILLUXE,,Ice, -824,585,DEERLING,SPRING,Normal,Grass -825,585,DEERLING,SUMMER,Normal,Grass -826,585,DEERLING,AUTUMN,Normal,Grass -827,585,DEERLING,WINTER,Normal,Grass -828,586,SAWSBUCK,SPRING,Normal,Grass -829,586,SAWSBUCK,SUMMER,Normal,Grass -830,586,SAWSBUCK,AUTUMN,Normal,Grass -831,586,SAWSBUCK,WINTER,Normal,Grass -832,587,EMOLGA,,Electric,Flying -833,588,KARRABLAST,,Bug, -834,589,ESCAVALIER,,Bug,Steel -835,590,FOONGUS,,Grass,Poison -836,591,AMOONGUSS,,Grass,Poison -837,592,FRILLISH,FEMALE,Water,Ghost -838,592,FRILLISH,MALE,Water,Ghost -839,593,JELLICENT,FEMALE,Water,Ghost -840,593,JELLICENT,MALE,Water,Ghost -841,594,ALOMOMOLA,,Water, -842,595,JOLTIK,,Bug,Electric -843,596,GALVANTULA,,Bug,Electric -844,597,FERROSEED,,Grass,Steel -845,598,FERROTHORN,,Grass,Steel -846,599,KLINK,,Steel, -847,600,KLANG,,Steel, -848,601,KLINKLANG,,Steel, -849,602,TYNAMO,,Electric, -850,603,EELEKTRIK,,Electric, -851,604,EELEKTROSS,,Electric, -852,605,ELGYEM,,Psychic, -853,606,BEHEEYEM,,Psychic, -854,607,LITWICK,,Ghost,Fire -855,608,LAMPENT,,Ghost,Fire -856,609,CHANDELURE,,Ghost,Fire -857,610,AXEW,,Dragon, -858,611,FRAXURE,,Dragon, -859,612,HAXORUS,,Dragon, -860,613,CUBCHOO,,Ice, -861,614,BEARTIC,,Ice, -862,615,CRYOGONAL,,Ice, -863,616,SHELMET,,Bug, -864,617,ACCELGOR,,Bug, -865,618,STUNFISK,,Ground,Electric -866,618,STUNFISK,GALARIAN,Ground,Steel -867,619,MIENFOO,,Fighting, -868,620,MIENSHAO,,Fighting, -869,621,DRUDDIGON,,Dragon, -870,622,GOLETT,,Ground,Ghost -871,623,GOLURK,,Ground,Ghost -872,624,PAWNIARD,,Dark,Steel -873,625,BISHARP,,Dark,Steel -874,626,BOUFFALANT,,Normal, -875,627,RUFFLET,,Normal,Flying -876,628,BRAVIARY,,Normal,Flying -877,629,VULLABY,,Dark,Flying -878,630,MANDIBUZZ,,Dark,Flying -879,631,HEATMOR,,Fire, -880,632,DURANT,,Bug,Steel -881,633,DEINO,,Dark,Dragon -882,634,ZWEILOUS,,Dark,Dragon -883,635,HYDREIGON,,Dark,Dragon -884,636,LARVESTA,,Bug,Fire -885,637,VOLCARONA,,Bug,Fire -886,638,COBALION,,Steel,Fighting -887,639,TERRAKION,,Rock,Fighting -888,640,VIRIZION,,Grass,Fighting -889,641,TORNADUS,INCARNATE,Flying, -890,641,TORNADUS,THERIAN,Flying, -891,642,THUNDURUS,INCARNATE,Electric,Flying -892,642,THUNDURUS,THERIAN,Electric,Flying -893,643,RESHIRAM,,Dragon,Fire -894,644,ZEKROM,,Dragon,Electric -895,645,LANDORUS,INCARNATE,Ground,Flying -896,645,LANDORUS,THERIAN,Ground,Flying -897,646,KYUREM,,Dragon,Ice -898,646,KYUREM,WHITE,Dragon,Ice -899,646,KYUREM,BLACK,Dragon,Ice -900,647,KELDEO,ORDINARY,Water,Fighting -901,647,KELDEO,RESOLUTE,Water,Fighting -902,648,MELOETTA,ARIA,Normal,Psychic -903,648,MELOETTA,PIROUETTE,Normal,Fighting -904,649,GENESECT,,Bug,Steel -905,649,GENESECT,SHOCK DRIVE,Bug,Steel -906,649,GENESECT,BURN DRIVE,Bug,Steel -907,649,GENESECT,CHILL DRIVE,Bug,Steel -908,649,GENESECT,DOUSE DRIVE,Bug,Steel -909,650,CHESPIN,,Grass, -910,651,QUILLADIN,,Grass, -911,652,CHESNAUGHT,,Grass,Fighting -912,653,FENNEKIN,,Fire, -913,654,BRAIXEN,,Fire, -914,655,DELPHOX,,Fire,Psychic -915,656,FROAKIE,,Water, -916,657,FROGADIER,,Water, -917,658,GRENINJA,,Water,Dark -918,658,GRENINJA,ASH,Water,Dark -919,659,BUNNELBY,,Normal, -920,660,DIGGERSBY,,Normal,Ground -921,661,FLETCHLING,,Normal,Flying -922,662,FLETCHINDER,,Fire,Flying -923,663,TALONFLAME,,Fire,Flying -924,664,SCATTERBUG,,Bug, -925,665,SPEWPA,,Bug, -926,666,VIVILLON,ARCHIPELAGO,Bug,Flying -927,666,VIVILLON,CONTINENTAL,Bug,Flying -928,666,VIVILLON,ELEGANT,Bug,Flying -929,666,VIVILLON,GARDEN,Bug,Flying -930,666,VIVILLON,HIGH PLAINS,Bug,Flying -931,666,VIVILLON,ICY SNOW,Bug,Flying -932,666,VIVILLON,JUNGLE,Bug,Flying -933,666,VIVILLON,MARINE,Bug,Flying -934,666,VIVILLON,MEADOW,Bug,Flying -935,666,VIVILLON,MODERN,Bug,Flying -936,666,VIVILLON,MONSOON,Bug,Flying -937,666,VIVILLON,OCEAN,Bug,Flying -938,666,VIVILLON,POLAR,Bug,Flying -939,666,VIVILLON,RIVER,Bug,Flying -940,666,VIVILLON,SANDSTORM,Bug,Flying -941,666,VIVILLON,SAVANNA,Bug,Flying -942,666,VIVILLON,SUN,Bug,Flying -943,666,VIVILLON,TUNDRA,Bug,Flying -944,666,VIVILLON,POKÉ BALL,Bug,Flying -945,666,VIVILLON,FANCY,Bug,Flying -946,667,LITLEO,,Fire,Normal -947,668,PYROAR,FEMALE,Fire,Normal -948,668,PYROAR,MALE,Fire,Normal -949,669,FLABÉBÉ,RED FLOWER,Fairy, -950,669,FLABÉBÉ,YELLOW FLOWER,Fairy, -951,669,FLABÉBÉ,ORANGE FLOWER,Fairy, -952,669,FLABÉBÉ,BLUE FLOWER,Fairy, -953,669,FLABÉBÉ,WHITE FLOWER,Fairy, -954,670,FLOETTE,RED FLOWER,Fairy, -955,670,FLOETTE,YELLOW FLOWER,Fairy, -956,670,FLOETTE,ORANGE FLOWER,Fairy, -957,670,FLOETTE,BLUE FLOWER,Fairy, -958,670,FLOETTE,WHITE FLOWER,Fairy, -959,671,FLORGES,RED FLOWER,Fairy, -960,671,FLORGES,YELLOW FLOWER,Fairy, -961,671,FLORGES,ORANGE FLOWER,Fairy, -962,671,FLORGES,BLUE FLOWER,Fairy, -963,671,FLORGES,WHITE FLOWER,Fairy, -964,672,SKIDDO,,Grass, -965,673,GOGOAT,,Grass, -966,674,PANCHAM,,Fighting, -967,675,PANGORO,,Fighting,Dark -968,676,FURFROU,,Normal, -969,677,ESPURR,,Psychic, -970,678,MEOWSTIC,FEMALE,Psychic, -971,678,MEOWSTIC,MALE,Psychic, -972,679,HONEDGE,,Steel,Ghost -973,680,DOUBLADE,,Steel,Ghost -974,681,AEGISLASH,,Steel,Ghost -975,682,SPRITZEE,,Fairy, -976,683,AROMATISSE,,Fairy, -977,684,SWIRLIX,,Fairy, -978,685,SLURPUFF,,Fairy, -979,686,INKAY,,Dark,Psychic -980,687,MALAMAR,,Dark,Psychic -981,688,BINACLE,,Rock,Water -982,689,BARBARACLE,,Rock,Water -983,690,SKRELP,,Poison,Water -984,691,DRAGALGE,,Poison,Dragon -985,692,CLAUNCHER,,Water, -986,693,CLAWITZER,,Water, -987,694,HELIOPTILE,,Electric,Normal -988,695,HELIOLISK,,Electric,Normal -989,696,TYRUNT,,Rock,Dragon -990,697,TYRANTRUM,,Rock,Dragon -991,698,AMAURA,,Rock,Ice -992,699,AURORUS,,Rock,Ice -993,700,SYLVEON,,Fairy, -994,701,HAWLUCHA,,Fighting,Flying -995,702,DEDENNE,,Electric,Fairy -996,703,CARBINK,,Rock,Fairy -997,704,GOOMY,,Dragon, -998,705,SLIGGOO,,Dragon, -999,706,GOODRA,,Dragon, -1000,707,KLEFKI,,Steel,Fairy -1001,708,PHANTUMP,,Ghost,Grass -1002,709,TREVENANT,,Ghost,Grass -1003,710,PUMPKABOO,SMALL SIZE,Ghost,Grass -1004,710,PUMPKABOO,AVERAGE SIZE,Ghost,Grass -1005,710,PUMPKABOO,LARGE SIZE,Ghost,Grass -1006,710,PUMPKABOO,SUPER SIZE,Ghost,Grass -1007,711,GOURGEIST,SMALL SIZE,Ghost,Grass -1008,711,GOURGEIST,AVERAGE SIZE,Ghost,Grass -1009,711,GOURGEIST,LARGE SIZE,Ghost,Grass -1010,711,GOURGEIST,SUPER SIZE,Ghost,Grass -1011,712,BERGMITE,,Ice, -1012,713,AVALUGG,,Ice, -1013,714,NOIBAT,,Flying,Dragon -1014,715,NOIVERN,,Flying,Dragon -1015,716,XERNEAS,,Fairy, -1016,717,YVELTAL,,Dark,Flying -1017,718,ZYGARDE,50% FORME,Dragon,Ground -1018,718,ZYGARDE,10% FORME,Dragon,Ground -1019,719,DIANCIE,,Rock,Fairy -1020,719,DIANCIE,MEGA,Rock,Fairy -1021,720,HOOPA,,Psychic,Ghost -1022,721,VOLCANION,,Fire,Water -1023,722,ROWLETT,,Grass,Flying -1024,723,DARTRIX,,Grass,Flying -1025,724,DECIDUEYE,,Grass,Ghost -1026,725,LITTEN,,Fire, -1027,726,TORRACAT,,Fire, -1028,727,INCINEROAR,,Fire,Dark -1029,728,POPPLIO,,Water, -1030,729,BRIONNE,,Water, -1031,730,PRIMARINA,,Water,Fairy -1032,731,PIKIPEK,,Normal,Flying -1033,732,TRUMBEAK,,Normal,Flying -1034,733,TOUCANNON,,Normal,Flying -1035,734,YUNGOOS,,Normal, -1036,735,GUMSHOOS,,Normal, -1037,736,GRUBBIN,,Bug, -1038,737,CHARJABUG,,Bug,Electric -1039,738,VIKAVOLT,,Bug,Electric -1040,739,CRABRAWLER,,Fighting, -1041,740,CRABOMINABLE,,Fighting,Ice -1042,741,ORICORIO,BAILE STYLE,Fire,Flying -1043,741,ORICORIO,POM-POM STYLE,Electric,Flying -1044,741,ORICORIO,PA'U STYLE,Psychic,Flying -1045,741,ORICORIO,SENSU STYLE,Ghost,Flying -1046,742,CUTIEFLY,,Bug,Fairy -1047,743,RIBOMBEE,,Bug,Fairy -1048,744,ROCKRUFF,,Rock, -1049,745,LYCANROC,MIDDAY,Rock, -1050,745,LYCANROC,MIDNIGHT,Rock, -1051,745,LYCANROC,DUSK,, -1052,746,WISHIWASHI,,Water, -1053,747,MAREANIE,,Poison,Water -1054,748,TOXAPEX,,Poison,Water -1055,749,MUDBRAY,,Ground, -1056,750,MUDSDALE,,Ground, -1057,751,DEWPIDER,,Water,Bug -1058,752,ARAQUANID,,Water,Bug -1059,753,FOMANTIS,,Grass, -1060,754,LURANTIS,,Grass, -1061,755,MORELULL,,Grass,Fairy -1062,756,SHIINOTIC,,Grass,Fairy -1063,757,SALANDIT,,Poison,Fire -1064,758,SALAZZLE,,Poison,Fire -1065,759,STUFFUL,,Normal,Fighting -1066,760,BEWEAR,,Normal,Fighting -1067,761,BOUNSWEET,,Grass, -1068,762,STEENEE,,Grass, -1069,763,TSAREENA,,Grass, -1070,764,COMFEY,,FAIry, -1071,765,ORANGURU,,Normal,Psychic -1072,766,PASSIMIAN,,Fighting, -1073,767,WIMPOD,,Bug,Water -1074,768,GOLISOPOD,,Bug,Water -1075,769,SANDYGAST,,Ghost,Ground -1076,770,PALOSSAND,,Ghost,Ground -1077,771,PYUKUMUKU,,Water, -1078,772,TYPE: NULL,,Normal, -1079,773,SILVALLY,NORMAL,Normal, -1080,773,SILVALLY,FIRE,Fire, -1081,773,SILVALLY,WATER,Water, -1082,773,SILVALLY,ELECTRIC,Electric, -1083,773,SILVALLY,GRASS,Grass, -1084,773,SILVALLY,ICE,Ice, -1085,773,SILVALLY,FIGHTING,Fighting, -1086,773,SILVALLY,POISON,Poison, -1087,773,SILVALLY,GROUND,Ground, -1088,773,SILVALLY,FLYING,Flying, -1089,773,SILVALLY,PSYCHIC,Psychic, -1090,773,SILVALLY,BUG,Bug, -1091,773,SILVALLY,ROCK,Rock, -1092,773,SILVALLY,GHOST,Ghost, -1093,773,SILVALLY,DRAGON,Dragon, -1094,773,SILVALLY,DARK,Dark, -1095,773,SILVALLY,STEEL,Steel, -1096,773,SILVALLY,FAIRY,Fairy, -1097,774,MINIOR,BLUE CORE,Rock,Flying -1098,774,MINIOR,GREEN CORE,Rock,Flying -1099,774,MINIOR,INDIGO CORE,Rock,Flying -1100,774,MINIOR,ORANGE CORE,Rock,Flying -1101,774,MINIOR,RED CORE,Rock,Flying -1102,774,MINIOR,VIOLET CORE,Rock,Flying -1103,774,MINIOR,YELLOW CORE,Rock,Flying -1104,775,KOMALA,,Normal, -1105,776,TURTONATOR,,Fire,Dragon -1106,777,TOGEDEMARU,,Electric,Steel -1107,778,MIMIKYU,,Ghost,Fairy -1108,779,BRUXISH,,Water,Psychic -1109,780,DRAMPA,,Normal,Dragon -1110,781,DHELMISE,,Ghost,Grass -1111,782,JANGMO-O,,Dragon, -1112,783,HAKAMO-O,,Dragon,Fighting -1113,784,KOMMO-O,,Dragon,Fighting -1114,785,TAPU KOKO,,Electric,Fairy -1115,786,TAPU LELE,,Psychic,Fairy -1116,787,TAPU BULU,,Grass,Fairy -1117,788,TAPU FINI,,Water,Fairy -1118,789,COSMOG,,Psychic, -1119,790,COSMOEM,,Psychic, -1120,791,SOLGALEO,,Psychic,Steel -1121,792,LUNAALA,,Psychic,Ghost -1122,793,NIHILEGO,,Rock,Poison -1123,794,BUZZWOLE,,Bug,Fighting -1124,795,PHEROMOSA,,Bug,Fighting -1125,796,XURKITREE,,Electric, -1126,797,CELESTEELA,,Steel,Flying -1127,798,KARTANA,,Grass,Steel -1128,799,GUZZLORD,,Dark,Dragon -1129,800,NECROZMA,,Psychic, -1130,801,MAGEARNA,,Steel,Fairy -1131,801,MAGEARNA,POKé BALL,Steel,Fairy -1132,802,MARSHADOW,,Fighting,Ghost -1133,803,POIPOLE,,Poison, -1134,804,NAGANADEL,,Poison,Dragon -1135,805,STAKATAKA,,Rock,Steel -1136,806,BLACEPHALON,,Fire,Ghost -1137,807,ZERAORA,,Electric, -1138,808,MELTAN,,Steel, -1139,809,MELMETAL,,Steel, -1140,810,GROOKEY,,Grass, -1141,811,THWACKEY,,Grass, -1142,812,RILLABOOM,,Grass, -1143,813,SCORBUNNY,,Fire, -1144,814,RABOOT,,Fire, -1145,815,CINDERACE,,Fire, -1146,816,SOBBLE,,Water, -1147,817,DRIZZLE,,Water, -1148,818,INTELEON,,Water, -1149,819,SKWOVET,,Normal, -1150,820,GREEDENT,,Normal, -1151,821,ROOKIDEE,,Flying, -1152,822,CORVISQUIRE,,Flying, -1153,823,CORVIKNIGHT,,Flying,Steel -1154,824,BLIPBUG,,Bug, -1155,825,DOTTLER,,Bug,Psychic -1156,826,ORBEETLE,,Bug,Psychic -1157,827,NICKIT,,Dark, -1158,828,THIEVUL,,Dark, -1159,829,GOSSIFLEUR,,Grass, -1160,830,ELDEGOSS,,Grass, -1161,831,WOOLOO,,Normal, -1162,832,DUBWOOL,,Normal, -1163,833,CHEWTLE,,Water, -1164,834,DREDNAW,,Water,Rock -1165,835,YAMPER,,Electric, -1166,836,BOLTUND,,Electric, -1167,837,ROLYCOLY,,Rock, -1168,838,CARKOL,,Rock,Fire -1169,839,COALOSSAL,,Rock,Fire -1170,840,APPLIN,,Grass,Dragon -1171,841,FLAPPLE,,Grass,Dragon -1172,842,APPLETUN,,Grass,Dragon -1173,843,SILICOBRA,,Ground, -1174,844,SANDACONDA,,Ground, -1175,845,CRAMORANT,,Flying,Water -1176,846,ARROKUDA,,Water, -1177,847,BARRASKEWDA,,Water, -1178,848,TOXEL,,Electric,Poison -1179,849,TOXTRICITY,AMPED,Electric,Poison -1180,849,TOXTRICITY,LOW KEY,Electric,Poison -1181,850,SIZZLIPEDE,,Fire,Bug -1182,851,CENTISKORCH,,Fire,Bug -1183,852,CLOBBOPUS,,Fighting, -1184,853,GRAPPLOCT,,Fighting, -1185,854,SINISTEA,PHONY,Ghost, -1186,854,SINISTEA,ANTIQUE,Ghost, -1187,855,POLTEAGEIST,PHONY,Ghost, -1188,855,POLTEAGEIST,ANTIQUE,Ghost, -1189,856,HATENNA,,Psychic, -1190,857,HATTREM,,Psychic, -1191,858,HATTERENE,,Psychic,Fairy -1192,859,IMPIDIMP,,Dark,Fairy -1193,860,MORGREM,,Dark,Fairy -1194,861,GRIMMSNARL,,Dark,Fairy -1195,862,OBSTAGOON,,Dark,Normal -1196,863,PERRSERKER,,Steel, -1197,864,CURSOLA,,Ghost, -1198,865,SIRFECH'D,,Fighting, -1199,866,MR. RIME,,Ice,Psychic -1200,867,RUNERIGUS,,Ground,Ghost -1201,868,MILCERY,,Fairy, -1202,869,ALCREMY,STRAWBERRY VANILLA CREAM,Fairy, -1203,869,ALCREMY,BERRY VANILLA CREAM,Fairy, -1204,869,ALCREMY,LOVE VANILLA CREAM,Fairy, -1205,869,ALCREMY,CLOVER VANILLA CREAM,Fairy, -1206,869,ALCREMY,FLOWER VANILLA CREAM,Fairy, -1207,869,ALCREMY,STAR VANILLA CREAM,Fairy, -1208,869,ALCREMY,RIBBON VANILLA CREAM,Fairy, -1209,869,ALCREMY,STRAWBERRY RUBY CREAM,Fairy, -1210,869,ALCREMY,BERRY RUBY CREAM,Fairy, -1211,869,ALCREMY,LOVE RUBY CREAM,Fairy, -1212,869,ALCREMY,CLOVER RUBY CREAM,Fairy, -1213,869,ALCREMY,FLOWER RUBY CREAM,Fairy, -1214,869,ALCREMY,STAR RUBY CREAM,Fairy, -1215,869,ALCREMY,RIBBON RUBY CREAM,Fairy, -1216,869,ALCREMY,STRAWBERRY MATCHA CREAM,Fairy, -1217,869,ALCREMY,BERRY MATCHA CREAM,Fairy, -1218,869,ALCREMY,LOVE MATCHA CREAM,Fairy, -1219,869,ALCREMY,CLOVER MATCHA CREAM,Fairy, -1220,869,ALCREMY,FLOWER MATCHA CREAM,Fairy, -1221,869,ALCREMY,STAR MATCHA CREAM,Fairy, -1222,869,ALCREMY,RIBBON MATCHA CREAM,Fairy, -1223,869,ALCREMY,STRAWBERRY MINT CREAM,Fairy, -1224,869,ALCREMY,BERRY MINT CREAM,Fairy, -1225,869,ALCREMY,LOVE MINT CREAM,Fairy, -1226,869,ALCREMY,CLOVER MINT CREAM,Fairy, -1227,869,ALCREMY,FLOWER MINT CREAM,Fairy, -1228,869,ALCREMY,STAR MINT CREAM,Fairy, -1229,869,ALCREMY,RIBBON MINT CREAM,Fairy, -1230,869,ALCREMY,STRAWBERRY LEMON CREAM,Fairy, -1231,869,ALCREMY,BERRY LEMON CREAM,Fairy, -1232,869,ALCREMY,LOVE LEMON CREAM,Fairy, -1233,869,ALCREMY,CLOVER LEMON CREAM,Fairy, -1234,869,ALCREMY,FLOWER LEMON CREAM,Fairy, -1235,869,ALCREMY,STAR LEMON CREAM,Fairy, -1236,869,ALCREMY,RIBBON LEMON CREAM,Fairy, -1237,869,ALCREMY,STRAWBERRY SALTED CREAM,Fairy, -1238,869,ALCREMY,BERRY SALTED CREAM,Fairy, -1239,869,ALCREMY,LOVE SALTED CREAM,Fairy, -1240,869,ALCREMY,CLOVER SALTED CREAM,Fairy, -1241,869,ALCREMY,FLOWER SALTED CREAM,Fairy, -1242,869,ALCREMY,STAR SALTED CREAM,Fairy, -1243,869,ALCREMY,RIBBON SALTED CREAM,Fairy, -1244,869,ALCREMY,STRAWBERRY RUBY SWIRL,Fairy, -1245,869,ALCREMY,BERRY RUBY SWIRL,Fairy, -1246,869,ALCREMY,LOVE RUBY SWIRL,Fairy, -1247,869,ALCREMY,CLOVER RUBY SWIRL,Fairy, -1248,869,ALCREMY,FLOWER RUBY SWIRL,Fairy, -1249,869,ALCREMY,STAR RUBY SWIRL,Fairy, -1250,869,ALCREMY,RIBBON RUBY SWIRL,Fairy, -1251,869,ALCREMY,STRAWBERRY CARAMEL SWIRL,Fairy, -1252,869,ALCREMY,BERRY CARAMEL SWIRL,Fairy, -1253,869,ALCREMY,LOVE CARAMEL SWIRL,Fairy, -1254,869,ALCREMY,CLOVER CARAMEL SWIRL,Fairy, -1255,869,ALCREMY,FLOWER CARAMEL SWIRL,Fairy, -1256,869,ALCREMY,STAR CARAMEL SWIRL,Fairy, -1257,869,ALCREMY,RIBBON CARAMEL SWIRL,Fairy, -1258,869,ALCREMY,STRAWBERRY RAINBOW SWIRL,Fairy, -1259,869,ALCREMY,BERRY RAINBOW SWIRL,Fairy, -1260,869,ALCREMY,LOVE RAINBOW SWIRL,Fairy, -1261,869,ALCREMY,CLOVER RAINBOW SWIRL,Fairy, -1262,869,ALCREMY,FLOWER RAINBOW SWIRL,Fairy, -1263,869,ALCREMY,STAR RAINBOW SWIRL,Fairy, -1264,869,ALCREMY,RIBBON RAINBOW SWIRL,Fairy, -1265,870,FALINKS,,Fighting, -1266,871,PINCURCHIN,,Electric, -1267,872,SNOM,,Ice,Bug -1268,873,FROSMOTH,,Ice,Bug -1269,874,STONJOURNER,,Rock, -1270,875,EISCUE,,Ice, -1271,876,INDEEDEE,FEMALE,Fairy,Normal -1272,876,INDEEDEE,MALE,Fairy,Normal -1273,877,MORPEKO,,Electric,Dark -1274,878,CUFANT,,Steel, -1275,879,COPPERAJAH,,Steel, -1276,880,DRACOZOLT,,Electric,Dragon -1277,881,ARCTOZOLT,,Electric,Ice -1278,882,DRACOVISH,,Water,Dragon -1279,883,ARCTOVISH,,Water,Ice -1280,884,DURALODON,,Steel,Dragon -1281,885,DREEPY,,Dragon,Ghost -1282,886,DRAKLOAK,,Dragon,Ghost -1283,887,DRAGAPULT,,Dragon,Ghost -1284,888,ZACIAN,,Fairy, -1285,889,ZAMAZENTA,,Fighting, -1286,890,ETERNATUS,,Poison,Dragon \ No newline at end of file +id,DexNo,Pokemon,Form,Type 1,Type 2,Boxable +1,1,BULBASAUR,,Grass,Poison,TRUE +2,2,IVYSAUR,,Grass,Poison,TRUE +3,3,VENUSAUR,FEMALE,Grass,Poison,TRUE +4,3,VENUSAUR,MALE,Grass,Poison,TRUE +5,3,VENUSAUR,MEGA,Grass,Poison,TRUE +6,4,CHARMANDER,,Fire,,TRUE +7,5,CHARMELEON,,Fire,,TRUE +8,6,CHARIZARD,,Fire,Flying,TRUE +9,6,CHARIZARD,MEGA (X),Fire,Dragon,TRUE +10,6,CHARIZARD,MEGA (Y),Fire,Flying,TRUE +11,7,SQUIRTLE,,Water,,TRUE +12,8,WARTORTLE,,Water,,TRUE +13,9,BLASTOISE,,Water,,TRUE +14,9,BLASTOISE,MEGA,Water,,TRUE +15,10,CATERPIE,,Bug,,TRUE +16,11,METAPOD,,Bug,,TRUE +17,12,BUTTERFREE,FEMALE,Bug,Flying,TRUE +18,12,BUTTERFREE,MALE,Bug,Flying,TRUE +19,13,WEEDLE,,Bug,Poison,TRUE +20,14,KAKUNA,,Bug,Poison,TRUE +21,15,BEEDRILL,,Bug,Poison,TRUE +22,15,BEEDRILL,MEGA,Bug,Poison,TRUE +23,16,PIDGEY,,Normal,Flying,TRUE +24,17,PIDGEOTTO,,Normal,Flying,TRUE +25,18,PIDGEOT,,Normal,Flying,TRUE +26,18,PIDGEOT,MEGA,Normal,Flying,TRUE +27,19,RATTATA,FEMALE,Normal,,TRUE +28,19,RATTATA,MALE,Normal,,TRUE +29,19,RATTATA,ALOLAN,Dark,Normal,TRUE +30,20,RATICATE,FEMALE,Normal,,TRUE +31,20,RATICATE,MALE,Normal,,TRUE +32,20,RATICATE,ALOLAN,Dark,Normal,TRUE +33,21,SPEAROW,,Normal,Flying,TRUE +34,22,FEAROW,,Normal,Flying,TRUE +35,23,EKANS,,Poison,,TRUE +36,24,ARBOK,,Poison,,TRUE +37,25,PIKACHU,FEMALE,Electric,,TRUE +38,25,PIKACHU,MALE,Electric,,TRUE +39,25,PIKACHU,ASH 1,Electric,,TRUE +40,25,PIKACHU,ASH 2,Electric,,TRUE +41,25,PIKACHU,ASH 3,Electric,,TRUE +42,25,PIKACHU,ASH 4,Electric,,TRUE +43,25,PIKACHU,ASH 5,Electric,,TRUE +44,25,PIKACHU,ASH 6,Electric,,TRUE +45,26,RAICHU,FEMALE,Electric,,TRUE +46,26,RAICHU,MALE,Electric,,TRUE +47,26,RAICHU,ALOLAN,Electric,Psychic,TRUE +48,27,SANDSHREW,,Ground,,TRUE +49,27,SANDSHREW,ALOLAN,Ice,Steel,TRUE +50,28,SANDSLASH,,Ground,,TRUE +51,28,SANDSLASH,ALOLAN,Ice,Steel,TRUE +52,29,NIDORAN♀,FEMALE,Poison,,TRUE +53,30,NIDORINA,,Poison,,TRUE +54,31,NIDOQUEEN,,Poison,Ground,TRUE +55,32,NIDORAN♂,,Poison,,TRUE +56,33,NIDORINO,,Poison,,TRUE +57,34,NIDOKING,,Poison,Ground,TRUE +58,35,CLEFAIRY,,Fairy,,TRUE +59,36,CLEFABLE,,Fairy,,TRUE +60,37,VULPIX,,Fire,,TRUE +61,37,VULPIX,ALOLAN,Ice,,TRUE +62,38,NINETALES,,Fire,,TRUE +63,38,NINETALES,ALOLAN,Ice,Fairy,TRUE +64,39,JIGGLYPUFF,,Normal,Fairy,TRUE +65,40,WIGGLYTUFF,,Normal,Fairy,TRUE +66,41,ZUBAT,FEMALE,Poison,Flying,TRUE +67,41,ZUBAT,MALE,Poison,Flying,TRUE +68,42,GOLBAT,FEMALE,Poison,Flying,TRUE +69,42,GOLBAT,MALE,Poison,Flying,TRUE +70,43,ODDISH,,Grass,Poison,TRUE +71,44,GLOOM,FEMALE,Grass,Poison,TRUE +72,44,GLOOM,MALE,Grass,Poison,TRUE +73,45,VILEPLUME,FEMALE,Grass,Poison,TRUE +74,45,VILEPLUME,MALE,Grass,Poison,TRUE +75,46,PARAS,,Bug,Grass,TRUE +76,47,PARASECT,,Bug,Grass,TRUE +77,48,VENONAT,,Bug,Poison,TRUE +78,49,VENOMOTH,,Bug,Poison,TRUE +79,50,DIGLETT,,Ground,,TRUE +80,50,DIGLETT,ALOLAN,Ground,Steel,TRUE +81,51,DUGTRIO,,Ground,,TRUE +82,51,DUGTRIO,ALOLAN,Ground,Steel,TRUE +83,52,MEOWTH,,Normal,,TRUE +84,52,MEOWTH,ALOLAN,Dark,,TRUE +85,52,MEOWTH,GALARIAN,Steel,,TRUE +86,53,PERSIAN,,Normal,,TRUE +87,53,PERSIAN,ALOLAN,Dark,,TRUE +88,54,PSYDUCK,,Water,,TRUE +89,55,GOLDUCK,,Water,,TRUE +90,56,MANKEY,,Fighting,,TRUE +91,57,PRIMEAPE,,Fighting,,TRUE +92,58,GROWLITHE,,Fire,,TRUE +93,59,ARCANINE,,Fire,,TRUE +94,60,POLIWAG,,Water,,TRUE +95,61,POLIWHIRL,,Water,,TRUE +96,62,POLIWRATH,,Water,Fighting,TRUE +97,63,ABRA,,Psychic,,TRUE +98,64,KADABRA,FEMALE,Psychic,,TRUE +99,64,KADABRA,MALE,Psychic,,TRUE +100,65,ALAKAZAM,FEMALE,Psychic,,TRUE +101,65,ALAKAZAM,MALE,Psychic,,TRUE +102,65,ALAKAZAM,MEGA,Psychic,,TRUE +103,66,MACHOP,,Fighting,,TRUE +104,67,MACHOKE,,Fighting,,TRUE +105,68,MACHAMP,,Fighting,,TRUE +106,69,BELLSPROUT,,Grass,Poison,TRUE +107,70,WEEPINBELL,,Grass,Poison,TRUE +108,71,VICTREEBEL,,Grass,Poison,TRUE +109,72,TENTACOOL,,Water,Poison,TRUE +110,73,TENTACRUEL,,Water,Poison,TRUE +111,74,GEODUDE,,Rock,Ground,TRUE +112,74,GEODUDE,ALOLAN,Rock,Electric,TRUE +113,75,GRAVELER,,Rock,Ground,TRUE +114,75,GRAVELER,ALOLAN,Rock,Electric,TRUE +115,76,GOLEM,,Rock,Ground,TRUE +116,76,GOLEM,ALOLAN,Rock,Electric,TRUE +117,77,PONYTA,,Fire,,TRUE +118,77,PONYTA,GALARIAN,Psychic,,TRUE +119,78,RAPIDASH,,Fire,,TRUE +120,78,RAPIDASH,GALARIAN,Psychic,Fairy,TRUE +121,79,SLOWPOKE,,Water,Psychic,TRUE +122,80,SLOWBRO,,Water,Psychic,TRUE +123,80,SLOWBRO,MEGA,Water,Psychic,TRUE +124,81,MAGNEMITE,,Electric,Steel,TRUE +125,82,MAGNETON,,Electric,Steel,TRUE +126,83,FARFETCH'D,,Normal,Flying,TRUE +127,83,FARFETCH'D,GALARIAN,Fighting,,TRUE +128,84,DODUO,FEMALE,Normal,Flying,TRUE +129,84,DODUO,MALE,Normal,Flying,TRUE +130,85,DODRIO,FEMALE,Normal,Flying,TRUE +131,85,DODRIO,MALE,Normal,Flying,TRUE +132,86,SEEL,,Water,,TRUE +133,87,DEWGONG,,Water,Ice,TRUE +134,88,GRIMER,,Poison,,TRUE +135,88,GRIMER,ALOLAN,Poison,Dark,TRUE +136,89,MUK,,Poison,,TRUE +137,89,MUK,ALOLAN,Poison,Dark,TRUE +138,90,SHELLDER,,Water,,TRUE +139,91,CLOYSTER,,Water,Ice,TRUE +140,92,GASTLY,,Ghost,Poison,TRUE +141,93,HAUNTER,,Ghost,Poison,TRUE +142,94,GENGAR,,Ghost,Poison,TRUE +143,94,GENGAR,MEGA,Ghost,Poison,TRUE +144,95,ONIX,,Rock,Ground,TRUE +145,96,DROWZEE,,Psychic,,TRUE +146,97,HYPNO,FEMALE,Psychic,,TRUE +147,97,HYPNO,MALE,Psychic,,TRUE +148,98,KRABBY,,Water,,TRUE +149,99,KINGLER,,Water,,TRUE +150,100,VOLTORB,,Electric,,TRUE +151,101,ELECTRODE,,Electric,,TRUE +152,102,EXEGGCUTE,,Grass,Psychic,TRUE +153,103,EXEGGUTOR,,Grass,Psychic,TRUE +154,103,EXEGGUTOR,ALOLAN,Grass,Dragon,TRUE +155,104,CUBONE,,Ground,,TRUE +156,105,MAROWAK,,Ground,,TRUE +157,105,MAROWAK,ALOLAN,Fire,Ghost,TRUE +158,106,HITMONLEE,,Fighting,,TRUE +159,107,HITMONCHAN,,Fighting,,TRUE +160,108,LICKITUNG,,Normal,,TRUE +161,109,KOFFING,,Poison,,TRUE +162,110,WEEZING,,Poison,,TRUE +163,110,WEEZING,GALARIAN,Poison,Fairy,TRUE +164,111,RHYHORN,FEMALE,Ground,Rock,TRUE +165,111,RHYHORN,MALE,Ground,Rock,TRUE +166,112,RHYDON,FEMALE,Ground,Rock,TRUE +167,112,RHYDON,MALE,Ground,Rock,TRUE +168,113,CHANSEY,,Normal,,TRUE +169,114,TANGELA,,Grass,,TRUE +170,115,KANGASKHAN,,Normal,,TRUE +171,115,KANGASKHAN,MEGA,Normal,,TRUE +172,116,HORSEA,,Water,,TRUE +173,117,SEADRA,,Water,,TRUE +174,118,GOLDEEN,FEMALE,Water,,TRUE +175,118,GOLDEEN,MALE,Water,,TRUE +176,119,SEAKING,FEMALE,Water,,TRUE +177,119,SEAKING,MALE,Water,,TRUE +178,120,STARYU,,Water,,TRUE +179,121,STARMIE,,Water,Psychic,TRUE +180,122,MR. MIME,,Psychic,Fairy,TRUE +181,122,MR. MIME,GALARIAN,Ice,Psychic,TRUE +182,123,SCYTHER,FEMALE,Bug,Flying,TRUE +183,123,SCYTHER,MALE,Bug,Flying,TRUE +184,124,JYNX,,Ice,Psychic,TRUE +185,125,ELECTABUZZ,,Electric,,TRUE +186,126,MAGMAR,,Fire,,TRUE +187,127,PINSIR,,Bug,,TRUE +188,127,PINSIR,MEGA,Bug,Flying,TRUE +189,128,TAUROS,,Normal,,TRUE +190,129,MAGIKARP,FEMALE,Water,,TRUE +191,129,MAGIKARP,MALE,Water,,TRUE +192,130,GYARADOS,FEMALE,Water,Flying,TRUE +193,130,GYARADOS,MALE,Water,Flying,TRUE +194,130,GYARADOS,MEGA,Water,Dark,TRUE +195,131,LAPRAS,,Water,Ice,TRUE +196,132,DITTO,,Normal,,TRUE +197,133,EEVEE,,Normal,,TRUE +198,134,VAPOREON,,Water,,TRUE +199,135,JOLTEON,,Electric,,TRUE +200,136,FLAREON,,Fire,,TRUE +201,137,PORYGON,,Normal,,TRUE +202,138,OMANYTE,,Rock,Water,TRUE +203,139,OMASTAR,,Rock,Water,TRUE +204,140,KABUTO,,Rock,Water,TRUE +205,141,KABUTOPS,,Rock,Water,TRUE +206,142,AERODACTYL,,Rock,Flying,TRUE +207,142,AERODACTYL,MEGA,Rock,Flying,TRUE +208,143,SNORLAX,,Normal,,TRUE +209,144,ARTICUNO,,Ice,Flying,TRUE +210,145,ZAPDOS,,Electric,Flying,TRUE +211,146,MOLTRES,,Fire,Flying,TRUE +212,147,DRATINI,,Dragon,,TRUE +213,148,DRAGONAIR,,Dragon,,TRUE +214,149,DRAGONITE,,Dragon,Flying,TRUE +215,150,MEWTWO,,Psychic,,TRUE +216,150,MEWTWO,MEGA (X),Psychic,,TRUE +217,150,MEWTWO,MEGA (Y),Psychic,,TRUE +218,151,MEW,,Psychic,,TRUE +219,152,CHIKORITA,,Grass,,TRUE +220,153,BAYLEEF,,Grass,,TRUE +221,154,MEGANIUM,FEMALE,Grass,,TRUE +222,154,MEGANIUM,MALE,Grass,,TRUE +223,155,CYNDAQUIL,,Fire,,TRUE +224,156,QUILAVA,,Fire,,TRUE +225,157,TYPHLOSION,,Fire,,TRUE +226,158,TOTODILE,,Water,,TRUE +227,159,CROCONAW,,Water,,TRUE +228,160,FERALIGATR,,Water,,TRUE +229,161,SENTRET,,Normal,,TRUE +230,162,FURRET,,Normal,,TRUE +231,163,HOOTHOOT,,Normal,Flying,TRUE +232,164,NOCTOWL,,Normal,Flying,TRUE +233,165,LEDYBA,FEMALE,Bug,Flying,TRUE +234,165,LEDYBA,MALE,Bug,Flying,TRUE +235,166,LEDIAN,FEMALE,Bug,Flying,TRUE +236,166,LEDIAN,MALE,Bug,Flying,TRUE +237,167,SPINARAK,,Bug,Poison,TRUE +238,168,ARIADOS,,Bug,Poison,TRUE +239,169,CROBAT,,Poison,Flying,TRUE +240,170,CHINCHOU,,Water,Electric,TRUE +241,171,LANTURN,,Water,Electric,TRUE +242,172,PICHU,,Electric,,TRUE +243,173,CLEFFA,,Fairy,,TRUE +244,174,IGGLYBUFF,,Normal,Fairy,TRUE +245,175,TOGEPI,,Fairy,,TRUE +246,176,TOGETIC,,Fairy,Flying,TRUE +247,177,NATU,,Psychic,Flying,TRUE +248,178,XATU,FEMALE,Psychic,Flying,TRUE +249,178,XATU,MALE,Psychic,Flying,TRUE +250,179,MAREEP,,Electric,,TRUE +251,180,FLAAFFY,,Electric,,TRUE +252,181,AMPHAROS,,Electric,,TRUE +253,181,AMPHAROS,MEGA,Electric,Dragon,TRUE +254,182,BELLOSSOM,,Grass,,TRUE +255,183,MARILL,,Water,Fairy,TRUE +256,184,AZUMARILL,,Water,Fairy,TRUE +257,185,SUDOWOODO,FEMALE,Rock,,TRUE +258,185,SUDOWOODO,MALE,Rock,,TRUE +259,186,POLITOED,FEMALE,Water,,TRUE +260,186,POLITOED,MALE,Water,,TRUE +261,187,HOPPIP,,Grass,Flying,TRUE +262,188,SKIPLOOM,,Grass,Flying,TRUE +263,189,JUMPLUFF,,Grass,Flying,TRUE +264,190,AIPOM,FEMALE,Normal,,TRUE +265,190,AIPOM,MALE,Normal,,TRUE +266,191,SUNKERN,,Grass,,TRUE +267,192,SUNFLORA,,Grass,,TRUE +268,193,YANMA,,Bug,Flying,TRUE +269,194,WOOPER,FEMALE,Water,Ground,TRUE +270,194,WOOPER,MALE,Water,Ground,TRUE +271,195,QUAGSIRE,FEMALE,Water,Ground,TRUE +272,195,QUAGSIRE,MALE,Water,Ground,TRUE +273,196,ESPEON,,Psychic,,TRUE +274,197,UMBREON,,Dark,,TRUE +275,198,MURKROW,FEMALE,Dark,Flying,TRUE +276,198,MURKROW,MALE,Dark,Flying,TRUE +277,199,SLOWKING,,Water,Psychic,TRUE +278,200,MISDREAVUS,,Ghost,,TRUE +279,201,UNOWN,A,Psychic,,TRUE +280,201,UNOWN,B,Psychic,,TRUE +281,201,UNOWN,C,Psychic,,TRUE +282,201,UNOWN,D,Psychic,,TRUE +283,201,UNOWN,E,Psychic,,TRUE +284,201,UNOWN,F,Psychic,,TRUE +285,201,UNOWN,G,Psychic,,TRUE +286,201,UNOWN,H,Psychic,,TRUE +287,201,UNOWN,I,Psychic,,TRUE +288,201,UNOWN,J,Psychic,,TRUE +289,201,UNOWN,K,Psychic,,TRUE +290,201,UNOWN,L,Psychic,,TRUE +291,201,UNOWN,M,Psychic,,TRUE +292,201,UNOWN,N,Psychic,,TRUE +293,201,UNOWN,O,Psychic,,TRUE +294,201,UNOWN,P,Psychic,,TRUE +295,201,UNOWN,Q,Psychic,,TRUE +296,201,UNOWN,R,Psychic,,TRUE +297,201,UNOWN,S,Psychic,,TRUE +298,201,UNOWN,T,Psychic,,TRUE +299,201,UNOWN,U,Psychic,,TRUE +300,201,UNOWN,V,Psychic,,TRUE +301,201,UNOWN,W,Psychic,,TRUE +302,201,UNOWN,X,Psychic,,TRUE +303,201,UNOWN,Y,Psychic,,TRUE +304,201,UNOWN,Z,Psychic,,TRUE +305,201,UNOWN,!,Psychic,,TRUE +306,201,UNOWN,?,Psychic,,TRUE +307,202,WOBBUFFET,FEMALE,Psychic,,TRUE +308,202,WOBBUFFET,MALE,Psychic,,TRUE +309,203,GIRAFARIG,FEMALE,Normal,Psychic,TRUE +310,203,GIRAFARIG,MALE,Normal,Psychic,TRUE +311,204,PINECO,,Bug,,TRUE +312,205,FORRETRESS,,Bug,Steel,TRUE +313,206,DUNSPARCE,,Normal,,TRUE +314,207,GLIGAR,FEMALE,Ground,Flying,TRUE +315,207,GLIGAR,MALE,Ground,Flying,TRUE +316,208,STEELIX,FEMALE,Steel,Ground,TRUE +317,208,STEELIX,MALE,Steel,Ground,TRUE +318,208,STEELIX,MEGA,Steel,Ground,TRUE +319,209,SNUBBULL,,Fairy,,TRUE +320,210,GRANBULL,,Fairy,,TRUE +321,211,QWILFISH,,Water,Poison,TRUE +322,212,SCIZOR,FEMALE,Bug,Steel,TRUE +323,212,SCIZOR,MALE,Bug,Steel,TRUE +324,212,SCIZOR,MEGA,Bug,Steel,TRUE +325,213,SHUCKLE,,Bug,Rock,TRUE +326,214,HERACROSS,FEMALE,Bug,Fighting,TRUE +327,214,HERACROSS,MALE,Bug,Fighting,TRUE +328,214,HERACROSS,MEGA,Bug,Fighting,TRUE +329,215,SNEASEL,FEMALE,Dark,Ice,TRUE +330,215,SNEASEL,MALE,Dark,Ice,TRUE +331,216,TEDDIURSA,,Normal,,TRUE +332,217,URSARING,FEMALE,Normal,,TRUE +333,217,URSARING,MALE,Normal,,TRUE +334,218,SLUGMA,,Fire,,TRUE +335,219,MAGCARGO,,Fire,Rock,TRUE +336,220,SWINUB,,Ice,Ground,TRUE +337,221,PILOSWINE,FEMALE,Ice,Ground,TRUE +338,221,PILOSWINE,MALE,Ice,Ground,TRUE +339,222,CORSOLA,,Water,Rock,TRUE +340,222,CORSOLA,GALARIAN,Ghost,,TRUE +341,223,REMORAID,,Water,,TRUE +342,224,OCTILLERY,FEMALE,Water,,TRUE +343,224,OCTILLERY,MALE,Water,,TRUE +344,225,DELIBIRD,,Ice,Flying,TRUE +345,226,MANTINE,,Water,Flying,TRUE +346,227,SKARMORY,,Steel,Flying,TRUE +347,228,HOUNDOUR,,Dark,Fire,TRUE +348,229,HOUNDOOM,FEMALE,Dark,Fire,TRUE +349,229,HOUNDOOM,MALE,Dark,Fire,TRUE +350,229,HOUNDOOM,MEGA,Dark,Fire,TRUE +351,230,KINGDRA,,Water,Dragon,TRUE +352,231,PHANPY,,Ground,,TRUE +353,232,DONPHAN,FEMALE,Ground,,TRUE +354,232,DONPHAN,MALE,Ground,,TRUE +355,233,PORYGON2,,Normal,,TRUE +356,234,STANTLER,,Normal,,TRUE +357,235,SMEARGLE,,Normal,,TRUE +358,236,TYROGUE,,Fighting,,TRUE +359,237,HITMONTOP,,Fighting,,TRUE +360,238,SMOOCHUM,,Ice,Psychic,TRUE +361,239,ELEKID,,Electric,,TRUE +362,240,MAGBY,,Fire,,TRUE +363,241,MILTANK,,Normal,,TRUE +364,242,BLISSEY,,Normal,,TRUE +365,243,RAIKOU,,Electric,,TRUE +366,244,ENTEI,,Fire,,TRUE +367,245,SUICUNE,,Water,,TRUE +368,246,LARVITAR,,Rock,Ground,TRUE +369,247,PUPITAR,,Rock,Ground,TRUE +370,248,TYRANITAR,,Rock,Dark,TRUE +371,248,TYRANITAR,MEGA,Rock,Dark,TRUE +372,249,LUGIA,,Psychic,Flying,TRUE +373,250,HO-OH,,Fire,Flying,TRUE +374,251,CELEBI,,Psychic,Grass,TRUE +375,252,TREECKO,,Grass,,TRUE +376,253,GROVYLE,,Grass,,TRUE +377,254,SCEPTILE,,Grass,,TRUE +378,254,SCEPTILE,MEGA,Grass,Dragon,TRUE +379,255,TORCHIC,FEMALE,Fire,,TRUE +380,255,TORCHIC,MALE,Fire,,TRUE +381,256,COMBUSKEN,FEMALE,Fire,Fighting,TRUE +382,256,COMBUSKEN,MALE,Fire,Fighting,TRUE +383,257,BLAZIKEN,FEMALE,Fire,Fighting,TRUE +384,257,BLAZIKEN,MALE,Fire,Fighting,TRUE +385,257,BLAZIKEN,MEGA,Fire,Fighting,TRUE +386,258,MUDKIP,,Water,,TRUE +387,259,MARSHTOMP,,Water,Ground,TRUE +388,260,SWAMPERT,,Water,Ground,TRUE +389,260,SWAMPERT,MEGA,Water,Ground,TRUE +390,261,POOCHYENA,,Dark,,TRUE +391,262,MIGHTYENA,,Dark,,TRUE +392,263,ZIGZAGOON,,Normal,,TRUE +393,263,ZIGZAGOON,GALARIAN,Dark,Normal,TRUE +394,264,LINOONE,,Normal,,TRUE +395,264,LINOONE,GALARIAN,Dark,Normal,TRUE +396,265,WURMPLE,,Bug,,TRUE +397,266,SILCOON,,Bug,,TRUE +398,267,BEAUTIFLY,FEMALE,Bug,Flying,TRUE +399,267,BEAUTIFLY,MALE,Bug,Flying,TRUE +400,268,CASCOON,,Bug,,TRUE +401,269,DUSTOX,FEMALE,Bug,Poison,TRUE +402,269,DUSTOX,MALE,Bug,Poison,TRUE +403,270,LOTAD,,Water,Grass,TRUE +404,271,LOMBRE,,Water,Grass,TRUE +405,272,LUDICOLO,FEMALE,Water,Grass,TRUE +406,272,LUDICOLO,MALE,Water,Grass,TRUE +407,273,SEEDOT,,Grass,,TRUE +408,274,NUZLEAF,FEMALE,Grass,Dark,TRUE +409,274,NUZLEAF,MALE,Grass,Dark,TRUE +410,275,SHIFTRY,FEMALE,Grass,Dark,TRUE +411,275,SHIFTRY,MALE,Grass,Dark,TRUE +412,276,TAILLOW,,Normal,Flying,TRUE +413,277,SWELLOW,,Normal,Flying,TRUE +414,278,WINGULL,,Water,Flying,TRUE +415,279,PELIPPER,,Water,Flying,TRUE +416,280,RALTS,,Psychic,Fairy,TRUE +417,281,KIRLIA,,Psychic,Fairy,TRUE +418,282,GARDEVOIR,,Psychic,Fairy,TRUE +419,282,GARDEVOIR,MEGA,Psychic,Fairy,TRUE +420,283,SURSKIT,,Bug,Water,TRUE +421,284,MASQUERAIN,,Bug,Flying,TRUE +422,285,SHROOMISH,,Grass,,TRUE +423,286,BRELOOM,,Grass,Fighting,TRUE +424,287,SLAKOTH,,Normal,,TRUE +425,288,VIGOROTH,,Normal,,TRUE +426,289,SLAKING,,Normal,,TRUE +427,290,NINCADA,,Bug,Ground,TRUE +428,291,NINJASK,,Bug,Flying,TRUE +429,292,SHEDINJA,,Bug,Ghost,TRUE +430,293,WHISMUR,,Normal,,TRUE +431,294,LOUDRED,,Normal,,TRUE +432,295,EXPLOUD,,Normal,,TRUE +433,296,MAKUHITA,,Fighting,,TRUE +434,297,HARIYAMA,,Fighting,,TRUE +435,298,AZURILL,,Normal,Fairy,TRUE +436,299,NOSEPASS,,Rock,,TRUE +437,300,SKITTY,,Normal,,TRUE +438,301,DELCATTY,,Normal,,TRUE +439,302,SABLEYE,,Dark,Ghost,TRUE +440,302,SABLEYE,MEGA,Dark,Ghost,TRUE +441,303,MAWILE,,Steel,Fairy,TRUE +442,303,MAWILE,MEGA,Steel,Fairy,TRUE +443,304,ARON,,Steel,Rock,TRUE +444,305,LAIRON,,Steel,Rock,TRUE +445,306,AGGRON,,Steel,Rock,TRUE +446,306,AGGRON,MEGA,Steel,Rock,TRUE +447,307,MEDITITE,FEMALE,Fighting,Psychic,TRUE +448,307,MEDITITE,MALE,Fighting,Psychic,TRUE +449,308,MEDICHAM,FEMALE,Fighting,Psychic,TRUE +450,308,MEDICHAM,MALE,Fighting,Psychic,TRUE +451,308,MEDICHAM,MEGA,Fighting,Psychic,TRUE +452,309,ELECTRIKE,,Electric,,TRUE +453,310,MANECTRIC,,Electric,,TRUE +454,310,MANECTRIC,MEGA,Electric,,TRUE +455,311,PLUSLE,,Electric,,TRUE +456,312,MINUN,,Electric,,TRUE +457,313,VOLBEAT,,Bug,,TRUE +458,314,ILLUMISE,,Bug,,TRUE +459,315,ROSELIA,FEMALE,Grass,Poison,TRUE +460,315,ROSELIA,MALE,Grass,Poison,TRUE +461,316,GULPIN,FEMALE,Poison,,TRUE +462,316,GULPIN,MALE,Poison,,TRUE +463,317,SWALOT,FEMALE,Poison,,TRUE +464,317,SWALOT,MALE,Poison,,TRUE +465,318,CARVANHA,,Water,Dark,TRUE +466,319,SHARPEDO,,Water,Dark,TRUE +467,319,SHARPEDO,MEGA,Water,Dark,TRUE +468,320,WAILMER,,Water,,TRUE +469,321,WAILORD,,Water,,TRUE +470,322,NUMEL,FEMALE,Fire,Ground,TRUE +471,322,NUMEL,MALE,Fire,Ground,TRUE +472,323,CAMERUPT,FEMALE,Fire,Ground,TRUE +473,323,CAMERUPT,MALE,Fire,Ground,TRUE +474,323,CAMERUPT,MEGA,Fire,Ground,TRUE +475,324,TORKOAL,,Fire,,TRUE +476,325,SPOINK,,Psychic,,TRUE +477,326,GRUMPIG,,Psychic,,TRUE +478,327,SPINDA,,Normal,,TRUE +479,328,TRAPINCH,,Ground,,TRUE +480,329,VIBRAVA,,Ground,Dragon,TRUE +481,330,FLYGON,,Ground,Dragon,TRUE +482,331,CACNEA,,Grass,,TRUE +483,332,CACTURNE,FEMALE,Grass,Dark,TRUE +484,332,CACTURNE,MALE,Grass,Dark,TRUE +485,333,SWABLU,,Normal,Flying,TRUE +486,334,ALTARIA,,Dragon,Flying,TRUE +487,334,ALTARIA,MEGA,Dragon,Fairy,TRUE +488,335,ZANGOOSE,,Normal,,TRUE +489,336,SEVIPER,,Poison,,TRUE +490,337,LUNATONE,,Rock,Psychic,TRUE +491,338,SOLROCK,,Rock,Psychic,TRUE +492,339,BARBOACH,,Water,Ground,TRUE +493,340,WHISCASH,,Water,Ground,TRUE +494,341,CORPHISH,,Water,,TRUE +495,342,CRAWDAUNT,,Water,Dark,TRUE +496,343,BALTOY,,Ground,Psychic,TRUE +497,344,CLAYDOL,,Ground,Psychic,TRUE +498,345,LILEEP,,Rock,Grass,TRUE +499,346,CRADILY,,Rock,Grass,TRUE +500,347,ANORITH,,Rock,Bug,TRUE +501,348,ARMALDO,,Rock,Bug,TRUE +502,349,FEEBAS,,Water,,TRUE +503,350,MILOTIC,FEMALE,Water,,TRUE +504,350,MILOTIC,MALE,Water,,TRUE +505,351,CASTFORM,,Normal,,TRUE +506,352,KECLEON,,Normal,,TRUE +507,353,SHUPPET,,Ghost,,TRUE +508,354,BANETTE,,Ghost,,TRUE +509,354,BANETTE,MEGA,Ghost,,TRUE +510,355,DUSKULL,,Ghost,,TRUE +511,356,DUSCLOPS,,Ghost,,TRUE +512,357,TROPIUS,,Grass,Flying,TRUE +513,358,CHIMECHO,,Psychic,,TRUE +514,359,ABSOL,,Dark,,TRUE +515,359,ABSOL,MEGA,Dark,,TRUE +516,360,WYNAUT,,Psychic,,TRUE +517,361,SNORUNT,,Ice,,TRUE +518,362,GLALIE,,Ice,,TRUE +519,362,GLALIE,MEGA,Ice,,TRUE +520,363,SPHEAL,,Ice,Water,TRUE +521,364,SEALEO,,Ice,Water,TRUE +522,365,WALREIN,,Ice,Water,TRUE +523,366,CLAMPERL,,Water,,TRUE +524,367,HUNTAIL,,Water,,TRUE +525,368,GOREBYSS,,Water,,TRUE +526,369,RELICANTH,FEMALE,Water,Rock,TRUE +527,369,RELICANTH,MALE,Water,Rock,TRUE +528,370,LUVDISC,,Water,,TRUE +529,371,BAGON,,Dragon,,TRUE +530,372,SHELGON,,Dragon,,TRUE +531,373,SALAMENCE,,Dragon,Flying,TRUE +532,373,SALAMENCE,MEGA,Dragon,Flying,TRUE +533,374,BELDUM,,Steel,Psychic,TRUE +534,375,METANG,,Steel,Psychic,TRUE +535,376,METAGROSS,,Steel,Psychic,TRUE +536,376,METAGROSS,MEGA,Steel,Psychic,TRUE +537,377,REGIROCK,,Rock,,TRUE +538,378,REGICE,,Ice,,TRUE +539,379,REGISTEEL,,Steel,,TRUE +540,380,LATIAS,,Dragon,Psychic,TRUE +541,380,LATIAS,MEGA,Dragon,Psychic,TRUE +542,381,LATIOS,,Dragon,Psychic,TRUE +543,381,LATIOS,MEGA,Dragon,Psychic,TRUE +544,382,KYOGRE,,Water,,TRUE +545,382,KYOGRE,PRIMAL,Water,,TRUE +546,383,GROUDON,,Ground,,TRUE +547,383,GROUDON,PRIMAL,Ground,,TRUE +548,384,RAYQUAZA,,Dragon,Flying,TRUE +549,384,RAYQUAZA,MEGA,Dragon,Flying,TRUE +550,385,JIRACHI,,Steel,Psychic,TRUE +551,386,DEOXYS,,Psychic,,TRUE +552,386,DEOXYS,ATTACK,Psychic,,TRUE +553,386,DEOXYS,DEFENSE,Psychic,,TRUE +554,386,DEOXYS,SPEED,Psychic,,TRUE +555,387,TURTWIG,,Grass,,TRUE +556,388,GROTLE,,Grass,,TRUE +557,389,TORTERRA,,Grass,Ground,TRUE +558,390,CHIMCHAR,,Fire,,TRUE +559,391,MONFERNO,,Fire,Fighting,TRUE +560,392,INFERNAPE,,Fire,Fighting,TRUE +561,393,PIPLUP,,Water,,TRUE +562,394,PRINPLUP,,Water,,TRUE +563,395,EMPOLEON,,Water,Steel,TRUE +564,396,STARLY,FEMALE,Normal,Flying,TRUE +565,396,STARLY,MALE,Normal,Flying,TRUE +566,397,STARAVIA,FEMALE,Normal,Flying,TRUE +567,397,STARAVIA,MALE,Normal,Flying,TRUE +568,398,STARAPTOR,FEMALE,Normal,Flying,TRUE +569,398,STARAPTOR,MALE,Normal,Flying,TRUE +570,399,BIDOOF,FEMALE,Normal,,TRUE +571,399,BIDOOF,MALE,Normal,,TRUE +572,400,BIBAREL,FEMALE,Normal,Water,TRUE +573,400,BIBAREL,MALE,Normal,Water,TRUE +574,401,KRICKETOT,FEMALE,Bug,,TRUE +575,401,KRICKETOT,MALE,Bug,,TRUE +576,402,KRICKETUNE,FEMALE,Bug,,TRUE +577,402,KRICKETUNE,MALE,Bug,,TRUE +578,403,SHINX,FEMALE,Electric,,TRUE +579,403,SHINX,MALE,Electric,,TRUE +580,404,LUXIO,FEMALE,Electric,,TRUE +581,404,LUXIO,MALE,Electric,,TRUE +582,405,LUXRAY,FEMALE,Electric,,TRUE +583,405,LUXRAY,MALE,Electric,,TRUE +584,406,BUDEW,,Grass,Poison,TRUE +585,407,ROSERADE,FEMALE,Grass,Poison,TRUE +586,407,ROSERADE,MALE,Grass,Poison,TRUE +587,408,CRANIDOS,,Rock,,TRUE +588,409,RAMPARDOS,,Rock,,TRUE +589,410,SHIELDON,,Rock,Steel,TRUE +590,411,BASTIODON,,Rock,Steel,TRUE +591,412,BURMY,PLANT CLOAK,Bug,,TRUE +592,412,BURMY,SANDY CLOAK,Bug,,TRUE +593,412,BURMY,TRASH CLOAK,Bug,,TRUE +594,413,WORMADAM,PLANT CLOAK,Bug,Grass,TRUE +595,413,WORMADAM,SANDY CLOAK,Bug,Ground,TRUE +596,413,WORMADAM,TRASH CLOAK,Bug,Steel,TRUE +597,414,MOTHIM,,Bug,Flying,TRUE +598,415,COMBEE,FEMALE,Bug,Flying,TRUE +599,415,COMBEE,MALE,Bug,Flying,TRUE +600,416,VESPIQUEN,,Bug,Flying,TRUE +601,417,PACHIRISU,FEMALE,Electric,,TRUE +602,417,PACHIRISU,MALE,Electric,,TRUE +603,418,BUIZEL,FEMALE,Water,,TRUE +604,418,BUIZEL,MALE,Water,,TRUE +605,419,FLOATZEL,FEMALE,Water,,TRUE +606,419,FLOATZEL,MALE,Water,,TRUE +607,420,CHERUBI,,Grass,,TRUE +608,421,CHERRIM,,Grass,,TRUE +609,422,SHELLOS,WEST SEA,Water,,TRUE +610,422,SHELLOS,EAST SEA,Water,,TRUE +611,423,GASTRODON,WEST SEA,Water,Ground,TRUE +612,423,GASTRODON,EAST SEA,Water,Ground,TRUE +613,424,AMBIPOM,FEMALE,Normal,,TRUE +614,424,AMBIPOM,MALE,Normal,,TRUE +615,425,DRIFLOON,,Ghost,Flying,TRUE +616,426,DRIFBLIM,,Ghost,Flying,TRUE +617,427,BUNEARY,,Normal,,TRUE +618,428,LOPUNNY,,Normal,,TRUE +619,428,LOPUNNY,MEGA,Normal,Fighting,TRUE +620,429,MISMAGIUS,,Ghost,,TRUE +621,430,HONCHKROW,,Dark,Flying,TRUE +622,431,GLAMEOW,,Normal,,TRUE +623,432,PURUGLY,,Normal,,TRUE +624,433,CHINGLING,,Psychic,,TRUE +625,434,STUNKY,,Poison,Dark,TRUE +626,435,SKUNTANK,,Poison,Dark,TRUE +627,436,BRONZOR,,Steel,Psychic,TRUE +628,437,BRONZONG,,Steel,Psychic,TRUE +629,438,BONSLY,,Rock,,TRUE +630,439,MIME JR.,,Psychic,Fairy,TRUE +631,440,HAPPINY,,Normal,,TRUE +632,441,CHATOT,,Normal,Flying,TRUE +633,442,SPIRITOMB,,Ghost,Dark,TRUE +634,443,GIBLE,FEMALE,Dragon,Ground,TRUE +635,443,GIBLE,MALE,Dragon,Ground,TRUE +636,444,GABITE,FEMALE,Dragon,Ground,TRUE +637,444,GABITE,MALE,Dragon,Ground,TRUE +638,445,GARCHOMP,FEMALE,Dragon,Ground,TRUE +639,445,GARCHOMP,MALE,Dragon,Ground,TRUE +640,445,GARCHOMP,MEGA,Dragon,Ground,TRUE +641,446,MUNCHLAX,,Normal,,TRUE +642,447,RIOLU,,Fighting,,TRUE +643,448,LUCARIO,,Fighting,Steel,TRUE +644,448,LUCARIO,MEGA,Fighting,Steel,TRUE +645,449,HIPPOPOTAS,FEMALE,Ground,,TRUE +646,449,HIPPOPOTAS,MALE,Ground,,TRUE +647,450,HIPPOWDON,FEMALE,Ground,,TRUE +648,450,HIPPOWDON,MALE,Ground,,TRUE +649,451,SKORUPI,,Poison,Bug,TRUE +650,452,DRAPION,,Poison,Dark,TRUE +651,453,CROAGUNK,FEMALE,Poison,Fighting,TRUE +652,453,CROAGUNK,MALE,Poison,Fighting,TRUE +653,454,TOXICROAK,FEMALE,Poison,Fighting,TRUE +654,454,TOXICROAK,MALE,Poison,Fighting,TRUE +655,455,CARNIVINE,,Grass,,TRUE +656,456,FINNEON,FEMALE,Water,,TRUE +657,456,FINNEON,MALE,Water,,TRUE +658,457,LUMINEON,FEMALE,Water,,TRUE +659,457,LUMINEON,MALE,Water,,TRUE +660,458,MANTYKE,,Water,Flying,TRUE +661,459,SNOVER,FEMALE,Grass,Ice,TRUE +662,459,SNOVER,MALE,Grass,Ice,TRUE +663,460,ABOMASNOW,FEMALE,Grass,Ice,TRUE +664,460,ABOMASNOW,MALE,Grass,Ice,TRUE +665,460,ABOMASNOW,MEGA,Grass,Ice,TRUE +666,461,WEAVILE,FEMALE,Dark,Ice,TRUE +667,461,WEAVILE,MALE,Dark,Ice,TRUE +668,462,MAGNEZONE,,Electric,Steel,TRUE +669,463,LICKILICKY,,Normal,,TRUE +670,464,RHYPERIOR,FEMALE,Ground,Rock,TRUE +671,464,RHYPERIOR,MALE,Ground,Rock,TRUE +672,465,TANGROWTH,FEMALE,Grass,,TRUE +673,465,TANGROWTH,MALE,Grass,,TRUE +674,466,ELECTIVIRE,,Electric,,TRUE +675,467,MAGMORTAR,,Fire,,TRUE +676,468,TOGEKISS,,Fairy,Flying,TRUE +677,469,YANMEGA,,Bug,Flying,TRUE +678,470,LEAFEON,,Grass,,TRUE +679,471,GLACEON,,Ice,,TRUE +680,472,GLISCOR,,Ground,Flying,TRUE +681,473,MAMOSWINE,FEMALE,Ice,Ground,TRUE +682,473,MAMOSWINE,MALE,Ice,Ground,TRUE +683,474,PORYGON-Z,,Normal,,TRUE +684,475,GALLADE,,Psychic,Fighting,TRUE +685,475,GALLADE,MEGA,Psychic,Fighting,TRUE +686,476,PROBOPASS,,Rock,Steel,TRUE +687,477,DUSKNOIR,,Ghost,,TRUE +688,478,FROSLASS,,Ice,Ghost,TRUE +689,479,ROTOM,,Electric,Ghost,TRUE +690,479,ROTOM,HEAT,Electric,Fire,TRUE +691,479,ROTOM,WASH,Electric,Water,TRUE +692,479,ROTOM,FROST,Electric,Ice,TRUE +693,479,ROTOM,FAN,Electric,Flying,TRUE +694,479,ROTOM,MOW,Electric,Grass,TRUE +695,480,UXIE,,Psychic,,TRUE +696,481,MESPRIT,,Psychic,,TRUE +697,482,AZELF,,Psychic,,TRUE +698,483,DIALGA,,Steel,Dragon,TRUE +699,484,PALKIA,,Water,Dragon,TRUE +700,485,HEATRAN,,Fire,Steel,TRUE +701,486,REGIGIGAS,,Normal,,TRUE +702,487,GIRATINA,ALTERED,Ghost,Dragon,TRUE +703,487,GIRATINA,ORIGIN,Ghost,Dragon,TRUE +704,488,CRESSELIA,,Psychic,,TRUE +705,489,PHIONE,,Water,,TRUE +706,490,MANAPHY,,Water,,TRUE +707,491,DARKRAI,,Dark,,TRUE +708,492,SHAYMIN,,Grass,Flying,TRUE +709,493,ARCEUS,NORMAL,Normal,,TRUE +710,493,ARCEUS,FIRE,Fire,,TRUE +711,493,ARCEUS,WATER,Water,,TRUE +712,493,ARCEUS,ELECTRIC,Electric,,TRUE +713,493,ARCEUS,GRASS,Grass,,TRUE +714,493,ARCEUS,ICE,Ice,,TRUE +715,493,ARCEUS,FIGHTING,Fighting,,TRUE +716,493,ARCEUS,POISON,Poison,,TRUE +717,493,ARCEUS,GROUND,Ground,,TRUE +718,493,ARCEUS,FLYING,Flying,,TRUE +719,493,ARCEUS,PSYCHIC,Psychic,,TRUE +720,493,ARCEUS,BUG,Bug,,TRUE +721,493,ARCEUS,ROCK,Rock,,TRUE +722,493,ARCEUS,GHOST,Ghost,,TRUE +723,493,ARCEUS,DRAGON,Dragon,,TRUE +724,493,ARCEUS,DARK,Dark,,TRUE +725,493,ARCEUS,STEEL,Steel,,TRUE +726,493,ARCEUS,FAIRY,Fairy,,TRUE +727,494,VICTINI,,Psychic,Fire,TRUE +728,495,SNIVY,,Grass,,TRUE +729,496,SERVINE,,Grass,,TRUE +730,497,SERPERIOR,,Grass,,TRUE +731,498,TEPIG,,Fire,,TRUE +732,499,PIGNITE,,Fire,Fighting,TRUE +733,500,EMBOAR,,Fire,Fighting,TRUE +734,501,OSHAWOTT,,Water,,TRUE +735,502,DEWOTT,,Water,,TRUE +736,503,SAMUROTT,,Water,,TRUE +737,504,PATRAT,,Normal,,TRUE +738,505,WATCHOG,,Normal,,TRUE +739,506,LILLIPUP,,Normal,,TRUE +740,507,HERDIER,,Normal,,TRUE +741,508,STOUTLAND,,Normal,,TRUE +742,509,PURRLOIN,,Dark,,TRUE +743,510,LIEPARD,,Dark,,TRUE +744,511,PANSAGE,,Grass,,TRUE +745,512,SIMISAGE,,Grass,,TRUE +746,513,PANSEAR,,Fire,,TRUE +747,514,SIMISEAR,,Fire,,TRUE +748,515,PANPOUR,,Water,,TRUE +749,516,SIMIPOUR,,Water,,TRUE +750,517,MUNNA,,Psychic,,TRUE +751,518,MUSHARNA,,Psychic,,TRUE +752,519,PIDOVE,,Normal,Flying,TRUE +753,520,TRANQUILL,,Normal,Flying,TRUE +754,521,UNFEZANT,FEMALE,Normal,Flying,TRUE +755,521,UNFEZANT,MALE,Normal,Flying,TRUE +756,522,BLITZLE,,Electric,,TRUE +757,523,ZEBSTRIKA,,Electric,,TRUE +758,524,ROGGENROLA,,Rock,,TRUE +759,525,BOLDORE,,Rock,,TRUE +760,526,GIGALITH,,Rock,,TRUE +761,527,WOOBAT,,Psychic,Flying,TRUE +762,528,SWOOBAT,,Psychic,Flying,TRUE +763,529,DRILBUR,,Ground,,TRUE +764,530,EXCADRILL,,Ground,Steel,TRUE +765,531,AUDINO,,Normal,,TRUE +766,531,AUDINO,MEGA,Normal,Fairy,TRUE +767,532,TIMBURR,,Fighting,,TRUE +768,533,GURDURR,,Fighting,,TRUE +769,534,CONKELDURR,,Fighting,,TRUE +770,535,TYMPOLE,,Water,,TRUE +771,536,PALPITOAD,,Water,Ground,TRUE +772,537,SEISMITOAD,,Water,Ground,TRUE +773,538,THROH,,Fighting,,TRUE +774,539,SAWK,,Fighting,,TRUE +775,540,SEWADDLE,,Bug,Grass,TRUE +776,541,SWADLOON,,Bug,Grass,TRUE +777,542,LEAVANNY,,Bug,Grass,TRUE +778,543,VENIPEDE,,Bug,Poison,TRUE +779,544,WHIRLIPEDE,,Bug,Poison,TRUE +780,545,SCOLIPEDE,,Bug,Poison,TRUE +781,546,COTTONEE,,Grass,,TRUE +782,547,WHIMSICOTT,,Grass,Fairy,TRUE +783,548,PETILIL,,Grass,,TRUE +784,549,LILLIGANT,,Grass,,TRUE +785,550,BASCULIN,RED-STRIPPED,Water,,TRUE +786,550,BASCULIN,BLUE-STRIPPED,Water,,TRUE +787,551,SANDILE,,Ground,Dark,TRUE +788,552,KROKOROK,,Ground,Dark,TRUE +789,553,KROOKODILE,,Ground,Dark,TRUE +790,554,DARUMAKA,,Fire,,TRUE +791,554,DARUMAKA,GALARIAN,Ice,,TRUE +792,555,DARMANITAN,,Fire,,TRUE +793,555,DARMANITAN,GALARIAN,Ice,,TRUE +794,556,MARACTUS,,Grass,,TRUE +795,557,DWEBBLE,,Bug,Rock,TRUE +796,558,CRUSTLE,,Bug,Rock,TRUE +797,559,SCRAGGY,,Dark,Fighting,TRUE +798,560,SCRAFTY,,Dark,Fighting,TRUE +799,561,SIGILYPH,,Psychic,Flying,TRUE +800,562,YAMASK,,Ghost,,TRUE +801,562,YAMASK,GALARIAN,Ground,Ghost,TRUE +802,563,COFAGRIGUS,,Ghost,,TRUE +803,564,TIRTOUGA,,Water,Rock,TRUE +804,565,CARRACOSTA,,Water,Rock,TRUE +805,566,ARCHEN,,Rock,Flying,TRUE +806,567,ARCHEOPS,,Rock,Flying,TRUE +807,568,TRUBBISH,,Poison,,TRUE +808,569,GARBODOR,,Poison,,TRUE +809,570,ZORUA,,Dark,,TRUE +810,571,ZOROARK,,Dark,,TRUE +811,572,MINCCINO,,Normal,,TRUE +812,573,CINCCINO,,Normal,,TRUE +813,574,GOTHITA,,Psychic,,TRUE +814,575,GOTHORITA,,Psychic,,TRUE +815,576,GOTHITELLE,,Psychic,,TRUE +816,577,SOLOSIS,,Psychic,,TRUE +817,578,DUOSION,,Psychic,,TRUE +818,579,REUNICLUS,,Psychic,,TRUE +819,580,DUCKLETT,,Water,Flying,TRUE +820,581,SWANNA,,Water,Flying,TRUE +821,582,VANILLITE,,Ice,,TRUE +822,583,VANILLISH,,Ice,,TRUE +823,584,VANILLUXE,,Ice,,TRUE +824,585,DEERLING,SPRING,Normal,Grass,TRUE +825,585,DEERLING,SUMMER,Normal,Grass,TRUE +826,585,DEERLING,AUTUMN,Normal,Grass,TRUE +827,585,DEERLING,WINTER,Normal,Grass,TRUE +828,586,SAWSBUCK,SPRING,Normal,Grass,TRUE +829,586,SAWSBUCK,SUMMER,Normal,Grass,TRUE +830,586,SAWSBUCK,AUTUMN,Normal,Grass,TRUE +831,586,SAWSBUCK,WINTER,Normal,Grass,TRUE +832,587,EMOLGA,,Electric,Flying,TRUE +833,588,KARRABLAST,,Bug,,TRUE +834,589,ESCAVALIER,,Bug,Steel,TRUE +835,590,FOONGUS,,Grass,Poison,TRUE +836,591,AMOONGUSS,,Grass,Poison,TRUE +837,592,FRILLISH,FEMALE,Water,Ghost,TRUE +838,592,FRILLISH,MALE,Water,Ghost,TRUE +839,593,JELLICENT,FEMALE,Water,Ghost,TRUE +840,593,JELLICENT,MALE,Water,Ghost,TRUE +841,594,ALOMOMOLA,,Water,,TRUE +842,595,JOLTIK,,Bug,Electric,TRUE +843,596,GALVANTULA,,Bug,Electric,TRUE +844,597,FERROSEED,,Grass,Steel,TRUE +845,598,FERROTHORN,,Grass,Steel,TRUE +846,599,KLINK,,Steel,,TRUE +847,600,KLANG,,Steel,,TRUE +848,601,KLINKLANG,,Steel,,TRUE +849,602,TYNAMO,,Electric,,TRUE +850,603,EELEKTRIK,,Electric,,TRUE +851,604,EELEKTROSS,,Electric,,TRUE +852,605,ELGYEM,,Psychic,,TRUE +853,606,BEHEEYEM,,Psychic,,TRUE +854,607,LITWICK,,Ghost,Fire,TRUE +855,608,LAMPENT,,Ghost,Fire,TRUE +856,609,CHANDELURE,,Ghost,Fire,TRUE +857,610,AXEW,,Dragon,,TRUE +858,611,FRAXURE,,Dragon,,TRUE +859,612,HAXORUS,,Dragon,,TRUE +860,613,CUBCHOO,,Ice,,TRUE +861,614,BEARTIC,,Ice,,TRUE +862,615,CRYOGONAL,,Ice,,TRUE +863,616,SHELMET,,Bug,,TRUE +864,617,ACCELGOR,,Bug,,TRUE +865,618,STUNFISK,,Ground,Electric,TRUE +866,618,STUNFISK,GALARIAN,Ground,Steel,TRUE +867,619,MIENFOO,,Fighting,,TRUE +868,620,MIENSHAO,,Fighting,,TRUE +869,621,DRUDDIGON,,Dragon,,TRUE +870,622,GOLETT,,Ground,Ghost,TRUE +871,623,GOLURK,,Ground,Ghost,TRUE +872,624,PAWNIARD,,Dark,Steel,TRUE +873,625,BISHARP,,Dark,Steel,TRUE +874,626,BOUFFALANT,,Normal,,TRUE +875,627,RUFFLET,,Normal,Flying,TRUE +876,628,BRAVIARY,,Normal,Flying,TRUE +877,629,VULLABY,,Dark,Flying,TRUE +878,630,MANDIBUZZ,,Dark,Flying,TRUE +879,631,HEATMOR,,Fire,,TRUE +880,632,DURANT,,Bug,Steel,TRUE +881,633,DEINO,,Dark,Dragon,TRUE +882,634,ZWEILOUS,,Dark,Dragon,TRUE +883,635,HYDREIGON,,Dark,Dragon,TRUE +884,636,LARVESTA,,Bug,Fire,TRUE +885,637,VOLCARONA,,Bug,Fire,TRUE +886,638,COBALION,,Steel,Fighting,TRUE +887,639,TERRAKION,,Rock,Fighting,TRUE +888,640,VIRIZION,,Grass,Fighting,TRUE +889,641,TORNADUS,INCARNATE,Flying,,TRUE +890,641,TORNADUS,THERIAN,Flying,,TRUE +891,642,THUNDURUS,INCARNATE,Electric,Flying,TRUE +892,642,THUNDURUS,THERIAN,Electric,Flying,TRUE +893,643,RESHIRAM,,Dragon,Fire,TRUE +894,644,ZEKROM,,Dragon,Electric,TRUE +895,645,LANDORUS,INCARNATE,Ground,Flying,TRUE +896,645,LANDORUS,THERIAN,Ground,Flying,TRUE +897,646,KYUREM,,Dragon,Ice,TRUE +898,646,KYUREM,WHITE,Dragon,Ice,TRUE +899,646,KYUREM,BLACK,Dragon,Ice,TRUE +900,647,KELDEO,ORDINARY,Water,Fighting,TRUE +901,647,KELDEO,RESOLUTE,Water,Fighting,TRUE +902,648,MELOETTA,ARIA,Normal,Psychic,TRUE +903,648,MELOETTA,PIROUETTE,Normal,Fighting,TRUE +904,649,GENESECT,,Bug,Steel,TRUE +905,649,GENESECT,SHOCK DRIVE,Bug,Steel,TRUE +906,649,GENESECT,BURN DRIVE,Bug,Steel,TRUE +907,649,GENESECT,CHILL DRIVE,Bug,Steel,TRUE +908,649,GENESECT,DOUSE DRIVE,Bug,Steel,TRUE +909,650,CHESPIN,,Grass,,TRUE +910,651,QUILLADIN,,Grass,,TRUE +911,652,CHESNAUGHT,,Grass,Fighting,TRUE +912,653,FENNEKIN,,Fire,,TRUE +913,654,BRAIXEN,,Fire,,TRUE +914,655,DELPHOX,,Fire,Psychic,TRUE +915,656,FROAKIE,,Water,,TRUE +916,657,FROGADIER,,Water,,TRUE +917,658,GRENINJA,,Water,Dark,TRUE +918,658,GRENINJA,ASH,Water,Dark,TRUE +919,659,BUNNELBY,,Normal,,TRUE +920,660,DIGGERSBY,,Normal,Ground,TRUE +921,661,FLETCHLING,,Normal,Flying,TRUE +922,662,FLETCHINDER,,Fire,Flying,TRUE +923,663,TALONFLAME,,Fire,Flying,TRUE +924,664,SCATTERBUG,,Bug,,TRUE +925,665,SPEWPA,,Bug,,TRUE +926,666,VIVILLON,ARCHIPELAGO,Bug,Flying,TRUE +927,666,VIVILLON,CONTINENTAL,Bug,Flying,TRUE +928,666,VIVILLON,ELEGANT,Bug,Flying,TRUE +929,666,VIVILLON,GARDEN,Bug,Flying,TRUE +930,666,VIVILLON,HIGH PLAINS,Bug,Flying,TRUE +931,666,VIVILLON,ICY SNOW,Bug,Flying,TRUE +932,666,VIVILLON,JUNGLE,Bug,Flying,TRUE +933,666,VIVILLON,MARINE,Bug,Flying,TRUE +934,666,VIVILLON,MEADOW,Bug,Flying,TRUE +935,666,VIVILLON,MODERN,Bug,Flying,TRUE +936,666,VIVILLON,MONSOON,Bug,Flying,TRUE +937,666,VIVILLON,OCEAN,Bug,Flying,TRUE +938,666,VIVILLON,POLAR,Bug,Flying,TRUE +939,666,VIVILLON,RIVER,Bug,Flying,TRUE +940,666,VIVILLON,SANDSTORM,Bug,Flying,TRUE +941,666,VIVILLON,SAVANNA,Bug,Flying,TRUE +942,666,VIVILLON,SUN,Bug,Flying,TRUE +943,666,VIVILLON,TUNDRA,Bug,Flying,TRUE +944,666,VIVILLON,POKÉ BALL,Bug,Flying,TRUE +945,666,VIVILLON,FANCY,Bug,Flying,TRUE +946,667,LITLEO,,Fire,Normal,TRUE +947,668,PYROAR,FEMALE,Fire,Normal,TRUE +948,668,PYROAR,MALE,Fire,Normal,TRUE +949,669,FLABÉBÉ,RED FLOWER,Fairy,,TRUE +950,669,FLABÉBÉ,YELLOW FLOWER,Fairy,,TRUE +951,669,FLABÉBÉ,ORANGE FLOWER,Fairy,,TRUE +952,669,FLABÉBÉ,BLUE FLOWER,Fairy,,TRUE +953,669,FLABÉBÉ,WHITE FLOWER,Fairy,,TRUE +954,670,FLOETTE,RED FLOWER,Fairy,,TRUE +955,670,FLOETTE,YELLOW FLOWER,Fairy,,TRUE +956,670,FLOETTE,ORANGE FLOWER,Fairy,,TRUE +957,670,FLOETTE,BLUE FLOWER,Fairy,,TRUE +958,670,FLOETTE,WHITE FLOWER,Fairy,,TRUE +959,671,FLORGES,RED FLOWER,Fairy,,TRUE +960,671,FLORGES,YELLOW FLOWER,Fairy,,TRUE +961,671,FLORGES,ORANGE FLOWER,Fairy,,TRUE +962,671,FLORGES,BLUE FLOWER,Fairy,,TRUE +963,671,FLORGES,WHITE FLOWER,Fairy,,TRUE +964,672,SKIDDO,,Grass,,TRUE +965,673,GOGOAT,,Grass,,TRUE +966,674,PANCHAM,,Fighting,,TRUE +967,675,PANGORO,,Fighting,Dark,TRUE +968,676,FURFROU,,Normal,,TRUE +969,677,ESPURR,,Psychic,,TRUE +970,678,MEOWSTIC,FEMALE,Psychic,,TRUE +971,678,MEOWSTIC,MALE,Psychic,,TRUE +972,679,HONEDGE,,Steel,Ghost,TRUE +973,680,DOUBLADE,,Steel,Ghost,TRUE +974,681,AEGISLASH,,Steel,Ghost,TRUE +975,682,SPRITZEE,,Fairy,,TRUE +976,683,AROMATISSE,,Fairy,,TRUE +977,684,SWIRLIX,,Fairy,,TRUE +978,685,SLURPUFF,,Fairy,,TRUE +979,686,INKAY,,Dark,Psychic,TRUE +980,687,MALAMAR,,Dark,Psychic,TRUE +981,688,BINACLE,,Rock,Water,TRUE +982,689,BARBARACLE,,Rock,Water,TRUE +983,690,SKRELP,,Poison,Water,TRUE +984,691,DRAGALGE,,Poison,Dragon,TRUE +985,692,CLAUNCHER,,Water,,TRUE +986,693,CLAWITZER,,Water,,TRUE +987,694,HELIOPTILE,,Electric,Normal,TRUE +988,695,HELIOLISK,,Electric,Normal,TRUE +989,696,TYRUNT,,Rock,Dragon,TRUE +990,697,TYRANTRUM,,Rock,Dragon,TRUE +991,698,AMAURA,,Rock,Ice,TRUE +992,699,AURORUS,,Rock,Ice,TRUE +993,700,SYLVEON,,Fairy,,TRUE +994,701,HAWLUCHA,,Fighting,Flying,TRUE +995,702,DEDENNE,,Electric,Fairy,TRUE +996,703,CARBINK,,Rock,Fairy,TRUE +997,704,GOOMY,,Dragon,,TRUE +998,705,SLIGGOO,,Dragon,,TRUE +999,706,GOODRA,,Dragon,,TRUE +1000,707,KLEFKI,,Steel,Fairy,TRUE +1001,708,PHANTUMP,,Ghost,Grass,TRUE +1002,709,TREVENANT,,Ghost,Grass,TRUE +1003,710,PUMPKABOO,SMALL SIZE,Ghost,Grass,TRUE +1004,710,PUMPKABOO,AVERAGE SIZE,Ghost,Grass,TRUE +1005,710,PUMPKABOO,LARGE SIZE,Ghost,Grass,TRUE +1006,710,PUMPKABOO,SUPER SIZE,Ghost,Grass,TRUE +1007,711,GOURGEIST,SMALL SIZE,Ghost,Grass,TRUE +1008,711,GOURGEIST,AVERAGE SIZE,Ghost,Grass,TRUE +1009,711,GOURGEIST,LARGE SIZE,Ghost,Grass,TRUE +1010,711,GOURGEIST,SUPER SIZE,Ghost,Grass,TRUE +1011,712,BERGMITE,,Ice,,TRUE +1012,713,AVALUGG,,Ice,,TRUE +1013,714,NOIBAT,,Flying,Dragon,TRUE +1014,715,NOIVERN,,Flying,Dragon,TRUE +1015,716,XERNEAS,,Fairy,,TRUE +1016,717,YVELTAL,,Dark,Flying,TRUE +1017,718,ZYGARDE,50% FORME,Dragon,Ground,TRUE +1018,718,ZYGARDE,10% FORME,Dragon,Ground,TRUE +1019,719,DIANCIE,,Rock,Fairy,TRUE +1020,719,DIANCIE,MEGA,Rock,Fairy,TRUE +1021,720,HOOPA,,Psychic,Ghost,TRUE +1022,721,VOLCANION,,Fire,Water,TRUE +1023,722,ROWLETT,,Grass,Flying,TRUE +1024,723,DARTRIX,,Grass,Flying,TRUE +1025,724,DECIDUEYE,,Grass,Ghost,TRUE +1026,725,LITTEN,,Fire,,TRUE +1027,726,TORRACAT,,Fire,,TRUE +1028,727,INCINEROAR,,Fire,Dark,TRUE +1029,728,POPPLIO,,Water,,TRUE +1030,729,BRIONNE,,Water,,TRUE +1031,730,PRIMARINA,,Water,Fairy,TRUE +1032,731,PIKIPEK,,Normal,Flying,TRUE +1033,732,TRUMBEAK,,Normal,Flying,TRUE +1034,733,TOUCANNON,,Normal,Flying,TRUE +1035,734,YUNGOOS,,Normal,,TRUE +1036,735,GUMSHOOS,,Normal,,TRUE +1037,736,GRUBBIN,,Bug,,TRUE +1038,737,CHARJABUG,,Bug,Electric,TRUE +1039,738,VIKAVOLT,,Bug,Electric,TRUE +1040,739,CRABRAWLER,,Fighting,,TRUE +1041,740,CRABOMINABLE,,Fighting,Ice,TRUE +1042,741,ORICORIO,BAILE STYLE,Fire,Flying,TRUE +1043,741,ORICORIO,POM-POM STYLE,Electric,Flying,TRUE +1044,741,ORICORIO,PA'U STYLE,Psychic,Flying,TRUE +1045,741,ORICORIO,SENSU STYLE,Ghost,Flying,TRUE +1046,742,CUTIEFLY,,Bug,Fairy,TRUE +1047,743,RIBOMBEE,,Bug,Fairy,TRUE +1048,744,ROCKRUFF,,Rock,,TRUE +1049,745,LYCANROC,MIDDAY,Rock,,TRUE +1050,745,LYCANROC,MIDNIGHT,Rock,,TRUE +1051,745,LYCANROC,DUSK,,,TRUE +1052,746,WISHIWASHI,,Water,,TRUE +1053,747,MAREANIE,,Poison,Water,TRUE +1054,748,TOXAPEX,,Poison,Water,TRUE +1055,749,MUDBRAY,,Ground,,TRUE +1056,750,MUDSDALE,,Ground,,TRUE +1057,751,DEWPIDER,,Water,Bug,TRUE +1058,752,ARAQUANID,,Water,Bug,TRUE +1059,753,FOMANTIS,,Grass,,TRUE +1060,754,LURANTIS,,Grass,,TRUE +1061,755,MORELULL,,Grass,Fairy,TRUE +1062,756,SHIINOTIC,,Grass,Fairy,TRUE +1063,757,SALANDIT,,Poison,Fire,TRUE +1064,758,SALAZZLE,,Poison,Fire,TRUE +1065,759,STUFFUL,,Normal,Fighting,TRUE +1066,760,BEWEAR,,Normal,Fighting,TRUE +1067,761,BOUNSWEET,,Grass,,TRUE +1068,762,STEENEE,,Grass,,TRUE +1069,763,TSAREENA,,Grass,,TRUE +1070,764,COMFEY,,FAIry,,TRUE +1071,765,ORANGURU,,Normal,Psychic,TRUE +1072,766,PASSIMIAN,,Fighting,,TRUE +1073,767,WIMPOD,,Bug,Water,TRUE +1074,768,GOLISOPOD,,Bug,Water,TRUE +1075,769,SANDYGAST,,Ghost,Ground,TRUE +1076,770,PALOSSAND,,Ghost,Ground,TRUE +1077,771,PYUKUMUKU,,Water,,TRUE +1078,772,TYPE: NULL,,Normal,,TRUE +1079,773,SILVALLY,NORMAL,Normal,,TRUE +1080,773,SILVALLY,FIRE,Fire,,TRUE +1081,773,SILVALLY,WATER,Water,,TRUE +1082,773,SILVALLY,ELECTRIC,Electric,,TRUE +1083,773,SILVALLY,GRASS,Grass,,TRUE +1084,773,SILVALLY,ICE,Ice,,TRUE +1085,773,SILVALLY,FIGHTING,Fighting,,TRUE +1086,773,SILVALLY,POISON,Poison,,TRUE +1087,773,SILVALLY,GROUND,Ground,,TRUE +1088,773,SILVALLY,FLYING,Flying,,TRUE +1089,773,SILVALLY,PSYCHIC,Psychic,,TRUE +1090,773,SILVALLY,BUG,Bug,,TRUE +1091,773,SILVALLY,ROCK,Rock,,TRUE +1092,773,SILVALLY,GHOST,Ghost,,TRUE +1093,773,SILVALLY,DRAGON,Dragon,,TRUE +1094,773,SILVALLY,DARK,Dark,,TRUE +1095,773,SILVALLY,STEEL,Steel,,TRUE +1096,773,SILVALLY,FAIRY,Fairy,,TRUE +1097,774,MINIOR,BLUE CORE,Rock,Flying,TRUE +1098,774,MINIOR,GREEN CORE,Rock,Flying,TRUE +1099,774,MINIOR,INDIGO CORE,Rock,Flying,TRUE +1100,774,MINIOR,ORANGE CORE,Rock,Flying,TRUE +1101,774,MINIOR,RED CORE,Rock,Flying,TRUE +1102,774,MINIOR,VIOLET CORE,Rock,Flying,TRUE +1103,774,MINIOR,YELLOW CORE,Rock,Flying,TRUE +1104,775,KOMALA,,Normal,,TRUE +1105,776,TURTONATOR,,Fire,Dragon,TRUE +1106,777,TOGEDEMARU,,Electric,Steel,TRUE +1107,778,MIMIKYU,,Ghost,Fairy,TRUE +1108,779,BRUXISH,,Water,Psychic,TRUE +1109,780,DRAMPA,,Normal,Dragon,TRUE +1110,781,DHELMISE,,Ghost,Grass,TRUE +1111,782,JANGMO-O,,Dragon,,TRUE +1112,783,HAKAMO-O,,Dragon,Fighting,TRUE +1113,784,KOMMO-O,,Dragon,Fighting,TRUE +1114,785,TAPU KOKO,,Electric,Fairy,TRUE +1115,786,TAPU LELE,,Psychic,Fairy,TRUE +1116,787,TAPU BULU,,Grass,Fairy,TRUE +1117,788,TAPU FINI,,Water,Fairy,TRUE +1118,789,COSMOG,,Psychic,,TRUE +1119,790,COSMOEM,,Psychic,,TRUE +1120,791,SOLGALEO,,Psychic,Steel,TRUE +1121,792,LUNAALA,,Psychic,Ghost,TRUE +1122,793,NIHILEGO,,Rock,Poison,TRUE +1123,794,BUZZWOLE,,Bug,Fighting,TRUE +1124,795,PHEROMOSA,,Bug,Fighting,TRUE +1125,796,XURKITREE,,Electric,,TRUE +1126,797,CELESTEELA,,Steel,Flying,TRUE +1127,798,KARTANA,,Grass,Steel,TRUE +1128,799,GUZZLORD,,Dark,Dragon,TRUE +1129,800,NECROZMA,,Psychic,,TRUE +1130,801,MAGEARNA,,Steel,Fairy,TRUE +1131,801,MAGEARNA,POKé BALL,Steel,Fairy,TRUE +1132,802,MARSHADOW,,Fighting,Ghost,TRUE +1133,803,POIPOLE,,Poison,,TRUE +1134,804,NAGANADEL,,Poison,Dragon,TRUE +1135,805,STAKATAKA,,Rock,Steel,TRUE +1136,806,BLACEPHALON,,Fire,Ghost,TRUE +1137,807,ZERAORA,,Electric,,TRUE +1138,808,MELTAN,,Steel,,TRUE +1139,809,MELMETAL,,Steel,,TRUE +1140,810,GROOKEY,,Grass,,TRUE +1141,811,THWACKEY,,Grass,,TRUE +1142,812,RILLABOOM,,Grass,,TRUE +1143,813,SCORBUNNY,,Fire,,TRUE +1144,814,RABOOT,,Fire,,TRUE +1145,815,CINDERACE,,Fire,,TRUE +1146,816,SOBBLE,,Water,,TRUE +1147,817,DRIZZLE,,Water,,TRUE +1148,818,INTELEON,,Water,,TRUE +1149,819,SKWOVET,,Normal,,TRUE +1150,820,GREEDENT,,Normal,,TRUE +1151,821,ROOKIDEE,,Flying,,TRUE +1152,822,CORVISQUIRE,,Flying,,TRUE +1153,823,CORVIKNIGHT,,Flying,Steel,TRUE +1154,824,BLIPBUG,,Bug,,TRUE +1155,825,DOTTLER,,Bug,Psychic,TRUE +1156,826,ORBEETLE,,Bug,Psychic,TRUE +1157,827,NICKIT,,Dark,,TRUE +1158,828,THIEVUL,,Dark,,TRUE +1159,829,GOSSIFLEUR,,Grass,,TRUE +1160,830,ELDEGOSS,,Grass,,TRUE +1161,831,WOOLOO,,Normal,,TRUE +1162,832,DUBWOOL,,Normal,,TRUE +1163,833,CHEWTLE,,Water,,TRUE +1164,834,DREDNAW,,Water,Rock,TRUE +1165,835,YAMPER,,Electric,,TRUE +1166,836,BOLTUND,,Electric,,TRUE +1167,837,ROLYCOLY,,Rock,,TRUE +1168,838,CARKOL,,Rock,Fire,TRUE +1169,839,COALOSSAL,,Rock,Fire,TRUE +1170,840,APPLIN,,Grass,Dragon,TRUE +1171,841,FLAPPLE,,Grass,Dragon,TRUE +1172,842,APPLETUN,,Grass,Dragon,TRUE +1173,843,SILICOBRA,,Ground,,TRUE +1174,844,SANDACONDA,,Ground,,TRUE +1175,845,CRAMORANT,,Flying,Water,TRUE +1176,846,ARROKUDA,,Water,,TRUE +1177,847,BARRASKEWDA,,Water,,TRUE +1178,848,TOXEL,,Electric,Poison,TRUE +1179,849,TOXTRICITY,AMPED,Electric,Poison,TRUE +1180,849,TOXTRICITY,LOW KEY,Electric,Poison,TRUE +1181,850,SIZZLIPEDE,,Fire,Bug,TRUE +1182,851,CENTISKORCH,,Fire,Bug,TRUE +1183,852,CLOBBOPUS,,Fighting,,TRUE +1184,853,GRAPPLOCT,,Fighting,,TRUE +1185,854,SINISTEA,PHONY,Ghost,,TRUE +1186,854,SINISTEA,ANTIQUE,Ghost,,TRUE +1187,855,POLTEAGEIST,PHONY,Ghost,,TRUE +1188,855,POLTEAGEIST,ANTIQUE,Ghost,,TRUE +1189,856,HATENNA,,Psychic,,TRUE +1190,857,HATTREM,,Psychic,,TRUE +1191,858,HATTERENE,,Psychic,Fairy,TRUE +1192,859,IMPIDIMP,,Dark,Fairy,TRUE +1193,860,MORGREM,,Dark,Fairy,TRUE +1194,861,GRIMMSNARL,,Dark,Fairy,TRUE +1195,862,OBSTAGOON,,Dark,Normal,TRUE +1196,863,PERRSERKER,,Steel,,TRUE +1197,864,CURSOLA,,Ghost,,TRUE +1198,865,SIRFECH'D,,Fighting,,TRUE +1199,866,MR. RIME,,Ice,Psychic,TRUE +1200,867,RUNERIGUS,,Ground,Ghost,TRUE +1201,868,MILCERY,,Fairy,,TRUE +1202,869,ALCREMY,STRAWBERRY VANILLA CREAM,Fairy,,TRUE +1203,869,ALCREMY,BERRY VANILLA CREAM,Fairy,,TRUE +1204,869,ALCREMY,LOVE VANILLA CREAM,Fairy,,TRUE +1205,869,ALCREMY,CLOVER VANILLA CREAM,Fairy,,TRUE +1206,869,ALCREMY,FLOWER VANILLA CREAM,Fairy,,TRUE +1207,869,ALCREMY,STAR VANILLA CREAM,Fairy,,TRUE +1208,869,ALCREMY,RIBBON VANILLA CREAM,Fairy,,TRUE +1209,869,ALCREMY,STRAWBERRY RUBY CREAM,Fairy,,TRUE +1210,869,ALCREMY,BERRY RUBY CREAM,Fairy,,TRUE +1211,869,ALCREMY,LOVE RUBY CREAM,Fairy,,TRUE +1212,869,ALCREMY,CLOVER RUBY CREAM,Fairy,,TRUE +1213,869,ALCREMY,FLOWER RUBY CREAM,Fairy,,TRUE +1214,869,ALCREMY,STAR RUBY CREAM,Fairy,,TRUE +1215,869,ALCREMY,RIBBON RUBY CREAM,Fairy,,TRUE +1216,869,ALCREMY,STRAWBERRY MATCHA CREAM,Fairy,,TRUE +1217,869,ALCREMY,BERRY MATCHA CREAM,Fairy,,TRUE +1218,869,ALCREMY,LOVE MATCHA CREAM,Fairy,,TRUE +1219,869,ALCREMY,CLOVER MATCHA CREAM,Fairy,,TRUE +1220,869,ALCREMY,FLOWER MATCHA CREAM,Fairy,,TRUE +1221,869,ALCREMY,STAR MATCHA CREAM,Fairy,,TRUE +1222,869,ALCREMY,RIBBON MATCHA CREAM,Fairy,,TRUE +1223,869,ALCREMY,STRAWBERRY MINT CREAM,Fairy,,TRUE +1224,869,ALCREMY,BERRY MINT CREAM,Fairy,,TRUE +1225,869,ALCREMY,LOVE MINT CREAM,Fairy,,TRUE +1226,869,ALCREMY,CLOVER MINT CREAM,Fairy,,TRUE +1227,869,ALCREMY,FLOWER MINT CREAM,Fairy,,TRUE +1228,869,ALCREMY,STAR MINT CREAM,Fairy,,TRUE +1229,869,ALCREMY,RIBBON MINT CREAM,Fairy,,TRUE +1230,869,ALCREMY,STRAWBERRY LEMON CREAM,Fairy,,TRUE +1231,869,ALCREMY,BERRY LEMON CREAM,Fairy,,TRUE +1232,869,ALCREMY,LOVE LEMON CREAM,Fairy,,TRUE +1233,869,ALCREMY,CLOVER LEMON CREAM,Fairy,,TRUE +1234,869,ALCREMY,FLOWER LEMON CREAM,Fairy,,TRUE +1235,869,ALCREMY,STAR LEMON CREAM,Fairy,,TRUE +1236,869,ALCREMY,RIBBON LEMON CREAM,Fairy,,TRUE +1237,869,ALCREMY,STRAWBERRY SALTED CREAM,Fairy,,TRUE +1238,869,ALCREMY,BERRY SALTED CREAM,Fairy,,TRUE +1239,869,ALCREMY,LOVE SALTED CREAM,Fairy,,TRUE +1240,869,ALCREMY,CLOVER SALTED CREAM,Fairy,,TRUE +1241,869,ALCREMY,FLOWER SALTED CREAM,Fairy,,TRUE +1242,869,ALCREMY,STAR SALTED CREAM,Fairy,,TRUE +1243,869,ALCREMY,RIBBON SALTED CREAM,Fairy,,TRUE +1244,869,ALCREMY,STRAWBERRY RUBY SWIRL,Fairy,,TRUE +1245,869,ALCREMY,BERRY RUBY SWIRL,Fairy,,TRUE +1246,869,ALCREMY,LOVE RUBY SWIRL,Fairy,,TRUE +1247,869,ALCREMY,CLOVER RUBY SWIRL,Fairy,,TRUE +1248,869,ALCREMY,FLOWER RUBY SWIRL,Fairy,,TRUE +1249,869,ALCREMY,STAR RUBY SWIRL,Fairy,,TRUE +1250,869,ALCREMY,RIBBON RUBY SWIRL,Fairy,,TRUE +1251,869,ALCREMY,STRAWBERRY CARAMEL SWIRL,Fairy,,TRUE +1252,869,ALCREMY,BERRY CARAMEL SWIRL,Fairy,,TRUE +1253,869,ALCREMY,LOVE CARAMEL SWIRL,Fairy,,TRUE +1254,869,ALCREMY,CLOVER CARAMEL SWIRL,Fairy,,TRUE +1255,869,ALCREMY,FLOWER CARAMEL SWIRL,Fairy,,TRUE +1256,869,ALCREMY,STAR CARAMEL SWIRL,Fairy,,TRUE +1257,869,ALCREMY,RIBBON CARAMEL SWIRL,Fairy,,TRUE +1258,869,ALCREMY,STRAWBERRY RAINBOW SWIRL,Fairy,,TRUE +1259,869,ALCREMY,BERRY RAINBOW SWIRL,Fairy,,TRUE +1260,869,ALCREMY,LOVE RAINBOW SWIRL,Fairy,,TRUE +1261,869,ALCREMY,CLOVER RAINBOW SWIRL,Fairy,,TRUE +1262,869,ALCREMY,FLOWER RAINBOW SWIRL,Fairy,,TRUE +1263,869,ALCREMY,STAR RAINBOW SWIRL,Fairy,,TRUE +1264,869,ALCREMY,RIBBON RAINBOW SWIRL,Fairy,,TRUE +1265,870,FALINKS,,Fighting,,TRUE +1266,871,PINCURCHIN,,Electric,,TRUE +1267,872,SNOM,,Ice,Bug,TRUE +1268,873,FROSMOTH,,Ice,Bug,TRUE +1269,874,STONJOURNER,,Rock,,TRUE +1270,875,EISCUE,,Ice,,TRUE +1271,876,INDEEDEE,FEMALE,Fairy,Normal,TRUE +1272,876,INDEEDEE,MALE,Fairy,Normal,TRUE +1273,877,MORPEKO,,Electric,Dark,TRUE +1274,878,CUFANT,,Steel,,TRUE +1275,879,COPPERAJAH,,Steel,,TRUE +1276,880,DRACOZOLT,,Electric,Dragon,TRUE +1277,881,ARCTOZOLT,,Electric,Ice,TRUE +1278,882,DRACOVISH,,Water,Dragon,TRUE +1279,883,ARCTOVISH,,Water,Ice,TRUE +1280,884,DURALODON,,Steel,Dragon,TRUE +1281,885,DREEPY,,Dragon,Ghost,TRUE +1282,886,DRAKLOAK,,Dragon,Ghost,TRUE +1283,887,DRAGAPULT,,Dragon,Ghost,TRUE +1284,888,ZACIAN,,Fairy,,TRUE +1285,889,ZAMAZENTA,,Fighting,,TRUE +1286,890,ETERNATUS,,Poison,Dragon,TRUE \ No newline at end of file diff --git a/LivingDexSS.gmx/extensions/nsfs.extension.gmx b/LivingDexSS.gmx/extensions/nsfs.extension.gmx new file mode 100644 index 0000000..f642dfe --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs.extension.gmx @@ -0,0 +1,503 @@ + + + nsfs + 1.0.2 + cc.yal.nsfs + + 18/02/17 + Proprietary + + + + + + + + + + + + + + + + + + + + 113497714299118 + + + + + Sprites\spr_nsfs_demo_white32 + Scripts\demo-scripts\demo_button + Scripts\demo-scripts\demo_trace + Scripts\demo-scripts\demo_prompt + Scripts\demo-scripts\demo_param + Scripts\demo-scripts\demo_sfmt + Scripts\demo-scripts\demo_status + Fonts\fnt_nsfs_demo + Objects\obj_nsfs_demo + Rooms\rm_nsfs_demo + Included Files\nsfs-doc.html + + + + nsfs.dll + extensions\nsfs.dll + + + 1 + 0 + + + 113497714299118 + + + + + + nsfs_get_status + nsfs_get_status + 11 + + 2 + 0 + + + + nsfs_get_directory + nsfs_get_directory + 11 + + 1 + 0 + + + + nsfs_set_directory + nsfs_set_directory + 11 + + 2 + 1 + + 1 + + + + nsfs_init_raw + nsfs_init_raw + 11 + + 2 + 0 + + + + file_get_attributes_ns + file_get_attributes_ns + 11 + file_get_attributes_ns(path) : returned values as per https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117(v=vs.85).aspx + 2 + 1 + + 1 + + + + file_set_attributes_ns + file_set_attributes_ns + 11 + file_set_attributes_ns(path, flags) : flags as per https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117(v=vs.85).aspx + 2 + 2 + + 1 + 2 + + + + file_get_size_ns + file_get_size_ns + 11 + file_get_size_ns(path) : Returns size of the given file, in bytes. + 2 + 1 + + 1 + + + + file_exists_ns + file_exists_ns + 11 + file_exists_ns(path) + 2 + 1 + + 1 + + + + directory_exists_ns + directory_exists_ns + 11 + directory_exists_ns(path) + 2 + 1 + + 1 + + + + file_delete_ns + file_delete_ns + 11 + file_delete_ns(path) + 2 + 1 + + 1 + + + + directory_delete_ns + directory_delete_ns + 11 + directory_delete_ns(path) + 2 + 1 + + 1 + + + + file_copy_ns + file_copy_ns + 11 + file_copy_ns(from, to) + 2 + 2 + + 1 + 1 + + + + directory_copy_ns + directory_copy_ns + 11 + directory_copy_ns(from, to) + 2 + 2 + + 1 + 1 + + + + file_rename_ns + file_rename_ns + 11 + file_rename_ns(from, to) + 2 + 2 + + 1 + 1 + + + + directory_rename_ns + directory_rename_ns + 11 + directory_rename_ns(from, to) + 2 + 2 + + 1 + 1 + + + + file_move_ns + file_move_ns + 11 + file_move_ns(from, to) + 2 + 2 + + 1 + 1 + + + + directory_move_ns + directory_move_ns + 11 + directory_move_ns(from, to) + 2 + 2 + + 1 + 1 + + + + file_find_first_ns + file_find_first_ns + 11 + file_find_first_ns(mask) + 1 + 1 + + 1 + + + + file_find_next_ns + file_find_next_ns + 11 + file_find_next_ns() + 1 + 0 + + + + file_find_close_ns + file_find_close_ns + 11 + file_find_close_ns() + 2 + 0 + + + + file_find_attributes_ns + file_find_attributes_ns + 11 + file_find_attributes_ns() : Returns the attributes of the current file in file_find + 2 + 0 + + + + file_find_size_ns + file_find_size_ns + 11 + file_find_size_ns() : Returns the size (in bytes) of the current file in file_find + 2 + 0 + + + + file_text_open_read_ns + file_text_open_read_ns + 11 + file_text_open_read_ns(path, codepage) : Codepage can be set to -1 for default (UTF-8) + 2 + 2 + + 1 + 2 + + + + file_text_open_write_ns + file_text_open_write_ns + 11 + file_text_open_write_ns(path, codepage) : Codepage can be set to -1 for default (UTF-8) + 2 + 2 + + 1 + 2 + + + + file_text_open_append_ns + file_text_open_append_ns + 11 + file_text_open_append_ns(path, codepage) : Codepage can be set to -1 for default (UTF-8) + 2 + 2 + + 1 + 2 + + + + file_text_close_ns + file_text_close_ns + 11 + file_text_close_ns(fileid) + 2 + 1 + + 2 + + + + file_text_eof_ns + file_text_eof_ns + 11 + file_text_eof_ns(fileid) + 2 + 1 + + 2 + + + + file_text_read_line_ns + file_text_read_line_ns + 11 + file_text_read_line_ns(fileid) : Reads the next line from a file, skips line separators after it. + 1 + 1 + + 2 + + + + file_text_write_line_ns + file_text_write_line_ns + 11 + file_text_write_line_ns(fileid, text) : Writes a line and line separators into a file. + 2 + 2 + + 2 + 1 + + + + buffer_load_ns_raw1 + buffer_load_ns_raw1 + 11 + + 2 + 1 + + 1 + + + + buffer_load_ns_raw2 + buffer_load_ns_raw2 + 11 + + 2 + 2 + + 1 + 2 + + + + buffer_save_ns_raw + buffer_save_ns_raw + 11 + + 2 + 3 + + 1 + 1 + 2 + + + + string_codepage + string_codepage + 11 + string_codepage(str, codepage_from, codepage_to) : Converts a string between codepages. From/to can be set to -1 for UTF-8 + 1 + 3 + + 1 + 2 + 2 + + + + + + + nsfs.gml + extensions\gml.gml + nsfs_init + + 2 + 0 + + + 113497714299118 + + + + + + nsfs_init + nsfs_init + 11 + + 2 + 0 + + + + buffer_load_ns + buffer_load_ns + 11 + buffer_load_ns(path) + 2 + 1 + + 2 + + + + buffer_save_ns + buffer_save_ns + 11 + buffer_save_ns(buffer, path) + 2 + 2 + + 2 + 2 + + + + buffer_save_ext_ns + buffer_save_ext_ns + 11 + buffer_save_ext_ns(buffer, path, offset, size) + 2 + 4 + + 2 + 2 + 2 + 2 + + + + + + nsfs_status + nsfs_get_status() + 0 + + + nsfs_is_available + global.g_nsfs_is_available + 0 + + + + + diff --git a/LivingDexSS.gmx/extensions/nsfs/Assets/Fonts/fnt_nsfs_demo.font.gmx b/LivingDexSS.gmx/extensions/nsfs/Assets/Fonts/fnt_nsfs_demo.font.gmx new file mode 100644 index 0000000..e00e853 --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs/Assets/Fonts/fnt_nsfs_demo.font.gmx @@ -0,0 +1,117 @@ + + + Ubuntu Condensed SemiItalic + 16 + 0 + -1 + 0 + 1 + 3 + 0 + + + 0 + + + 32,126 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fnt_nsfs_demo.png + diff --git a/LivingDexSS.gmx/extensions/nsfs/Assets/Fonts/fnt_nsfs_demo.png b/LivingDexSS.gmx/extensions/nsfs/Assets/Fonts/fnt_nsfs_demo.png new file mode 100644 index 0000000000000000000000000000000000000000..ed1a3122c0035cba74d09aeea0b1c94525c595a5 GIT binary patch literal 13505 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 + + <undefined> + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + r = ""; +inputs = ds_map_create(); + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_set_font(fnt_nsfs_demo); +draw_set_color(c_white); +dx = 10; +dy = 10; +dw = 200; +dh = 28; +var s, r = undefined, q; +__button = undefined; +if (demo_button("Extension' page")) url_open("https://yellowafterlife.itch.io/gamemaker-nsfs"); +if (demo_button("Extension' manual")) url_open("https://yal.cc/r/17/nsfs"); +if (demo_button("file_exists_ns")) r = file_exists_ns(demo_prompt("Absolute path?")); +if (demo_button("file_copy_ns")) { + s = demo_prompt("From-path?"); + r = demo_status(file_copy_ns(s, demo_prompt("To-path?"))); +} +if (demo_button("file_move_ns")) { + s = demo_prompt("From-path?"); + r = demo_status(file_move_ns(s, demo_prompt("To-path?"))); +} +if (demo_button("file_rename_ns")) { + s = demo_prompt("From-path?"); + r = demo_status(file_rename_ns(s, demo_prompt("To-path?"))); +} +if (demo_button("file_delete_ns")) { + s = demo_prompt("Absolute path? (note: the file will be deleted!)") + r = demo_status(file_delete_ns(s)); +} +// +if (demo_button("directory_exists_ns")) { + s = demo_prompt("Absolute path?") + r = demo_status(directory_exists_ns(s)); +} +if (demo_button("directory_copy_ns")) { + s = demo_prompt("From-path?"); + r = demo_status(directory_copy_ns(s, demo_prompt("To-path?"))); +} +if (demo_button("directory_move_ns")) { + s = demo_prompt("From-path?"); + r = demo_status(directory_move_ns(s, demo_prompt("To-path?"))); +} +if (demo_button("directory_rename_ns")) { + s = demo_prompt("From-path?"); + r = demo_status(directory_rename_ns(s, demo_prompt("To-path?"))); +} +if (demo_button("directory_delete_ns")) { + s = demo_prompt("Absolute path? (note: the directory will be deleted!)"); + r = demo_status(directory_delete_ns(s)); +} +// +if (demo_button("file_find_*_ns")) { + s = demo_prompt("Absolute filter path (e.g. `C:/Some/*.*`)?"); + s = file_find_first_ns(s); + r = ""; + while (s != "") { + r += chr(13) + chr(10) + demo_sfmt("%: %KB", s, file_find_size_ns() / 1024); + s = file_find_next_ns(); + } + file_find_close_ns(); +} +// +if (false && demo_button("file_get_size_ns")) { + s = demo_prompt("Absolute path?"); + r = demo_sfmt("%KB", file_get_size_ns(s) / 1024); +} +if (demo_button("file_text_open_read_ns")) { + s = demo_prompt("Absolute path?"); + q = file_text_open_read_ns(s, demo_param("Codepage? (-1 for UTF-8)", -1)); + if (q >= 0) { + r = ""; + while (!file_text_eof_ns(q)) { + r += chr(13) + chr(10) + file_text_read_line_ns(q); + } + file_text_close_ns(q); + } else r = "Couldn't read the file, error code " + string(nsfs_status); +} +if (demo_button("file_text_open_write_ns")) { + s = demo_prompt("Absolute path?"); + q = file_text_open_write_ns(s, demo_param("Codepage? (-1 for UTF-8)", -1)); + if (q >= 0) { + file_text_write_line_ns(q, demo_prompt("File content?")); + file_text_close_ns(q); + r = "OK!"; + } else r = "Couldn't write the file, error code " + string(nsfs_status); +} +if (demo_button("file_text_open_append_ns")) { + s = demo_prompt("Absolute path?"); + q = file_text_open_append_ns(s, demo_param("Codepage? (-1 for UTF-8)", -1)); + if (q >= 0) { + file_text_write_line_ns(q, demo_prompt("File content?")); + file_text_close_ns(q); + r = "OK!"; + } else r = "Couldn't write the file, error code " + string(nsfs_status); +} +// +if (demo_button("buffer_load_ns")) { + q = buffer_load_ns(demo_prompt("Absolute path?")); + if (q >= 0) { + r = string(buffer_get_size(q)) + " bytes"; + buffer_delete(q); + } else r = "Couldn't read the file, error code " + string(nsfs_status); +} +// +if (demo_button("string_codepage")) { + s = demo_prompt("String content?"); + q = demo_param("String' codepage? (-1 for UTF-8)", -1); + r = string_codepage(s, q, demo_param("Target' codepage? (-1 for UTF-8)", -1)); +} +// +if (!is_undefined(__button) && !is_undefined(r)) show_message("Result: " + string(r)); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + 0.200000002980232 + -1 + 0 + + diff --git a/LivingDexSS.gmx/extensions/nsfs/Assets/Rooms/rm_nsfs_demo.room.gmx b/LivingDexSS.gmx/extensions/nsfs/Assets/Rooms/rm_nsfs_demo.room.gmx new file mode 100644 index 0000000..c747225 --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs/Assets/Rooms/rm_nsfs_demo.room.gmx @@ -0,0 +1,65 @@ + + + + 320 + 544 + 32 + 32 + 0 + 30 + 0 + 12951176 + -1 + + 0 + -1 + -1 + + -1 + 1024 + 600 + -1 + -1 + -1 + -1 + -1 + 0 + 0 + -1 + 3 + -37 + 15 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 1024 + 768 + 0 + 10 + 0.100000001490116 + diff --git a/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_button.gml b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_button.gml new file mode 100644 index 0000000..051e70e --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_button.gml @@ -0,0 +1,23 @@ +var mx = mouse_x - dx, my = mouse_y - dy; +var mw = dw - 2, mh = dh - 2; +var mq = mx >= 0 && my >= 0 && mx < mw && my < mh; +var r = mq && mouse_check_button_released(mb_left); +var s = argument0; +draw_sprite_stretched_ext(spr_nsfs_demo_white32, 0, dx, dy, mw, mh, -1, 0.1 + mq * 0.2); +draw_set_color(0); +draw_set_alpha(0.3); +draw_text(dx + 3, dy + 1, s); +draw_set_color(-1); +draw_set_alpha(1); +draw_text(dx + 2, dy, argument0); +// +dy += dh; +if (dy >= room_height - dh) { + dy -= floor(dy / dh) * dh; + dx += dw; +} +if (r) { + __button = s; + if (!ds_map_exists(inputs, s)) inputs[?s] = ds_map_create(); + return true; +} else return false; diff --git a/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_param.gml b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_param.gml new file mode 100644 index 0000000..6f6e23e --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_param.gml @@ -0,0 +1,7 @@ +var q = inputs[?__button]; +var s = argument0; +var d = q[?s]; +if (is_undefined(d)) d = argument1; +var r = get_integer(s, d); +if (r != d) q[?s] = r; +return r; diff --git a/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_prompt.gml b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_prompt.gml new file mode 100644 index 0000000..cb168e6 --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_prompt.gml @@ -0,0 +1,7 @@ +var q = inputs[?__button]; +var s = argument0; +var d = q[?s]; +if (is_undefined(d)) d = ""; +var r = get_string(s, d); +if (r != "") q[?s] = r; +return r; diff --git a/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_sfmt.gml b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_sfmt.gml new file mode 100644 index 0000000..aa75e42 --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_sfmt.gml @@ -0,0 +1,11 @@ +/// sfmt(format, ...) +// ("%/%", 1, 2) -> "1/2" +var s = argument[0], r = "", i = 0; +repeat (argument_count - 1) { + var p = string_pos("%", s); + if (p > 0) { + r += string_copy(s, 1, p - 1) + string(argument[++i]); + s = string_copy(s, p + 1, string_length(s) - p); + } else show_error("sfmt: argument/format count mismatch", false); +} +return r + s; diff --git a/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_status.gml b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_status.gml new file mode 100644 index 0000000..87f5091 --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_status.gml @@ -0,0 +1,5 @@ +if (argument0) { + return "Success."; +} else { + return "Failure, error code " + string(nsfs_status); +} diff --git a/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_trace.gml b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_trace.gml new file mode 100644 index 0000000..602b73c --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs/Assets/Scripts/demo_trace.gml @@ -0,0 +1 @@ +show_debug_message(argument0); diff --git a/LivingDexSS.gmx/extensions/nsfs/Assets/Sprites/images/spr_nsfs_demo_white32_0.png b/LivingDexSS.gmx/extensions/nsfs/Assets/Sprites/images/spr_nsfs_demo_white32_0.png new file mode 100644 index 0000000000000000000000000000000000000000..234f5d02bbaa710dfae98fb9216f221f86616ff1 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzO-~ockcv5P&nYqjc}xob=U + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 31 + 0 + 31 + 0 + 0 + + 0 + + 0 + 32 + 32 + + images\spr_nsfs_demo_white32_0.png + + diff --git a/LivingDexSS.gmx/extensions/nsfs/Assets/datafiles/nsfs-doc.html b/LivingDexSS.gmx/extensions/nsfs/Assets/datafiles/nsfs-doc.html new file mode 100644 index 0000000..6668fbe --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs/Assets/datafiles/nsfs-doc.html @@ -0,0 +1,502 @@ + +NSFS cheat sheet + + + + +This is a "cheat sheet" for Non-Sandboxed FileSystem extension by YellowAfterlife.
+The extension can be acquired from GM:Marketplace or itch.io.
+For questions/support, use forums, or send me an email.
+The extension is currently available for Windows (is a DLL).
+
+Click on sections to expand/collapse them.
+Quick display controls: CategoriesFunctionsEverything +
    + + +
  • General functions

      + +
    • nsfs_is_available

      + This variable holds status (true\false) of whether the native extension for NSFS was successfully loaded. The extension may not be loaded in a few cases: +
      • + Extension is not supported on the target platform. +
      • + Extension' file is amiss (e.g. the user did not unzip the game before running). +
      + As per GameMaker rules, all calls to unavailable extensions return 0 instead, so you may want to check this and notify the user prior to performing any operations. +
    • + +
    • nsfs_status

      + Some functions provide additional feedback aside of usual success/failure result.
      + In those cases, when the result is false, this global variable holds the status/error code that can be used for troubleshooting the issue.
      + On Windows, values are as per System Error Codes reference. +
    • + +
    • nsfs_set_directory(new_working_directory)

      + By default, when a relative path is specified, NSFS will read/write files in game's program directory. If you want to use some other directory instead (e.g. save directory), you can use this function to change the extension's working directory.
      + The function returns whether the working directory was successfully changed; + nsfs_status contains the error code if it couldn't be.
      + One of the few reasons to failure of this function is the target directory not being a valid path (use directory_exists\directory_exists_ns to check). +
    • + +
    • nsfs_get_directory()

      + Returns the extension's working directory.
      + If that somehow fails, returns an empty string and sets nsfs_status. +
    • + +
  • + +
  • File manipulation functions

      + +
    • file_exists_ns(path)

      + Returns whether the file exists at the given path.
      + Returns false if there's a directory of the same name at the path. +
    • + +
    • file_copy_ns(oldpath, newpath)

      + Copies a file between locations, returns whether successful.
      + In case of failure, nsfs_status contains the error code. +
    • + +
    • file_rename_ns(oldname, newname)

      + Renames a file, returns whether successful.
      + Note that if the oldname contains a path, newname should as well.
      + In case of failure, nsfs_status contains the error code. +
    • + +
    • file_move_ns(oldpath, newpath)

      + Moves a file to a different location, returns whether successful.
      + In case of failure, nsfs_status contains the error code. +
    • + +
    • file_delete_ns(path)

      + Deletes a file, returns whether successful.
      + In case of failure, nsfs_status contains the error code.
      + Note that you can't remove files currently in use by an application (incl. yours). +
    • + +
  • + +
  • Directory manipulation functions

      + +
    • directory_exists_ns(path)

      + Returns whether the file exists at the given path.
      + Returns false if there's a directory of the same name at the path. +
    • + +
    • directory_copy_ns(oldpath, newpath)

      + Copies a directory between locations, returns whether successful.
      + In case of failure, nsfs_status contains the error code. +
    • + +
    • directory_rename_ns(oldname, newname)

      + Renames a directory, returns whether successful.
      + Note that if the oldname contains a path, newname should as well.
      + In case of failure, nsfs_status contains the error code.
      + Directories cannot be renamed if some of their files are currently in use by applications (incl. yours). +
    • + +
    • directory_move_ns(oldpath, newpath)

      + Moves a directory to a different location, returns whether successful.
      + In case of failure, nsfs_status contains the error code.
      + Directories cannot be moved if some of their files are currently in use by applications (incl. yours). +
    • + +
    • directory_delete_ns(path)

      + Deletes a directory, returns whether successful.
      + In case of failure, nsfs_status contains the error code.
      + Directories cannot be deleted if some of their files are currently in use by applications (incl. yours). +
    • + +
  • + +
  • File/directory attribute functions

      + +
    • file_get_attributes_ns(path)

      + Returns attributes of a file/directory at given path.
      + Returned attributes (a set of bit flags) are as per MSDN specification.
      + If attributes cannot be retrieved (e.g. no object exists at path), returned value is -1, and nsfs_status contains the error code. +
    • + +
    • file_set_attributes_ns(path, newattributes)

      + Changes the attributes of a file/directory at the given path, returns whether successful. + The attributes (a set of bit flags) are as per MSDN specification.
      + If attributes cannot be changed, nsfs_status contains the error code. +
    • + +
    • file_get_size_ns(path)

      + Returns the size of the file at given path, in bytes.
      + If the size cannot be measured, returns -1 and sets nsfs_status. +
    • + +
  • + +
  • File/directory search functions

      + +
    • file_find_first_ns(mask)

      + Begins the search for files/directories matching the given mask and returns the first result. + Returns "" and sets nsfs_status if nothing can be found.
      + This is much akin to file_find_first, but with one remark: instead of taking attributes as a second parameter (which gives very limited freedom to filtering results), there is a file_find_attributes_ns function that returns the attributes of the current file in search.
      + For example, if you wanted to pick through just files (no directories) in maps subdirectory in game's directory, you would do that like so: +
      +for (var f = file_find_first_ns("maps/*.*"); f != ""; f = file_find_next_ns()) {
      +    if (file_find_attributes_ns() & fa_directory) continue;
      +    // file is not a directory - do something here
      +    show_debug_message(f + ": " + string(file_find_size_ns() / 1024) + "KB");
      +}
      +file_find_close();
      +
      + which would display results like some.map (given maps/some.map). +
    • + +
    • file_find_next_ns()

      + Returns the next result matching the mask (from file_find_first_ns).
      + Returns "" if there are no more results left. +
    • + +
    • file_find_close_ns()

      + Finalizes the current search and frees up the related resources.
      + file_find_first_ns will automatically do this prior to starting the next search if you forget, but it is recommended that you do this by yourself when a search is complete. +
    • + +
    • file_find_attributes_ns()

      + Returns the attributes (much like file_get_attributes_ns) of the current (most recently returned) file in search. Due to how file search works, this is generally faster than retrieving the attributes by absolute path. +
    • + +
    • file_find_size_ns()

      + Returns the size (in bytes) of the current (most recently returned) file in search. This is generally faster than retrieving the size by absolute path.
      + This function considers directories to have size of 0 bytes. +
    • + +
  • + +
  • Text file functions

      + +
    • file_text_open_read_ns(path, codepage)

      + Opens a text file at given path for reading and returns file ID.
      + Codepage numbers can be found on MSDN.
      + -1 can be specified as a codepage to use UTF-8 (GMS default).
      + If the file cannot be opened for reading, returns -1 and sets nsfs_status.
      + IDs used by these functions are separate from those used by built-in ones. +
    • + +
    • file_text_open_write_ns(path, codepage)

      + Opens a text file at given path for writing and returns file ID.
      + If the file is already present, it is overwritten.
      + Codepage numbers can be found on MSDN.
      + -1 can be specified as a codepage to use UTF-8 (GMS default).
      + If the file cannot be opened for writing, returns -1 and sets nsfs_status. +
    • + +
    • file_text_open_append_ns(path, codepage)

      + Opens a text file at given path for writing and returns file ID.
      + If the file is already present, appends to the end of the file.
      + Codepage numbers can be found on MSDN.
      + -1 can be specified as a codepage to use UTF-8 (GMS default).
      + If the file cannot be opened for writing, returns -1 and sets nsfs_status. +
    • + +
    • file_text_close_ns(file_id)

      + Closes the given text file, freeing it for operations or use by other applications.
      + Returns whether the file was actually open (and thus could be closed). +
    • + +
    • file_text_eof_ns(file_id)

      + Returns whether end of file was reached for the given file.
      + Only makes sense for files opened for reading.
      + Returns true for invalid file IDs. +
    • + +
    • file_text_read_line_ns(file_id)

      + Reads and returns the next line from the given file.
      + This is equivalent to file_text_read_string + file_text_readln. That is, it reads and returns the text on the current line, and skips the line delimiter (CR\LF\CRLF\LFCR).
      + Returns "" if the file handle is invalid or end of file has been reached. +
    • + +
    • file_text_write_line_ns(file_id, text)

      + Writes a string to the given file, returns whether successful.
      + Adds a linebreak (CRLF) prior to writing automatically if it is not the first line.
      +
    • + +
  • + +
  • Buffer functions

      + +
    • buffer_load_ns(path)

      + Loads a GM buffer from the file and returns it's ID.
      + Is a direct equivalent of the built-in buffer_load function.
      + If the file cannot be read, returns -1 and sets nsfs_status. +
    • + +
    • buffer_save_ns(buffer, path)

      + Saves the contents of the given buffer to a file, returns whether successful.
      + Is akin to the built-in buffer_save function (but has a return value).
      + If the file cannot be written, returns false and sets nsfs_status.
      +
    • + +
    • buffer_save_ext_ns(buffer, path, offset, size)

      + Saves a subsection of the given buffer to a file, returns whether successful.
      + Is akin to the built-in buffer_save_ext function (but has a return value).
      + If the file cannot be written, returns false and sets nsfs_status. +
    • + +
  • + +
  • Misc functions

      +
    • string_codepage(string, oldcodepage, newcodepage)

      + Converts contents of a string between codepages.
      + Codepage numbers can be found on MSDN.
      + -1 can be specified as a codepage to use UTF-8 (GMS default).
      + This is particularly handy if you +
    • +
  • + +
  • Workarounds

    + Certain functions cannot be reasonably implemented in scope of this extension, e.g. +
    • + GM:S does not allow extensions to load assets directly, meaning that they would have to be copied into an "allowed" directory by either yourself or an extension. +
    • + file_bin_ functions are noticeably outperformed by a buffer_fast buffer, leaving little reason to reimplement them instead of using buffers. +
    + In majority of situations, the issues can be bypassed by using file_copy_ns or directory_copy_ns accordingly. +
  • + + + +
+ + + \ No newline at end of file diff --git a/LivingDexSS.gmx/extensions/nsfs/nsfs.cpp b/LivingDexSS.gmx/extensions/nsfs/nsfs.cpp new file mode 100644 index 0000000..a121a36 --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs/nsfs.cpp @@ -0,0 +1,491 @@ +/// @author YellowAfterlife + +#include "stdafx.h" +#include +#include +#include +#include +// +#define dllx extern "C" __declspec(dllexport) +#define trace(...) { printf(__VA_ARGS__); printf("\n"); fflush(stdout); } +class StringConv { + public: + char* cbuf = NULL; + size_t cbuf_size = 0; + WCHAR* wbuf = NULL; + size_t wbuf_size = 0; + StringConv() { + + } + LPCWSTR wget(size_t size) { + if (wbuf_size < size) { + if (wbuf != NULL) delete wbuf; + wbuf = new WCHAR[size]; + wbuf_size = size; + } + return wbuf; + } + LPCWSTR proc(char* src, int cp = CP_UTF8) { + size_t size = MultiByteToWideChar(cp, 0, src, -1, NULL, 0); + LPCWSTR buf = wget(size); + MultiByteToWideChar(cp, 0, src, -1, wbuf, size); + return wbuf; + } + char* get(size_t size) { + if (cbuf_size < size) { + if (cbuf != NULL) delete cbuf; + cbuf = new char[size]; + cbuf_size = size; + } + return cbuf; + } + char* proc(LPCWSTR src, int cp = CP_UTF8) { + size_t size = WideCharToMultiByte(cp, 0, src, -1, NULL, 0, NULL, NULL); + char* buf = get(size); + WideCharToMultiByte(cp, 0, src, -1, buf, size, NULL, NULL); + return buf; + } +} c1, c2; + +#pragma region Status +DWORD nsfs_status; +dllx double nsfs_get_status() { + return nsfs_status; +} +bool nsfs_ret_code(DWORD status) { + nsfs_status = status; + return status == 0; +} +bool nsfs_ret_error(BOOL status) { + if (status) { + nsfs_status = 0; + return true; + } else { + nsfs_status = GetLastError(); + return false; + } +} +#pragma endregion + +#pragma region Init +dllx char* nsfs_get_directory() { + static WCHAR cwd[4096]; + if (GetCurrentDirectory(4096, cwd)) { + nsfs_status = 0; + return c1.proc(cwd); + } else { + nsfs_status = GetLastError(); + return ""; + } +} +dllx double nsfs_set_directory(char* cwd) { + return nsfs_ret_error(SetCurrentDirectory(c1.proc(cwd))); +} +dllx double nsfs_init_raw() { + nsfs_status = 0; + return 1; +} +#pragma endregion + +#pragma region file_ +/// returned values as per https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117(v=vs.85).aspx +dllx double file_get_attributes_ns(char* path) { + auto r = GetFileAttributes(c1.proc(path)); + if (r == INVALID_FILE_ATTRIBUTES) { + nsfs_status = GetLastError(); + } else nsfs_status = 0; + return r; +} + +/// flags as per https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117(v=vs.85).aspx +dllx double file_set_attributes_ns(char* path, double flags) { + return nsfs_ret_error(SetFileAttributes(c1.proc(path), (DWORD)flags)); +} + +/// Returns size of the given file, in bytes. +dllx double file_get_size_ns(char* path) { + HANDLE h = CreateFile(c1.proc(path), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (h == INVALID_HANDLE_VALUE) { + nsfs_status = GetLastError(); + return -1; + } + LARGE_INTEGER lsize; + INT64 size = GetFileSizeEx(h, &lsize) ? lsize.QuadPart : -1; + CloseHandle(h); + return (double)size; +} + +int file_operation(UINT wFunc, char* pFrom, char* pTo) { + // "Note: This string must be double-null terminated." + LPCWSTR wFrom = c1.proc(pFrom); + size_t lFrom = wcslen(wFrom); + LPWSTR zFrom = new WCHAR[lFrom + 2]; + wcscpy(zFrom, wFrom); + zFrom[lFrom + 1] = 0; + // + LPCWSTR wTo = c2.proc(pTo); + size_t lTo = wcslen(wTo); + LPWSTR zTo = new WCHAR[lTo + 2]; + wcscpy(zTo, wTo); + zTo[lTo + 1] = 0; + // + SHFILEOPSTRUCT op; + op.hwnd = nullptr; + op.wFunc = wFunc; + op.pFrom = zFrom; + op.pTo = zTo; + op.fFlags = FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_SILENT; + op.fAnyOperationsAborted = false; + op.hNameMappings = nullptr; + op.lpszProgressTitle = L""; + // + int r = SHFileOperation(&op); + delete zFrom; + delete zTo; + return nsfs_ret_code(r); +} + +/// +dllx double file_exists_ns(char* path) { + LPCWSTR wpath = c1.proc(path); + DWORD d = GetFileAttributes(wpath); + bool r = (d != INVALID_FILE_ATTRIBUTES && (d & FILE_ATTRIBUTE_DIRECTORY) == 0); + return r; +} + +/// +dllx double directory_exists_ns(char* path) { + LPCWSTR wpath = c1.proc(path); + DWORD d = GetFileAttributes(wpath); + bool r = (d != INVALID_FILE_ATTRIBUTES && (d & FILE_ATTRIBUTE_DIRECTORY) != 0); + return r; +} + +/// +dllx double file_delete_ns(char* path) { + LPCWSTR wpath = c1.proc(path); + DWORD attr = GetFileAttributes(wpath); + if (attr != INVALID_FILE_ATTRIBUTES) { + if (attr & FILE_ATTRIBUTE_READONLY) { + SetFileAttributes(wpath, attr & (FILE_ATTRIBUTE_READONLY)); + } + return DeleteFile(c1.proc(path)); + } + return false; +} + +/// +dllx double directory_delete_ns(char* path) { + return file_operation(FO_DELETE, path, ""); +} + +/// +dllx double file_copy_ns(char* from, char* to) { + return nsfs_ret_error(CopyFile(c1.proc(from), c2.proc(to), false)); +} + +/// +dllx double directory_copy_ns(char* from, char* to) { + return file_operation(FO_COPY, from, to); +} + +/// +dllx double file_rename_ns(char* from, char* to) { + return file_operation(FO_RENAME, from, to); +} + +/// +dllx double directory_rename_ns(char* from, char* to) { + return file_operation(FO_RENAME, from, to); +} + +/// +dllx double file_move_ns(char* from, char* to) { + return file_operation(FO_MOVE, from, to); +} + +/// +dllx double directory_move_ns(char* from, char* to) { + return file_operation(FO_MOVE, from, to); +} + +#pragma endregion + +#pragma region file_find +HANDLE file_find_handle = INVALID_HANDLE_VALUE; +WIN32_FIND_DATA file_find_data; +/// +dllx char* file_find_first_ns(char* mask) { + if (file_find_handle != INVALID_HANDLE_VALUE) FindClose(file_find_handle); + file_find_handle = FindFirstFile(c1.proc(mask), &file_find_data); + if (file_find_handle != INVALID_HANDLE_VALUE) { + nsfs_status = 0; + return c1.proc(file_find_data.cFileName); + } else { + nsfs_status = GetLastError(); + return ""; + } +} +/// +dllx char* file_find_next_ns() { + if (file_find_handle != INVALID_HANDLE_VALUE) { + if (FindNextFile(file_find_handle, &file_find_data) != 0) { + return c1.proc(file_find_data.cFileName); + } + } + return ""; +} +/// +dllx double file_find_close_ns() { + if (file_find_handle != INVALID_HANDLE_VALUE) { + return FindClose(file_find_handle); + } else return false; +} +/// Returns the attributes of the current file in file_find +dllx double file_find_attributes_ns() { + return file_find_data.dwFileAttributes; +} +/// Returns the size (in bytes) of the current file in file_find +dllx double file_find_size_ns() { + return (double)((UINT64)file_find_data.nFileSizeLow | ((UINT64)file_find_data.nFileSizeHigh << 32)); +} +#pragma endregion + +#pragma region file_text +const int file_text_num = 32; +struct file_text_t { + int mode = 0; + HANDLE file = INVALID_HANDLE_VALUE; + long size; + bool eof; + int codepage; +} file_text[file_text_num]; + +int file_text_alloc_index() { + for (int i = 0; i < file_text_num; i++) { + if (file_text[i].mode == 0) return i; + } + return -1; +} +/// Codepage can be set to -1 for default (UTF-8) +dllx double file_text_open_read_ns(char* path, double codepage) { + int i = file_text_alloc_index(); + if (i < 0) return -1; + // + HANDLE file = CreateFile(c1.proc(path), + GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file != INVALID_HANDLE_VALUE) { + file_text_t* next = &file_text[i]; + next->mode = 1; + next->file = file; + next->size = GetFileSize(file, 0); + next->eof = next->size == 0; + int cp = (int)codepage; + if (cp == -1) cp = CP_UTF8; + next->codepage = cp; + nsfs_status = 0; + return i; + } else { + nsfs_status = GetLastError(); + return -1; + } +} +/// Codepage can be set to -1 for default (UTF-8) +dllx double file_text_open_write_ns(char* path, double codepage) { + int i = file_text_alloc_index(); + if (i < 0) return -1; + // + HANDLE file = CreateFile(c1.proc(path), + GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file != INVALID_HANDLE_VALUE) { + file_text_t* next = &file_text[i]; + next->mode = 2; + next->file = file; + next->size = -1; + next->eof = false; + int cp = (int)codepage; + if (cp == -1) cp = CP_UTF8; + next->codepage = cp; + nsfs_status = 0; + return i; + } else { + nsfs_status = GetLastError(); + return -1; + } +} +/// Codepage can be set to -1 for default (UTF-8) +dllx double file_text_open_append_ns(char* path, double codepage) { + int i = file_text_alloc_index(); + if (i < 0) return -1; + // + HANDLE file = CreateFile(c1.proc(path), + FILE_APPEND_DATA, FILE_SHARE_READ, NULL, OPEN_ALWAYS, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file != INVALID_HANDLE_VALUE) { + file_text_t* next = &file_text[i]; + next->mode = 2; + next->file = file; + next->size = SetFilePointer(file, 0, NULL, FILE_END); + if (next->size == 0) next->size = -1; + next->eof = false; + int cp = (int)codepage; + if (cp == -1) cp = CP_UTF8; + next->codepage = cp; + nsfs_status = 0; + return i; + } else { + nsfs_status = GetLastError(); + return -1; + } +} +/// +dllx double file_text_close_ns(double fileid) { + int i = (int)fileid; + if (i >= 0 && i < file_text_num) { + file_text_t* f = &file_text[i]; + if (f->mode != 0) { + if (CloseHandle(f->file)) { + f->file = INVALID_HANDLE_VALUE; + f->mode = 0; + return true; + } + } + } + return false; +} +/// +dllx double file_text_eof_ns(double fileid) { + int i = (int)fileid; + if (i >= 0 && i < file_text_num) { + file_text_t* f = &file_text[i]; + if (f->mode != 0) { + return f->eof; + } + } + return true; +} +/// Reads the next line from a file, skips line separators after it. +dllx char* file_text_read_line_ns(double fileid) { + int i = (int)fileid; + if (i >= 0 && i < file_text_num) { + file_text_t* f = &file_text[i]; + if ((f->mode & 1) && !f->eof) { + HANDLE q = file_text[i].file; + BYTE next; DWORD length = 0, read; bool eof = false; + for (;;) { + ReadFile(q, &next, 1, &read, NULL); + if (read > 0) { + if (next == '\r' || next == '\n') { + break; + } else length += 1; + } else { + eof = true; + break; + } + } + // + char* out = c1.get(length + 1); + out[length] = 0; + SetFilePointer(q, -(long)length - (eof ? 0 : 1), NULL, FILE_CURRENT); + ReadFile(q, out, length, &read, NULL); + int cp = f->codepage; + if (cp != CP_UTF8) { + LPCWSTR wide = c1.proc(out, cp); + out = c1.proc(wide); + } + if (!eof) { + ReadFile(q, &next, 1, &read, NULL); + BYTE other = next == '\r' ? '\n' : '\r'; + ReadFile(q, &next, 1, &read, NULL); + if (read > 0) { + if (next != other) { + SetFilePointer(q, -1, NULL, FILE_CURRENT); + } + } else f->eof = true; + } else f->eof = true; + // + return out; + } + } + return ""; +} +char* file_text_linebreak = "\r\n"; +/// Writes a line and line separators into a file. +dllx double file_text_write_line_ns(double fileid, char* text) { + int i = (int)fileid; + if (i >= 0 && i < file_text_num) { + file_text_t* ft = &file_text[i]; + if (ft->mode & 2) { + HANDLE f = ft->file; + DWORD written; + if (ft->size >= 0) { + WriteFile(f, file_text_linebreak, 2, &written, NULL); + ft->size += written; + } else ft->size = 0; + int cp = ft->codepage; + if (cp != CP_UTF8) { + LPCWSTR wide = c1.proc(text); + text = c1.proc(wide, cp); + } + int size = strlen(text); + WriteFile(f, text, size, &written, NULL); + ft->size += written; + return true; + } + } + return false; +} +#pragma endregion + +#pragma region buffer_ +HANDLE buffer_load_file = INVALID_HANDLE_VALUE; +dllx double buffer_load_ns_raw1(char* path) { + buffer_load_file = CreateFile(c1.proc(path), + GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, NULL); + if (buffer_load_file != INVALID_HANDLE_VALUE) { + nsfs_status = 0; + return GetFileSize(buffer_load_file, 0); + } else { + nsfs_status = GetLastError(); + return -1; + } +} +dllx double buffer_load_ns_raw2(char* cbuf, double len) { + if (buffer_load_file != INVALID_HANDLE_VALUE) { + // ReadFile(q, &next, 1, &read, NULL); + DWORD read; + ReadFile(buffer_load_file, cbuf, (DWORD)len, &read, NULL); + CloseHandle(buffer_load_file); + buffer_load_file = INVALID_HANDLE_VALUE; + return read; + } else return -1; +} +dllx double buffer_save_ns_raw(char* cbuf, char* path, double len) { + HANDLE file = CreateFile(c1.proc(path), + GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file != INVALID_HANDLE_VALUE) { + DWORD r = 0; + WriteFile(file, cbuf, (DWORD)len, &r, NULL) ? r : -1; + CloseHandle(file); + nsfs_status = 0; + return r; + } else { + nsfs_status = GetLastError(); + return -1; + } +} +#pragma endregion + +#pragma region string +/// Converts a string between codepages. From/to can be set to -1 for UTF-8 +dllx char* string_codepage(char* str, double codepage_from, double codepage_to) { + int cp0 = (int)codepage_from; if (cp0 == -1) cp0 = CP_UTF8; + int cp1 = (int)codepage_to; if (cp1 == -1) cp1 = CP_UTF8; + return c1.proc(c1.proc(str, cp0), cp1); +} +#pragma endregion diff --git a/LivingDexSS.gmx/extensions/nsfs/nsfs.dll b/LivingDexSS.gmx/extensions/nsfs/nsfs.dll new file mode 100644 index 0000000000000000000000000000000000000000..7e03ffb35e67b9447080d2b2579fc257dede4484 GIT binary patch literal 80896 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%0A^Z$iUfqK2gq*0(Gm%+ndQ*6@lJ?YG=mOp<0ji>3 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

x^Kyn&Mrs(S*LHDF6) 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 Bc^d!# literal 0 HcmV?d00001 diff --git a/LivingDexSS.gmx/extensions/nsfs/nsfs.gml b/LivingDexSS.gmx/extensions/nsfs/nsfs.gml new file mode 100644 index 0000000..f75c818 --- /dev/null +++ b/LivingDexSS.gmx/extensions/nsfs/nsfs.gml @@ -0,0 +1,34 @@ +#define nsfs_init +/// () +//#global nsfs_is_available: +//#nsfs_status = nsfs_get_status(): +nsfs_is_available = nsfs_init_raw(); + +#define buffer_load_ns +/// (path): +var n = buffer_load_ns_raw1(argument0), r; +if (n >= 0) { + if (n == 0) { // bug: GMS does not allow to create zero-size buffers. + r = buffer_create(1, buffer_fixed, 1); + buffer_resize(r, 0); + } else r = buffer_create(n, buffer_fixed, 1); + buffer_load_ns_raw2(buffer_get_address(r), n); + return r; +} else return -1; + +#define buffer_save_ns +/// (buffer, path): +var b = argument0; +return buffer_save_ns_raw(buffer_get_address(b), argument1, buffer_get_size(b)); + +#define buffer_save_ext_ns +/// (buffer, path, offset, size): +var b = argument0; +var m = buffer_get_size(b); +var i = argument2; +var n = clamp(i + argument3, 0, m); +i = clamp(i, 0, m); +n -= i; +if (n > 0) { + return buffer_save_ns_raw(buffer_get_address(b) + i, argument1, n); +} else return -1; diff --git a/LivingDexSS.gmx/objects/obj_global.object.gmx b/LivingDexSS.gmx/objects/obj_global.object.gmx index 3609fb4..8df3632 100644 --- a/LivingDexSS.gmx/objects/obj_global.object.gmx +++ b/LivingDexSS.gmx/objects/obj_global.object.gmx @@ -35,7 +35,9 @@ enum dex form, type1, type2, - sprite + boxable, + sprite, + own } global.dexdata = csv_load("pokedata"); @@ -80,6 +82,46 @@ global.selected[dex.form] = ""; global.selected[dex.type1] = "Grass"; global.selected[dex.type2] = "Poison"; global.selected[dex.sprite] = -1; +global.selected[dex.own] = 0; + +global.dex_len = array_height_2d(global.dexdata); + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + /// SAVE DATA + +if (file_exists("save.ini")) +{ + ini_open("save.ini") + for (var i=0; i<=global.dex_len; i++) + global.savedata[i] = ini_read_real("Pokemon", string(i), 0); + ini_close(); + show_debug_message("LOADED SAVE FILE."); +} +else +{ + ini_open("save.ini"); + ini_write_real("Version", "Number", 0.1); + ini_close(); + show_debug_message("CREATED SAVE FILE."); +} @@ -118,12 +160,13 @@ for (var i=0; i<100; i++) pokemon = global.dexdata[global.current, dex.pokemon]; form = global.dexdata[global.current, dex.form]; type1 = global.dexdata[global.current, dex.type1]; - //type2 = global.dexdata[global.current, dex.type2]; + type2 = global.dexdata[global.current, dex.type2]; - own = false; + own = global.savedata[global.current]; + + color = get_color3(own, false); image_speed = 0; - color = c_white; hover = false; spr = sprite_add("Icons\Regular\"+string(pokemon)+".png",0,true,false,19,14); @@ -137,6 +180,46 @@ for (var i=0; i<100; i++) + + 1 + 601 + 0 + 0 + 0 + -1 + 1 + action_execute_script + + self + 0 + 0 + + + 9 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + @@ -179,6 +262,49 @@ for (var i=0; i<100; i++) + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.box_scale = sprite_get_width(spr_slot)*global.icon_scale; + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + /// WINDOW RESIZE CHECK + + + + + @@ -197,17 +323,28 @@ for (var i=0; i<100; i++) 1 - var len = global.box_len/8; + color = get_color3(global.selected[dex.own], false); +draw_set_color(color); + +/// DRAW HOVER INFO +var len = global.box_len/8; +var hal = len/2; +var mid = room_width*0.75; draw_set_font(global.font) draw_set_halign(fa_middle) -draw_text_transformed(room_width*0.75, room_height*0.1, global.selected[dex.dexno], len, len, 0); -draw_text_transformed(room_width*0.75, room_height*0.5, global.selected[dex.pokemon], len, len, 0); +draw_text_transformed(mid, room_height*0.1, scr_zeros(global.selected[dex.dexno]), len, len, 0); +draw_text_transformed(mid, room_height*0.5, global.selected[dex.pokemon], len, len, 0); + +draw_set_color(c_white); if (global.selected[dex.type2] != "") { - draw_sprite_ext(spr_type, scr_typeget(global.selected[dex.type1]), room_width*0.75-(30*len/2)-len/2, room_height*0.6, len/2, len/2, image_angle, image_blend, image_alpha); - draw_sprite_ext(spr_type, scr_typeget(global.selected[dex.type2]), room_width*0.75+len/2, room_height*0.6, len/2, len/2, image_angle, image_blend, image_alpha); + draw_sprite_ext(spr_type, scr_typeget(global.selected[dex.type1]), mid-(30*hal)-hal, room_height*0.6, hal, hal, image_angle, image_blend, image_alpha); + draw_sprite_ext(spr_type, scr_typeget(global.selected[dex.type2]), mid+hal, room_height*0.6, hal, hal, image_angle, image_blend, image_alpha); +} +else +{ } diff --git a/LivingDexSS.gmx/objects/obj_slot.object.gmx b/LivingDexSS.gmx/objects/obj_slot.object.gmx index 0bab000..a921ae4 100644 --- a/LivingDexSS.gmx/objects/obj_slot.object.gmx +++ b/LivingDexSS.gmx/objects/obj_slot.object.gmx @@ -8,28 +8,6 @@ <undefined> <undefined> - - - 1 - 603 - 7 - 0 - 0 - -1 - 2 - - - self - 0 - 0 - - - 1 - - - - - 1 @@ -48,6 +26,8 @@ 1 hover = false; + +color = get_color3(own, false); @@ -71,6 +51,59 @@ 1 hover = true; + +global.selected[dex.dexno] = dexno; +global.selected[dex.pokemon] = pokemon; +global.selected[dex.form] = form; +global.selected[dex.type1] = type1; +global.selected[dex.type2] = type2; +global.selected[dex.sprite] = -1; +global.selected[dex.own] = own; + +color = get_color3(own, true); + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + /// CLICKEDY CLICK + +if (++own >= 3) + own = 0; + +color = get_color3(own, true); + +global.selected[dex.own] = own; +global.savedata[idno] = own; + +// Auto-Saves +if (file_exists("save.ini")) +{ + ini_open("save.ini"); + ini_write_real("Pokemon", string(idno), own) + //ini_write_real("Progress","count",global.count) + show_debug_message("Saved "+pokemon+" as "+string(own)+"."); + ini_close(); +} +else + show_debug_message("ERROR: Save file somehow went missing."); @@ -93,26 +126,23 @@ 1 - if (own) - if (hover) - draw_set_color(c_maroon) - else - draw_set_color(c_red) -else - if (hover) - draw_set_color(c_gray) - else - draw_set_color(c_white) + // Scaling +image_xscale = global.icon_scale; +image_yscale = global.icon_scale; -draw_rectangle(x+1, y+1, x+global.box_len-1, y+global.box_len-1, false); + +// Back color +draw_set_color(color); +draw_rectangle(x+1, y+1, x+global.box_scale-1, y+global.box_scale-1, false); draw_set_color(c_white); //draw_self(); -draw_sprite_stretched(sprite_index, 0, x, y, global.box_len, global.box_len); +//draw_sprite_stretched(sprite_index, 0, x, y, global.box_len, global.box_len); +draw_self(); // Sprite if (spr != -1) - draw_sprite_ext(spr, 0, x+global.box_len/2, y+global.box_len/2, global.icon_scale, global.icon_scale, image_angle, image_blend, image_alpha); + draw_sprite_ext(spr, 0, x+global.box_scale/2, y+global.box_scale/2, global.icon_scale, global.icon_scale, image_angle, image_blend, image_alpha); //draw_sprite(spr, 0, x+global.box_len/2, y+global.box_len/2); diff --git a/LivingDexSS.gmx/scripts/get_color.gml b/LivingDexSS.gmx/scripts/get_color.gml new file mode 100644 index 0000000..f8c94b6 --- /dev/null +++ b/LivingDexSS.gmx/scripts/get_color.gml @@ -0,0 +1,16 @@ +///get_color(value, hover?) + +if (!argument1) + switch(argument0) + { + case 0: return c_white; + case 1: return c_red; + case 2: return c_blue; + } +else + switch(argument0) + { + case 0: return c_gray; + case 1: return c_maroon; + case 2: return c_navy; + } diff --git a/LivingDexSS.gmx/scripts/get_color3.gml b/LivingDexSS.gmx/scripts/get_color3.gml new file mode 100644 index 0000000..f8c94b6 --- /dev/null +++ b/LivingDexSS.gmx/scripts/get_color3.gml @@ -0,0 +1,16 @@ +///get_color(value, hover?) + +if (!argument1) + switch(argument0) + { + case 0: return c_white; + case 1: return c_red; + case 2: return c_blue; + } +else + switch(argument0) + { + case 0: return c_gray; + case 1: return c_maroon; + case 2: return c_navy; + } diff --git a/LivingDexSS.gmx/scripts/scr_window_resize.gml b/LivingDexSS.gmx/scripts/scr_window_resize.gml index 83c3c60..28478f8 100644 --- a/LivingDexSS.gmx/scripts/scr_window_resize.gml +++ b/LivingDexSS.gmx/scripts/scr_window_resize.gml @@ -18,7 +18,7 @@ if (( window_get_width() != global.window_width || // If mult scale is allowed: //global.icon_scale = (1 * global.box_len) / 40; - for(var i=2; global.box_len>i*40; i++){show_debug_message("LOOPITY")} + for(var i=2; global.box_len>i*40; i++){} global.icon_scale = i-1; /*global.icon_scale = 2; @@ -30,6 +30,9 @@ if (( window_get_width() != global.window_width || with obj_slot { + image_xscale = global.icon_scale; + image_yscale = global.icon_scale; + x = global.box_len/2 + global.box_len * slot_x; y = global.box_len * slot_y; } diff --git a/LivingDexSS.gmx/scripts/scr_zeros.gml b/LivingDexSS.gmx/scripts/scr_zeros.gml new file mode 100644 index 0000000..ecc13ce --- /dev/null +++ b/LivingDexSS.gmx/scripts/scr_zeros.gml @@ -0,0 +1 @@ +return string_replace(string_replace(string_format(argument0, 3, 0), ' ','0'), ' ','0')