diff options
Diffstat (limited to 'src')
40 files changed, 20888 insertions, 4885 deletions
diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index e66fdb2af..f98922c28 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -270,9 +270,8 @@ void BattleAI_HandleItemUseBeforeAISetup(void) data[i] = 0; // Items are allowed to use in ONLY trainer battles. - // TODO: Use proper flags if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) - && (gTrainerBattleOpponent_A != 0x400) + && (gTrainerBattleOpponent_A != SECRET_BASE_OPPONENT) && !(gBattleTypeFlags & (BATTLE_TYPE_TRAINER_TOWER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_SAFARI | BATTLE_TYPE_LINK)) ) { diff --git a/src/battle_transition.c b/src/battle_transition.c index aa68ed278..463a3d930 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -15,6 +15,7 @@ #include "field_camera.h" #include "trainer_pokemon_sprites.h" #include "scanline_effect.h" +#include "event_object_movement.h" #include "constants/songs.h" typedef bool8 (*TransitionStateFunc)(struct Task *task); @@ -45,9 +46,6 @@ struct TransitionData static EWRAM_DATA struct TransitionData *sTransitionStructPtr = NULL; -// TODO: Move this declaration to include/event_object_movement.h -extern const struct OamData gObjectEventBaseOam_32x32; - static bool8 BT_Phase1_FadeOut(struct Task *task); static bool8 BT_Phase1_FadeIn(struct Task *task); static bool8 BT_Phase2BlackDoodles_Init(struct Task *task); diff --git a/src/braille_text.c b/src/braille_text.c index c95cf64b2..4a06cd319 100644 --- a/src/braille_text.c +++ b/src/braille_text.c @@ -6,7 +6,6 @@ extern u8 gGlyphInfo[]; -ALIGNED(4) static const u8 gUnknown_846FB08[] = {1, 2, 4}; static const u16 sFont6BrailleGlyphs[] = INCBIN_U16("data/graphics/fonts/font6.fwjpnfont"); diff --git a/src/cereader_tool.c b/src/cereader_tool.c index 654a70b48..2c5d05018 100644 --- a/src/cereader_tool.c +++ b/src/cereader_tool.c @@ -41,8 +41,8 @@ bool32 ValidateTrainerTowerData(struct EReaderTrainerHillSet * ttdata) static bool32 CEReaderTool_SaveTrainerTower_r(struct EReaderTrainerHillSet * ttdata, u8 * buffer) { - AGB_ASSERT_EX(ttdata->dummy == 0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c", 198); - AGB_ASSERT_EX(ttdata->id == 0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c", 199) + AGB_ASSERT_EX(ttdata->dummy == 0, ABSPATH("cereader_tool.c"), 198); + AGB_ASSERT_EX(ttdata->id == 0, ABSPATH("cereader_tool.c"), 199) memset(buffer, 0, 0x1000); memcpy(buffer, ttdata, SEC30_SIZE); diff --git a/src/data/ingame_trades.h b/src/data/ingame_trades.h index 25a5afbe3..4834839f1 100644 --- a/src/data/ingame_trades.h +++ b/src/data/ingame_trades.h @@ -28,6 +28,7 @@ static const struct InGameTrade sInGameTrades[] = { .sheen = 10, .requestedSpecies = SPECIES_POLIWHIRL }, { +#if defined(FIRERED) .nickname = _("MS. NIDO"), .species = SPECIES_NIDORAN_F, .ivs = {22, 18, 25, 19, 15, 22}, @@ -41,6 +42,21 @@ static const struct InGameTrade sInGameTrades[] = { .otGender = FEMALE, .sheen = 10, .requestedSpecies = SPECIES_NIDORAN_M +#elif defined(LEAFGREEN) + .nickname = _("MR. NIDO"), + .species = SPECIES_NIDORAN_M, + .ivs = {19, 25, 18, 22, 22, 15}, + .abilityNum = 0, + .otId = 63184, + .conditions = {30, 5, 5, 5, 5}, + .personality = 0x4c970b9e, + .heldItem = ITEM_TINY_MUSHROOM, + .mailNum = 255, + .otName = _("SAIGE"), + .otGender = FEMALE, + .sheen = 10, + .requestedSpecies = SPECIES_NIDORAN_F +#endif }, { .nickname = _("CH'DING"), .species = SPECIES_FARFETCHD, @@ -56,6 +72,7 @@ static const struct InGameTrade sInGameTrades[] = { .sheen = 10, .requestedSpecies = SPECIES_SPEAROW }, { +#if defined(FIRERED) .nickname = _("NINA"), .species = SPECIES_NIDORINA, .ivs = {22, 25, 18, 19, 22, 15}, @@ -69,6 +86,21 @@ static const struct InGameTrade sInGameTrades[] = { .otGender = MALE, .sheen = 10, .requestedSpecies = SPECIES_NIDORINO +#elif defined(LEAFGREEN) + .nickname = _("NINO"), + .species = SPECIES_NIDORINO, + .ivs = {19, 18, 25, 22, 15, 22}, + .abilityNum = 0, + .otId = 13637, + .conditions = {5, 5, 5, 5, 30}, + .personality = 0x00eeca19, + .heldItem = ITEM_NONE, + .mailNum = 255, + .otName = _("TURNER"), + .otGender = MALE, + .sheen = 10, + .requestedSpecies = SPECIES_NIDORINA +#endif }, { .nickname = _("MARC"), .species = SPECIES_LICKITUNG, @@ -82,7 +114,11 @@ static const struct InGameTrade sInGameTrades[] = { .otName = _("HADEN"), .otGender = MALE, .sheen = 10, +#if defined(FIRERED) .requestedSpecies = SPECIES_GOLDUCK +#elif defined(LEAFGREEN) + .requestedSpecies = SPECIES_SLOWBRO +#endif }, { .nickname = _("ESPHERE"), .species = SPECIES_ELECTRODE, diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index c6d2ec475..bdf1f9fbb 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -670,8 +670,13 @@ static const u16 sDiglettLevelUpLearnset[] = { static const u16 sDugtrioLevelUpLearnset[] = { LEVEL_UP_MOVE(1, MOVE_TRI_ATTACK), +#if defined(FIRERED) LEVEL_UP_MOVE(1, MOVE_SCRATCH), LEVEL_UP_MOVE(1, MOVE_SAND_ATTACK), +#elif defined(LEAFGREEN) + LEVEL_UP_MOVE(1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(1, MOVE_SCRATCH), +#endif LEVEL_UP_MOVE(1, MOVE_GROWL), LEVEL_UP_MOVE(5, MOVE_GROWL), LEVEL_UP_MOVE(9, MOVE_MAGNITUDE), @@ -5649,6 +5654,7 @@ static const u16 sJirachiLevelUpLearnset[] = { LEVEL_UP_END }; +#if defined(FIRERED) static const u16 sDeoxysLevelUpLearnset[] = { LEVEL_UP_MOVE(1, MOVE_LEER), LEVEL_UP_MOVE(1, MOVE_WRAP), @@ -5664,6 +5670,25 @@ static const u16 sDeoxysLevelUpLearnset[] = { LEVEL_UP_MOVE(50, MOVE_HYPER_BEAM), LEVEL_UP_END }; +#elif defined(LEAFGREEN) +static const u16 sDeoxysLevelUpLearnset[] = { + LEVEL_UP_MOVE(1, MOVE_LEER), + LEVEL_UP_MOVE(1, MOVE_WRAP), + LEVEL_UP_MOVE(5, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(10, MOVE_TELEPORT), + LEVEL_UP_MOVE(15, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(20, MOVE_SPIKES), + LEVEL_UP_MOVE(25, MOVE_PSYCHIC), + LEVEL_UP_MOVE(30, MOVE_SNATCH), + LEVEL_UP_MOVE(35, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(35, MOVE_AMNESIA), + LEVEL_UP_MOVE(40, MOVE_RECOVER), + LEVEL_UP_MOVE(45, MOVE_PSYCHO_BOOST), + LEVEL_UP_MOVE(50, MOVE_COUNTER), + LEVEL_UP_MOVE(50, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; +#endif static const u16 sChimechoLevelUpLearnset[] = { LEVEL_UP_MOVE(1, MOVE_WRAP), diff --git a/src/data/pokemon/pokedex_orders.h b/src/data/pokemon/pokedex_orders.h new file mode 100644 index 000000000..a8cfa220e --- /dev/null +++ b/src/data/pokemon/pokedex_orders.h @@ -0,0 +1,1610 @@ +const u16 gPokedexOrder_Alphabetical[] = +{ + NATIONAL_DEX_OLD_UNOWN_B, + NATIONAL_DEX_OLD_UNOWN_C, + NATIONAL_DEX_OLD_UNOWN_D, + NATIONAL_DEX_OLD_UNOWN_E, + NATIONAL_DEX_OLD_UNOWN_F, + NATIONAL_DEX_OLD_UNOWN_G, + NATIONAL_DEX_OLD_UNOWN_H, + NATIONAL_DEX_OLD_UNOWN_I, + NATIONAL_DEX_OLD_UNOWN_J, + NATIONAL_DEX_OLD_UNOWN_K, + NATIONAL_DEX_OLD_UNOWN_L, + NATIONAL_DEX_OLD_UNOWN_M, + NATIONAL_DEX_OLD_UNOWN_N, + NATIONAL_DEX_OLD_UNOWN_O, + NATIONAL_DEX_OLD_UNOWN_P, + NATIONAL_DEX_OLD_UNOWN_Q, + NATIONAL_DEX_OLD_UNOWN_R, + NATIONAL_DEX_OLD_UNOWN_S, + NATIONAL_DEX_OLD_UNOWN_T, + NATIONAL_DEX_OLD_UNOWN_U, + NATIONAL_DEX_OLD_UNOWN_V, + NATIONAL_DEX_OLD_UNOWN_W, + NATIONAL_DEX_OLD_UNOWN_X, + NATIONAL_DEX_OLD_UNOWN_Y, + NATIONAL_DEX_OLD_UNOWN_Z, + // Actual pokemon start here. + NATIONAL_DEX_ABRA, + NATIONAL_DEX_ABSOL, + NATIONAL_DEX_AERODACTYL, + NATIONAL_DEX_AGGRON, + NATIONAL_DEX_AIPOM, + NATIONAL_DEX_ALAKAZAM, + NATIONAL_DEX_ALTARIA, + NATIONAL_DEX_AMPHAROS, + NATIONAL_DEX_ANORITH, + NATIONAL_DEX_ARBOK, + NATIONAL_DEX_ARCANINE, + NATIONAL_DEX_ARIADOS, + NATIONAL_DEX_ARMALDO, + NATIONAL_DEX_ARON, + NATIONAL_DEX_ARTICUNO, + NATIONAL_DEX_AZUMARILL, + NATIONAL_DEX_AZURILL, + NATIONAL_DEX_BAGON, + NATIONAL_DEX_BALTOY, + NATIONAL_DEX_BANETTE, + NATIONAL_DEX_BARBOACH, + NATIONAL_DEX_BAYLEEF, + NATIONAL_DEX_BEAUTIFLY, + NATIONAL_DEX_BEEDRILL, + NATIONAL_DEX_BELDUM, + NATIONAL_DEX_BELLOSSOM, + NATIONAL_DEX_BELLSPROUT, + NATIONAL_DEX_BLASTOISE, + NATIONAL_DEX_BLAZIKEN, + NATIONAL_DEX_BLISSEY, + NATIONAL_DEX_BRELOOM, + NATIONAL_DEX_BULBASAUR, + NATIONAL_DEX_BUTTERFREE, + NATIONAL_DEX_CACNEA, + NATIONAL_DEX_CACTURNE, + NATIONAL_DEX_CAMERUPT, + NATIONAL_DEX_CARVANHA, + NATIONAL_DEX_CASCOON, + NATIONAL_DEX_CASTFORM, + NATIONAL_DEX_CATERPIE, + NATIONAL_DEX_CELEBI, + NATIONAL_DEX_CHANSEY, + NATIONAL_DEX_CHARIZARD, + NATIONAL_DEX_CHARMANDER, + NATIONAL_DEX_CHARMELEON, + NATIONAL_DEX_CHIKORITA, + NATIONAL_DEX_CHIMECHO, + NATIONAL_DEX_CHINCHOU, + NATIONAL_DEX_CLAMPERL, + NATIONAL_DEX_CLAYDOL, + NATIONAL_DEX_CLEFABLE, + NATIONAL_DEX_CLEFAIRY, + NATIONAL_DEX_CLEFFA, + NATIONAL_DEX_CLOYSTER, + NATIONAL_DEX_COMBUSKEN, + NATIONAL_DEX_CORPHISH, + NATIONAL_DEX_CORSOLA, + NATIONAL_DEX_CRADILY, + NATIONAL_DEX_CRAWDAUNT, + NATIONAL_DEX_CROBAT, + NATIONAL_DEX_CROCONAW, + NATIONAL_DEX_CUBONE, + NATIONAL_DEX_CYNDAQUIL, + NATIONAL_DEX_DELCATTY, + NATIONAL_DEX_DELIBIRD, + NATIONAL_DEX_DEOXYS, + NATIONAL_DEX_DEWGONG, + NATIONAL_DEX_DIGLETT, + NATIONAL_DEX_DITTO, + NATIONAL_DEX_DODRIO, + NATIONAL_DEX_DODUO, + NATIONAL_DEX_DONPHAN, + NATIONAL_DEX_DRAGONAIR, + NATIONAL_DEX_DRAGONITE, + NATIONAL_DEX_DRATINI, + NATIONAL_DEX_DROWZEE, + NATIONAL_DEX_DUGTRIO, + NATIONAL_DEX_DUNSPARCE, + NATIONAL_DEX_DUSCLOPS, + NATIONAL_DEX_DUSKULL, + NATIONAL_DEX_DUSTOX, + NATIONAL_DEX_EEVEE, + NATIONAL_DEX_EKANS, + NATIONAL_DEX_ELECTABUZZ, + NATIONAL_DEX_ELECTRIKE, + NATIONAL_DEX_ELECTRODE, + NATIONAL_DEX_ELEKID, + NATIONAL_DEX_ENTEI, + NATIONAL_DEX_ESPEON, + NATIONAL_DEX_EXEGGCUTE, + NATIONAL_DEX_EXEGGUTOR, + NATIONAL_DEX_EXPLOUD, + NATIONAL_DEX_FARFETCHD, + NATIONAL_DEX_FEAROW, + NATIONAL_DEX_FEEBAS, + NATIONAL_DEX_FERALIGATR, + NATIONAL_DEX_FLAAFFY, + NATIONAL_DEX_FLAREON, + NATIONAL_DEX_FLYGON, + NATIONAL_DEX_FORRETRESS, + NATIONAL_DEX_FURRET, + NATIONAL_DEX_GARDEVOIR, + NATIONAL_DEX_GASTLY, + NATIONAL_DEX_GENGAR, + NATIONAL_DEX_GEODUDE, + NATIONAL_DEX_GIRAFARIG, + NATIONAL_DEX_GLALIE, + NATIONAL_DEX_GLIGAR, + NATIONAL_DEX_GLOOM, + NATIONAL_DEX_GOLBAT, + NATIONAL_DEX_GOLDEEN, + NATIONAL_DEX_GOLDUCK, + NATIONAL_DEX_GOLEM, + NATIONAL_DEX_GOREBYSS, + NATIONAL_DEX_GRANBULL, + NATIONAL_DEX_GRAVELER, + NATIONAL_DEX_GRIMER, + NATIONAL_DEX_GROUDON, + NATIONAL_DEX_GROVYLE, + NATIONAL_DEX_GROWLITHE, + NATIONAL_DEX_GRUMPIG, + NATIONAL_DEX_GULPIN, + NATIONAL_DEX_GYARADOS, + NATIONAL_DEX_HARIYAMA, + NATIONAL_DEX_HAUNTER, + NATIONAL_DEX_HERACROSS, + NATIONAL_DEX_HITMONCHAN, + NATIONAL_DEX_HITMONLEE, + NATIONAL_DEX_HITMONTOP, + NATIONAL_DEX_HO_OH, + NATIONAL_DEX_HOOTHOOT, + NATIONAL_DEX_HOPPIP, + NATIONAL_DEX_HORSEA, + NATIONAL_DEX_HOUNDOOM, + NATIONAL_DEX_HOUNDOUR, + NATIONAL_DEX_HUNTAIL, + NATIONAL_DEX_HYPNO, + NATIONAL_DEX_IGGLYBUFF, + NATIONAL_DEX_ILLUMISE, + NATIONAL_DEX_IVYSAUR, + NATIONAL_DEX_JIGGLYPUFF, + NATIONAL_DEX_JIRACHI, + NATIONAL_DEX_JOLTEON, + NATIONAL_DEX_JUMPLUFF, + NATIONAL_DEX_JYNX, + NATIONAL_DEX_KABUTO, + NATIONAL_DEX_KABUTOPS, + NATIONAL_DEX_KADABRA, + NATIONAL_DEX_KAKUNA, + NATIONAL_DEX_KANGASKHAN, + NATIONAL_DEX_KECLEON, + NATIONAL_DEX_KINGDRA, + NATIONAL_DEX_KINGLER, + NATIONAL_DEX_KIRLIA, + NATIONAL_DEX_KOFFING, + NATIONAL_DEX_KRABBY, + NATIONAL_DEX_KYOGRE, + NATIONAL_DEX_LAIRON, + NATIONAL_DEX_LANTURN, + NATIONAL_DEX_LAPRAS, + NATIONAL_DEX_LARVITAR, + NATIONAL_DEX_LATIAS, + NATIONAL_DEX_LATIOS, + NATIONAL_DEX_LEDIAN, + NATIONAL_DEX_LEDYBA, + NATIONAL_DEX_LICKITUNG, + NATIONAL_DEX_LILEEP, + NATIONAL_DEX_LINOONE, + NATIONAL_DEX_LOMBRE, + NATIONAL_DEX_LOTAD, + NATIONAL_DEX_LOUDRED, + NATIONAL_DEX_LUDICOLO, + NATIONAL_DEX_LUGIA, + NATIONAL_DEX_LUNATONE, + NATIONAL_DEX_LUVDISC, + NATIONAL_DEX_MACHAMP, + NATIONAL_DEX_MACHOKE, + NATIONAL_DEX_MACHOP, + NATIONAL_DEX_MAGBY, + NATIONAL_DEX_MAGCARGO, + NATIONAL_DEX_MAGIKARP, + NATIONAL_DEX_MAGMAR, + NATIONAL_DEX_MAGNEMITE, + NATIONAL_DEX_MAGNETON, + NATIONAL_DEX_MAKUHITA, + NATIONAL_DEX_MANECTRIC, + NATIONAL_DEX_MANKEY, + NATIONAL_DEX_MANTINE, + NATIONAL_DEX_MAREEP, + NATIONAL_DEX_MARILL, + NATIONAL_DEX_MAROWAK, + NATIONAL_DEX_MARSHTOMP, + NATIONAL_DEX_MASQUERAIN, + NATIONAL_DEX_MAWILE, + NATIONAL_DEX_MEDICHAM, + NATIONAL_DEX_MEDITITE, + NATIONAL_DEX_MEGANIUM, + NATIONAL_DEX_MEOWTH, + NATIONAL_DEX_METAGROSS, + NATIONAL_DEX_METANG, + NATIONAL_DEX_METAPOD, + NATIONAL_DEX_MEW, + NATIONAL_DEX_MEWTWO, + NATIONAL_DEX_MIGHTYENA, + NATIONAL_DEX_MILOTIC, + NATIONAL_DEX_MILTANK, + NATIONAL_DEX_MINUN, + NATIONAL_DEX_MISDREAVUS, + NATIONAL_DEX_MOLTRES, + NATIONAL_DEX_MR_MIME, + NATIONAL_DEX_MUDKIP, + NATIONAL_DEX_MUK, + NATIONAL_DEX_MURKROW, + NATIONAL_DEX_NATU, + NATIONAL_DEX_NIDOKING, + NATIONAL_DEX_NIDOQUEEN, + NATIONAL_DEX_NIDORAN_F, + NATIONAL_DEX_NIDORAN_M, + NATIONAL_DEX_NIDORINA, + NATIONAL_DEX_NIDORINO, + NATIONAL_DEX_NINCADA, + NATIONAL_DEX_NINETALES, + NATIONAL_DEX_NINJASK, + NATIONAL_DEX_NOCTOWL, + NATIONAL_DEX_NOSEPASS, + NATIONAL_DEX_NUMEL, + NATIONAL_DEX_NUZLEAF, + NATIONAL_DEX_OCTILLERY, + NATIONAL_DEX_ODDISH, + NATIONAL_DEX_OMANYTE, + NATIONAL_DEX_OMASTAR, + NATIONAL_DEX_ONIX, + NATIONAL_DEX_PARAS, + NATIONAL_DEX_PARASECT, + NATIONAL_DEX_PELIPPER, + NATIONAL_DEX_PERSIAN, + NATIONAL_DEX_PHANPY, + NATIONAL_DEX_PICHU, + NATIONAL_DEX_PIDGEOT, + NATIONAL_DEX_PIDGEOTTO, + NATIONAL_DEX_PIDGEY, + NATIONAL_DEX_PIKACHU, + NATIONAL_DEX_PILOSWINE, + NATIONAL_DEX_PINECO, + NATIONAL_DEX_PINSIR, + NATIONAL_DEX_PLUSLE, + NATIONAL_DEX_POLITOED, + NATIONAL_DEX_POLIWAG, + NATIONAL_DEX_POLIWHIRL, + NATIONAL_DEX_POLIWRATH, + NATIONAL_DEX_PONYTA, + NATIONAL_DEX_POOCHYENA, + NATIONAL_DEX_PORYGON, + NATIONAL_DEX_PORYGON2, + NATIONAL_DEX_PRIMEAPE, + NATIONAL_DEX_PSYDUCK, + NATIONAL_DEX_PUPITAR, + NATIONAL_DEX_QUAGSIRE, + NATIONAL_DEX_QUILAVA, + NATIONAL_DEX_QWILFISH, + NATIONAL_DEX_RAICHU, + NATIONAL_DEX_RAIKOU, + NATIONAL_DEX_RALTS, + NATIONAL_DEX_RAPIDASH, + NATIONAL_DEX_RATICATE, + NATIONAL_DEX_RATTATA, + NATIONAL_DEX_RAYQUAZA, + NATIONAL_DEX_REGICE, + NATIONAL_DEX_REGIROCK, + NATIONAL_DEX_REGISTEEL, + NATIONAL_DEX_RELICANTH, + NATIONAL_DEX_REMORAID, + NATIONAL_DEX_RHYDON, + NATIONAL_DEX_RHYHORN, + NATIONAL_DEX_ROSELIA, + NATIONAL_DEX_SABLEYE, + NATIONAL_DEX_SALAMENCE, + NATIONAL_DEX_SANDSHREW, + NATIONAL_DEX_SANDSLASH, + NATIONAL_DEX_SCEPTILE, + NATIONAL_DEX_SCIZOR, + NATIONAL_DEX_SCYTHER, + NATIONAL_DEX_SEADRA, + NATIONAL_DEX_SEAKING, + NATIONAL_DEX_SEALEO, + NATIONAL_DEX_SEEDOT, + NATIONAL_DEX_SEEL, + NATIONAL_DEX_SENTRET, + NATIONAL_DEX_SEVIPER, + NATIONAL_DEX_SHARPEDO, + NATIONAL_DEX_SHEDINJA, + NATIONAL_DEX_SHELGON, + NATIONAL_DEX_SHELLDER, + NATIONAL_DEX_SHIFTRY, + NATIONAL_DEX_SHROOMISH, + NATIONAL_DEX_SHUCKLE, + NATIONAL_DEX_SHUPPET, + NATIONAL_DEX_SILCOON, + NATIONAL_DEX_SKARMORY, + NATIONAL_DEX_SKIPLOOM, + NATIONAL_DEX_SKITTY, + NATIONAL_DEX_SLAKING, + NATIONAL_DEX_SLAKOTH, + NATIONAL_DEX_SLOWBRO, + NATIONAL_DEX_SLOWKING, + NATIONAL_DEX_SLOWPOKE, + NATIONAL_DEX_SLUGMA, + NATIONAL_DEX_SMEARGLE, + NATIONAL_DEX_SMOOCHUM, + NATIONAL_DEX_SNEASEL, + NATIONAL_DEX_SNORLAX, + NATIONAL_DEX_SNORUNT, + NATIONAL_DEX_SNUBBULL, + NATIONAL_DEX_SOLROCK, + NATIONAL_DEX_SPEAROW, + NATIONAL_DEX_SPHEAL, + NATIONAL_DEX_SPINARAK, + NATIONAL_DEX_SPINDA, + NATIONAL_DEX_SPOINK, + NATIONAL_DEX_SQUIRTLE, + NATIONAL_DEX_STANTLER, + NATIONAL_DEX_STARMIE, + NATIONAL_DEX_STARYU, + NATIONAL_DEX_STEELIX, + NATIONAL_DEX_SUDOWOODO, + NATIONAL_DEX_SUICUNE, + NATIONAL_DEX_SUNFLORA, + NATIONAL_DEX_SUNKERN, + NATIONAL_DEX_SURSKIT, + NATIONAL_DEX_SWABLU, + NATIONAL_DEX_SWALOT, + NATIONAL_DEX_SWAMPERT, + NATIONAL_DEX_SWELLOW, + NATIONAL_DEX_SWINUB, + NATIONAL_DEX_TAILLOW, + NATIONAL_DEX_TANGELA, + NATIONAL_DEX_TAUROS, + NATIONAL_DEX_TEDDIURSA, + NATIONAL_DEX_TENTACOOL, + NATIONAL_DEX_TENTACRUEL, + NATIONAL_DEX_TOGEPI, + NATIONAL_DEX_TOGETIC, + NATIONAL_DEX_TORCHIC, + NATIONAL_DEX_TORKOAL, + NATIONAL_DEX_TOTODILE, + NATIONAL_DEX_TRAPINCH, + NATIONAL_DEX_TREECKO, + NATIONAL_DEX_TROPIUS, + NATIONAL_DEX_TYPHLOSION, + NATIONAL_DEX_TYRANITAR, + NATIONAL_DEX_TYROGUE, + NATIONAL_DEX_UMBREON, + NATIONAL_DEX_UNOWN, + NATIONAL_DEX_URSARING, + NATIONAL_DEX_VAPOREON, + NATIONAL_DEX_VENOMOTH, + NATIONAL_DEX_VENONAT, + NATIONAL_DEX_VENUSAUR, + NATIONAL_DEX_VIBRAVA, + NATIONAL_DEX_VICTREEBEL, + NATIONAL_DEX_VIGOROTH, + NATIONAL_DEX_VILEPLUME, + NATIONAL_DEX_VOLBEAT, + NATIONAL_DEX_VOLTORB, + NATIONAL_DEX_VULPIX, + NATIONAL_DEX_WAILMER, + NATIONAL_DEX_WAILORD, + NATIONAL_DEX_WALREIN, + NATIONAL_DEX_WARTORTLE, + NATIONAL_DEX_WEEDLE, + NATIONAL_DEX_WEEPINBELL, + NATIONAL_DEX_WEEZING, + NATIONAL_DEX_WHISCASH, + NATIONAL_DEX_WHISMUR, + NATIONAL_DEX_WIGGLYTUFF, + NATIONAL_DEX_WINGULL, + NATIONAL_DEX_WOBBUFFET, + NATIONAL_DEX_WOOPER, + NATIONAL_DEX_WURMPLE, + NATIONAL_DEX_WYNAUT, + NATIONAL_DEX_XATU, + NATIONAL_DEX_YANMA, + NATIONAL_DEX_ZANGOOSE, + NATIONAL_DEX_ZAPDOS, + NATIONAL_DEX_ZIGZAGOON, + NATIONAL_DEX_ZUBAT +}; + +const u16 gPokedexOrder_Weight[] = +{ + NATIONAL_DEX_GASTLY, + NATIONAL_DEX_HAUNTER, + NATIONAL_DEX_HOPPIP, + NATIONAL_DEX_DIGLETT, + NATIONAL_DEX_CASTFORM, + NATIONAL_DEX_KOFFING, + NATIONAL_DEX_IGGLYBUFF, + NATIONAL_DEX_MISDREAVUS, + NATIONAL_DEX_CHIMECHO, + NATIONAL_DEX_SKIPLOOM, + NATIONAL_DEX_JIRACHI, + NATIONAL_DEX_SWABLU, + NATIONAL_DEX_SHEDINJA, + NATIONAL_DEX_TOGEPI, + NATIONAL_DEX_SURSKIT, + NATIONAL_DEX_PIDGEY, + NATIONAL_DEX_SUNKERN, + NATIONAL_DEX_BARBOACH, + NATIONAL_DEX_PICHU, + NATIONAL_DEX_AZURILL, + NATIONAL_DEX_ROSELIA, + NATIONAL_DEX_NATU, + NATIONAL_DEX_SPEAROW, + NATIONAL_DEX_MURKROW, + NATIONAL_DEX_SHUPPET, + NATIONAL_DEX_TAILLOW, + NATIONAL_DEX_EXEGGCUTE, + NATIONAL_DEX_TORCHIC, + NATIONAL_DEX_LOTAD, + NATIONAL_DEX_CATERPIE, + NATIONAL_DEX_JUMPLUFF, + NATIONAL_DEX_CLEFFA, + NATIONAL_DEX_WEEDLE, + NATIONAL_DEX_TOGETIC, + NATIONAL_DEX_DRATINI, + NATIONAL_DEX_RATTATA, + NATIONAL_DEX_MASQUERAIN, + NATIONAL_DEX_WURMPLE, + NATIONAL_DEX_QWILFISH, + NATIONAL_DEX_MEW, + NATIONAL_DEX_SHELLDER, + NATIONAL_DEX_SEEDOT, + NATIONAL_DEX_DITTO, + NATIONAL_DEX_BELLSPROUT, + NATIONAL_DEX_PLUSLE, + NATIONAL_DEX_MEOWTH, + NATIONAL_DEX_MINUN, + NATIONAL_DEX_SHROOMISH, + NATIONAL_DEX_CELEBI, + NATIONAL_DEX_CORSOLA, + NATIONAL_DEX_TREECKO, + NATIONAL_DEX_SPINDA, + NATIONAL_DEX_UNOWN, + NATIONAL_DEX_PARAS, + NATIONAL_DEX_ODDISH, + NATIONAL_DEX_JIGGLYPUFF, + NATIONAL_DEX_NINCADA, + NATIONAL_DEX_BELLOSSOM, + NATIONAL_DEX_MAGNEMITE, + NATIONAL_DEX_PIKACHU, + NATIONAL_DEX_SMOOCHUM, + NATIONAL_DEX_SENTRET, + NATIONAL_DEX_WEEPINBELL, + NATIONAL_DEX_CHIKORITA, + NATIONAL_DEX_SWINUB, + NATIONAL_DEX_EEVEE, + NATIONAL_DEX_KRABBY, + NATIONAL_DEX_CUBONE, + NATIONAL_DEX_RALTS, + NATIONAL_DEX_BULBASAUR, + NATIONAL_DEX_EKANS, + NATIONAL_DEX_NIDORAN_F, + NATIONAL_DEX_PINECO, + NATIONAL_DEX_FEEBAS, + NATIONAL_DEX_OMANYTE, + NATIONAL_DEX_ZUBAT, + NATIONAL_DEX_CLEFAIRY, + NATIONAL_DEX_MUDKIP, + NATIONAL_DEX_SNUBBULL, + NATIONAL_DEX_MAREEP, + NATIONAL_DEX_CYNDAQUIL, + NATIONAL_DEX_HORSEA, + NATIONAL_DEX_CHARMANDER, + NATIONAL_DEX_SUNFLORA, + NATIONAL_DEX_MARILL, + NATIONAL_DEX_WOOPER, + NATIONAL_DEX_SPINARAK, + NATIONAL_DEX_GLOOM, + NATIONAL_DEX_LUVDISC, + NATIONAL_DEX_TEDDIURSA, + NATIONAL_DEX_NIDORAN_M, + NATIONAL_DEX_SQUIRTLE, + NATIONAL_DEX_WINGULL, + NATIONAL_DEX_TOTODILE, + NATIONAL_DEX_WEEZING, + NATIONAL_DEX_VULPIX, + NATIONAL_DEX_METAPOD, + NATIONAL_DEX_SILCOON, + NATIONAL_DEX_MAGIKARP, + NATIONAL_DEX_KAKUNA, + NATIONAL_DEX_GULPIN, + NATIONAL_DEX_VOLTORB, + NATIONAL_DEX_LEDYBA, + NATIONAL_DEX_HOUNDOUR, + NATIONAL_DEX_SKITTY, + NATIONAL_DEX_SABLEYE, + NATIONAL_DEX_MEDITITE, + NATIONAL_DEX_CORPHISH, + NATIONAL_DEX_AIPOM, + NATIONAL_DEX_CASCOON, + NATIONAL_DEX_MAWILE, + NATIONAL_DEX_KABUTO, + NATIONAL_DEX_WIGGLYTUFF, + NATIONAL_DEX_SANDSHREW, + NATIONAL_DEX_REMORAID, + NATIONAL_DEX_NINJASK, + NATIONAL_DEX_CHINCHOU, + NATIONAL_DEX_POLIWAG, + NATIONAL_DEX_ANORITH, + NATIONAL_DEX_VENOMOTH, + NATIONAL_DEX_BANETTE, + NATIONAL_DEX_IVYSAUR, + NATIONAL_DEX_FLAAFFY, + NATIONAL_DEX_POOCHYENA, + NATIONAL_DEX_WYNAUT, + NATIONAL_DEX_DUNSPARCE, + NATIONAL_DEX_XATU, + NATIONAL_DEX_DUSKULL, + NATIONAL_DEX_FARFETCHD, + NATIONAL_DEX_TRAPINCH, + NATIONAL_DEX_GOLDEEN, + NATIONAL_DEX_ELECTRIKE, + NATIONAL_DEX_VIBRAVA, + NATIONAL_DEX_VICTREEBEL, + NATIONAL_DEX_BAYLEEF, + NATIONAL_DEX_DELIBIRD, + NATIONAL_DEX_WHISMUR, + NATIONAL_DEX_DRAGONAIR, + NATIONAL_DEX_SNORUNT, + NATIONAL_DEX_ZIGZAGOON, + NATIONAL_DEX_ILLUMISE, + NATIONAL_DEX_VOLBEAT, + NATIONAL_DEX_RATICATE, + NATIONAL_DEX_VILEPLUME, + NATIONAL_DEX_QUILAVA, + NATIONAL_DEX_CHARMELEON, + NATIONAL_DEX_GROWLITHE, + NATIONAL_DEX_COMBUSKEN, + NATIONAL_DEX_MACHOP, + NATIONAL_DEX_ABRA, + NATIONAL_DEX_NIDORINO, + NATIONAL_DEX_PSYDUCK, + NATIONAL_DEX_SWELLOW, + NATIONAL_DEX_NINETALES, + NATIONAL_DEX_NIDORINA, + NATIONAL_DEX_POLIWHIRL, + NATIONAL_DEX_GEODUDE, + NATIONAL_DEX_KIRLIA, + NATIONAL_DEX_SHUCKLE, + NATIONAL_DEX_ALTARIA, + NATIONAL_DEX_CARVANHA, + NATIONAL_DEX_TYROGUE, + NATIONAL_DEX_HOOTHOOT, + NATIONAL_DEX_MAGBY, + NATIONAL_DEX_BALTOY, + NATIONAL_DEX_GROVYLE, + NATIONAL_DEX_KECLEON, + NATIONAL_DEX_LANTURN, + NATIONAL_DEX_WARTORTLE, + NATIONAL_DEX_GOREBYSS, + NATIONAL_DEX_RELICANTH, + NATIONAL_DEX_ELEKID, + NATIONAL_DEX_WHISCASH, + NATIONAL_DEX_LILEEP, + NATIONAL_DEX_NUMEL, + NATIONAL_DEX_SLAKOTH, + NATIONAL_DEX_JOLTEON, + NATIONAL_DEX_CROCONAW, + NATIONAL_DEX_FLAREON, + NATIONAL_DEX_SEADRA, + NATIONAL_DEX_ESPEON, + NATIONAL_DEX_HUNTAIL, + NATIONAL_DEX_UMBREON, + NATIONAL_DEX_MARSHTOMP, + NATIONAL_DEX_NUZLEAF, + NATIONAL_DEX_SNEASEL, + NATIONAL_DEX_MANKEY, + NATIONAL_DEX_PELIPPER, + NATIONAL_DEX_BEAUTIFLY, + NATIONAL_DEX_OCTILLERY, + NATIONAL_DEX_AZUMARILL, + NATIONAL_DEX_WOBBUFFET, + NATIONAL_DEX_VAPOREON, + NATIONAL_DEX_SANDSLASH, + NATIONAL_DEX_PARASECT, + NATIONAL_DEX_BEEDRILL, + NATIONAL_DEX_MUK, + NATIONAL_DEX_PIDGEOTTO, + NATIONAL_DEX_GRIMER, + NATIONAL_DEX_RAICHU, + NATIONAL_DEX_PONYTA, + NATIONAL_DEX_ELECTABUZZ, + NATIONAL_DEX_VENONAT, + NATIONAL_DEX_SPOINK, + NATIONAL_DEX_DUSCLOPS, + NATIONAL_DEX_MEDICHAM, + NATIONAL_DEX_DUSTOX, + NATIONAL_DEX_PERSIAN, + NATIONAL_DEX_BUTTERFREE, + NATIONAL_DEX_PRIMEAPE, + NATIONAL_DEX_DROWZEE, + NATIONAL_DEX_FURRET, + NATIONAL_DEX_PORYGON2, + NATIONAL_DEX_LOMBRE, + NATIONAL_DEX_LINOONE, + NATIONAL_DEX_DELCATTY, + NATIONAL_DEX_CRAWDAUNT, + NATIONAL_DEX_DUGTRIO, + NATIONAL_DEX_ARIADOS, + NATIONAL_DEX_PHANPY, + NATIONAL_DEX_POLITOED, + NATIONAL_DEX_STARYU, + NATIONAL_DEX_CHANSEY, + NATIONAL_DEX_OMASTAR, + NATIONAL_DEX_TANGELA, + NATIONAL_DEX_SLUGMA, + NATIONAL_DEX_HOUNDOOM, + NATIONAL_DEX_LEDIAN, + NATIONAL_DEX_SLOWPOKE, + NATIONAL_DEX_PORYGON, + NATIONAL_DEX_MIGHTYENA, + NATIONAL_DEX_YANMA, + NATIONAL_DEX_FEAROW, + NATIONAL_DEX_SUDOWOODO, + NATIONAL_DEX_SEAKING, + NATIONAL_DEX_BRELOOM, + NATIONAL_DEX_DODUO, + NATIONAL_DEX_PIDGEOT, + NATIONAL_DEX_SPHEAL, + NATIONAL_DEX_CLEFABLE, + NATIONAL_DEX_LATIAS, + NATIONAL_DEX_MANECTRIC, + NATIONAL_DEX_ZANGOOSE, + NATIONAL_DEX_KABUTOPS, + NATIONAL_DEX_GENGAR, + NATIONAL_DEX_LOUDRED, + NATIONAL_DEX_JYNX, + NATIONAL_DEX_NOCTOWL, + NATIONAL_DEX_GIRAFARIG, + NATIONAL_DEX_BAGON, + NATIONAL_DEX_MAGMAR, + NATIONAL_DEX_MAROWAK, + NATIONAL_DEX_TENTACOOL, + NATIONAL_DEX_VIGOROTH, + NATIONAL_DEX_BLISSEY, + NATIONAL_DEX_ABSOL, + NATIONAL_DEX_ALAKAZAM, + NATIONAL_DEX_HITMONTOP, + NATIONAL_DEX_GARDEVOIR, + NATIONAL_DEX_GRANBULL, + NATIONAL_DEX_HITMONLEE, + NATIONAL_DEX_HITMONCHAN, + NATIONAL_DEX_SKARMORY, + NATIONAL_DEX_CACNEA, + NATIONAL_DEX_BLAZIKEN, + NATIONAL_DEX_SCEPTILE, + NATIONAL_DEX_SEVIPER, + NATIONAL_DEX_CLAMPERL, + NATIONAL_DEX_ZAPDOS, + NATIONAL_DEX_HERACROSS, + NATIONAL_DEX_POLIWRATH, + NATIONAL_DEX_MR_MIME, + NATIONAL_DEX_PINSIR, + NATIONAL_DEX_LUDICOLO, + NATIONAL_DEX_TENTACRUEL, + NATIONAL_DEX_GOLBAT, + NATIONAL_DEX_MAGCARGO, + NATIONAL_DEX_ARTICUNO, + NATIONAL_DEX_PILOSWINE, + NATIONAL_DEX_SCYTHER, + NATIONAL_DEX_KADABRA, + NATIONAL_DEX_SMEARGLE, + NATIONAL_DEX_AERODACTYL, + NATIONAL_DEX_SHIFTRY, + NATIONAL_DEX_KINGLER, + NATIONAL_DEX_NIDOQUEEN, + NATIONAL_DEX_MAGNETON, + NATIONAL_DEX_ARON, + NATIONAL_DEX_LATIOS, + NATIONAL_DEX_MOLTRES, + NATIONAL_DEX_CRADILY, + NATIONAL_DEX_DEOXYS, + NATIONAL_DEX_AMPHAROS, + NATIONAL_DEX_NIDOKING, + NATIONAL_DEX_GLIGAR, + NATIONAL_DEX_ARBOK, + NATIONAL_DEX_LICKITUNG, + NATIONAL_DEX_ELECTRODE, + NATIONAL_DEX_ARMALDO, + NATIONAL_DEX_MACHOKE, + NATIONAL_DEX_STANTLER, + NATIONAL_DEX_GRUMPIG, + NATIONAL_DEX_LARVITAR, + NATIONAL_DEX_CROBAT, + NATIONAL_DEX_QUAGSIRE, + NATIONAL_DEX_MILTANK, + NATIONAL_DEX_HYPNO, + NATIONAL_DEX_GOLDUCK, + NATIONAL_DEX_CACTURNE, + NATIONAL_DEX_SLOWBRO, + NATIONAL_DEX_TYPHLOSION, + NATIONAL_DEX_SLOWKING, + NATIONAL_DEX_KANGASKHAN, + NATIONAL_DEX_STARMIE, + NATIONAL_DEX_SWALOT, + NATIONAL_DEX_TORKOAL, + NATIONAL_DEX_SWAMPERT, + NATIONAL_DEX_FLYGON, + NATIONAL_DEX_EXPLOUD, + NATIONAL_DEX_DODRIO, + NATIONAL_DEX_BLASTOISE, + NATIONAL_DEX_MAKUHITA, + NATIONAL_DEX_SEALEO, + NATIONAL_DEX_TAUROS, + NATIONAL_DEX_SHARPEDO, + NATIONAL_DEX_FERALIGATR, + NATIONAL_DEX_SEEL, + NATIONAL_DEX_CHARIZARD, + NATIONAL_DEX_RAPIDASH, + NATIONAL_DEX_BELDUM, + NATIONAL_DEX_NOSEPASS, + NATIONAL_DEX_VENUSAUR, + NATIONAL_DEX_TROPIUS, + NATIONAL_DEX_MEGANIUM, + NATIONAL_DEX_SALAMENCE, + NATIONAL_DEX_GRAVELER, + NATIONAL_DEX_CLAYDOL, + NATIONAL_DEX_SHELGON, + NATIONAL_DEX_RHYHORN, + NATIONAL_DEX_SCIZOR, + NATIONAL_DEX_DEWGONG, + NATIONAL_DEX_RHYDON, + NATIONAL_DEX_DONPHAN, + NATIONAL_DEX_EXEGGUTOR, + NATIONAL_DEX_LAIRON, + NATIONAL_DEX_MEWTWO, + NATIONAL_DEX_URSARING, + NATIONAL_DEX_FORRETRESS, + NATIONAL_DEX_MACHAMP, + NATIONAL_DEX_WAILMER, + NATIONAL_DEX_SLAKING, + NATIONAL_DEX_CLOYSTER, + NATIONAL_DEX_WALREIN, + NATIONAL_DEX_PUPITAR, + NATIONAL_DEX_KINGDRA, + NATIONAL_DEX_SOLROCK, + NATIONAL_DEX_ARCANINE, + NATIONAL_DEX_MILOTIC, + NATIONAL_DEX_LUNATONE, + NATIONAL_DEX_REGICE, + NATIONAL_DEX_RAIKOU, + NATIONAL_DEX_SUICUNE, + NATIONAL_DEX_ENTEI, + NATIONAL_DEX_HO_OH, + NATIONAL_DEX_TYRANITAR, + NATIONAL_DEX_METANG, + NATIONAL_DEX_REGISTEEL, + NATIONAL_DEX_RAYQUAZA, + NATIONAL_DEX_ONIX, + NATIONAL_DEX_DRAGONITE, + NATIONAL_DEX_LUGIA, + NATIONAL_DEX_LAPRAS, + NATIONAL_DEX_CAMERUPT, + NATIONAL_DEX_MANTINE, + NATIONAL_DEX_REGIROCK, + NATIONAL_DEX_GYARADOS, + NATIONAL_DEX_HARIYAMA, + NATIONAL_DEX_GLALIE, + NATIONAL_DEX_GOLEM, + NATIONAL_DEX_KYOGRE, + NATIONAL_DEX_AGGRON, + NATIONAL_DEX_WAILORD, + NATIONAL_DEX_STEELIX, + NATIONAL_DEX_SNORLAX, + NATIONAL_DEX_METAGROSS, + NATIONAL_DEX_GROUDON +}; + +const u16 gPokedexOrder_Height[] = +{ + NATIONAL_DEX_DIGLETT, + NATIONAL_DEX_AZURILL, + NATIONAL_DEX_NATU, + NATIONAL_DEX_WEEDLE, + NATIONAL_DEX_PICHU, + NATIONAL_DEX_CLEFFA, + NATIONAL_DEX_TOGEPI, + NATIONAL_DEX_CASTFORM, + NATIONAL_DEX_IGGLYBUFF, + NATIONAL_DEX_CATERPIE, + NATIONAL_DEX_TAILLOW, + NATIONAL_DEX_DITTO, + NATIONAL_DEX_EEVEE, + NATIONAL_DEX_ROSELIA, + NATIONAL_DEX_SPEAROW, + NATIONAL_DEX_PIDGEY, + NATIONAL_DEX_SUNKERN, + NATIONAL_DEX_SHELLDER, + NATIONAL_DEX_RATTATA, + NATIONAL_DEX_MAGNEMITE, + NATIONAL_DEX_PARAS, + NATIONAL_DEX_WURMPLE, + NATIONAL_DEX_JIRACHI, + NATIONAL_DEX_CUBONE, + NATIONAL_DEX_MUDKIP, + NATIONAL_DEX_WOOPER, + NATIONAL_DEX_HORSEA, + NATIONAL_DEX_MEOWTH, + NATIONAL_DEX_NIDORAN_F, + NATIONAL_DEX_SWINUB, + NATIONAL_DEX_MEW, + NATIONAL_DEX_SWABLU, + NATIONAL_DEX_ARON, + NATIONAL_DEX_PLUSLE, + NATIONAL_DEX_MINUN, + NATIONAL_DEX_EXEGGCUTE, + NATIONAL_DEX_PIKACHU, + NATIONAL_DEX_BELLOSSOM, + NATIONAL_DEX_GULPIN, + NATIONAL_DEX_ZIGZAGOON, + NATIONAL_DEX_SHROOMISH, + NATIONAL_DEX_OMANYTE, + NATIONAL_DEX_CACNEA, + NATIONAL_DEX_KRABBY, + NATIONAL_DEX_RALTS, + NATIONAL_DEX_HOPPIP, + NATIONAL_DEX_TORCHIC, + NATIONAL_DEX_CLAMPERL, + NATIONAL_DEX_GEODUDE, + NATIONAL_DEX_MARILL, + NATIONAL_DEX_BARBOACH, + NATIONAL_DEX_SMOOCHUM, + NATIONAL_DEX_VOLTORB, + NATIONAL_DEX_NINCADA, + NATIONAL_DEX_SABLEYE, + NATIONAL_DEX_MURKROW, + NATIONAL_DEX_QWILFISH, + NATIONAL_DEX_SQUIRTLE, + NATIONAL_DEX_TREECKO, + NATIONAL_DEX_BALTOY, + NATIONAL_DEX_ODDISH, + NATIONAL_DEX_LOTAD, + NATIONAL_DEX_JIGGLYPUFF, + NATIONAL_DEX_SURSKIT, + NATIONAL_DEX_CYNDAQUIL, + NATIONAL_DEX_KABUTO, + NATIONAL_DEX_LINOONE, + NATIONAL_DEX_TORKOAL, + NATIONAL_DEX_NIDORAN_M, + NATIONAL_DEX_SPINARAK, + NATIONAL_DEX_MANKEY, + NATIONAL_DEX_SEEDOT, + NATIONAL_DEX_POOCHYENA, + NATIONAL_DEX_PHANPY, + NATIONAL_DEX_UNOWN, + NATIONAL_DEX_CHINCHOU, + NATIONAL_DEX_PORYGON2, + NATIONAL_DEX_POLIWAG, + NATIONAL_DEX_BAGON, + NATIONAL_DEX_FEEBAS, + NATIONAL_DEX_SHUPPET, + NATIONAL_DEX_TOTODILE, + NATIONAL_DEX_CELEBI, + NATIONAL_DEX_WYNAUT, + NATIONAL_DEX_SANDSHREW, + NATIONAL_DEX_CHIMECHO, + NATIONAL_DEX_LUVDISC, + NATIONAL_DEX_HOUNDOUR, + NATIONAL_DEX_SILCOON, + NATIONAL_DEX_ELECTRIKE, + NATIONAL_DEX_CHARMANDER, + NATIONAL_DEX_MEDITITE, + NATIONAL_DEX_WINGULL, + NATIONAL_DEX_REMORAID, + NATIONAL_DEX_CORPHISH, + NATIONAL_DEX_CORSOLA, + NATIONAL_DEX_ILLUMISE, + NATIONAL_DEX_SNUBBULL, + NATIONAL_DEX_VULPIX, + NATIONAL_DEX_LARVITAR, + NATIONAL_DEX_BELDUM, + NATIONAL_DEX_WHISMUR, + NATIONAL_DEX_PINECO, + NATIONAL_DEX_ELEKID, + NATIONAL_DEX_CLEFAIRY, + NATIONAL_DEX_SHUCKLE, + NATIONAL_DEX_TEDDIURSA, + NATIONAL_DEX_KAKUNA, + NATIONAL_DEX_SKITTY, + NATIONAL_DEX_TOGETIC, + NATIONAL_DEX_GOLDEEN, + NATIONAL_DEX_MAWILE, + NATIONAL_DEX_MAREEP, + NATIONAL_DEX_SKIPLOOM, + NATIONAL_DEX_KOFFING, + NATIONAL_DEX_DUGTRIO, + NATIONAL_DEX_CASCOON, + NATIONAL_DEX_NUMEL, + NATIONAL_DEX_ANORITH, + NATIONAL_DEX_VOLBEAT, + NATIONAL_DEX_HOOTHOOT, + NATIONAL_DEX_TRAPINCH, + NATIONAL_DEX_SPOINK, + NATIONAL_DEX_METAPOD, + NATIONAL_DEX_BELLSPROUT, + NATIONAL_DEX_SNORUNT, + NATIONAL_DEX_RATICATE, + NATIONAL_DEX_MARSHTOMP, + NATIONAL_DEX_SWELLOW, + NATIONAL_DEX_MAGBY, + NATIONAL_DEX_GROWLITHE, + NATIONAL_DEX_MISDREAVUS, + NATIONAL_DEX_BULBASAUR, + NATIONAL_DEX_TYROGUE, + NATIONAL_DEX_SLUGMA, + NATIONAL_DEX_SLAKOTH, + NATIONAL_DEX_KIRLIA, + NATIONAL_DEX_AIPOM, + NATIONAL_DEX_JOLTEON, + NATIONAL_DEX_NIDORINA, + NATIONAL_DEX_AZUMARILL, + NATIONAL_DEX_SHEDINJA, + NATIONAL_DEX_MACHOP, + NATIONAL_DEX_NINJASK, + NATIONAL_DEX_MASQUERAIN, + NATIONAL_DEX_DUSKULL, + NATIONAL_DEX_SUNFLORA, + NATIONAL_DEX_JUMPLUFF, + NATIONAL_DEX_STARYU, + NATIONAL_DEX_FLAAFFY, + NATIONAL_DEX_SPHEAL, + NATIONAL_DEX_PSYDUCK, + NATIONAL_DEX_MAGCARGO, + NATIONAL_DEX_FARFETCHD, + NATIONAL_DEX_ZUBAT, + NATIONAL_DEX_PORYGON, + NATIONAL_DEX_SENTRET, + NATIONAL_DEX_CARVANHA, + NATIONAL_DEX_GLOOM, + NATIONAL_DEX_RAICHU, + NATIONAL_DEX_MAGIKARP, + NATIONAL_DEX_SNEASEL, + NATIONAL_DEX_LAIRON, + NATIONAL_DEX_COMBUSKEN, + NATIONAL_DEX_OCTILLERY, + NATIONAL_DEX_NIDORINO, + NATIONAL_DEX_FLAREON, + NATIONAL_DEX_DELIBIRD, + NATIONAL_DEX_TENTACOOL, + NATIONAL_DEX_ABRA, + NATIONAL_DEX_GROVYLE, + NATIONAL_DEX_WHISCASH, + NATIONAL_DEX_QUILAVA, + NATIONAL_DEX_ESPEON, + NATIONAL_DEX_GRIMER, + NATIONAL_DEX_CHIKORITA, + NATIONAL_DEX_GRUMPIG, + NATIONAL_DEX_NOSEPASS, + NATIONAL_DEX_PERSIAN, + NATIONAL_DEX_MIGHTYENA, + NATIONAL_DEX_VENONAT, + NATIONAL_DEX_MAGNETON, + NATIONAL_DEX_PONYTA, + NATIONAL_DEX_MAKUHITA, + NATIONAL_DEX_LUNATONE, + NATIONAL_DEX_SANDSLASH, + NATIONAL_DEX_DROWZEE, + NATIONAL_DEX_TANGELA, + NATIONAL_DEX_PRIMEAPE, + NATIONAL_DEX_LEDYBA, + NATIONAL_DEX_WIGGLYTUFF, + NATIONAL_DEX_PARASECT, + NATIONAL_DEX_OMASTAR, + NATIONAL_DEX_LOUDRED, + NATIONAL_DEX_WARTORTLE, + NATIONAL_DEX_GRAVELER, + NATIONAL_DEX_UMBREON, + NATIONAL_DEX_LILEEP, + NATIONAL_DEX_POLIWHIRL, + NATIONAL_DEX_VAPOREON, + NATIONAL_DEX_BEEDRILL, + NATIONAL_DEX_MAROWAK, + NATIONAL_DEX_WEEPINBELL, + NATIONAL_DEX_RELICANTH, + NATIONAL_DEX_RHYHORN, + NATIONAL_DEX_IVYSAUR, + NATIONAL_DEX_KECLEON, + NATIONAL_DEX_NUZLEAF, + NATIONAL_DEX_BEAUTIFLY, + NATIONAL_DEX_PIDGEOTTO, + NATIONAL_DEX_ARIADOS, + NATIONAL_DEX_SEEL, + NATIONAL_DEX_POLITOED, + NATIONAL_DEX_CROCONAW, + NATIONAL_DEX_CHANSEY, + NATIONAL_DEX_BANETTE, + NATIONAL_DEX_DONPHAN, + NATIONAL_DEX_STARMIE, + NATIONAL_DEX_CHARMELEON, + NATIONAL_DEX_PILOSWINE, + NATIONAL_DEX_BUTTERFREE, + NATIONAL_DEX_VIBRAVA, + NATIONAL_DEX_ELECTABUZZ, + NATIONAL_DEX_CRAWDAUNT, + NATIONAL_DEX_DELCATTY, + NATIONAL_DEX_ALTARIA, + NATIONAL_DEX_SHELGON, + NATIONAL_DEX_NINETALES, + NATIONAL_DEX_GLIGAR, + NATIONAL_DEX_SEALEO, + NATIONAL_DEX_SPINDA, + NATIONAL_DEX_PUPITAR, + NATIONAL_DEX_SLOWPOKE, + NATIONAL_DEX_SOLROCK, + NATIONAL_DEX_MILTANK, + NATIONAL_DEX_FEAROW, + NATIONAL_DEX_VILEPLUME, + NATIONAL_DEX_MUK, + NATIONAL_DEX_FORRETRESS, + NATIONAL_DEX_SUDOWOODO, + NATIONAL_DEX_ABSOL, + NATIONAL_DEX_YANMA, + NATIONAL_DEX_DUSTOX, + NATIONAL_DEX_LICKITUNG, + NATIONAL_DEX_SMEARGLE, + NATIONAL_DEX_LANTURN, + NATIONAL_DEX_ELECTRODE, + NATIONAL_DEX_LOMBRE, + NATIONAL_DEX_BRELOOM, + NATIONAL_DEX_BAYLEEF, + NATIONAL_DEX_SEADRA, + NATIONAL_DEX_WEEZING, + NATIONAL_DEX_PELIPPER, + NATIONAL_DEX_METANG, + NATIONAL_DEX_NIDOQUEEN, + NATIONAL_DEX_CACTURNE, + NATIONAL_DEX_SHIFTRY, + NATIONAL_DEX_MEDICHAM, + NATIONAL_DEX_ZANGOOSE, + NATIONAL_DEX_KABUTOPS, + NATIONAL_DEX_KINGLER, + NATIONAL_DEX_KADABRA, + NATIONAL_DEX_SEAKING, + NATIONAL_DEX_CLEFABLE, + NATIONAL_DEX_MAGMAR, + NATIONAL_DEX_WOBBUFFET, + NATIONAL_DEX_GASTLY, + NATIONAL_DEX_MR_MIME, + NATIONAL_DEX_POLIWRATH, + NATIONAL_DEX_TAUROS, + NATIONAL_DEX_LATIAS, + NATIONAL_DEX_AMPHAROS, + NATIONAL_DEX_VIGOROTH, + NATIONAL_DEX_LEDIAN, + NATIONAL_DEX_GOLEM, + NATIONAL_DEX_WALREIN, + NATIONAL_DEX_DODUO, + NATIONAL_DEX_HOUNDOOM, + NATIONAL_DEX_NIDOKING, + NATIONAL_DEX_JYNX, + NATIONAL_DEX_HITMONCHAN, + NATIONAL_DEX_STANTLER, + NATIONAL_DEX_GRANBULL, + NATIONAL_DEX_HITMONTOP, + NATIONAL_DEX_QUAGSIRE, + NATIONAL_DEX_CLAYDOL, + NATIONAL_DEX_SWAMPERT, + NATIONAL_DEX_BLISSEY, + NATIONAL_DEX_LUDICOLO, + NATIONAL_DEX_EXPLOUD, + NATIONAL_DEX_DUNSPARCE, + NATIONAL_DEX_PINSIR, + NATIONAL_DEX_CLOYSTER, + NATIONAL_DEX_MACHOKE, + NATIONAL_DEX_GIRAFARIG, + NATIONAL_DEX_PIDGEOT, + NATIONAL_DEX_XATU, + NATIONAL_DEX_CRADILY, + NATIONAL_DEX_HITMONLEE, + NATIONAL_DEX_VENOMOTH, + NATIONAL_DEX_GENGAR, + NATIONAL_DEX_HERACROSS, + NATIONAL_DEX_GLALIE, + NATIONAL_DEX_SCYTHER, + NATIONAL_DEX_SALAMENCE, + NATIONAL_DEX_MANECTRIC, + NATIONAL_DEX_ARMALDO, + NATIONAL_DEX_ALAKAZAM, + NATIONAL_DEX_HYPNO, + NATIONAL_DEX_NOCTOWL, + NATIONAL_DEX_TENTACRUEL, + NATIONAL_DEX_DUSCLOPS, + NATIONAL_DEX_ZAPDOS, + NATIONAL_DEX_GOLBAT, + NATIONAL_DEX_METAGROSS, + NATIONAL_DEX_GARDEVOIR, + NATIONAL_DEX_BLASTOISE, + NATIONAL_DEX_SLOWBRO, + NATIONAL_DEX_HAUNTER, + NATIONAL_DEX_MACHAMP, + NATIONAL_DEX_REGIROCK, + NATIONAL_DEX_SWALOT, + NATIONAL_DEX_SCEPTILE, + NATIONAL_DEX_SKARMORY, + NATIONAL_DEX_GOLDUCK, + NATIONAL_DEX_DEOXYS, + NATIONAL_DEX_VICTREEBEL, + NATIONAL_DEX_RAPIDASH, + NATIONAL_DEX_CHARIZARD, + NATIONAL_DEX_HUNTAIL, + NATIONAL_DEX_DEWGONG, + NATIONAL_DEX_ARTICUNO, + NATIONAL_DEX_TYPHLOSION, + NATIONAL_DEX_AERODACTYL, + NATIONAL_DEX_GOREBYSS, + NATIONAL_DEX_URSARING, + NATIONAL_DEX_MEGANIUM, + NATIONAL_DEX_REGICE, + NATIONAL_DEX_SCIZOR, + NATIONAL_DEX_KINGDRA, + NATIONAL_DEX_DRATINI, + NATIONAL_DEX_DODRIO, + NATIONAL_DEX_SHARPEDO, + NATIONAL_DEX_CROBAT, + NATIONAL_DEX_FURRET, + NATIONAL_DEX_ARCANINE, + NATIONAL_DEX_RAIKOU, + NATIONAL_DEX_BLAZIKEN, + NATIONAL_DEX_CAMERUPT, + NATIONAL_DEX_RHYDON, + NATIONAL_DEX_REGISTEEL, + NATIONAL_DEX_EKANS, + NATIONAL_DEX_FLYGON, + NATIONAL_DEX_TROPIUS, + NATIONAL_DEX_LATIOS, + NATIONAL_DEX_SUICUNE, + NATIONAL_DEX_MOLTRES, + NATIONAL_DEX_VENUSAUR, + NATIONAL_DEX_EXEGGUTOR, + NATIONAL_DEX_SLOWKING, + NATIONAL_DEX_TYRANITAR, + NATIONAL_DEX_SLAKING, + NATIONAL_DEX_WAILMER, + NATIONAL_DEX_MEWTWO, + NATIONAL_DEX_AGGRON, + NATIONAL_DEX_SNORLAX, + NATIONAL_DEX_MANTINE, + NATIONAL_DEX_ENTEI, + NATIONAL_DEX_DRAGONITE, + NATIONAL_DEX_KANGASKHAN, + NATIONAL_DEX_HARIYAMA, + NATIONAL_DEX_FERALIGATR, + NATIONAL_DEX_LAPRAS, + NATIONAL_DEX_SEVIPER, + NATIONAL_DEX_ARBOK, + NATIONAL_DEX_GROUDON, + NATIONAL_DEX_HO_OH, + NATIONAL_DEX_DRAGONAIR, + NATIONAL_DEX_KYOGRE, + NATIONAL_DEX_LUGIA, + NATIONAL_DEX_MILOTIC, + NATIONAL_DEX_GYARADOS, + NATIONAL_DEX_RAYQUAZA, + NATIONAL_DEX_ONIX, + NATIONAL_DEX_STEELIX, + NATIONAL_DEX_WAILORD +}; + +const u16 gPokedexOrder_Type[] = +{ + SPECIES_RATTATA, + SPECIES_RATICATE, + SPECIES_CLEFAIRY, + SPECIES_CLEFABLE, + SPECIES_JIGGLYPUFF, + SPECIES_WIGGLYTUFF, + SPECIES_MEOWTH, + SPECIES_PERSIAN, + SPECIES_LICKITUNG, + SPECIES_CHANSEY, + SPECIES_KANGASKHAN, + SPECIES_TAUROS, + SPECIES_DITTO, + SPECIES_EEVEE, + SPECIES_PORYGON, + SPECIES_SNORLAX, + SPECIES_SENTRET, + SPECIES_FURRET, + SPECIES_CLEFFA, + SPECIES_IGGLYBUFF, + SPECIES_TOGEPI, + SPECIES_AIPOM, + SPECIES_DUNSPARCE, + SPECIES_SNUBBULL, + SPECIES_GRANBULL, + SPECIES_TEDDIURSA, + SPECIES_URSARING, + SPECIES_PORYGON2, + SPECIES_STANTLER, + SPECIES_SMEARGLE, + SPECIES_MILTANK, + SPECIES_BLISSEY, + SPECIES_ZIGZAGOON, + SPECIES_LINOONE, + SPECIES_SLAKOTH, + SPECIES_VIGOROTH, + SPECIES_SLAKING, + SPECIES_WHISMUR, + SPECIES_LOUDRED, + SPECIES_EXPLOUD, + SPECIES_AZURILL, + SPECIES_SKITTY, + SPECIES_DELCATTY, + SPECIES_SPINDA, + SPECIES_ZANGOOSE, + SPECIES_CASTFORM, + SPECIES_KECLEON, + SPECIES_OLD_UNOWN_B, + SPECIES_OLD_UNOWN_C, + SPECIES_OLD_UNOWN_D, + SPECIES_OLD_UNOWN_E, + SPECIES_OLD_UNOWN_F, + SPECIES_OLD_UNOWN_G, + SPECIES_OLD_UNOWN_H, + SPECIES_OLD_UNOWN_I, + SPECIES_OLD_UNOWN_J, + SPECIES_OLD_UNOWN_K, + SPECIES_OLD_UNOWN_L, + SPECIES_OLD_UNOWN_M, + SPECIES_OLD_UNOWN_N, + SPECIES_OLD_UNOWN_O, + SPECIES_OLD_UNOWN_P, + SPECIES_OLD_UNOWN_Q, + SPECIES_OLD_UNOWN_R, + SPECIES_OLD_UNOWN_S, + SPECIES_OLD_UNOWN_T, + SPECIES_OLD_UNOWN_U, + SPECIES_OLD_UNOWN_V, + SPECIES_OLD_UNOWN_W, + SPECIES_OLD_UNOWN_X, + SPECIES_OLD_UNOWN_Y, + SPECIES_OLD_UNOWN_Z, + SPECIES_PIDGEY, + SPECIES_PIDGEOTTO, + SPECIES_PIDGEOT, + SPECIES_SPEAROW, + SPECIES_FEAROW, + SPECIES_FARFETCHD, + SPECIES_DODUO, + SPECIES_DODRIO, + SPECIES_HOOTHOOT, + SPECIES_NOCTOWL, + SPECIES_TOGETIC, + SPECIES_TAILLOW, + SPECIES_SWELLOW, + SPECIES_SWABLU, + SPECIES_GIRAFARIG, + SPECIES_MANKEY, + SPECIES_PRIMEAPE, + SPECIES_MACHOP, + SPECIES_MACHOKE, + SPECIES_MACHAMP, + SPECIES_HITMONLEE, + SPECIES_HITMONCHAN, + SPECIES_TYROGUE, + SPECIES_HITMONTOP, + SPECIES_MAKUHITA, + SPECIES_HARIYAMA, + SPECIES_MEDITITE, + SPECIES_MEDICHAM, + SPECIES_EKANS, + SPECIES_ARBOK, + SPECIES_NIDORAN_F, + SPECIES_NIDORINA, + SPECIES_NIDORAN_M, + SPECIES_NIDORINO, + SPECIES_GRIMER, + SPECIES_MUK, + SPECIES_KOFFING, + SPECIES_WEEZING, + SPECIES_GULPIN, + SPECIES_SWALOT, + SPECIES_SEVIPER, + SPECIES_ZUBAT, + SPECIES_GOLBAT, + SPECIES_CROBAT, + SPECIES_NIDOQUEEN, + SPECIES_NIDOKING, + SPECIES_SANDSHREW, + SPECIES_SANDSLASH, + SPECIES_DIGLETT, + SPECIES_DUGTRIO, + SPECIES_CUBONE, + SPECIES_MAROWAK, + SPECIES_PHANPY, + SPECIES_DONPHAN, + SPECIES_TRAPINCH, + SPECIES_GROUDON, + SPECIES_GLIGAR, + SPECIES_RHYHORN, + SPECIES_RHYDON, + SPECIES_BALTOY, + SPECIES_CLAYDOL, + SPECIES_VIBRAVA, + SPECIES_FLYGON, + SPECIES_SUDOWOODO, + SPECIES_NOSEPASS, + SPECIES_REGIROCK, + SPECIES_AERODACTYL, + SPECIES_GEODUDE, + SPECIES_GRAVELER, + SPECIES_GOLEM, + SPECIES_ONIX, + SPECIES_LARVITAR, + SPECIES_PUPITAR, + SPECIES_ANORITH, + SPECIES_ARMALDO, + SPECIES_OMANYTE, + SPECIES_OMASTAR, + SPECIES_KABUTO, + SPECIES_KABUTOPS, + SPECIES_LILEEP, + SPECIES_CRADILY, + SPECIES_LUNATONE, + SPECIES_SOLROCK, + SPECIES_TYRANITAR, + SPECIES_CATERPIE, + SPECIES_METAPOD, + SPECIES_PINSIR, + SPECIES_PINECO, + SPECIES_WURMPLE, + SPECIES_SILCOON, + SPECIES_CASCOON, + SPECIES_VOLBEAT, + SPECIES_ILLUMISE, + SPECIES_HERACROSS, + SPECIES_BUTTERFREE, + SPECIES_SCYTHER, + SPECIES_LEDYBA, + SPECIES_LEDIAN, + SPECIES_YANMA, + SPECIES_BEAUTIFLY, + SPECIES_MASQUERAIN, + SPECIES_NINJASK, + SPECIES_WEEDLE, + SPECIES_KAKUNA, + SPECIES_BEEDRILL, + SPECIES_VENONAT, + SPECIES_VENOMOTH, + SPECIES_SPINARAK, + SPECIES_ARIADOS, + SPECIES_DUSTOX, + SPECIES_NINCADA, + SPECIES_SHUCKLE, + SPECIES_SHEDINJA, + SPECIES_FORRETRESS, + SPECIES_SCIZOR, + SPECIES_SURSKIT, + SPECIES_PARAS, + SPECIES_PARASECT, + SPECIES_MISDREAVUS, + SPECIES_SHUPPET, + SPECIES_BANETTE, + SPECIES_DUSKULL, + SPECIES_DUSCLOPS, + SPECIES_GASTLY, + SPECIES_HAUNTER, + SPECIES_GENGAR, + SPECIES_MAWILE, + SPECIES_REGISTEEL, + SPECIES_SKARMORY, + SPECIES_STEELIX, + SPECIES_ARON, + SPECIES_LAIRON, + SPECIES_AGGRON, + SPECIES_BELDUM, + SPECIES_METANG, + SPECIES_METAGROSS, + SPECIES_JIRACHI, + SPECIES_CHARMANDER, + SPECIES_CHARMELEON, + SPECIES_VULPIX, + SPECIES_NINETALES, + SPECIES_GROWLITHE, + SPECIES_ARCANINE, + SPECIES_PONYTA, + SPECIES_RAPIDASH, + SPECIES_MAGMAR, + SPECIES_FLAREON, + SPECIES_CYNDAQUIL, + SPECIES_QUILAVA, + SPECIES_TYPHLOSION, + SPECIES_SLUGMA, + SPECIES_MAGBY, + SPECIES_ENTEI, + SPECIES_TORCHIC, + SPECIES_TORKOAL, + SPECIES_COMBUSKEN, + SPECIES_BLAZIKEN, + SPECIES_CHARIZARD, + SPECIES_MOLTRES, + SPECIES_HO_OH, + SPECIES_NUMEL, + SPECIES_CAMERUPT, + SPECIES_MAGCARGO, + SPECIES_SQUIRTLE, + SPECIES_WARTORTLE, + SPECIES_BLASTOISE, + SPECIES_PSYDUCK, + SPECIES_GOLDUCK, + SPECIES_POLIWAG, + SPECIES_POLIWHIRL, + SPECIES_SEEL, + SPECIES_SHELLDER, + SPECIES_KRABBY, + SPECIES_KINGLER, + SPECIES_HORSEA, + SPECIES_SEADRA, + SPECIES_GOLDEEN, + SPECIES_SEAKING, + SPECIES_STARYU, + SPECIES_MAGIKARP, + SPECIES_VAPOREON, + SPECIES_TOTODILE, + SPECIES_CROCONAW, + SPECIES_FERALIGATR, + SPECIES_MARILL, + SPECIES_AZUMARILL, + SPECIES_POLITOED, + SPECIES_REMORAID, + SPECIES_OCTILLERY, + SPECIES_SUICUNE, + SPECIES_MUDKIP, + SPECIES_WAILMER, + SPECIES_WAILORD, + SPECIES_CORPHISH, + SPECIES_FEEBAS, + SPECIES_MILOTIC, + SPECIES_CLAMPERL, + SPECIES_HUNTAIL, + SPECIES_GOREBYSS, + SPECIES_LUVDISC, + SPECIES_KYOGRE, + SPECIES_POLIWRATH, + SPECIES_GYARADOS, + SPECIES_MANTINE, + SPECIES_WINGULL, + SPECIES_PELIPPER, + SPECIES_TENTACOOL, + SPECIES_TENTACRUEL, + SPECIES_QWILFISH, + SPECIES_WOOPER, + SPECIES_QUAGSIRE, + SPECIES_MARSHTOMP, + SPECIES_SWAMPERT, + SPECIES_BARBOACH, + SPECIES_WHISCASH, + SPECIES_CORSOLA, + SPECIES_RELICANTH, + SPECIES_LOTAD, + SPECIES_LOMBRE, + SPECIES_LUDICOLO, + SPECIES_CHINCHOU, + SPECIES_LANTURN, + SPECIES_SLOWPOKE, + SPECIES_SLOWBRO, + SPECIES_STARMIE, + SPECIES_SLOWKING, + SPECIES_DEWGONG, + SPECIES_CLOYSTER, + SPECIES_LAPRAS, + SPECIES_KINGDRA, + SPECIES_CARVANHA, + SPECIES_SHARPEDO, + SPECIES_CRAWDAUNT, + SPECIES_TANGELA, + SPECIES_CHIKORITA, + SPECIES_BAYLEEF, + SPECIES_MEGANIUM, + SPECIES_BELLOSSOM, + SPECIES_SUNKERN, + SPECIES_SUNFLORA, + SPECIES_TREECKO, + SPECIES_GROVYLE, + SPECIES_SCEPTILE, + SPECIES_SEEDOT, + SPECIES_SHROOMISH, + SPECIES_CACNEA, + SPECIES_BRELOOM, + SPECIES_HOPPIP, + SPECIES_SKIPLOOM, + SPECIES_JUMPLUFF, + SPECIES_TROPIUS, + SPECIES_BULBASAUR, + SPECIES_IVYSAUR, + SPECIES_VENUSAUR, + SPECIES_ODDISH, + SPECIES_GLOOM, + SPECIES_VILEPLUME, + SPECIES_BELLSPROUT, + SPECIES_WEEPINBELL, + SPECIES_VICTREEBEL, + SPECIES_ROSELIA, + SPECIES_EXEGGCUTE, + SPECIES_EXEGGUTOR, + SPECIES_NUZLEAF, + SPECIES_SHIFTRY, + SPECIES_CACTURNE, + SPECIES_PIKACHU, + SPECIES_RAICHU, + SPECIES_VOLTORB, + SPECIES_ELECTRODE, + SPECIES_ELECTABUZZ, + SPECIES_JOLTEON, + SPECIES_PICHU, + SPECIES_MAREEP, + SPECIES_FLAAFFY, + SPECIES_AMPHAROS, + SPECIES_ELEKID, + SPECIES_RAIKOU, + SPECIES_ELECTRIKE, + SPECIES_MANECTRIC, + SPECIES_PLUSLE, + SPECIES_MINUN, + SPECIES_ZAPDOS, + SPECIES_MAGNEMITE, + SPECIES_MAGNETON, + SPECIES_ABRA, + SPECIES_KADABRA, + SPECIES_ALAKAZAM, + SPECIES_DROWZEE, + SPECIES_HYPNO, + SPECIES_MR_MIME, + SPECIES_MEWTWO, + SPECIES_MEW, + SPECIES_ESPEON, + SPECIES_UNOWN, + SPECIES_WOBBUFFET, + SPECIES_RALTS, + SPECIES_KIRLIA, + SPECIES_GARDEVOIR, + SPECIES_SPOINK, + SPECIES_GRUMPIG, + SPECIES_CHIMECHO, + SPECIES_WYNAUT, + SPECIES_DEOXYS, + SPECIES_NATU, + SPECIES_XATU, + SPECIES_LUGIA, + SPECIES_CELEBI, + SPECIES_SNORUNT, + SPECIES_GLALIE, + SPECIES_REGICE, + SPECIES_ARTICUNO, + SPECIES_DELIBIRD, + SPECIES_SWINUB, + SPECIES_PILOSWINE, + SPECIES_SPHEAL, + SPECIES_SEALEO, + SPECIES_WALREIN, + SPECIES_JYNX, + SPECIES_SMOOCHUM, + SPECIES_DRATINI, + SPECIES_DRAGONAIR, + SPECIES_BAGON, + SPECIES_SHELGON, + SPECIES_DRAGONITE, + SPECIES_ALTARIA, + SPECIES_SALAMENCE, + SPECIES_RAYQUAZA, + SPECIES_LATIAS, + SPECIES_LATIOS, + SPECIES_UMBREON, + SPECIES_POOCHYENA, + SPECIES_MIGHTYENA, + SPECIES_ABSOL, + SPECIES_MURKROW, + SPECIES_SABLEYE, + SPECIES_HOUNDOUR, + SPECIES_HOUNDOOM, + SPECIES_SNEASEL +}; diff --git a/src/data/pokemon/pokedex_text.h b/src/data/pokemon/pokedex_text.h index 3285c8d11..fdcb94757 100644 --- a/src/data/pokemon/pokedex_text.h +++ b/src/data/pokemon/pokedex_text.h @@ -1,2708 +1,5 @@ -const u8 gDummyPokedexText[] = _( - "This is a newly discovered POKéMON. It is\n" - "currently under investigation. No detailed\n" - "information is available at this time."); - -const u8 gDummyPokedexTextUnused[] = _(""); - -const u8 gBulbasaurPokedexText[] = _( - "There is a plant seed on its back right\n" - "from the day this POKéMON is born.\n" - "The seed slowly grows larger."); - -const u8 gBulbasaurPokedexTextUnused[] = _(""); - -const u8 gIvysaurPokedexText[] = _( - "There is a plant bulb on its back.\n" - "When it absorbs nutrients, the bulb is said\n" - "to blossom into a large flower."); - -const u8 gIvysaurPokedexTextUnused[] = _(""); - -const u8 gVenusaurPokedexText[] = _( - "A bewitching aroma wafts from its flower.\n" - "The fragrance becalms those engaged in\n" - "a battle."); - -const u8 gVenusaurPokedexTextUnused[] = _(""); - -const u8 gCharmanderPokedexText[] = _( - "From the time it is born, a flame burns\n" - "at the tip of its tail. Its life would end\n" - "if the flame were to go out."); - -const u8 gCharmanderPokedexTextUnused[] = _(""); - -const u8 gCharmeleonPokedexText[] = _( - "It lashes about with its tail to knock\n" - "down its foe. It then tears up the fallen\n" - "opponent with sharp claws."); - -const u8 gCharmeleonPokedexTextUnused[] = _(""); - -const u8 gCharizardPokedexText[] = _( - "Its wings can carry this POKéMON close to\n" - "an altitude of 4,600 feet. It blows out\n" - "fire at very high temperatures."); - -const u8 gCharizardPokedexTextUnused[] = _(""); - -const u8 gSquirtlePokedexText[] = _( - "When it retracts its long neck into its\n" - "shell, it squirts out water with vigorous\n" - "force."); - -const u8 gSquirtlePokedexTextUnused[] = _(""); - -const u8 gWartortlePokedexText[] = _( - "This POKéMON is very popular as a pet.\n" - "Its fur-covered tail is a symbol of its\n" - "longevity."); - -const u8 gWartortlePokedexTextUnused[] = _(""); - -const u8 gBlastoisePokedexText[] = _( - "It crushes its foe under its heavy body\n" - "to cause fainting. In a pinch, it will\n" - "withdraw inside its shell."); - -const u8 gBlastoisePokedexTextUnused[] = _(""); - -const u8 gCaterpiePokedexText[] = _( - "It is covered with a green skin. When it\n" - "grows, it sheds the skin, covers itself\n" - "with silk, and becomes a cocoon."); - -const u8 gCaterpiePokedexTextUnused[] = _(""); - -const u8 gMetapodPokedexText[] = _( - "Even though it is encased in a sturdy\n" - "shell, the body inside is tender.\n" - "It can't withstand a harsh attack."); - -const u8 gMetapodPokedexTextUnused[] = _(""); - -const u8 gButterfreePokedexText[] = _( - "The wings are protected by rain-repellent\n" - "dust. As a result, this POKéMON can fly\n" - "about even in rain."); - -const u8 gButterfreePokedexTextUnused[] = _(""); - -const u8 gWeedlePokedexText[] = _( - "Often found in forests and grasslands.\n" - "It has a sharp, toxic barb of around two\n" - "inches on top of its head."); - -const u8 gWeedlePokedexTextUnused[] = _(""); - -const u8 gKakunaPokedexText[] = _( - "This POKéMON is in a temporary stage\n" - "while making its body. It is almost\n" - "completely unable to move on its own."); - -const u8 gKakunaPokedexTextUnused[] = _(""); - -const u8 gBeedrillPokedexText[] = _( - "May appear in a swarm. Flies at violent\n" - "speeds, all the while stabbing with the\n" - "toxic stinger on its rear."); - -const u8 gBeedrillPokedexTextUnused[] = _(""); - -const u8 gPidgeyPokedexText[] = _( - "Does not like to fight. It hides in\n" - "tall grass and so on, foraging for food\n" - "such as small bugs."); - -const u8 gPidgeyPokedexTextUnused[] = _(""); - -const u8 gPidgeottoPokedexText[] = _( - "The claws on its feet are well developed.\n" - "It can carry prey such as an EXEGGCUTE\n" - "to its nest over 60 miles away."); - -const u8 gPidgeottoPokedexTextUnused[] = _(""); - -const u8 gPidgeotPokedexText[] = _( - "It spreads its gorgeous wings widely to\n" - "intimidate enemies. It races through the\n" - "skies at Mach-2 speed."); - -const u8 gPidgeotPokedexTextUnused[] = _(""); - -const u8 gRattataPokedexText[] = _( - "Its fangs are long and very sharp.\n" - "They grow continuously, so it gnaws on\n" - "hard things to whittle them down."); - -const u8 gRattataPokedexTextUnused[] = _(""); - -const u8 gRaticatePokedexText[] = _( - "Its rear feet have three toes each.\n" - "They are webbed, enabling it to swim\n" - "across rivers."); - -const u8 gRaticatePokedexTextUnused[] = _(""); - -const u8 gSpearowPokedexText[] = _( - "It busily flits around here and there.\n" - "Even if it is frail, it can be a tough\n" - "foe that uses MIRROR MOVE."); - -const u8 gSpearowPokedexTextUnused[] = _(""); - -const u8 gFearowPokedexText[] = _( - "Its huge and magnificent wings can keep it\n" - "aloft in the sky. It can remain flying a\n" - "whole day without landing."); - -const u8 gFearowPokedexTextUnused[] = _(""); - -const u8 gEkansPokedexText[] = _( - "A very common sight in grassland, etc.\n" - "It flicks its tongue in and out to sense\n" - "danger in its surroundings."); - -const u8 gEkansPokedexTextUnused[] = _(""); - -const u8 gArbokPokedexText[] = _( - "The pattern on its belly appears to be a\n" - "frightening face. Weak foes will flee just\n" - "at the sight of the pattern."); - -const u8 gArbokPokedexTextUnused[] = _(""); - -const u8 gPikachuPokedexText[] = _( - "It has small electric sacs on both its\n" - "cheeks. If threatened, it looses electric\n" - "charges from the sacs."); - -const u8 gPikachuPokedexTextUnused[] = _(""); - -const u8 gRaichuPokedexText[] = _( - "Its electric charges can reach even\n" - "100,000 volts. Careless contact can cause\n" - "even an Indian elephant to faint."); - -const u8 gRaichuPokedexTextUnused[] = _(""); - -const u8 gSandshrewPokedexText[] = _( - "It burrows and lives underground.\n" - "If threatened, it curls itself up into a\n" - "ball for protection."); - -const u8 gSandshrewPokedexTextUnused[] = _(""); - -const u8 gSandslashPokedexText[] = _( - "It is adept at attacking with the spines\n" - "on its back and its sharp claws while\n" - "quickly scurrying about."); - -const u8 gSandslashPokedexTextUnused[] = _(""); - -const u8 gNidoranFPokedexText[] = _( - "Though small, it must be treated with\n" - "caution because of its powerfully toxic\n" - "barbs. The female has smaller horns."); - -const u8 gNidoranFPokedexTextUnused[] = _(""); - -const u8 gNidorinaPokedexText[] = _( - "The female has a gentle temperament.\n" - "It emits ultrasonic cries that have the\n" - "power to befuddle foes."); - -const u8 gNidorinaPokedexTextUnused[] = _(""); - -const u8 gNidoqueenPokedexText[] = _( - "The body is covered by stiff, needle-\n" - "like scales. If it becomes excited,\n" - "the needles bristle outwards."); - -const u8 gNidoqueenPokedexTextUnused[] = _(""); - -const u8 gNidoranMPokedexText[] = _( - "Its large ears are flapped like wings\n" - "when it is listening to distant sounds.\n" - "It extends toxic barbs when angered."); - -const u8 gNidoranMPokedexTextUnused[] = _(""); - -const u8 gNidorinoPokedexText[] = _( - "It is easily angered. By swinging its well-\n" - "developed horn wildly, it can even punch\n" - "through diamond."); - -const u8 gNidorinoPokedexTextUnused[] = _(""); - -const u8 gNidokingPokedexText[] = _( - "It is recognized by its rock-hard hide\n" - "and its extended horn. Be careful with\n" - "the horn as it contains venom."); - -const u8 gNidokingPokedexTextUnused[] = _(""); - -const u8 gClefairyPokedexText[] = _( - "Its adorable appearance makes it popular\n" - "as a pet. However, it is rare and\n" - "difficult to find."); - -const u8 gClefairyPokedexTextUnused[] = _(""); - -const u8 gClefablePokedexText[] = _( - "It has an acute sense of hearing. It can\n" - "easily hear a pin being dropped nearly\n" - "1,100 yards away."); - -const u8 gClefablePokedexTextUnused[] = _(""); - -const u8 gVulpixPokedexText[] = _( - "While young, it has six gorgeous tails.\n" - "When it grows, several new tails are\n" - "sprouted."); - -const u8 gVulpixPokedexTextUnused[] = _(""); - -const u8 gNinetalesPokedexText[] = _( - "It has nine long tails and fur that \n" - "gleams gold. It is said to live for \n" - "1,000 years."); - -const u8 gNinetalesPokedexTextUnused[] = _(""); - -const u8 gJigglypuffPokedexText[] = _( - "It captivates foes with its huge, round\n" - "eyes, then lulls them to sleep by singing\n" - "a soothing melody."); - -const u8 gJigglypuffPokedexTextUnused[] = _(""); - -const u8 gWigglytuffPokedexText[] = _( - "Its fur is extremely fine, dense, and\n" - "supple. The exquisitely pleasant fur\n" - "conveys an image of luxury."); - -const u8 gWigglytuffPokedexTextUnused[] = _(""); - -const u8 gZubatPokedexText[] = _( - "It has no eyes. Instead, it relies on\n" - "its ultrasonic cries for echo location to\n" - "flit about in darkness."); - -const u8 gZubatPokedexTextUnused[] = _(""); - -const u8 gGolbatPokedexText[] = _( - "It clamps down on its prey with needle-\n" - "sharp fangs and drains over 10 ounces of\n" - "blood in one gulp."); - -const u8 gGolbatPokedexTextUnused[] = _(""); - -const u8 gOddishPokedexText[] = _( - "Its scientific name is “Oddium Wanderus.”\n" - "At night, it is said to walk nearly 1,000\n" - "feet on its two roots."); - -const u8 gOddishPokedexTextUnused[] = _(""); - -const u8 gGloomPokedexText[] = _( - "Its pistils exude an incredibly foul odor.\n" - "The horrid stench can cause fainting at a\n" - "distance of 1.25 miles."); - -const u8 gGloomPokedexTextUnused[] = _(""); - -const u8 gVileplumePokedexText[] = _( - "Its petals are the largest in the world.\n" - "It fiendishly scatters allergy-causing\n" - "pollen from its petals."); - -const u8 gVileplumePokedexTextUnused[] = _(""); - -const u8 gParasPokedexText[] = _( - "Growing out of the bug's back are\n" - "mushrooms called tochukaso. The mushrooms\n" - "grow with the bug host."); - -const u8 gParasPokedexTextUnused[] = _(""); - -const u8 gParasectPokedexText[] = _( - "It scatters toxic spores from the\n" - "mushroom cap. In China, the spores are\n" - "used as herbal medicine."); - -const u8 gParasectPokedexTextUnused[] = _(""); - -const u8 gVenonatPokedexText[] = _( - "Its eyes act as radar, enabling it to be\n" - "active in darkness. The eyes can also\n" - "shoot powerful beams."); - -const u8 gVenonatPokedexTextUnused[] = _(""); - -const u8 gVenomothPokedexText[] = _( - "The wings are covered with dustlike\n" - "scales. Every time it flaps its wings, it\n" - "looses highly toxic dust."); - -const u8 gVenomothPokedexTextUnused[] = _(""); - -const u8 gDiglettPokedexText[] = _( - "It burrows through the ground at a\n" - "shallow depth. It leaves raised earth in\n" - "its wake, making it easy to spot."); - -const u8 gDiglettPokedexTextUnused[] = _(""); - -const u8 gDugtrioPokedexText[] = _( - "In battle, it digs through the ground and\n" - "strikes the unsuspecting foe from an\n" - "unexpected direction."); - -const u8 gDugtrioPokedexTextUnused[] = _(""); - -const u8 gMeowthPokedexText[] = _( - "All it does is sleep during the daytime.\n" - "At night, it patrols its territory with its\n" - "eyes aglow."); - -const u8 gMeowthPokedexTextUnused[] = _(""); - -const u8 gPersianPokedexText[] = _( - "Has a vicious temperament. Beware if it\n" - "raises its tail straight up. It is a signal\n" - "that it is about to pounce and bite."); - -const u8 gPersianPokedexTextUnused[] = _(""); - -const u8 gPsyduckPokedexText[] = _( - "It is constantly wracked by a headache.\n" - "When the headache turns intense, it begins\n" - "using mysterious powers."); - -const u8 gPsyduckPokedexTextUnused[] = _(""); - -const u8 gGolduckPokedexText[] = _( - "The forelegs are webbed, helping to make\n" - "it an adept swimmer. It can be seen\n" - "swimming elegantly in lakes, etc."); - -const u8 gGolduckPokedexTextUnused[] = _(""); - -const u8 gMankeyPokedexText[] = _( - "Light and agile on its feet, and ferocious\n" - "in temperament. When angered, it flies into\n" - "an uncontrollable frenzy."); - -const u8 gMankeyPokedexTextUnused[] = _(""); - -const u8 gPrimeapePokedexText[] = _( - "It is always outrageously furious. If it\n" - "gives chase, it will tenaciously track the\n" - "target no matter how far."); - -const u8 gPrimeapePokedexTextUnused[] = _(""); - -const u8 gGrowlithePokedexText[] = _( - "Very friendly and faithful to people.\n" - "It will try to repel enemies by barking\n" - "and biting."); - -const u8 gGrowlithePokedexTextUnused[] = _(""); - -const u8 gArcaninePokedexText[] = _( - "A POKéMON that is described in Chinese\n" - "legends. It is said to race at an\n" - "unbelievable speed."); - -const u8 gArcaninePokedexTextUnused[] = _(""); - -const u8 gPoliwagPokedexText[] = _( - "Its slick black skin is thin and damp.\n" - "A part of its internal organs can be seen\n" - "through the skin as a spiral pattern."); - -const u8 gPoliwagPokedexTextUnused[] = _(""); - -const u8 gPoliwhirlPokedexText[] = _( - "Its two legs are well developed.\n" - "Even though it can live on the ground,\n" - "it prefers living in water."); - -const u8 gPoliwhirlPokedexTextUnused[] = _(""); - -const u8 gPoliwrathPokedexText[] = _( - "An adept swimmer, it knows the front\n" - "crawl, butterfly, and more. It is faster\n" - "than the best human swimmers."); - -const u8 gPoliwrathPokedexTextUnused[] = _(""); - -const u8 gAbraPokedexText[] = _( - "It sleeps for 18 hours a day. It uses a\n" - "variety of extrasensory powers even\n" - "while asleep."); - -const u8 gAbraPokedexTextUnused[] = _(""); - -const u8 gKadabraPokedexText[] = _( - "It happened one morning - a boy with\n" - "extrasensory powers awoke in bed\n" - "transformed into KADABRA."); - -const u8 gKadabraPokedexTextUnused[] = _(""); - -const u8 gAlakazamPokedexText[] = _( - "It does not like physical attacks very \n" - "much. Instead, it freely uses extra-\n" - "sensory powers to defeat foes."); - -const u8 gAlakazamPokedexTextUnused[] = _(""); - -const u8 gMachopPokedexText[] = _( - "Its whole body is composed of muscles.\n" - "Even though it's the size of a human\n" - "child, it can hurl 100 grown-ups."); - -const u8 gMachopPokedexTextUnused[] = _(""); - -const u8 gMachokePokedexText[] = _( - "Its formidable body never gets tired.\n" - "It helps people by doing work such as\n" - "the moving of heavy goods."); - -const u8 gMachokePokedexTextUnused[] = _(""); - -const u8 gMachampPokedexText[] = _( - "Its four ruggedly developed arms can\n" - "launch a flurry of 1,000 punches in just\n" - "two seconds."); - -const u8 gMachampPokedexTextUnused[] = _(""); - -const u8 gBellsproutPokedexText[] = _( - "Its bud looks like a human face. Because\n" - "of the bud, it is rumored to be a type of\n" - "legendary mandrake plant."); - -const u8 gBellsproutPokedexTextUnused[] = _(""); - -const u8 gWeepinbellPokedexText[] = _( - "The leafy parts act as cutters for\n" - "slashing foes. It spits a fluid that\n" - "dissolves everything."); - -const u8 gWeepinbellPokedexTextUnused[] = _(""); - -const u8 gVictreebelPokedexText[] = _( - "Lures prey into its mouth with a honeylike\n" - "aroma. The helpless prey is melted with\n" - "a dissolving fluid."); - -const u8 gVictreebelPokedexTextUnused[] = _(""); - -const u8 gTentacoolPokedexText[] = _( - "Its eyes are as transparent as crystals.\n" - "From them, it shoots mysterious\n" - "beams of light."); - -const u8 gTentacoolPokedexTextUnused[] = _(""); - -const u8 gTentacruelPokedexText[] = _( - "It has 80 tentacles that move about\n" - "freely. They can sting, causing poisoning\n" - "and sharp, stabbing pain."); - -const u8 gTentacruelPokedexTextUnused[] = _(""); - -const u8 gGeodudePokedexText[] = _( - "Its round form makes it easy to pick up.\n" - "Some people have used them to hurl\n" - "at each other in a snowball fight."); - -const u8 gGeodudePokedexTextUnused[] = _(""); - -const u8 gGravelerPokedexText[] = _( - "Be careful while hiking on mountain trails.\n" - "GRAVELER may come rolling down the path\n" - "without slowing."); - -const u8 gGravelerPokedexTextUnused[] = _(""); - -const u8 gGolemPokedexText[] = _( - "It is enclosed in a hard shell that is as\n" - "rugged as slabs of rock. It sheds skin\n" - "once a year to grow larger."); - -const u8 gGolemPokedexTextUnused[] = _(""); - -const u8 gPonytaPokedexText[] = _( - "Its body is light, and its legs are\n" - "incredibly powerful. It can clear\n" - "Ayers Rock in one leap."); - -const u8 gPonytaPokedexTextUnused[] = _(""); - -const u8 gRapidashPokedexText[] = _( - "It can gallop at a top speed of 150\n" - "miles per hour. It can race as fast as a\n" - "bullet train while ablaze."); - -const u8 gRapidashPokedexTextUnused[] = _(""); - -const u8 gSlowpokePokedexText[] = _( - "It is always vacantly lost in thought, but\n" - "no one knows what it is thinking about.\n" - "It is good at fishing with its tail."); - -const u8 gSlowpokePokedexTextUnused[] = _(""); - -const u8 gSlowbroPokedexText[] = _( - "When a SLOWPOKE went hunting in the sea,\n" - "its tail was bitten by a SHELLDER. That\n" - "made it evolve into SLOWBRO."); - -const u8 gSlowbroPokedexTextUnused[] = _(""); - -const u8 gMagnemitePokedexText[] = _( - "It moves while constantly hovering.\n" - "It discharges THUNDER WAVE and so on\n" - "from the units at its sides."); - -const u8 gMagnemitePokedexTextUnused[] = _(""); - -const u8 gMagnetonPokedexText[] = _( - "A linked cluster formed of several\n" - "MAGNEMITE. It discharges powerful\n" - "magnetic waves at high voltage."); - -const u8 gMagnetonPokedexTextUnused[] = _(""); - -const u8 gFarfetchdPokedexText[] = _( - "It always walks about with a plant stalk\n" - "clamped in its beak. The stalk is used for\n" - "building its nest."); - -const u8 gFarfetchdPokedexTextUnused[] = _(""); - -const u8 gDoduoPokedexText[] = _( - "A two-headed POKéMON that was discovered\n" - "as a sudden mutation. It runs at a pace\n" - "of over 60 miles per hour."); - -const u8 gDoduoPokedexTextUnused[] = _(""); - -const u8 gDodrioPokedexText[] = _( - "An odd species that is rarely found.\n" - "The three heads respectively represent\n" - "joy, sadness, and anger."); - -const u8 gDodrioPokedexTextUnused[] = _(""); - -const u8 gSeelPokedexText[] = _( - "Covered with light blue fur, its hide is\n" - "thick and tough. It is active in bitter\n" - "cold of minus 40 degrees Fahrenheit."); - -const u8 gSeelPokedexTextUnused[] = _(""); - -const u8 gDewgongPokedexText[] = _( - "Its body is covered with a pure white\n" - "fur. The colder the weather, the more\n" - "active it becomes."); - -const u8 gDewgongPokedexTextUnused[] = _(""); - -const u8 gGrimerPokedexText[] = _( - "Sludge exposed to X rays from the moon\n" - "transformed into GRIMER. It loves feeding\n" - "on filthy things."); - -const u8 gGrimerPokedexTextUnused[] = _(""); - -const u8 gMukPokedexText[] = _( - "It is usually undetectable because it\n" - "blends in with the ground. Touching it can\n" - "cause terrible poisoning."); - -const u8 gMukPokedexTextUnused[] = _(""); - -const u8 gShellderPokedexText[] = _( - "It is encased in a shell that is harder\n" - "than diamond. Inside, however, it is\n" - "surprisingly tender."); - -const u8 gShellderPokedexTextUnused[] = _(""); - -const u8 gCloysterPokedexText[] = _( - "Its shell is extremely hard. It cannot be\n" - "shattered, even with a bomb. The shell\n" - "opens only when it is attacking."); - -const u8 gCloysterPokedexTextUnused[] = _(""); - -const u8 gGastlyPokedexText[] = _( - "A being that exists as a thin gas. It can\n" - "topple an Indian elephant by enveloping\n" - "the prey in two seconds."); - -const u8 gGastlyPokedexTextUnused[] = _(""); - -const u8 gHaunterPokedexText[] = _( - "If you get the feeling of being watched\n" - "in darkness when nobody is around,\n" - "HAUNTER is there."); - -const u8 gHaunterPokedexTextUnused[] = _(""); - -const u8 gGengarPokedexText[] = _( - "It is said to emerge from darkness to\n" - "steal the lives of those who become lost\n" - "in mountains."); - -const u8 gGengarPokedexTextUnused[] = _(""); - -const u8 gOnixPokedexText[] = _( - "It usually lives underground. It searches\n" - "for food while boring its way through the\n" - "ground at 50 miles per hour."); - -const u8 gOnixPokedexTextUnused[] = _(""); - -const u8 gDrowzeePokedexText[] = _( - "A descendent of the legendary animal\n" - "baku, which is said to eat dreams. It is\n" - "skilled at hypnotism."); - -const u8 gDrowzeePokedexTextUnused[] = _(""); - -const u8 gHypnoPokedexText[] = _( - "It carries a pendulum-like device. There\n" - "once was an incident in which it took \n" - "away a child it hypnotized."); - -const u8 gHypnoPokedexTextUnused[] = _(""); - -const u8 gKrabbyPokedexText[] = _( - "It can be found near the sea. The large\n" - "pincers grow back if they are torn out of\n" - "their sockets."); - -const u8 gKrabbyPokedexTextUnused[] = _(""); - -const u8 gKinglerPokedexText[] = _( - "Its large and hard pincer has 10,000-\n" - "horsepower strength. However, being so\n" - "big, it is unwieldy to move."); - -const u8 gKinglerPokedexTextUnused[] = _(""); - -const u8 gVoltorbPokedexText[] = _( - "A life-form whose identity is unknown.\n" - "It is said to SCREECH or suddenly\n" - "SELFDESTRUCT."); - -const u8 gVoltorbPokedexTextUnused[] = _(""); - -const u8 gElectrodePokedexText[] = _( - "It explodes in response to even minor\n" - "stimuli. It is feared, with the nickname\n" - "of “The Bomb Ball.”"); - -const u8 gElectrodePokedexTextUnused[] = _(""); - -const u8 gExeggcutePokedexText[] = _( - "Even though it appears to be eggs of\n" - "some sort, it was discovered to be a life-\n" - "form more like plant seeds."); - -const u8 gExeggcutePokedexTextUnused[] = _(""); - -const u8 gExeggutorPokedexText[] = _( - "It is called “The Walking Tropical\n" - "Rainforest.” Each of the nuts has\n" - "a face and a will of its own."); - -const u8 gExeggutorPokedexTextUnused[] = _(""); - -const u8 gCubonePokedexText[] = _( - "It wears the skull of its dead mother on\n" - "its head. When it becomes lonesome, it is\n" - "said to cry loudly."); - -const u8 gCubonePokedexTextUnused[] = _(""); - -const u8 gMarowakPokedexText[] = _( - "It is small and was originally very weak.\n" - "Its temperament turned ferocious when it\n" - "began using bones."); - -const u8 gMarowakPokedexTextUnused[] = _(""); - -const u8 gHitmonleePokedexText[] = _( - "The legs freely contract and stretch.\n" - "The stretchy legs allow it to hit a\n" - "distant foe with a rising kick."); - -const u8 gHitmonleePokedexTextUnused[] = _(""); - -const u8 gHitmonchanPokedexText[] = _( - "The spirit of a pro boxer has infused this\n" - "POKéMON. It throws punches that are\n" - "faster than a bullet train."); - -const u8 gHitmonchanPokedexTextUnused[] = _(""); - -const u8 gLickitungPokedexText[] = _( - "Its tongue is twice the length of its\n" - "body. It can be moved like an arm for\n" - "grabbing food and attacking."); - -const u8 gLickitungPokedexTextUnused[] = _(""); - -const u8 gKoffingPokedexText[] = _( - "Its thin, balloon-like body is inflated by\n" - "horribly toxic gases. It reeks when it is\n" - "nearby."); - -const u8 gKoffingPokedexTextUnused[] = _(""); - -const u8 gWeezingPokedexText[] = _( - "Very rarely, a sudden mutation can result\n" - "in two small KOFFING twins becoming\n" - "conjoined as a WEEZING."); - -const u8 gWeezingPokedexTextUnused[] = _(""); - -const u8 gRhyhornPokedexText[] = _( - "Strong, but not too bright, this POKéMON\n" - "can shatter even a skyscraper with its\n" - "charging TACKLES."); - -const u8 gRhyhornPokedexTextUnused[] = _(""); - -const u8 gRhydonPokedexText[] = _( - "It begins walking on its hind legs after\n" - "evolution. It can punch holes through\n" - "boulders with its horn."); - -const u8 gRhydonPokedexTextUnused[] = _(""); - -const u8 gChanseyPokedexText[] = _( - "It lays several eggs a day. The eggs are\n" - "apparently rich in nutrients and extremely\n" - "delicious."); - -const u8 gChanseyPokedexTextUnused[] = _(""); - -const u8 gTangelaPokedexText[] = _( - "Blue plant vines cloak the POKéMON's\n" - "identity in a tangled mass. It entangles\n" - "anything that gets close."); - -const u8 gTangelaPokedexTextUnused[] = _(""); - -const u8 gKangaskhanPokedexText[] = _( - "The female raises its offspring in a pouch\n" - "on its belly. It is skilled at attacking\n" - "using COMET PUNCH."); - -const u8 gKangaskhanPokedexTextUnused[] = _(""); - -const u8 gHorseaPokedexText[] = _( - "It maintains balance using its tail, which\n" - "is wound up like a coil. It may spray ink\n" - "from its mouth."); - -const u8 gHorseaPokedexTextUnused[] = _(""); - -const u8 gSeadraPokedexText[] = _( - "Its body bristles with sharp spikes.\n" - "Carelessly trying to touch it could cause\n" - "fainting from the spikes."); - -const u8 gSeadraPokedexTextUnused[] = _(""); - -const u8 gGoldeenPokedexText[] = _( - "Its dorsal and pectoral fins are strongly\n" - "developed like muscles. It can swim at a\n" - "speed of five knots."); - -const u8 gGoldeenPokedexTextUnused[] = _(""); - -const u8 gSeakingPokedexText[] = _( - "The horn on its head is sharp like a\n" - "drill. It bores a hole in a boulder to\n" - "make its nest."); - -const u8 gSeakingPokedexTextUnused[] = _(""); - -const u8 gStaryuPokedexText[] = _( - "It appears in large numbers by seashores.\n" - "At night, its central core flashes with a\n" - "red light."); - -const u8 gStaryuPokedexTextUnused[] = _(""); - -const u8 gStarmiePokedexText[] = _( - "This POKéMON has a geometric body.\n" - "Because of its body, the locals suspect\n" - "that it is an alien creature."); - -const u8 gStarmiePokedexTextUnused[] = _(""); - -const u8 gMrmimePokedexText[] = _( - "It is adept at conning people. It is said\n" - "to be able to create walls out of thin\n" - "air by miming."); - -const u8 gMrmimePokedexTextUnused[] = _(""); - -const u8 gScytherPokedexText[] = _( - "It tears and shreds prey with its wickedly\n" - "sharp scythes. It very rarely spreads its\n" - "wings to fly."); - -const u8 gScytherPokedexTextUnused[] = _(""); - -const u8 gJynxPokedexText[] = _( - "It speaks using a language that sounds\n" - "human. Research is under way to determine\n" - "what is being said."); - -const u8 gJynxPokedexTextUnused[] = _(""); - -const u8 gElectabuzzPokedexText[] = _( - "It loves to feed on strong electricity.\n" - "It occasionally appears around large\n" - "power plants and so on."); - -const u8 gElectabuzzPokedexTextUnused[] = _(""); - -const u8 gMagmarPokedexText[] = _( - "Found near the mouth of a volcano.\n" - "This fire-breather's body temperature is\n" - "nearly 2,200 degrees Fahrenheit."); - -const u8 gMagmarPokedexTextUnused[] = _(""); - -const u8 gPinsirPokedexText[] = _( - "Its two long pincer horns are powerful.\n" - "Once they grip an enemy, they won't\n" - "release until the foe is torn."); - -const u8 gPinsirPokedexTextUnused[] = _(""); - -const u8 gTaurosPokedexText[] = _( - "When it is about to TACKLE, it whips\n" - "its body repeatedly with its three\n" - "long tails."); - -const u8 gTaurosPokedexTextUnused[] = _(""); - -const u8 gMagikarpPokedexText[] = _( - "It is virtually worthless in terms of both\n" - "power and speed. It is the most weak and\n" - "pathetic POKéMON in the world."); - -const u8 gMagikarpPokedexTextUnused[] = _(""); - -const u8 gGyaradosPokedexText[] = _( - "It has an extremely aggressive nature.\n" - "The HYPER BEAM it shoots from its mouth\n" - "totally incinerates all targets."); - -const u8 gGyaradosPokedexTextUnused[] = _(""); - -const u8 gLaprasPokedexText[] = _( - "Its high intelligence enables it to\n" - "understand human speech. It likes to ferry\n" - "people on its back."); - -const u8 gLaprasPokedexTextUnused[] = _(""); - -const u8 gDittoPokedexText[] = _( - "It can freely recombine its own cellular\n" - "structure to transform into other life-\n" - "forms."); - -const u8 gDittoPokedexTextUnused[] = _(""); - -const u8 gEeveePokedexText[] = _( - "An extremely rare POKéMON that may\n" - "evolve in a number of different ways\n" - "depending on stimuli."); - -const u8 gEeveePokedexTextUnused[] = _(""); - -const u8 gVaporeonPokedexText[] = _( - "Its body's cellular structure is similar to\n" - "the molecular composition of water.\n" - "It can melt invisibly in water."); - -const u8 gVaporeonPokedexTextUnused[] = _(""); - -const u8 gJolteonPokedexText[] = _( - "If it is angered or startled, the fur all\n" - "over its body bristles like sharp needles\n" - "that pierce foes."); - -const u8 gJolteonPokedexTextUnused[] = _(""); - -const u8 gFlareonPokedexText[] = _( - "It has a flame bag inside its body. After\n" - "inhaling deeply, it blows out flames of\n" - "nearly 3,100 degrees Fahrenheit."); - -const u8 gFlareonPokedexTextUnused[] = _(""); - -const u8 gPorygonPokedexText[] = _( - "Using the most advanced technologies,\n" - "scientists finally succeeded in making the\n" - "first artificial POKéMON."); - -const u8 gPorygonPokedexTextUnused[] = _(""); - -const u8 gOmanytePokedexText[] = _( - "A prehistoric POKéMON that lived in the\n" - "primordial sea, it swims by twisting its\n" - "10 tentacles about."); - -const u8 gOmanytePokedexTextUnused[] = _(""); - -const u8 gOmastarPokedexText[] = _( - "Its tentacles are highly developed as if\n" - "they are hands and feet. As soon as it\n" - "ensnares prey, it bites."); - -const u8 gOmastarPokedexTextUnused[] = _(""); - -const u8 gKabutoPokedexText[] = _( - "This POKéMON was regenerated from the\n" - "fossil of an ancient creature. It protects\n" - "itself with a hard shell."); - -const u8 gKabutoPokedexTextUnused[] = _(""); - -const u8 gKabutopsPokedexText[] = _( - "It swims freely through water. It catches\n" - "prey with its scythe-like arms and drains\n" - "the victim's fluids."); - -const u8 gKabutopsPokedexTextUnused[] = _(""); - -const u8 gAerodactylPokedexText[] = _( - "It was regenerated from a dinosaur's\n" - "genetic matter that was found in amber.\n" - "It flies with high-pitched cries."); - -const u8 gAerodactylPokedexTextUnused[] = _(""); - -const u8 gSnorlaxPokedexText[] = _( - "It is not satisfied unless it eats over 880\n" - "pounds of food every day. When it is done\n" - "eating, it goes promptly to sleep."); - -const u8 gSnorlaxPokedexTextUnused[] = _(""); - -const u8 gArticunoPokedexText[] = _( - "One of the legendary bird POKéMON.\n" - "With its long tail trailing behind, its\n" - "flying form is magnificent."); - -const u8 gArticunoPokedexTextUnused[] = _(""); - -const u8 gZapdosPokedexText[] = _( - "One of the legendary bird POKéMON.\n" - "While it is flying, it makes crackling and\n" - "snapping sounds."); - -const u8 gZapdosPokedexTextUnused[] = _(""); - -const u8 gMoltresPokedexText[] = _( - "One of the legendary bird POKéMON.\n" - "Those seeing it are overwhelmed by its\n" - "orange wings that seem to be on fire."); - -const u8 gMoltresPokedexTextUnused[] = _(""); - -const u8 gDratiniPokedexText[] = _( - "Even the young can exceed 6.5 feet in\n" - "length. It grows larger by repeatedly\n" - "shedding skin."); - -const u8 gDratiniPokedexTextUnused[] = _(""); - -const u8 gDragonairPokedexText[] = _( - "It is said to live in seas and lakes.\n" - "Even though it has no wings, it has been\n" - "seen flying occasionally."); - -const u8 gDragonairPokedexTextUnused[] = _(""); - -const u8 gDragonitePokedexText[] = _( - "It can fly in spite of its big and bulky\n" - "physique. It circles the globe in just\n" - "16 hours."); - -const u8 gDragonitePokedexTextUnused[] = _(""); - -const u8 gMewtwoPokedexText[] = _( - "A POKéMON whose genetic code was\n" - "repeatedly recombined for research.\n" - "It turned vicious as a result."); - -const u8 gMewtwoPokedexTextUnused[] = _(""); - -const u8 gMewPokedexText[] = _( - "A POKéMON of South America that was\n" - "thought to have been extinct. It is very\n" - "intelligent and learns any move."); - -const u8 gMewPokedexTextUnused[] = _(""); - -const u8 gChikoritaPokedexText[] = _( - "Its pleasantly aromatic leaves have the\n" - "ability to check the humidity and\n" - "temperature."); - -const u8 gChikoritaPokedexTextUnused[] = _(""); - -const u8 gBayleefPokedexText[] = _( - "A spicy aroma emanates from around its\n" - "neck. The aroma acts as a stimulant to\n" - "restore health."); - -const u8 gBayleefPokedexTextUnused[] = _(""); - -const u8 gMeganiumPokedexText[] = _( - "MEGANIUM's breath has the power to revive\n" - "dead grass and plants. It can make them\n" - "healthy again."); - -const u8 gMeganiumPokedexTextUnused[] = _(""); - -const u8 gCyndaquilPokedexText[] = _( - "It usually stays hunched over. If it is\n" - "angry or surprised, it shoots flames out\n" - "of its back."); - -const u8 gCyndaquilPokedexTextUnused[] = _(""); - -const u8 gQuilavaPokedexText[] = _( - "This POKéMON is fully covered by\n" - "nonflammable fur. It can withstand any\n" - "kind of fire attack."); - -const u8 gQuilavaPokedexTextUnused[] = _(""); - -const u8 gTyphlosionPokedexText[] = _( - "It has a secret, devastating move. It\n" - "rubs its blazing fur together to cause\n" - "huge explosions."); - -const u8 gTyphlosionPokedexTextUnused[] = _(""); - -const u8 gTotodilePokedexText[] = _( - "It is small but rough and tough. It won't\n" - "hesitate to take a bite out of anything\n" - "that moves."); - -const u8 gTotodilePokedexTextUnused[] = _(""); - -const u8 gCroconawPokedexText[] = _( - "It opens its huge jaws wide when\n" - "attacking. If it loses any fangs while\n" - "biting, they grow back in."); - -const u8 gCroconawPokedexTextUnused[] = _(""); - -const u8 gFeraligatrPokedexText[] = _( - "It is hard for it to support its own\n" - "weight out of water, so it gets down on\n" - "all fours. But it moves fast."); - -const u8 gFeraligatrPokedexTextUnused[] = _(""); - -const u8 gSentretPokedexText[] = _( - "It stands on its tail so it can see a long\n" - "way. If it spots an enemy, it cries loudly\n" - "to warn its kind."); - -const u8 gSentretPokedexTextUnused[] = _(""); - -const u8 gFurretPokedexText[] = _( - "There is no telling where its tail begins.\n" - "Despite its short legs, it is quick at\n" - "hunting RATTATA."); - -const u8 gFurretPokedexTextUnused[] = _(""); - -const u8 gHoothootPokedexText[] = _( - "It has a perfect sense of time. Whatever\n" - "happens, it keeps rhythm by precisely\n" - "tilting its head in time."); - -const u8 gHoothootPokedexTextUnused[] = _(""); - -const u8 gNoctowlPokedexText[] = _( - "When it needs to think, it rotates its head\n" - "180 degrees to sharpen its intellectual\n" - "power."); - -const u8 gNoctowlPokedexTextUnused[] = _(""); - -const u8 gLedybaPokedexText[] = _( - "When the weather turns cold, numerous\n" - "LEDYBA gather from everywhere to cluster\n" - "and keep each other warm."); - -const u8 gLedybaPokedexTextUnused[] = _(""); - -const u8 gLedianPokedexText[] = _( - "The star patterns on its back grow larger\n" - "or smaller depending on the number of\n" - "stars in the night sky."); - -const u8 gLedianPokedexTextUnused[] = _(""); - -const u8 gSpinarakPokedexText[] = _( - "It spins a web using fine--but durable--\n" - "thread. It then waits patiently for prey\n" - "to be trapped."); - -const u8 gSpinarakPokedexTextUnused[] = _(""); - -const u8 gAriadosPokedexText[] = _( - "A single strand of a special string is\n" - "endlessly spun out of its rear. The string\n" - "leads back to its nest."); - -const u8 gAriadosPokedexTextUnused[] = _(""); - -const u8 gCrobatPokedexText[] = _( - "The development of wings on its legs\n" - "enables it to fly fast but also makes it\n" - "tough to stop and rest."); - -const u8 gCrobatPokedexTextUnused[] = _(""); - -const u8 gChinchouPokedexText[] = _( - "On the dark ocean floor, its only means\n" - "of communication is its constantly\n" - "flashing lights."); - -const u8 gChinchouPokedexTextUnused[] = _(""); - -const u8 gLanturnPokedexText[] = _( - "It blinds prey with an intense burst of\n" - "light, then swallows the immobilized prey\n" - "in a single gulp."); - -const u8 gLanturnPokedexTextUnused[] = _(""); - -const u8 gPichuPokedexText[] = _( - "Despite its small size, it can zap even\n" - "adult humans. However, if it does so, it\n" - "also surprises itself."); - -const u8 gPichuPokedexTextUnused[] = _(""); - -const u8 gCleffaPokedexText[] = _( - "When numerous meteors illuminate the\n" - "night sky, sightings of CLEFFA strangely\n" - "increase."); - -const u8 gCleffaPokedexTextUnused[] = _(""); - -const u8 gIgglybuffPokedexText[] = _( - "Its extremely flexible and elastic body\n" - "makes it bounce continuously--anytime,\n" - "anywhere."); - -const u8 gIgglybuffPokedexTextUnused[] = _(""); - -const u8 gTogepiPokedexText[] = _( - "A proverb claims that happiness will come\n" - "to anyone who can make a sleeping TOGEPI\n" - "stand up."); - -const u8 gTogepiPokedexTextUnused[] = _(""); - -const u8 gTogeticPokedexText[] = _( - "It grows dispirited if it is not with kind\n" - "people. It can float in midair without\n" - "moving its wings."); - -const u8 gTogeticPokedexTextUnused[] = _(""); - -const u8 gNatuPokedexText[] = _( - "It usually forages for food on the ground\n" - "but may, on rare occasions, hop onto\n" - "branches to peck at shoots."); - -const u8 gNatuPokedexTextUnused[] = _(""); - -const u8 gXatuPokedexText[] = _( - "In South America, it is said that its right\n" - "eye sees the future and its left eye\n" - "views the past."); - -const u8 gXatuPokedexTextUnused[] = _(""); - -const u8 gMareepPokedexText[] = _( - "Its fleece grows continually. In the\n" - "summer, the fleece is fully shed, but it\n" - "grows back in a week."); - -const u8 gMareepPokedexTextUnused[] = _(""); - -const u8 gFlaaffyPokedexText[] = _( - "Its fluffy fleece easily stores\n" - "electricity. Its rubbery hide keeps it\n" - "from being electrocuted."); - -const u8 gFlaaffyPokedexTextUnused[] = _(""); - -const u8 gAmpharosPokedexText[] = _( - "The bright light on its tail can be seen\n" - "far away. It has been treasured since\n" - "ancient times as a beacon."); - -const u8 gAmpharosPokedexTextUnused[] = _(""); - -const u8 gBellossomPokedexText[] = _( - "Plentiful in the tropics. When it dances,\n" - "its petals rub together and make a\n" - "pleasant ringing sound."); - -const u8 gBellossomPokedexTextUnused[] = _(""); - -const u8 gMarillPokedexText[] = _( - "The end of its tail serves as a buoy that\n" - "keeps it from drowning, even in a vicious\n" - "current."); - -const u8 gMarillPokedexTextUnused[] = _(""); - -const u8 gAzumarillPokedexText[] = _( - "When it plays in water, it rolls up its\n" - "elongated ears to prevent their insides\n" - "from getting wet."); - -const u8 gAzumarillPokedexTextUnused[] = _(""); - -const u8 gSudowoodoPokedexText[] = _( - "It disguises itself as a tree to avoid\n" - "attack. It hates water, so it will\n" - "disappear if it starts raining."); - -const u8 gSudowoodoPokedexTextUnused[] = _(""); - -const u8 gPolitoedPokedexText[] = _( - "Whenever three or more of these get\n" - "together, they sing in a loud voice that\n" - "sounds like bellowing."); - -const u8 gPolitoedPokedexTextUnused[] = _(""); - -const u8 gHoppipPokedexText[] = _( - "Its body is so light, it must grip the\n" - "ground firmly with its feet to keep from\n" - "being blown away."); - -const u8 gHoppipPokedexTextUnused[] = _(""); - -const u8 gSkiploomPokedexText[] = _( - "It spreads its petals to absorb sunlight.\n" - "It also floats in the air to get closer to\n" - "the sun."); - -const u8 gSkiploomPokedexTextUnused[] = _(""); - -const u8 gJumpluffPokedexText[] = _( - "It drifts on seasonal winds and spreads\n" - "its cotton-like spores all over the world \n" - "to make more offspring."); - -const u8 gJumpluffPokedexTextUnused[] = _(""); - -const u8 gAipomPokedexText[] = _( - "It lives atop tall trees. When leaping\n" - "from branch to branch, it deftly uses its\n" - "tail for balance."); - -const u8 gAipomPokedexTextUnused[] = _(""); - -const u8 gSunkernPokedexText[] = _( - "It lives by drinking only dewdrops from\n" - "under the leaves of plants. It is said\n" - "that it eats nothing else."); - -const u8 gSunkernPokedexTextUnused[] = _(""); - -const u8 gSunfloraPokedexText[] = _( - "In the daytime, it rushes about in a\n" - "hectic manner, but it comes to a complete\n" - "stop when the sun sets."); - -const u8 gSunfloraPokedexTextUnused[] = _(""); - -const u8 gYanmaPokedexText[] = _( - "Its large eyes can scan 360 degrees.\n" - "It looks in all directions to seek out\n" - "insects as its prey."); - -const u8 gYanmaPokedexTextUnused[] = _(""); - -const u8 gWooperPokedexText[] = _( - "When it walks around on the ground,\n" - "it coats its body with a slimy, poisonous\n" - "film."); - -const u8 gWooperPokedexTextUnused[] = _(""); - -const u8 gQuagsirePokedexText[] = _( - "Due to its relaxed and carefree attitude,\n" - "it often bumps its head on boulders and\n" - "boat hulls as it swims."); - -const u8 gQuagsirePokedexTextUnused[] = _(""); - -const u8 gEspeonPokedexText[] = _( - "By reading air currents, it can predict\n" - "things such as the weather or its foe's\n" - "next move."); - -const u8 gEspeonPokedexTextUnused[] = _(""); - -const u8 gUmbreonPokedexText[] = _( - "When darkness falls, the rings on its body\n" - "begin to glow, striking fear in the hearts\n" - "of anyone nearby."); - -const u8 gUmbreonPokedexTextUnused[] = _(""); - -const u8 gMurkrowPokedexText[] = _( - "It is said that when chased, it lures its\n" - "attacker onto dark mountain trails where\n" - "the foe will get lost."); - -const u8 gMurkrowPokedexTextUnused[] = _(""); - -const u8 gSlowkingPokedexText[] = _( - "When its head was bitten, toxins entered\n" - "SLOWPOKE's head and unlocked an\n" - "extraordinary power."); - -const u8 gSlowkingPokedexTextUnused[] = _(""); - -const u8 gMisdreavusPokedexText[] = _( - "It loves to bite and yank people's hair\n" - "from behind without warning, just to see\n" - "their shocked reactions."); - -const u8 gMisdreavusPokedexTextUnused[] = _(""); - -const u8 gUnownPokedexText[] = _( - "Its flat, thin body is always stuck on\n" - "walls. Its shape appears to have some\n" - "meaning."); - -const u8 gUnownPokedexTextUnused[] = _(""); - -const u8 gWobbuffetPokedexText[] = _( - "To keep its pitch-black tail hidden, it\n" - "lives quietly in the darkness. It is never\n" - "first to attack."); - -const u8 gWobbuffetPokedexTextUnused[] = _(""); - -const u8 gGirafarigPokedexText[] = _( - "Its tail, which also contains a small\n" - "brain, may bite on its own if it notices an\n" - "alluring smell."); - -const u8 gGirafarigPokedexTextUnused[] = _(""); - -const u8 gPinecoPokedexText[] = _( - "It hangs and waits for flying-insect prey\n" - "to come near. It does not move about\n" - "much on its own."); - -const u8 gPinecoPokedexTextUnused[] = _(""); - -const u8 gForretressPokedexText[] = _( - "It remains immovably rooted to its tree.\n" - "It scatters pieces of its hard shell to\n" - "drive its enemies away."); - -const u8 gForretressPokedexTextUnused[] = _(""); - -const u8 gDunsparcePokedexText[] = _( - "If spotted, it escapes by burrowing with\n" - "its tail. It can hover just slightly using\n" - "its wings."); - -const u8 gDunsparcePokedexTextUnused[] = _(""); - -const u8 gGligarPokedexText[] = _( - "It usually clings to cliffs. When it spots\n" - "its prey, it spreads its wings and glides\n" - "down to attack."); - -const u8 gGligarPokedexTextUnused[] = _(""); - -const u8 gSteelixPokedexText[] = _( - "It is said that if an ONIX lives for over\n" - "100 years, its composition changes to\n" - "become diamond-like."); - -const u8 gSteelixPokedexTextUnused[] = _(""); - -const u8 gSnubbullPokedexText[] = _( - "It has an active, playful nature. Many\n" - "women like to frolic with it because of\n" - "its affectionate ways."); - -const u8 gSnubbullPokedexTextUnused[] = _(""); - -const u8 gGranbullPokedexText[] = _( - "Because its fangs are too heavy, it\n" - "always keeps its head tilted down.\n" - "However, its BITE is powerful."); - -const u8 gGranbullPokedexTextUnused[] = _(""); - -const u8 gQwilfishPokedexText[] = _( - "The small spikes covering its body\n" - "developed from scales. They inject a\n" - "toxin that causes fainting."); - -const u8 gQwilfishPokedexTextUnused[] = _(""); - -const u8 gScizorPokedexText[] = _( - "Its wings are not used for flying.\n" - "They are flapped at high speed to adjust\n" - "its body temperature."); - -const u8 gScizorPokedexTextUnused[] = _(""); - -const u8 gShucklePokedexText[] = _( - "It stores BERRIES inside its shell.\n" - "To avoid attacks, it hides beneath rocks\n" - "and remains completely still."); - -const u8 gShucklePokedexTextUnused[] = _(""); - -const u8 gHeracrossPokedexText[] = _( - "Usually docile, but if disturbed while\n" - "sipping honey, it chases off the intruder\n" - "with its horn."); - -const u8 gHeracrossPokedexTextUnused[] = _(""); - -const u8 gSneaselPokedexText[] = _( - "Vicious in nature, it drives PIDGEY from\n" - "their nests and feasts on the eggs that\n" - "are left behind."); - -const u8 gSneaselPokedexTextUnused[] = _(""); - -const u8 gTeddiursaPokedexText[] = _( - "Before food becomes scarce in wintertime,\n" - "its habit is to hoard food in many hidden\n" - "locations."); - -const u8 gTeddiursaPokedexTextUnused[] = _(""); - -const u8 gUrsaringPokedexText[] = _( - "With its ability to distinguish any smell,\n" - "it unfailingly finds all food buried deep\n" - "underground."); - -const u8 gUrsaringPokedexTextUnused[] = _(""); - -const u8 gSlugmaPokedexText[] = _( - "A common sight in volcanic areas, it\n" - "slowly slithers around in a constant\n" - "search for warm places."); - -const u8 gSlugmaPokedexTextUnused[] = _(""); - -const u8 gMagcargoPokedexText[] = _( - "Its brittle shell occasionally spouts\n" - "intense flames that circulate throughout\n" - "its body."); - -const u8 gMagcargoPokedexTextUnused[] = _(""); - -const u8 gSwinubPokedexText[] = _( - "If it smells something enticing, it dashes\n" - "off headlong to find the source of the\n" - "aroma."); - -const u8 gSwinubPokedexTextUnused[] = _(""); - -const u8 gPiloswinePokedexText[] = _( - "If it charges at an enemy, the hairs on\n" - "its back stand up straight. It is very\n" - "sensitive to sound."); - -const u8 gPiloswinePokedexTextUnused[] = _(""); - -const u8 gCorsolaPokedexText[] = _( - "In a south sea nation, the people live in\n" - "communities that are built on groups of\n" - "these POKéMON."); - -const u8 gCorsolaPokedexTextUnused[] = _(""); - -const u8 gRemoraidPokedexText[] = _( - "Using its dorsal fin as a suction pad, it\n" - "clings to a MANTINE's underside to\n" - "scavenge for leftovers."); - -const u8 gRemoraidPokedexTextUnused[] = _(""); - -const u8 gOctilleryPokedexText[] = _( - "It instinctively sneaks into rocky holes.\n" - "If it gets sleepy, it steals the nest of a\n" - "fellow OCTILLERY."); - -const u8 gOctilleryPokedexTextUnused[] = _(""); - -const u8 gDelibirdPokedexText[] = _( - "It nests at the edge of sharp cliffs.\n" - "It spends all day carrying food to its\n" - "awaiting chicks."); - -const u8 gDelibirdPokedexTextUnused[] = _(""); - -const u8 gMantinePokedexText[] = _( - "Swimming freely in open seas, it may fly\n" - "out of the water and over the waves if it\n" - "builds up enough speed."); - -const u8 gMantinePokedexTextUnused[] = _(""); - -const u8 gSkarmoryPokedexText[] = _( - "After nesting in bramble bushes, the wings\n" - "of its chicks grow hard from scratches by\n" - "thorns."); - -const u8 gSkarmoryPokedexTextUnused[] = _(""); - -const u8 gHoundourPokedexText[] = _( - "To corner prey, they check each other's\n" - "location using barks that only they can\n" - "understand."); - -const u8 gHoundourPokedexTextUnused[] = _(""); - -const u8 gHoundoomPokedexText[] = _( - "Upon hearing its eerie howls, other\n" - "POKéMON get the shivers and head straight\n" - "back to their nests."); - -const u8 gHoundoomPokedexTextUnused[] = _(""); - -const u8 gKingdraPokedexText[] = _( - "It sleeps deep on the ocean floor to\n" - "build its energy. It is said to cause\n" - "tornadoes as it wakes."); - -const u8 gKingdraPokedexTextUnused[] = _(""); - -const u8 gPhanpyPokedexText[] = _( - "As a sign of affection, it bumps with its\n" - "snout. However, it is so strong, it may\n" - "send you flying."); - -const u8 gPhanpyPokedexTextUnused[] = _(""); - -const u8 gDonphanPokedexText[] = _( - "The longer and bigger its tusks, the\n" - "higher its rank in its herd. The tusks take\n" - "a long time to grow."); - -const u8 gDonphanPokedexTextUnused[] = _(""); - -const u8 gPorygon2PokedexText[] = _( - "Further research enhanced its abilities.\n" - "Sometimes, it may exhibit motions that\n" - "were not programmed."); - -const u8 gPorygon2PokedexTextUnused[] = _(""); - -const u8 gStantlerPokedexText[] = _( - "Those who stare at its antlers will\n" - "gradually lose control of their senses\n" - "and be unable to stand."); - -const u8 gStantlerPokedexTextUnused[] = _(""); - -const u8 gSmearglePokedexText[] = _( - "Once it becomes an adult, it has a\n" - "tendency to let its comrades plant\n" - "footprints on its back."); - -const u8 gSmearglePokedexTextUnused[] = _(""); - -const u8 gTyroguePokedexText[] = _( - "Even though it is small, it can't be\n" - "ignored because it will slug any handy\n" - "target without warning."); - -const u8 gTyroguePokedexTextUnused[] = _(""); - -const u8 gHitmontopPokedexText[] = _( - "It launches kicks while spinning. If it\n" - "spins at high speed, it may bore its way\n" - "into the ground."); - -const u8 gHitmontopPokedexTextUnused[] = _(""); - -const u8 gSmoochumPokedexText[] = _( - "It always rocks its head slowly backwards\n" - "and forwards as if it is trying to kiss\n" - "someone."); - -const u8 gSmoochumPokedexTextUnused[] = _(""); - -const u8 gElekidPokedexText[] = _( - "Even in the most vicious storm, this\n" - "POKéMON plays happily if thunder rumbles\n" - "in the sky."); - -const u8 gElekidPokedexTextUnused[] = _(""); - -const u8 gMagbyPokedexText[] = _( - "It is found in volcanic craters. Its body\n" - "heat exceeds 1,100 degrees Fahrenheit,\n" - "so don't underestimate it."); - -const u8 gMagbyPokedexTextUnused[] = _(""); - -const u8 gMiltankPokedexText[] = _( - "If it has just had a baby, the milk it\n" - "produces contains much more nutrition than\n" - "usual."); - -const u8 gMiltankPokedexTextUnused[] = _(""); - -const u8 gBlisseyPokedexText[] = _( - "It has a very compassionate nature. If it\n" - "sees a sick POKéMON, it will nurse the\n" - "sufferer back to health."); - -const u8 gBlisseyPokedexTextUnused[] = _(""); - -const u8 gRaikouPokedexText[] = _( - "This POKéMON races across the\n" - "land while barking a cry that sounds\n" - "like crashing thunder."); - -const u8 gRaikouPokedexTextUnused[] = _(""); - -const u8 gEnteiPokedexText[] = _( - "A POKéMON that races across the land.\n" - "It is said that one is born every time a\n" - "new volcano appears."); - -const u8 gEnteiPokedexTextUnused[] = _(""); - -const u8 gSuicunePokedexText[] = _( - "This POKéMON races across the land.\n" - "It is said that north winds will somehow\n" - "blow whenever it appears."); - -const u8 gSuicunePokedexTextUnused[] = _(""); - -const u8 gLarvitarPokedexText[] = _( - "It is born deep underground. It can't\n" - "emerge until it has entirely consumed the\n" - "soil around it."); - -const u8 gLarvitarPokedexTextUnused[] = _(""); - -const u8 gPupitarPokedexText[] = _( - "Even sealed in its shell, it can move\n" - "freely. Hard and fast, it has outstanding\n" - "destructive power."); - -const u8 gPupitarPokedexTextUnused[] = _(""); - -const u8 gTyranitarPokedexText[] = _( - "Its body can't be harmed by any sort of\n" - "attack, so it is very eager to make\n" - "challenges against enemies."); - -const u8 gTyranitarPokedexTextUnused[] = _(""); - -const u8 gLugiaPokedexText[] = _( - "It is said to be the guardian of the seas.\n" - "It is rumored to have been seen on the\n" - "night of a storm."); - -const u8 gLugiaPokedexTextUnused[] = _(""); - -const u8 gHoOhPokedexText[] = _( - "A legend says that its body glows in\n" - "seven colors. A rainbow is said to form\n" - "behind it when it flies."); - -const u8 gHoOhPokedexTextUnused[] = _(""); - -const u8 gCelebiPokedexText[] = _( - "When CELEBI disappears deep in a forest,\n" - "it is said to leave behind an egg it\n" - "brought from the future."); - -const u8 gCelebiPokedexTextUnused[] = _(""); - -const u8 gTreeckoPokedexText[] = _( - "It quickly scales even vertical walls.\n" - "It senses humidity with its tail to predict\n" - "the next day's weather."); - -const u8 gTreeckoPokedexTextUnused[] = _(""); - -const u8 gGrovylePokedexText[] = _( - "Its strongly developed thigh muscles\n" - "give it astounding agility and jumping\n" - "performance."); - -const u8 gGrovylePokedexTextUnused[] = _(""); - -const u8 gSceptilePokedexText[] = _( - "The leaves on its forelegs are as sharp\n" - "as swords. It agilely leaps about the\n" - "branches of trees to strike."); - -const u8 gSceptilePokedexTextUnused[] = _(""); - -const u8 gTorchicPokedexText[] = _( - "It has a flame sac inside its belly that\n" - "perpetually burns. It feels warm if it is\n" - "hugged."); - -const u8 gTorchicPokedexTextUnused[] = _(""); - -const u8 gCombuskenPokedexText[] = _( - "It boosts its concentration by emitting\n" - "harsh cries. Its kicks have outstanding\n" - "destructive power."); - -const u8 gCombuskenPokedexTextUnused[] = _(""); - -const u8 gBlazikenPokedexText[] = _( - "When facing a tough foe, it looses flames\n" - "from its wrists. Its powerful legs let it\n" - "jump clear over buildings."); - -const u8 gBlazikenPokedexTextUnused[] = _(""); - -const u8 gMudkipPokedexText[] = _( - "Its large tail fin propels it through\n" - "water with powerful acceleration. It is\n" - "strong in spite of its size."); - -const u8 gMudkipPokedexTextUnused[] = _(""); - -const u8 gMarshtompPokedexText[] = _( - "It is at its best when on muddy ground\n" - "with poor footing. It quickly overwhelms\n" - "foes struggling in mud."); - -const u8 gMarshtompPokedexTextUnused[] = _(""); - -const u8 gSwampertPokedexText[] = _( - "Its arms are rock-hard. With one swing,\n" - "they can batter down its foe. It makes its\n" - "nest on beautiful beaches."); - -const u8 gSwampertPokedexTextUnused[] = _(""); - -const u8 gPoochyenaPokedexText[] = _( - "It has a very tenacious nature. Its acute\n" - "sense of smell lets it chase a chosen\n" - "prey without ever losing track."); - -const u8 gPoochyenaPokedexTextUnused[] = _(""); - -const u8 gMightyenaPokedexText[] = _( - "It will always obey the commands of a\n" - "skilled TRAINER. Its behavior arises from\n" - "its living in packs in ancient times."); - -const u8 gMightyenaPokedexTextUnused[] = _(""); - -const u8 gZigzagoonPokedexText[] = _( - "A POKéMON with abundant curiosity.\n" - "It shows an interest in everything, so it\n" - "always zigs and zags."); - -const u8 gZigzagoonPokedexTextUnused[] = _(""); - -const u8 gLinoonePokedexText[] = _( - "When running in a straight line, it can top\n" - "60 miles per hour. However, it has a\n" - "tough time with curved roads."); - -const u8 gLinoonePokedexTextUnused[] = _(""); - -const u8 gWurmplePokedexText[] = _( - "It lives amidst tall grass and in forests.\n" - "When attacked, it resists by pointing its\n" - "venomous spikes at the foe."); - -const u8 gWurmplePokedexTextUnused[] = _(""); - -const u8 gSilcoonPokedexText[] = _( - "It conserves its energy by moving as\n" - "little as possible. It awaits evolution\n" - "while drinking only a little rainwater."); - -const u8 gSilcoonPokedexTextUnused[] = _(""); - -const u8 gBeautiflyPokedexText[] = _( - "Despite its appearance, it has an\n" - "aggressive nature. It attacks by jabbing\n" - "with its long, thin mouth."); - -const u8 gBeautiflyPokedexTextUnused[] = _(""); - -const u8 gCascoonPokedexText[] = _( - "Its body, which is made of soft silk,\n" - "hardens over time. When cracks appear,\n" - "evolution is near."); - -const u8 gCascoonPokedexTextUnused[] = _(""); - -const u8 gDustoxPokedexText[] = _( - "It scatters horribly toxic dust when it\n" - "senses danger. They tend to gather in the\n" - "glow of streetlamps at night."); - -const u8 gDustoxPokedexTextUnused[] = _(""); - -const u8 gLotadPokedexText[] = _( - "It searches about for clean water. If it\n" - "does not drink water for too long, the\n" - "leaf on its head wilts."); - -const u8 gLotadPokedexTextUnused[] = _(""); - -const u8 gLombrePokedexText[] = _( - "It lives at the water's edge where it is\n" - "sunny. It sleeps on a bed of water grass\n" - "by day and becomes active at night."); - -const u8 gLombrePokedexTextUnused[] = _(""); - -const u8 gLudicoloPokedexText[] = _( - "The rhythm of bright, festive music\n" - "activates LUDICOLO's cells, making it more\n" - "powerful."); - -const u8 gLudicoloPokedexTextUnused[] = _(""); - -const u8 gSeedotPokedexText[] = _( - "If it remains still, it becomes impossible\n" - "to distinguish from real nuts. It delights\n" - "in surprising foraging PIDGEY."); - -const u8 gSeedotPokedexTextUnused[] = _(""); - -const u8 gNuzleafPokedexText[] = _( - "They live in holes bored in large trees.\n" - "The sound of NUZLEAF's grass flute fills\n" - "listeners with dread."); - -const u8 gNuzleafPokedexTextUnused[] = _(""); - -const u8 gShiftryPokedexText[] = _( - "A POKéMON that was feared as a forest\n" - "guardian. It can read the foe's mind and\n" - "take preemptive action."); - -const u8 gShiftryPokedexTextUnused[] = _(""); - -const u8 gTaillowPokedexText[] = _( - "It dislikes cold seasons. They migrate to\n" - "other lands in search of warmth, flying\n" - "over 180 miles a day."); - -const u8 gTaillowPokedexTextUnused[] = _(""); - -const u8 gSwellowPokedexText[] = _( - "If its two tail feathers are standing at\n" - "attention, it is proof of good health.\n" - "It soars elegantly in the sky."); - -const u8 gSwellowPokedexTextUnused[] = _(""); - -const u8 gWingullPokedexText[] = _( - "It rides upon ocean winds as if it were\n" - "a glider. In the winter, it hides food\n" - "around its nest."); - -const u8 gWingullPokedexTextUnused[] = _(""); - -const u8 gPelipperPokedexText[] = _( - "It is a flying transporter that carries\n" - "small POKéMON in its beak. It bobs on the\n" - "waves to rest its wings."); - -const u8 gPelipperPokedexTextUnused[] = _(""); - -const u8 gRaltsPokedexText[] = _( - "It is highly attuned to the emotions of\n" - "people and POKéMON. It hides if it senses\n" - "hostility."); - -const u8 gRaltsPokedexTextUnused[] = _(""); - -const u8 gKirliaPokedexText[] = _( - "The cheerful spirit of its TRAINER gives\n" - "it energy for its psychokinetic power.\n" - "It spins and dances when happy."); - -const u8 gKirliaPokedexTextUnused[] = _(""); - -const u8 gGardevoirPokedexText[] = _( - "It has the power to predict the future.\n" - "Its power peaks when it is protecting its\n" - "TRAINER."); - -const u8 gGardevoirPokedexTextUnused[] = _(""); - -const u8 gSurskitPokedexText[] = _( - "They usually live on ponds, but after an\n" - "evening shower, they may appear on\n" - "puddles in towns."); - -const u8 gSurskitPokedexTextUnused[] = _(""); - -const u8 gMasquerainPokedexText[] = _( - "The antennae have distinctive patterns\n" - "that look like eyes. When it rains, they\n" - "grow heavy, making flight impossible."); - -const u8 gMasquerainPokedexTextUnused[] = _(""); - -const u8 gShroomishPokedexText[] = _( - "It prefers damp places. By day it remains\n" - "still in the forest shade. It releases\n" - "toxic powder from its head."); - -const u8 gShroomishPokedexTextUnused[] = _(""); - -const u8 gBreloomPokedexText[] = _( - "The seeds on its tail are made of toxic\n" - "spores. It knocks out foes with quick,\n" - "virtually invisible punches."); - -const u8 gBreloomPokedexTextUnused[] = _(""); - -const u8 gSlakothPokedexText[] = _( - "It sleeps for 20 hours every day. Making\n" - "drowsy those that see it is one of\n" - "its abilities."); - -const u8 gSlakothPokedexTextUnused[] = _(""); - -const u8 gVigorothPokedexText[] = _( - "It is always hungry because it won't stop\n" - "rampaging. Even while it is eating, it\n" - "can't keep still."); - -const u8 gVigorothPokedexTextUnused[] = _(""); - -const u8 gSlakingPokedexText[] = _( - "It is the world's most slothful POKéMON.\n" - "However, it can exert horrifying power by\n" - "releasing pent-up energy all at once."); - -const u8 gSlakingPokedexTextUnused[] = _(""); - -const u8 gNincadaPokedexText[] = _( - "Because it lived almost entirely\n" - "underground, it is nearly blind.\n" - "It uses its antennae instead."); - -const u8 gNincadaPokedexTextUnused[] = _(""); - -const u8 gNinjaskPokedexText[] = _( - "This POKéMON is so quick, it is said to\n" - "be able to avoid any attack. It loves to\n" - "feed on tree sap."); - -const u8 gNinjaskPokedexTextUnused[] = _(""); - -const u8 gShedinjaPokedexText[] = _( - "A most peculiar POKéMON that somehow\n" - "appears in a POKé BALL when a NINCADA\n" - "evolves."); - -const u8 gShedinjaPokedexTextUnused[] = _(""); - -const u8 gWhismurPokedexText[] = _( - "It usually murmurs, but starts crying\n" - "loudly if it senses danger. It stops when\n" - "its ear covers are shut."); - -const u8 gWhismurPokedexTextUnused[] = _(""); - -const u8 gLoudredPokedexText[] = _( - "When it stamps its feet and bellows, it\n" - "generates ultrasonic waves that can blow\n" - "apart a house."); - -const u8 gLoudredPokedexTextUnused[] = _(""); - -const u8 gExploudPokedexText[] = _( - "It emits a variety of sounds from the \n" - "holes all over its body. Its loud cries\n" - "can be heard from over six miles away."); - -const u8 gExploudPokedexTextUnused[] = _(""); - -const u8 gMakuhitaPokedexText[] = _( - "It grows stronger by enduring harsh\n" - "training. It is a gutsy POKéMON that can\n" - "withstand any attack."); - -const u8 gMakuhitaPokedexTextUnused[] = _(""); - -const u8 gHariyamaPokedexText[] = _( - "It stomps on the ground to build power.\n" - "It can send a 10-ton truck flying with a\n" - "straight-arm punch."); - -const u8 gHariyamaPokedexTextUnused[] = _(""); - -const u8 gAzurillPokedexText[] = _( - "It battles by flinging around its tail,\n" - "which is bigger than its body. The\n" - "tail is a flotation device in water."); - -const u8 gAzurillPokedexTextUnused[] = _(""); - -const u8 gNosepassPokedexText[] = _( - "Its magnetic nose consistently faces\n" - "north. Travelers check NOSEPASS to get\n" - "their bearings."); - -const u8 gNosepassPokedexTextUnused[] = _(""); - -const u8 gSkittyPokedexText[] = _( - "It is said to be difficult to earn its\n" - "trust. However, it is extremely popular\n" - "for its cute looks and behavior."); - -const u8 gSkittyPokedexTextUnused[] = _(""); - -const u8 gDelcattyPokedexText[] = _( - "The favorite of trend-conscious\n" - "female TRAINERS, they are used in\n" - "competition for their style and fur."); - -const u8 gDelcattyPokedexTextUnused[] = _(""); - -const u8 gSableyePokedexText[] = _( - "It feeds on gemstone crystals.\n" - "In darkness, its eyes sparkle with the\n" - "glitter of jewels."); - -const u8 gSableyePokedexTextUnused[] = _(""); - -const u8 gMawilePokedexText[] = _( - "It uses its docile-looking face to lull\n" - "foes into complacency, then bites with its\n" - "huge, relentless jaws."); - -const u8 gMawilePokedexTextUnused[] = _(""); - -const u8 gAronPokedexText[] = _( - "It eats iron to build its steel body.\n" - "It is a pest that descends from mountains\n" - "to eat bridges and train tracks."); - -const u8 gAronPokedexTextUnused[] = _(""); - -const u8 gLaironPokedexText[] = _( - "It habitually shows off its strength with\n" - "the size of sparks it creates by ramming\n" - "its steel body into boulders."); - -const u8 gLaironPokedexTextUnused[] = _(""); - -const u8 gAggronPokedexText[] = _( - "It claims a large mountain as its sole\n" - "territory. It mercilessly thrashes those\n" - "that violate its space."); - -const u8 gAggronPokedexTextUnused[] = _(""); - -const u8 gMedititePokedexText[] = _( - "It never skips its daily yoga training.\n" - "It heightens its inner strength through\n" - "meditation."); - -const u8 gMedititePokedexTextUnused[] = _(""); - -const u8 gMedichamPokedexText[] = _( - "It elegantly avoids attacks with dance-\n" - "like steps, then launches a devastating\n" - "blow in the same motion."); - -const u8 gMedichamPokedexTextUnused[] = _(""); - -const u8 gElectrikePokedexText[] = _( - "It stores static electricity in its fur\n" - "for discharging. It gives off sparks if a\n" - "storm approaches."); - -const u8 gElectrikePokedexTextUnused[] = _(""); - -const u8 gManectricPokedexText[] = _( - "It rarely appears before people.\n" - "It is said to nest where lightning has\n" - "fallen."); - -const u8 gManectricPokedexTextUnused[] = _(""); - -const u8 gPluslePokedexText[] = _( - "It cheers on partners while scattering\n" - "sparks from its body. It climbs telephone\n" - "poles to absorb electricity."); - -const u8 gPluslePokedexTextUnused[] = _(""); - -const u8 gMinunPokedexText[] = _( - "Its dislike of water makes it take shelter\n" - "under the eaves of houses in rain. It uses\n" - "pom-poms made of sparks for cheering."); - -const u8 gMinunPokedexTextUnused[] = _(""); - -const u8 gVolbeatPokedexText[] = _( - "It lives around clean ponds. At night,\n" - "its rear lights up. It converses with\n" - "others by flashing its light."); - -const u8 gVolbeatPokedexTextUnused[] = _(""); - -const u8 gIllumisePokedexText[] = _( - "It guides VOLBEAT to draw signs in night\n" - "skies. There are scientists that study the\n" - "patterns it creates."); - -const u8 gIllumisePokedexTextUnused[] = _(""); - -const u8 gRoseliaPokedexText[] = _( - "Its flowers give off a relaxing fragrance.\n" - "The stronger its aroma, the healthier\n" - "the ROSELIA is."); - -const u8 gRoseliaPokedexTextUnused[] = _(""); - -const u8 gGulpinPokedexText[] = _( - "There is nothing its stomach can't digest.\n" - "While it is digesting, vile, overpowering\n" - "gases are expelled."); - -const u8 gGulpinPokedexTextUnused[] = _(""); - -const u8 gSwalotPokedexText[] = _( - "It can swallow a tire whole in one gulp.\n" - "It secretes a horribly toxic fluid from\n" - "the pores on its body."); - -const u8 gSwalotPokedexTextUnused[] = _(""); - -const u8 gCarvanhaPokedexText[] = _( - "It lives in massive rivers that course\n" - "through jungles. It swarms prey that\n" - "enter its territory."); - -const u8 gCarvanhaPokedexTextUnused[] = _(""); - -const u8 gSharpedoPokedexText[] = _( - "The ruffian of the seas, it has fangs that\n" - "crunch through iron. It swims by jetting\n" - "water from its rear."); - -const u8 gSharpedoPokedexTextUnused[] = _(""); - -const u8 gWailmerPokedexText[] = _( - "When it sucks in a large volume of\n" - "seawater, it becomes like a big, bouncy\n" - "ball. It eats a ton of food daily."); - -const u8 gWailmerPokedexTextUnused[] = _(""); - -const u8 gWailordPokedexText[] = _( - "It is among the largest of all POKéMON.\n" - "It herds prey in a pack then swallows the\n" - "massed prey in one gulp."); - -const u8 gWailordPokedexTextUnused[] = _(""); - -const u8 gNumelPokedexText[] = _( - "Magma of almost 2,200 degrees Fahrenheit\n" - "courses through its body. When it grows\n" - "cold, the magma hardens and slows it."); - -const u8 gNumelPokedexTextUnused[] = _(""); - -const u8 gCameruptPokedexText[] = _( - "If angered, the humps on its back erupt\n" - "in a shower of molten lava. It lives in\n" - "the craters of volcanoes."); - -const u8 gCameruptPokedexTextUnused[] = _(""); - -const u8 gTorkoalPokedexText[] = _( - "It burns coal inside its shell. If it is\n" - "attacked, it belches thick, black smoke\n" - "and flees."); - -const u8 gTorkoalPokedexTextUnused[] = _(""); - -const u8 gSpoinkPokedexText[] = _( - "It apparently dies if it stops bouncing\n" - "about. It carries a pearl from CLAMPERL\n" - "on its head."); - -const u8 gSpoinkPokedexTextUnused[] = _(""); - -const u8 gGrumpigPokedexText[] = _( - "It can gain control over foes by doing\n" - "odd dance steps. The black pearls on its\n" - "forehead are precious gems."); - -const u8 gGrumpigPokedexTextUnused[] = _(""); - -const u8 gSpindaPokedexText[] = _( - "No two SPINDA are said to have identical\n" - "patterns. It confuses foes with its\n" - "stumbling motions."); - -const u8 gSpindaPokedexTextUnused[] = _(""); - -const u8 gTrapinchPokedexText[] = _( - "It lives in arid deserts. It makes a\n" - "sloping pit trap in sand where it\n" - "patiently awaits prey."); - -const u8 gTrapinchPokedexTextUnused[] = _(""); - -const u8 gVibravaPokedexText[] = _( - "It generates ultrasonic waves by violently\n" - "flapping its wings. After making its prey\n" - "faint, it melts the prey with acid."); - -const u8 gVibravaPokedexTextUnused[] = _(""); - -const u8 gFlygonPokedexText[] = _( - "It hides itself by kicking up desert sand\n" - "with its wings. Red covers shield its eyes\n" - "from sand."); - -const u8 gFlygonPokedexTextUnused[] = _(""); - -const u8 gCacneaPokedexText[] = _( - "It prefers harsh environments such as\n" - "deserts. It can survive for 30 days on\n" - "water stored in its body."); - -const u8 gCacneaPokedexTextUnused[] = _(""); - -const u8 gCacturnePokedexText[] = _( - "It lives in deserts. It becomes active at\n" - "night when it hunts for prey exhausted\n" - "from the desert's heat."); - -const u8 gCacturnePokedexTextUnused[] = _(""); - -const u8 gSwabluPokedexText[] = _( - "It constantly grooms its cotton-like\n" - "wings. It takes a shower to clean\n" - "itself if it becomes dirty."); - -const u8 gSwabluPokedexTextUnused[] = _(""); - -const u8 gAltariaPokedexText[] = _( - "If you hear a beautiful melody trilling\n" - "deep among mountains far from people,\n" - "it is ALTARIA's humming."); - -const u8 gAltariaPokedexTextUnused[] = _(""); - -const u8 gZangoosePokedexText[] = _( - "If it comes across a SEVIPER, its fur\n" - "bristles and it assumes its battle pose.\n" - "Its sharp claws are its best weapon."); - -const u8 gZangoosePokedexTextUnused[] = _(""); - -const u8 gSeviperPokedexText[] = _( - "It sharpens its swordlike tail on hard\n" - "rocks. It hides in tall grass and strikes\n" - "unwary prey with venomous fangs."); - -const u8 gSeviperPokedexTextUnused[] = _(""); - -const u8 gLunatonePokedexText[] = _( - "Its health ebbs and flows with the lunar\n" - "cycle. It brims with power when exposed\n" - "to the light of the full moon."); - -const u8 gLunatonePokedexTextUnused[] = _(""); - -const u8 gSolrockPokedexText[] = _( - "It absorbs solar energy during the day.\n" - "Always expressionless, it can sense what\n" - "its foe is thinking."); - -const u8 gSolrockPokedexTextUnused[] = _(""); - -const u8 gBarboachPokedexText[] = _( - "It probes muddy riverbeds with its two\n" - "long whiskers. A slimy film protects its\n" - "body."); - -const u8 gBarboachPokedexTextUnused[] = _(""); - -const u8 gWhiscashPokedexText[] = _( - "It makes its nest at the bottom of \n" - "swamps. It will eat anything - if it is\n" - "alive, WHISCASH will eat it."); - -const u8 gWhiscashPokedexTextUnused[] = _(""); - -const u8 gCorphishPokedexText[] = _( - "It came from overseas. It is a very hardy\n" - "creature that will quickly proliferate,\n" - "even in polluted streams."); - -const u8 gCorphishPokedexTextUnused[] = _(""); - -const u8 gCrawdauntPokedexText[] = _( - "A rough customer that wildly flails its\n" - "giant claws. It is said to be extremely\n" - "hard to raise."); - -const u8 gCrawdauntPokedexTextUnused[] = _(""); - -const u8 gBaltoyPokedexText[] = _( - "It was discovered in ancient ruins.\n" - "While moving, it constantly spins. It\n" - "stands on one foot even when asleep."); - -const u8 gBaltoyPokedexTextUnused[] = _(""); - -const u8 gClaydolPokedexText[] = _( - "It appears to have been born from clay\n" - "dolls made by ancient people. It uses\n" - "telekinesis to float and move."); - -const u8 gClaydolPokedexTextUnused[] = _(""); - -const u8 gLileepPokedexText[] = _( - "It became extinct roughly 100 million\n" - "years ago. It was regenerated from a\n" - "fossil using advanced techniques."); - -const u8 gLileepPokedexTextUnused[] = _(""); - -const u8 gCradilyPokedexText[] = _( - "It ensnares prey with its eight tentacles.\n" - "It then melts the prey with a strong acid\n" - "before feeding."); - -const u8 gCradilyPokedexTextUnused[] = _(""); - -const u8 gAnorithPokedexText[] = _( - "It is a kind of POKéMON progenitor.\n" - "It uses its extending claws to catch prey\n" - "hiding among rocks on the seafloor."); - -const u8 gAnorithPokedexTextUnused[] = _(""); - -const u8 gArmaldoPokedexText[] = _( - "Protected by a hard shell, its body is\n" - "very sturdy. It skewers prey with its\n" - "claws to feed."); - -const u8 gArmaldoPokedexTextUnused[] = _(""); - -const u8 gFeebasPokedexText[] = _( - "Ridiculed for its shabby appearance,\n" - "it is ignored by researchers. It lives in\n" - "ponds choked with weeds."); - -const u8 gFeebasPokedexTextUnused[] = _(""); - -const u8 gMiloticPokedexText[] = _( - "MILOTIC is breathtakingly beautiful.\n" - "Those that see it are said to forget their\n" - "combative spirits."); - -const u8 gMiloticPokedexTextUnused[] = _(""); - -const u8 gCastformPokedexText[] = _( - "It has the ability to change its form into\n" - "the sun, the rain, or a snow cloud, \n" - "depending on the weather."); - -const u8 gCastformPokedexTextUnused[] = _(""); - -const u8 gKecleonPokedexText[] = _( - "It changes body color to blend in with\n" - "its surroundings. It also changes color if\n" - "it is happy or sad."); - -const u8 gKecleonPokedexTextUnused[] = _(""); - -const u8 gShuppetPokedexText[] = _( - "It loves to feed on feelings like envy and\n" - "malice. Its upright horn catches the\n" - "emotions of people."); - -const u8 gShuppetPokedexTextUnused[] = _(""); - -const u8 gBanettePokedexText[] = _( - "Strong feelings of hatred turned a puppet\n" - "into a POKéMON. If it opens its mouth,\n" - "its cursed energy escapes."); - -const u8 gBanettePokedexTextUnused[] = _(""); - -const u8 gDuskullPokedexText[] = _( - "Making itself invisible, it silently sneaks\n" - "up to prey. It has the ability to slip\n" - "through thick walls."); - -const u8 gDuskullPokedexTextUnused[] = _(""); - -const u8 gDusclopsPokedexText[] = _( - "Its body is entirely hollow. When it opens\n" - "its mouth, it sucks everything in as if it\n" - "were a black hole."); - -const u8 gDusclopsPokedexTextUnused[] = _(""); - -const u8 gTropiusPokedexText[] = _( - "It lives in tropical jungles. The bunch of\n" - "fruit around its neck is delicious.\n" - "The fruit grows twice a year."); - -const u8 gTropiusPokedexTextUnused[] = _(""); - -const u8 gChimechoPokedexText[] = _( - "It travels by riding on winds. It cleverly\n" - "uses its long tail to pluck nuts and\n" - "berries, which it loves to eat."); - -const u8 gChimechoPokedexTextUnused[] = _(""); - -const u8 gAbsolPokedexText[] = _( - "It appears when it senses an impending\n" - "natural disaster. As a result, it was\n" - "mistaken as a doom-bringer."); - -const u8 gAbsolPokedexTextUnused[] = _(""); - -const u8 gWynautPokedexText[] = _( - "It tends to move in a pack with others.\n" - "They cluster in a tight group to sleep in\n" - "a cave."); - -const u8 gWynautPokedexTextUnused[] = _(""); - -const u8 gSnoruntPokedexText[] = _( - "It is said that a home visited by a\n" - "SNORUNT will prosper. It can withstand\n" - "cold of minus 150 degrees Fahrenheit."); - -const u8 gSnoruntPokedexTextUnused[] = _(""); - -const u8 gGlaliePokedexText[] = _( - "It has a body of ice that won't melt,\n" - "even with fire. It can instantly freeze\n" - "moisture in the atmosphere."); - -const u8 gGlaliePokedexTextUnused[] = _(""); - -const u8 gSphealPokedexText[] = _( - "Its body is covered in fluffy fur. The\n" - "fur keeps it from feeling cold while\n" - "it is rolling on ice."); - -const u8 gSphealPokedexTextUnused[] = _(""); - -const u8 gSealeoPokedexText[] = _( - "It touches new things with its nose to\n" - "test for smell and feel. It plays by\n" - "spinning SPHEAL on its nose."); - -const u8 gSealeoPokedexTextUnused[] = _(""); - -const u8 gWalreinPokedexText[] = _( - "It swims through icy seas while shattering\n" - "ice floes with its large tusks. It is\n" - "protected by its thick blubber."); - -const u8 gWalreinPokedexTextUnused[] = _(""); - -const u8 gClamperlPokedexText[] = _( - "It is protected by a sturdy shell.\n" - "Once in a lifetime, it makes a magnificent\n" - "pearl."); - -const u8 gClamperlPokedexTextUnused[] = _(""); - -const u8 gHuntailPokedexText[] = _( - "It lives deep in the sea where no light\n" - "ever filters down. It lights up its small\n" - "fishlike tail to attract prey."); - -const u8 gHuntailPokedexTextUnused[] = _(""); - -const u8 gGorebyssPokedexText[] = _( - "Its swimming form is exquisitely elegant.\n" - "With its thin mouth, it feeds on seaweed\n" - "that grows between rocks."); - -const u8 gGorebyssPokedexTextUnused[] = _(""); - -const u8 gRelicanthPokedexText[] = _( - "It has remained unchanged for 100\n" - "million years. It was discovered\n" - "during a deep-sea exploration."); - -const u8 gRelicanthPokedexTextUnused[] = _(""); - -const u8 gLuvdiscPokedexText[] = _( - "During the spawning season, countless\n" - "LUVDISC congregate at coral reefs,\n" - "turning the waters pink."); - -const u8 gLuvdiscPokedexTextUnused[] = _(""); - -const u8 gBagonPokedexText[] = _( - "Its steel-hard head can shatter boulders.\n" - "It longingly hopes for wings to grow so it\n" - "can fly."); - -const u8 gBagonPokedexTextUnused[] = _(""); - -const u8 gShelgonPokedexText[] = _( - "Its armored body makes all attacks bounce\n" - "off. The armor is too tough, however,\n" - "making it heavy and somewhat sluggish."); - -const u8 gShelgonPokedexTextUnused[] = _(""); - -const u8 gSalamencePokedexText[] = _( - "It becomes uncontrollable if it is\n" - "enraged. It destroys everything with\n" - "shredding claws and fire."); - -const u8 gSalamencePokedexTextUnused[] = _(""); - -const u8 gBeldumPokedexText[] = _( - "It uses magnetic waves to converse with\n" - "its kind. All the cells in its body are\n" - "magnetic."); - -const u8 gBeldumPokedexTextUnused[] = _(""); - -const u8 gMetangPokedexText[] = _( - "It floats midair using magnetism. Its body\n" - "is so tough, even a crash with a jet\n" - "plane won't leave a scratch."); - -const u8 gMetangPokedexTextUnused[] = _(""); - -const u8 gMetagrossPokedexText[] = _( - "It is formed by two METANG fusing.\n" - "Its four brains are said to be superior\n" - "to a supercomputer."); - -const u8 gMetagrossPokedexTextUnused[] = _(""); - -const u8 gRegirockPokedexText[] = _( - "It is entirely composed of rocks with no\n" - "sign of a brain or heart. It is a mystery\n" - "even to modern scientists."); - -const u8 gRegirockPokedexTextUnused[] = _(""); - -const u8 gRegicePokedexText[] = _( - "Research revealed that its body is made\n" - "of the same kind of ice that is found at\n" - "the South Pole."); - -const u8 gRegicePokedexTextUnused[] = _(""); - -const u8 gRegisteelPokedexText[] = _( - "It is sturdier than any kind of metal.\n" - "It hardened due to pressure underground\n" - "over tens of thousands of years."); - -const u8 gRegisteelPokedexTextUnused[] = _(""); - -const u8 gLatiasPokedexText[] = _( - "It can telepathically communicate with\n" - "people. It changes its appearance using\n" - "its down that refracts light."); - -const u8 gLatiasPokedexTextUnused[] = _(""); - -const u8 gLatiosPokedexText[] = _( - "It has a docile temperament and dislikes\n" - "fighting. Tucking in its forelegs, it can\n" - "fly faster than a jet plane."); - -const u8 gLatiosPokedexTextUnused[] = _(""); - -const u8 gKyogrePokedexText[] = _( - "This POKéMON is said to have\n" - "expanded the sea by bringing heavy rains.\n" - "It has the power to control water."); - -const u8 gKyogrePokedexTextUnused[] = _(""); - -const u8 gGroudonPokedexText[] = _( - "This legendary POKéMON is said to\n" - "represent the land. It went to sleep after\n" - "dueling KYOGRE."); - -const u8 gGroudonPokedexTextUnused[] = _(""); - -const u8 gRayquazaPokedexText[] = _( - "It has lived for hundreds of millions of\n" - "years in the ozone layer. Its flying form\n" - "looks like a meteor."); - -const u8 gRayquazaPokedexTextUnused[] = _(""); - -const u8 gJirachiPokedexText[] = _( - "It is said to make any wish come true.\n" - "It is awake for only seven days out of\n" - "a thousand years."); - -const u8 gJirachiPokedexTextUnused[] = _(""); - -const u8 gDeoxysPokedexText[] = _( - "This DEOXYS has transformed into its\n" - "aggressive guise. It can fool enemies by\n" - "altering its appearance."); - -const u8 gDeoxysPokedexTextUnused[] = _(""); +#if defined(FIRERED) +#include "pokedex_text_fr.h" +#elif defined(LEAFGREEN) +#include "pokedex_text_lg.h" +#endif diff --git a/src/data/pokemon/pokedex_text_fr.h b/src/data/pokemon/pokedex_text_fr.h new file mode 100644 index 000000000..e2ed936e1 --- /dev/null +++ b/src/data/pokemon/pokedex_text_fr.h @@ -0,0 +1,2720 @@ +const u8 gDummyPokedexText[] = _( + "This is a newly discovered POKéMON. It is\n" + "currently under investigation. No detailed\n" + "information is available at this time."); + +const u8 gDummyPokedexTextUnused[] = _(""); + +const u8 gBulbasaurPokedexText[] = _( + "There is a plant seed on its back right\n" + "from the day this POKéMON is born.\n" + "The seed slowly grows larger."); + +const u8 gBulbasaurPokedexTextUnused[] = _(""); + +const u8 gIvysaurPokedexText[] = _( + "There is a plant bulb on its back.\n" + "When it absorbs nutrients, the bulb is said\n" + "to blossom into a large flower."); + +const u8 gIvysaurPokedexTextUnused[] = _(""); + +const u8 gVenusaurPokedexText[] = _( + "A bewitching aroma wafts from its flower.\n" + "The fragrance becalms those engaged in\n" + "a battle."); + +const u8 gVenusaurPokedexTextUnused[] = _(""); + +const u8 gCharmanderPokedexText[] = _( + "From the time it is born, a flame burns\n" + "at the tip of its tail. Its life would end\n" + "if the flame were to go out."); + +const u8 gCharmanderPokedexTextUnused[] = _(""); + +const u8 gCharmeleonPokedexText[] = _( + "It lashes about with its tail to knock\n" + "down its foe. It then tears up the fallen\n" + "opponent with sharp claws."); + +const u8 gCharmeleonPokedexTextUnused[] = _(""); + +const u8 gCharizardPokedexText[] = _( + "Its wings can carry this POKéMON close to\n" + "an altitude of 4,600 feet. It blows out\n" + "fire at very high temperatures."); + +const u8 gCharizardPokedexTextUnused[] = _(""); + +const u8 gSquirtlePokedexText[] = _( + "When it retracts its long neck into its\n" + "shell, it squirts out water with vigorous\n" + "force."); + +const u8 gSquirtlePokedexTextUnused[] = _(""); + +const u8 gWartortlePokedexText[] = _( + "This POKéMON is very popular as a pet.\n" + "Its fur-covered tail is a symbol of its\n" + "longevity."); + +const u8 gWartortlePokedexTextUnused[] = _(""); + +const u8 gBlastoisePokedexText[] = _( + "It crushes its foe under its heavy body\n" + "to cause fainting. In a pinch, it will\n" + "withdraw inside its shell."); + +const u8 gBlastoisePokedexTextUnused[] = _(""); + +const u8 gCaterpiePokedexText[] = _( + "It is covered with a green skin. When it\n" + "grows, it sheds the skin, covers itself\n" + "with silk, and becomes a cocoon."); + +const u8 gCaterpiePokedexTextUnused[] = _(""); + +const u8 gMetapodPokedexText[] = _( + "Even though it is encased in a sturdy\n" + "shell, the body inside is tender.\n" + "It can't withstand a harsh attack."); + +const u8 gMetapodPokedexTextUnused[] = _(""); + +const u8 gButterfreePokedexText[] = _( + "The wings are protected by rain-repellent\n" + "dust. As a result, this POKéMON can fly\n" + "about even in rain."); + +const u8 gButterfreePokedexTextUnused[] = _(""); + +const u8 gWeedlePokedexText[] = _( + "Often found in forests and grasslands.\n" + "It has a sharp, toxic barb of around two\n" + "inches on top of its head."); + +const u8 gWeedlePokedexTextUnused[] = _(""); + +const u8 gKakunaPokedexText[] = _( + "This POKéMON is in a temporary stage\n" + "while making its body. It is almost\n" + "completely unable to move on its own."); + +const u8 gKakunaPokedexTextUnused[] = _(""); + +const u8 gBeedrillPokedexText[] = _( + "May appear in a swarm. Flies at violent\n" + "speeds, all the while stabbing with the\n" + "toxic stinger on its rear."); + +const u8 gBeedrillPokedexTextUnused[] = _(""); + +const u8 gPidgeyPokedexText[] = _( + "Does not like to fight. It hides in\n" + "tall grass and so on, foraging for food\n" + "such as small bugs."); + +const u8 gPidgeyPokedexTextUnused[] = _(""); + +const u8 gPidgeottoPokedexText[] = _( + "The claws on its feet are well developed.\n" + "It can carry prey such as an EXEGGCUTE\n" + "to its nest over 60 miles away."); + +const u8 gPidgeottoPokedexTextUnused[] = _(""); + +const u8 gPidgeotPokedexText[] = _( + "It spreads its gorgeous wings widely to\n" + "intimidate enemies. It races through the\n" + "skies at Mach-2 speed."); + +const u8 gPidgeotPokedexTextUnused[] = _(""); + +const u8 gRattataPokedexText[] = _( + "Its fangs are long and very sharp.\n" + "They grow continuously, so it gnaws on\n" + "hard things to whittle them down."); + +const u8 gRattataPokedexTextUnused[] = _(""); + +const u8 gRaticatePokedexText[] = _( + "Its rear feet have three toes each.\n" + "They are webbed, enabling it to swim\n" + "across rivers."); + +const u8 gRaticatePokedexTextUnused[] = _(""); + +const u8 gSpearowPokedexText[] = _( + "It busily flits around here and there.\n" + "Even if it is frail, it can be a tough\n" + "foe that uses MIRROR MOVE."); + +const u8 gSpearowPokedexTextUnused[] = _(""); + +const u8 gFearowPokedexText[] = _( + "Its huge and magnificent wings can keep it\n" + "aloft in the sky. It can remain flying a\n" + "whole day without landing."); + +const u8 gFearowPokedexTextUnused[] = _(""); + +const u8 gEkansPokedexText[] = _( + "A very common sight in grassland, etc.\n" + "It flicks its tongue in and out to sense\n" + "danger in its surroundings."); + +const u8 gEkansPokedexTextUnused[] = _(""); + +const u8 gArbokPokedexText[] = _( + "The pattern on its belly appears to be a\n" + "frightening face. Weak foes will flee just\n" + "at the sight of the pattern."); + +const u8 gArbokPokedexTextUnused[] = _(""); + +const u8 gPikachuPokedexText[] = _( + "It has small electric sacs on both its\n" + "cheeks. If threatened, it looses electric\n" + "charges from the sacs."); + +const u8 gPikachuPokedexTextUnused[] = _(""); + +const u8 gRaichuPokedexText[] = _( + "Its electric charges can reach even\n" + "100,000 volts. Careless contact can cause\n" + "even an Indian elephant to faint."); + +const u8 gRaichuPokedexTextUnused[] = _(""); + +const u8 gSandshrewPokedexText[] = _( + "It burrows and lives underground.\n" + "If threatened, it curls itself up into a\n" + "ball for protection."); + +const u8 gSandshrewPokedexTextUnused[] = _(""); + +const u8 gSandslashPokedexText[] = _( + "It is adept at attacking with the spines\n" + "on its back and its sharp claws while\n" + "quickly scurrying about."); + +const u8 gSandslashPokedexTextUnused[] = _(""); + +const u8 gNidoranFPokedexText[] = _( + "Though small, it must be treated with\n" + "caution because of its powerfully toxic\n" + "barbs. The female has smaller horns."); + +const u8 gNidoranFPokedexTextUnused[] = _(""); + +const u8 gNidorinaPokedexText[] = _( + "The female has a gentle temperament.\n" + "It emits ultrasonic cries that have the\n" + "power to befuddle foes."); + +const u8 gNidorinaPokedexTextUnused[] = _(""); + +const u8 gNidoqueenPokedexText[] = _( + "The body is covered by stiff, needle-\n" + "like scales. If it becomes excited,\n" + "the needles bristle outwards."); + +const u8 gNidoqueenPokedexTextUnused[] = _(""); + +const u8 gNidoranMPokedexText[] = _( + "Its large ears are flapped like wings\n" + "when it is listening to distant sounds.\n" + "It extends toxic barbs when angered."); + +const u8 gNidoranMPokedexTextUnused[] = _(""); + +const u8 gNidorinoPokedexText[] = _( + "It is easily angered. By swinging its well-\n" + "developed horn wildly, it can even punch\n" + "through diamond."); + +const u8 gNidorinoPokedexTextUnused[] = _(""); + +const u8 gNidokingPokedexText[] = _( + "It is recognized by its rock-hard hide\n" + "and its extended horn. Be careful with\n" + "the horn as it contains venom."); + +const u8 gNidokingPokedexTextUnused[] = _(""); + +const u8 gClefairyPokedexText[] = _( + "Its adorable appearance makes it popular\n" + "as a pet. However, it is rare and\n" + "difficult to find."); + +const u8 gClefairyPokedexTextUnused[] = _(""); + +const u8 gClefablePokedexText[] = _( + "It has an acute sense of hearing. It can\n" + "easily hear a pin being dropped nearly\n" + "1,100 yards away."); + +const u8 gClefablePokedexTextUnused[] = _(""); + +const u8 gVulpixPokedexText[] = _( + "While young, it has six gorgeous tails.\n" + "When it grows, several new tails are\n" + "sprouted."); + +const u8 gVulpixPokedexTextUnused[] = _(""); + +const u8 gNinetalesPokedexText[] = _( + "It has nine long tails and fur that \n" + "gleams gold. It is said to live for \n" + "1,000 years."); + +const u8 gNinetalesPokedexTextUnused[] = _(""); + +const u8 gJigglypuffPokedexText[] = _( + "It captivates foes with its huge, round\n" + "eyes, then lulls them to sleep by singing\n" + "a soothing melody."); + +const u8 gJigglypuffPokedexTextUnused[] = _(""); + +const u8 gWigglytuffPokedexText[] = _( + "Its fur is extremely fine, dense, and\n" + "supple. The exquisitely pleasant fur\n" + "conveys an image of luxury."); + +const u8 gWigglytuffPokedexTextUnused[] = _(""); + +const u8 gZubatPokedexText[] = _( + "It has no eyes. Instead, it relies on\n" + "its ultrasonic cries for echo location to\n" + "flit about in darkness."); + +const u8 gZubatPokedexTextUnused[] = _(""); + +const u8 gGolbatPokedexText[] = _( + "It clamps down on its prey with needle-\n" + "sharp fangs and drains over 10 ounces of\n" + "blood in one gulp."); + +const u8 gGolbatPokedexTextUnused[] = _(""); + +const u8 gOddishPokedexText[] = _( + "Its scientific name is “Oddium Wanderus.”\n" + "At night, it is said to walk nearly 1,000\n" + "feet on its two roots."); + +const u8 gOddishPokedexTextUnused[] = _(""); + +const u8 gGloomPokedexText[] = _( + "Its pistils exude an incredibly foul odor.\n" + "The horrid stench can cause fainting at a\n" + "distance of 1.25 miles."); + +const u8 gGloomPokedexTextUnused[] = _(""); + +const u8 gVileplumePokedexText[] = _( + "Its petals are the largest in the world.\n" + "It fiendishly scatters allergy-causing\n" + "pollen from its petals."); + +const u8 gVileplumePokedexTextUnused[] = _(""); + +const u8 gParasPokedexText[] = _( + "Growing out of the bug's back are\n" + "mushrooms called tochukaso. The mushrooms\n" + "grow with the bug host."); + +const u8 gParasPokedexTextUnused[] = _(""); + +const u8 gParasectPokedexText[] = _( + "It scatters toxic spores from the\n" + "mushroom cap. In China, the spores are\n" + "used as herbal medicine."); + +const u8 gParasectPokedexTextUnused[] = _(""); + +const u8 gVenonatPokedexText[] = _( + "Its eyes act as radar, enabling it to be\n" + "active in darkness. The eyes can also\n" + "shoot powerful beams."); + +const u8 gVenonatPokedexTextUnused[] = _(""); + +const u8 gVenomothPokedexText[] = _( + "The wings are covered with dustlike\n" + "scales. Every time it flaps its wings, it\n" + "looses highly toxic dust."); + +const u8 gVenomothPokedexTextUnused[] = _(""); + +const u8 gDiglettPokedexText[] = _( + "It burrows through the ground at a\n" + "shallow depth. It leaves raised earth in\n" + "its wake, making it easy to spot."); + +const u8 gDiglettPokedexTextUnused[] = _(""); + +const u8 gDugtrioPokedexText[] = _( + "In battle, it digs through the ground and\n" + "strikes the unsuspecting foe from an\n" + "unexpected direction."); + +const u8 gDugtrioPokedexTextUnused[] = _(""); + +const u8 gMeowthPokedexText[] = _( + "All it does is sleep during the daytime.\n" + "At night, it patrols its territory with its\n" + "eyes aglow."); + +const u8 gMeowthPokedexTextUnused[] = _(""); + +const u8 gPersianPokedexText[] = _( + "Has a vicious temperament. Beware if it\n" + "raises its tail straight up. It is a signal\n" + "that it is about to pounce and bite."); + +const u8 gPersianPokedexTextUnused[] = _(""); + +const u8 gPsyduckPokedexText[] = _( + "It is constantly wracked by a headache.\n" + "When the headache turns intense, it begins\n" + "using mysterious powers."); + +const u8 gPsyduckPokedexTextUnused[] = _(""); + +const u8 gGolduckPokedexText[] = _( + "The forelegs are webbed, helping to make\n" + "it an adept swimmer. It can be seen\n" + "swimming elegantly in lakes, etc."); + +const u8 gGolduckPokedexTextUnused[] = _(""); + +const u8 gMankeyPokedexText[] = _( + "Light and agile on its feet, and ferocious\n" + "in temperament. When angered, it flies into\n" + "an uncontrollable frenzy."); + +const u8 gMankeyPokedexTextUnused[] = _(""); + +const u8 gPrimeapePokedexText[] = _( + "It is always outrageously furious. If it\n" + "gives chase, it will tenaciously track the\n" + "target no matter how far."); + +const u8 gPrimeapePokedexTextUnused[] = _(""); + +const u8 gGrowlithePokedexText[] = _( + "Very friendly and faithful to people.\n" + "It will try to repel enemies by barking\n" + "and biting."); + +const u8 gGrowlithePokedexTextUnused[] = _(""); + +const u8 gArcaninePokedexText[] = _( + "A POKéMON that is described in Chinese\n" + "legends. It is said to race at an\n" + "unbelievable speed."); + +const u8 gArcaninePokedexTextUnused[] = _(""); + +const u8 gPoliwagPokedexText[] = _( + "Its slick black skin is thin and damp.\n" + "A part of its internal organs can be seen\n" + "through the skin as a spiral pattern."); + +const u8 gPoliwagPokedexTextUnused[] = _(""); + +const u8 gPoliwhirlPokedexText[] = _( + "Its two legs are well developed.\n" + "Even though it can live on the ground,\n" + "it prefers living in water."); + +const u8 gPoliwhirlPokedexTextUnused[] = _(""); + +const u8 gPoliwrathPokedexText[] = _( + "An adept swimmer, it knows the front\n" + "crawl, butterfly, and more. It is faster\n" + "than the best human swimmers."); + +const u8 gPoliwrathPokedexTextUnused[] = _(""); + +const u8 gAbraPokedexText[] = _( + "It sleeps for 18 hours a day. It uses a\n" + "variety of extrasensory powers even\n" + "while asleep."); + +const u8 gAbraPokedexTextUnused[] = _(""); + +const u8 gKadabraPokedexText[] = _( + "It happened one morning - a boy with\n" + "extrasensory powers awoke in bed\n" + "transformed into KADABRA."); + +const u8 gKadabraPokedexTextUnused[] = _(""); + +const u8 gAlakazamPokedexText[] = _( + "It does not like physical attacks very \n" + "much. Instead, it freely uses extra-\n" + "sensory powers to defeat foes."); + +const u8 gAlakazamPokedexTextUnused[] = _(""); + +const u8 gMachopPokedexText[] = _( + "Its whole body is composed of muscles.\n" + "Even though it's the size of a human\n" + "child, it can hurl 100 grown-ups."); + +const u8 gMachopPokedexTextUnused[] = _(""); + +const u8 gMachokePokedexText[] = _( + "Its formidable body never gets tired.\n" + "It helps people by doing work such as\n" + "the moving of heavy goods."); + +const u8 gMachokePokedexTextUnused[] = _(""); + +const u8 gMachampPokedexText[] = _( + "Its four ruggedly developed arms can\n" + "launch a flurry of 1,000 punches in just\n" + "two seconds."); + +const u8 gMachampPokedexTextUnused[] = _(""); + +const u8 gBellsproutPokedexText[] = _( + "Its bud looks like a human face. Because\n" + "of the bud, it is rumored to be a type of\n" + "legendary mandrake plant."); + +const u8 gBellsproutPokedexTextUnused[] = _(""); + +const u8 gWeepinbellPokedexText[] = _( + "The leafy parts act as cutters for\n" + "slashing foes. It spits a fluid that\n" + "dissolves everything."); + +const u8 gWeepinbellPokedexTextUnused[] = _(""); + +const u8 gVictreebelPokedexText[] = _( + "Lures prey into its mouth with a honeylike\n" + "aroma. The helpless prey is melted with\n" + "a dissolving fluid."); + +const u8 gVictreebelPokedexTextUnused[] = _(""); + +const u8 gTentacoolPokedexText[] = _( + "Its eyes are as transparent as crystals.\n" + "From them, it shoots mysterious\n" + "beams of light."); + +const u8 gTentacoolPokedexTextUnused[] = _(""); + +const u8 gTentacruelPokedexText[] = _( + "It has 80 tentacles that move about\n" + "freely. They can sting, causing poisoning\n" + "and sharp, stabbing pain."); + +const u8 gTentacruelPokedexTextUnused[] = _(""); + +const u8 gGeodudePokedexText[] = _( + "Its round form makes it easy to pick up.\n" + "Some people have used them to hurl\n" + "at each other in a snowball fight."); + +const u8 gGeodudePokedexTextUnused[] = _(""); + +const u8 gGravelerPokedexText[] = _( + "Be careful while hiking on mountain trails.\n" + "GRAVELER may come rolling down the path\n" + "without slowing."); + +const u8 gGravelerPokedexTextUnused[] = _(""); + +const u8 gGolemPokedexText[] = _( + "It is enclosed in a hard shell that is as\n" + "rugged as slabs of rock. It sheds skin\n" + "once a year to grow larger."); + +const u8 gGolemPokedexTextUnused[] = _(""); + +const u8 gPonytaPokedexText[] = _( + "Its body is light, and its legs are\n" + "incredibly powerful. It can clear\n" + "Ayers Rock in one leap."); + +const u8 gPonytaPokedexTextUnused[] = _(""); + +const u8 gRapidashPokedexText[] = _( + "It can gallop at a top speed of 150\n" + "miles per hour. It can race as fast as a\n" + "bullet train while ablaze."); + +const u8 gRapidashPokedexTextUnused[] = _(""); + +const u8 gSlowpokePokedexText[] = _( + "It is always vacantly lost in thought, but\n" + "no one knows what it is thinking about.\n" + "It is good at fishing with its tail."); + +const u8 gSlowpokePokedexTextUnused[] = _(""); + +const u8 gSlowbroPokedexText[] = _( + "When a SLOWPOKE went hunting in the sea,\n" + "its tail was bitten by a SHELLDER. That\n" + "made it evolve into SLOWBRO."); + +const u8 gSlowbroPokedexTextUnused[] = _(""); + +const u8 gMagnemitePokedexText[] = _( + "It moves while constantly hovering.\n" + "It discharges THUNDER WAVE and so on\n" + "from the units at its sides."); + +const u8 gMagnemitePokedexTextUnused[] = _(""); + +const u8 gMagnetonPokedexText[] = _( + "A linked cluster formed of several\n" + "MAGNEMITE. It discharges powerful\n" + "magnetic waves at high voltage."); + +const u8 gMagnetonPokedexTextUnused[] = _(""); + +const u8 gFarfetchdPokedexText[] = _( + "It always walks about with a plant stalk\n" + "clamped in its beak. The stalk is used for\n" + "building its nest."); + +const u8 gFarfetchdPokedexTextUnused[] = _(""); + +const u8 gDoduoPokedexText[] = _( + "A two-headed POKéMON that was discovered\n" + "as a sudden mutation. It runs at a pace\n" + "of over 60 miles per hour."); + +const u8 gDoduoPokedexTextUnused[] = _(""); + +const u8 gDodrioPokedexText[] = _( + "An odd species that is rarely found.\n" + "The three heads respectively represent\n" + "joy, sadness, and anger."); + +const u8 gDodrioPokedexTextUnused[] = _(""); + +const u8 gSeelPokedexText[] = _( + "Covered with light blue fur, its hide is\n" + "thick and tough. It is active in bitter\n" + "cold of minus 40 degrees Fahrenheit."); + +const u8 gSeelPokedexTextUnused[] = _(""); + +const u8 gDewgongPokedexText[] = _( + "Its body is covered with a pure white\n" + "fur. The colder the weather, the more\n" + "active it becomes."); + +const u8 gDewgongPokedexTextUnused[] = _(""); + +const u8 gGrimerPokedexText[] = _( + "Sludge exposed to X rays from the moon\n" + "transformed into GRIMER. It loves feeding\n" + "on filthy things."); + +const u8 gGrimerPokedexTextUnused[] = _(""); + +const u8 gMukPokedexText[] = _( + "It is usually undetectable because it\n" + "blends in with the ground. Touching it can\n" + "cause terrible poisoning."); + +const u8 gMukPokedexTextUnused[] = _(""); + +const u8 gShellderPokedexText[] = _( + "It is encased in a shell that is harder\n" + "than diamond. Inside, however, it is\n" + "surprisingly tender."); + +const u8 gShellderPokedexTextUnused[] = _(""); + +const u8 gCloysterPokedexText[] = _( + "Its shell is extremely hard. It cannot be\n" + "shattered, even with a bomb. The shell\n" + "opens only when it is attacking."); + +const u8 gCloysterPokedexTextUnused[] = _(""); + +const u8 gGastlyPokedexText[] = _( + "A being that exists as a thin gas. It can\n" + "topple an Indian elephant by enveloping\n" + "the prey in two seconds."); + +const u8 gGastlyPokedexTextUnused[] = _(""); + +const u8 gHaunterPokedexText[] = _( + "If you get the feeling of being watched\n" + "in darkness when nobody is around,\n" + "HAUNTER is there."); + +const u8 gHaunterPokedexTextUnused[] = _(""); + +const u8 gGengarPokedexText[] = _( + "It is said to emerge from darkness to\n" + "steal the lives of those who become lost\n" + "in mountains."); + +const u8 gGengarPokedexTextUnused[] = _(""); + +const u8 gOnixPokedexText[] = _( + "It usually lives underground. It searches\n" + "for food while boring its way through the\n" + "ground at 50 miles per hour."); + +const u8 gOnixPokedexTextUnused[] = _(""); + +const u8 gDrowzeePokedexText[] = _( + "A descendent of the legendary animal\n" + "baku, which is said to eat dreams. It is\n" + "skilled at hypnotism."); + +const u8 gDrowzeePokedexTextUnused[] = _(""); + +const u8 gHypnoPokedexText[] = _( + "It carries a pendulum-like device. There\n" + "once was an incident in which it took \n" + "away a child it hypnotized."); + +const u8 gHypnoPokedexTextUnused[] = _(""); + +const u8 gKrabbyPokedexText[] = _( + "It can be found near the sea. The large\n" + "pincers grow back if they are torn out of\n" + "their sockets."); + +const u8 gKrabbyPokedexTextUnused[] = _(""); + +const u8 gKinglerPokedexText[] = _( + "Its large and hard pincer has 10,000-\n" + "horsepower strength. However, being so\n" + "big, it is unwieldy to move."); + +const u8 gKinglerPokedexTextUnused[] = _(""); + +const u8 gVoltorbPokedexText[] = _( + "A life-form whose identity is unknown.\n" + "It is said to SCREECH or suddenly\n" + "SELFDESTRUCT."); + +const u8 gVoltorbPokedexTextUnused[] = _(""); + +const u8 gElectrodePokedexText[] = _( + "It explodes in response to even minor\n" + "stimuli. It is feared, with the nickname\n" + "of “The Bomb Ball.”"); + +const u8 gElectrodePokedexTextUnused[] = _(""); + +const u8 gExeggcutePokedexText[] = _( + "Even though it appears to be eggs of\n" + "some sort, it was discovered to be a life-\n" + "form more like plant seeds."); + +const u8 gExeggcutePokedexTextUnused[] = _(""); + +const u8 gExeggutorPokedexText[] = _( + "It is called “The Walking Tropical\n" + "Rainforest.” Each of the nuts has\n" + "a face and a will of its own."); + +const u8 gExeggutorPokedexTextUnused[] = _(""); + +const u8 gCubonePokedexText[] = _( + "It wears the skull of its dead mother on\n" + "its head. When it becomes lonesome, it is\n" + "said to cry loudly."); + +const u8 gCubonePokedexTextUnused[] = _(""); + +const u8 gMarowakPokedexText[] = _( + "It is small and was originally very weak.\n" + "Its temperament turned ferocious when it\n" + "began using bones."); + +const u8 gMarowakPokedexTextUnused[] = _(""); + +const u8 gHitmonleePokedexText[] = _( + "The legs freely contract and stretch.\n" + "The stretchy legs allow it to hit a\n" + "distant foe with a rising kick."); + +const u8 gHitmonleePokedexTextUnused[] = _(""); + +const u8 gHitmonchanPokedexText[] = _( + "The spirit of a pro boxer has infused this\n" + "POKéMON. It throws punches that are\n" + "faster than a bullet train."); + +const u8 gHitmonchanPokedexTextUnused[] = _(""); + +const u8 gLickitungPokedexText[] = _( + "Its tongue is twice the length of its\n" + "body. It can be moved like an arm for\n" + "grabbing food and attacking."); + +const u8 gLickitungPokedexTextUnused[] = _(""); + +const u8 gKoffingPokedexText[] = _( + "Its thin, balloon-like body is inflated by\n" + "horribly toxic gases. It reeks when it is\n" + "nearby."); + +const u8 gKoffingPokedexTextUnused[] = _(""); + +const u8 gWeezingPokedexText[] = _( + "Very rarely, a sudden mutation can result\n" + "in two small KOFFING twins becoming\n" + "conjoined as a WEEZING."); + +const u8 gWeezingPokedexTextUnused[] = _(""); + +const u8 gRhyhornPokedexText[] = _( + "Strong, but not too bright, this POKéMON\n" + "can shatter even a skyscraper with its\n" + "charging TACKLES."); + +const u8 gRhyhornPokedexTextUnused[] = _(""); + +const u8 gRhydonPokedexText[] = _( + "It begins walking on its hind legs after\n" + "evolution. It can punch holes through\n" + "boulders with its horn."); + +const u8 gRhydonPokedexTextUnused[] = _(""); + +const u8 gChanseyPokedexText[] = _( + "It lays several eggs a day. The eggs are\n" + "apparently rich in nutrients and extremely\n" + "delicious."); + +const u8 gChanseyPokedexTextUnused[] = _(""); + +const u8 gTangelaPokedexText[] = _( + "Blue plant vines cloak the POKéMON's\n" + "identity in a tangled mass. It entangles\n" + "anything that gets close."); + +const u8 gTangelaPokedexTextUnused[] = _(""); + +const u8 gKangaskhanPokedexText[] = _( + "The female raises its offspring in a pouch\n" + "on its belly. It is skilled at attacking\n" + "using COMET PUNCH."); + +const u8 gKangaskhanPokedexTextUnused[] = _(""); + +const u8 gHorseaPokedexText[] = _( + "It maintains balance using its tail, which\n" + "is wound up like a coil. It may spray ink\n" + "from its mouth."); + +const u8 gHorseaPokedexTextUnused[] = _(""); + +const u8 gSeadraPokedexText[] = _( + "Its body bristles with sharp spikes.\n" + "Carelessly trying to touch it could cause\n" + "fainting from the spikes."); + +const u8 gSeadraPokedexTextUnused[] = _(""); + +const u8 gGoldeenPokedexText[] = _( + "Its dorsal and pectoral fins are strongly\n" + "developed like muscles. It can swim at a\n" + "speed of five knots."); + +const u8 gGoldeenPokedexTextUnused[] = _(""); + +const u8 gSeakingPokedexText[] = _( + "The horn on its head is sharp like a\n" + "drill. It bores a hole in a boulder to\n" + "make its nest."); + +const u8 gSeakingPokedexTextUnused[] = _(""); + +const u8 gStaryuPokedexText[] = _( + "It appears in large numbers by seashores.\n" + "At night, its central core flashes with a\n" + "red light."); + +const u8 gStaryuPokedexTextUnused[] = _(""); + +const u8 gStarmiePokedexText[] = _( + "This POKéMON has a geometric body.\n" + "Because of its body, the locals suspect\n" + "that it is an alien creature."); + +const u8 gStarmiePokedexTextUnused[] = _(""); + +const u8 gMrmimePokedexText[] = _( + "It is adept at conning people. It is said\n" + "to be able to create walls out of thin\n" + "air by miming."); + +const u8 gMrmimePokedexTextUnused[] = _(""); + +const u8 gScytherPokedexText[] = _( + "It tears and shreds prey with its wickedly\n" + "sharp scythes. It very rarely spreads its\n" + "wings to fly."); + +const u8 gScytherPokedexTextUnused[] = _(""); + +const u8 gJynxPokedexText[] = _( + "It speaks using a language that sounds\n" + "human. Research is under way to determine\n" + "what is being said."); + +const u8 gJynxPokedexTextUnused[] = _(""); + +const u8 gElectabuzzPokedexText[] = _( + "It loves to feed on strong electricity.\n" + "It occasionally appears around large\n" + "power plants and so on."); + +const u8 gElectabuzzPokedexTextUnused[] = _(""); + +const u8 gMagmarPokedexText[] = _( + "Found near the mouth of a volcano.\n" + "This fire-breather's body temperature is\n" + "nearly 2,200 degrees Fahrenheit."); + +const u8 gMagmarPokedexTextUnused[] = _(""); + +const u8 gPinsirPokedexText[] = _( + "Its two long pincer horns are powerful.\n" + "Once they grip an enemy, they won't\n" + "release until the foe is torn."); + +const u8 gPinsirPokedexTextUnused[] = _(""); + +const u8 gTaurosPokedexText[] = _( + "When it is about to TACKLE, it whips\n" + "its body repeatedly with its three\n" + "long tails."); + +const u8 gTaurosPokedexTextUnused[] = _(""); + +const u8 gMagikarpPokedexText[] = _( + "It is virtually worthless in terms of both\n" + "power and speed. It is the most weak and\n" + "pathetic POKéMON in the world."); + +const u8 gMagikarpPokedexTextUnused[] = _(""); + +const u8 gGyaradosPokedexText[] = _( + "It has an extremely aggressive nature.\n" + "The HYPER BEAM it shoots from its mouth\n" + "totally incinerates all targets."); + +const u8 gGyaradosPokedexTextUnused[] = _(""); + +const u8 gLaprasPokedexText[] = _( + "Its high intelligence enables it to\n" + "understand human speech. It likes to ferry\n" + "people on its back."); + +const u8 gLaprasPokedexTextUnused[] = _(""); + +const u8 gDittoPokedexText[] = _( + "It can freely recombine its own cellular\n" + "structure to transform into other life-\n" + "forms."); + +const u8 gDittoPokedexTextUnused[] = _(""); + +const u8 gEeveePokedexText[] = _( + "An extremely rare POKéMON that may\n" + "evolve in a number of different ways\n" + "depending on stimuli."); + +const u8 gEeveePokedexTextUnused[] = _(""); + +const u8 gVaporeonPokedexText[] = _( + "Its body's cellular structure is similar to\n" + "the molecular composition of water.\n" + "It can melt invisibly in water."); + +const u8 gVaporeonPokedexTextUnused[] = _(""); + +const u8 gJolteonPokedexText[] = _( + "If it is angered or startled, the fur all\n" + "over its body bristles like sharp needles\n" + "that pierce foes."); + +const u8 gJolteonPokedexTextUnused[] = _(""); + +const u8 gFlareonPokedexText[] = _( + "It has a flame bag inside its body. After\n" + "inhaling deeply, it blows out flames of\n" + "nearly 3,100 degrees Fahrenheit."); + +const u8 gFlareonPokedexTextUnused[] = _(""); + +const u8 gPorygonPokedexText[] = _( + "Using the most advanced technologies,\n" + "scientists finally succeeded in making the\n" + "first artificial POKéMON."); + +const u8 gPorygonPokedexTextUnused[] = _(""); + +const u8 gOmanytePokedexText[] = _( + "A prehistoric POKéMON that lived in the\n" + "primordial sea, it swims by twisting its\n" + "10 tentacles about."); + +const u8 gOmanytePokedexTextUnused[] = _(""); + +const u8 gOmastarPokedexText[] = _( + "Its tentacles are highly developed as if\n" + "they are hands and feet. As soon as it\n" + "ensnares prey, it bites."); + +const u8 gOmastarPokedexTextUnused[] = _(""); + +const u8 gKabutoPokedexText[] = _( + "This POKéMON was regenerated from the\n" + "fossil of an ancient creature. It protects\n" + "itself with a hard shell."); + +const u8 gKabutoPokedexTextUnused[] = _(""); + +const u8 gKabutopsPokedexText[] = _( + "It swims freely through water. It catches\n" + "prey with its scythe-like arms and drains\n" + "the victim's fluids."); + +const u8 gKabutopsPokedexTextUnused[] = _(""); + +const u8 gAerodactylPokedexText[] = _( + "It was regenerated from a dinosaur's\n" + "genetic matter that was found in amber.\n" + "It flies with high-pitched cries."); + +const u8 gAerodactylPokedexTextUnused[] = _(""); + +const u8 gSnorlaxPokedexText[] = _( + "It is not satisfied unless it eats over 880\n" + "pounds of food every day. When it is done\n" + "eating, it goes promptly to sleep."); + +const u8 gSnorlaxPokedexTextUnused[] = _(""); + +const u8 gArticunoPokedexText[] = _( + "One of the legendary bird POKéMON.\n" + "With its long tail trailing behind, its\n" + "flying form is magnificent."); + +const u8 gArticunoPokedexTextUnused[] = _(""); + +const u8 gZapdosPokedexText[] = _( + "One of the legendary bird POKéMON.\n" + "While it is flying, it makes crackling and\n" + "snapping sounds."); + +const u8 gZapdosPokedexTextUnused[] = _(""); + +const u8 gMoltresPokedexText[] = _( + "One of the legendary bird POKéMON.\n" + "Those seeing it are overwhelmed by its\n" + "orange wings that seem to be on fire."); + +const u8 gMoltresPokedexTextUnused[] = _(""); + +const u8 gDratiniPokedexText[] = _( + "Even the young can exceed 6.5 feet in\n" + "length. It grows larger by repeatedly\n" + "shedding skin."); + +const u8 gDratiniPokedexTextUnused[] = _(""); + +const u8 gDragonairPokedexText[] = _( + "It is said to live in seas and lakes.\n" + "Even though it has no wings, it has been\n" + "seen flying occasionally."); + +const u8 gDragonairPokedexTextUnused[] = _(""); + +const u8 gDragonitePokedexText[] = _( + "It can fly in spite of its big and bulky\n" + "physique. It circles the globe in just\n" + "16 hours."); + +const u8 gDragonitePokedexTextUnused[] = _(""); + +const u8 gMewtwoPokedexText[] = _( + "A POKéMON whose genetic code was\n" + "repeatedly recombined for research.\n" + "It turned vicious as a result."); + +const u8 gMewtwoPokedexTextUnused[] = _(""); + +const u8 gMewPokedexText[] = _( + "A POKéMON of South America that was\n" + "thought to have been extinct. It is very\n" + "intelligent and learns any move."); + +const u8 gMewPokedexTextUnused[] = _(""); + +const u8 gChikoritaPokedexText[] = _( +#if REVISION == 0 + "Its pleasantly aromatic leaves have the\n" + #else + "Its pleasantly aromatic leaf has the\n" + #endif + "ability to check the humidity and\n" + "temperature." +); + +const u8 gChikoritaPokedexTextUnused[] = _(""); + +const u8 gBayleefPokedexText[] = _( + "A spicy aroma emanates from around its\n" + "neck. The aroma acts as a stimulant to\n" + "restore health."); + +const u8 gBayleefPokedexTextUnused[] = _(""); + +const u8 gMeganiumPokedexText[] = _( + "MEGANIUM's breath has the power to revive\n" + "dead grass and plants. It can make them\n" + "healthy again."); + +const u8 gMeganiumPokedexTextUnused[] = _(""); + +const u8 gCyndaquilPokedexText[] = _( + "It usually stays hunched over. If it is\n" + "angry or surprised, it shoots flames out\n" + "of its back."); + +const u8 gCyndaquilPokedexTextUnused[] = _(""); + +const u8 gQuilavaPokedexText[] = _( + "This POKéMON is fully covered by\n" + "nonflammable fur. It can withstand any\n" + "kind of fire attack."); + +const u8 gQuilavaPokedexTextUnused[] = _(""); + +const u8 gTyphlosionPokedexText[] = _( + "It has a secret, devastating move. It\n" + "rubs its blazing fur together to cause\n" + "huge explosions."); + +const u8 gTyphlosionPokedexTextUnused[] = _(""); + +const u8 gTotodilePokedexText[] = _( + "It is small but rough and tough. It won't\n" + "hesitate to take a bite out of anything\n" + "that moves."); + +const u8 gTotodilePokedexTextUnused[] = _(""); + +const u8 gCroconawPokedexText[] = _( + "It opens its huge jaws wide when\n" + "attacking. If it loses any fangs while\n" + "biting, they grow back in."); + +const u8 gCroconawPokedexTextUnused[] = _(""); + +const u8 gFeraligatrPokedexText[] = _( + "It is hard for it to support its own\n" + "weight out of water, so it gets down on\n" + "all fours. But it moves fast."); + +const u8 gFeraligatrPokedexTextUnused[] = _(""); + +const u8 gSentretPokedexText[] = _( + "It stands on its tail so it can see a long\n" + "way. If it spots an enemy, it cries loudly\n" + "to warn its kind."); + +const u8 gSentretPokedexTextUnused[] = _(""); + +const u8 gFurretPokedexText[] = _( + "There is no telling where its tail begins.\n" + "Despite its short legs, it is quick at\n" + "hunting RATTATA."); + +const u8 gFurretPokedexTextUnused[] = _(""); + +const u8 gHoothootPokedexText[] = _( + "It has a perfect sense of time. Whatever\n" + "happens, it keeps rhythm by precisely\n" + "tilting its head in time."); + +const u8 gHoothootPokedexTextUnused[] = _(""); + +const u8 gNoctowlPokedexText[] = _( + "When it needs to think, it rotates its head\n" + "180 degrees to sharpen its intellectual\n" + "power."); + +const u8 gNoctowlPokedexTextUnused[] = _(""); + +const u8 gLedybaPokedexText[] = _( + "When the weather turns cold, numerous\n" + "LEDYBA gather from everywhere to cluster\n" + "and keep each other warm."); + +const u8 gLedybaPokedexTextUnused[] = _(""); + +const u8 gLedianPokedexText[] = _( + "The star patterns on its back grow larger\n" + "or smaller depending on the number of\n" + "stars in the night sky."); + +const u8 gLedianPokedexTextUnused[] = _(""); + +const u8 gSpinarakPokedexText[] = _( + "It spins a web using fine--but durable--\n" + "thread. It then waits patiently for prey\n" + "to be trapped."); + +const u8 gSpinarakPokedexTextUnused[] = _(""); + +const u8 gAriadosPokedexText[] = _( + "A single strand of a special string is\n" + "endlessly spun out of its rear. The string\n" + "leads back to its nest."); + +const u8 gAriadosPokedexTextUnused[] = _(""); + +const u8 gCrobatPokedexText[] = _( + "The development of wings on its legs\n" + "enables it to fly fast but also makes it\n" + "tough to stop and rest."); + +const u8 gCrobatPokedexTextUnused[] = _(""); + +const u8 gChinchouPokedexText[] = _( + "On the dark ocean floor, its only means\n" + "of communication is its constantly\n" + "flashing lights."); + +const u8 gChinchouPokedexTextUnused[] = _(""); + +const u8 gLanturnPokedexText[] = _( + "It blinds prey with an intense burst of\n" + "light, then swallows the immobilized prey\n" + "in a single gulp."); + +const u8 gLanturnPokedexTextUnused[] = _(""); + +const u8 gPichuPokedexText[] = _( + "Despite its small size, it can zap even\n" + "adult humans. However, if it does so, it\n" + "also surprises itself."); + +const u8 gPichuPokedexTextUnused[] = _(""); + +const u8 gCleffaPokedexText[] = _( + "When numerous meteors illuminate the\n" + "night sky, sightings of CLEFFA strangely\n" + "increase."); + +const u8 gCleffaPokedexTextUnused[] = _(""); + +const u8 gIgglybuffPokedexText[] = _( + "Its extremely flexible and elastic body\n" + "makes it bounce continuously--anytime,\n" + "anywhere."); + +const u8 gIgglybuffPokedexTextUnused[] = _(""); + +const u8 gTogepiPokedexText[] = _( + "A proverb claims that happiness will come\n" + "to anyone who can make a sleeping TOGEPI\n" + "stand up."); + +const u8 gTogepiPokedexTextUnused[] = _(""); + +const u8 gTogeticPokedexText[] = _( + "It grows dispirited if it is not with kind\n" + "people. It can float in midair without\n" + "moving its wings."); + +const u8 gTogeticPokedexTextUnused[] = _(""); + +const u8 gNatuPokedexText[] = _( + "It usually forages for food on the ground\n" + "but may, on rare occasions, hop onto\n" + "branches to peck at shoots."); + +const u8 gNatuPokedexTextUnused[] = _(""); + +const u8 gXatuPokedexText[] = _( + "In South America, it is said that its right\n" + "eye sees the future and its left eye\n" + "views the past."); + +const u8 gXatuPokedexTextUnused[] = _(""); + +const u8 gMareepPokedexText[] = _( + "Its fleece grows continually. In the\n" + "summer, the fleece is fully shed, but it\n" + "grows back in a week."); + +const u8 gMareepPokedexTextUnused[] = _(""); + +const u8 gFlaaffyPokedexText[] = _( + "Its fluffy fleece easily stores\n" + "electricity. Its rubbery hide keeps it\n" + "from being electrocuted."); + +const u8 gFlaaffyPokedexTextUnused[] = _(""); + +const u8 gAmpharosPokedexText[] = _( + "The bright light on its tail can be seen\n" + "far away. It has been treasured since\n" + "ancient times as a beacon."); + +const u8 gAmpharosPokedexTextUnused[] = _(""); + +const u8 gBellossomPokedexText[] = _( + "Plentiful in the tropics. When it dances,\n" + "its petals rub together and make a\n" + "pleasant ringing sound."); + +const u8 gBellossomPokedexTextUnused[] = _(""); + +const u8 gMarillPokedexText[] = _( + "The end of its tail serves as a buoy that\n" + "keeps it from drowning, even in a vicious\n" + "current."); + +const u8 gMarillPokedexTextUnused[] = _(""); + +const u8 gAzumarillPokedexText[] = _( + "When it plays in water, it rolls up its\n" + "elongated ears to prevent their insides\n" + "from getting wet."); + +const u8 gAzumarillPokedexTextUnused[] = _(""); + +const u8 gSudowoodoPokedexText[] = _( + "It disguises itself as a tree to avoid\n" + "attack. It hates water, so it will\n" + "disappear if it starts raining."); + +const u8 gSudowoodoPokedexTextUnused[] = _(""); + +const u8 gPolitoedPokedexText[] = _( + "Whenever three or more of these get\n" + "together, they sing in a loud voice that\n" + "sounds like bellowing."); + +const u8 gPolitoedPokedexTextUnused[] = _(""); + +const u8 gHoppipPokedexText[] = _( + "Its body is so light, it must grip the\n" + "ground firmly with its feet to keep from\n" + "being blown away."); + +const u8 gHoppipPokedexTextUnused[] = _(""); + +const u8 gSkiploomPokedexText[] = _( + "It spreads its petals to absorb sunlight.\n" + "It also floats in the air to get closer to\n" + "the sun."); + +const u8 gSkiploomPokedexTextUnused[] = _(""); + +const u8 gJumpluffPokedexText[] = _( + "It drifts on seasonal winds and spreads\n" + "its cotton-like spores all over the world \n" + "to make more offspring."); + +const u8 gJumpluffPokedexTextUnused[] = _(""); + +const u8 gAipomPokedexText[] = _( + "It lives atop tall trees. When leaping\n" + "from branch to branch, it deftly uses its\n" + "tail for balance."); + +const u8 gAipomPokedexTextUnused[] = _(""); + +const u8 gSunkernPokedexText[] = _( + "It lives by drinking only dewdrops from\n" + "under the leaves of plants. It is said\n" + "that it eats nothing else."); + +const u8 gSunkernPokedexTextUnused[] = _(""); + +const u8 gSunfloraPokedexText[] = _( + "In the daytime, it rushes about in a\n" + "hectic manner, but it comes to a complete\n" + "stop when the sun sets."); + +const u8 gSunfloraPokedexTextUnused[] = _(""); + +const u8 gYanmaPokedexText[] = _( + "Its large eyes can scan 360 degrees.\n" + "It looks in all directions to seek out\n" + "insects as its prey."); + +const u8 gYanmaPokedexTextUnused[] = _(""); + +const u8 gWooperPokedexText[] = _( + "When it walks around on the ground,\n" + "it coats its body with a slimy, poisonous\n" + "film."); + +const u8 gWooperPokedexTextUnused[] = _(""); + +const u8 gQuagsirePokedexText[] = _( + "Due to its relaxed and carefree attitude,\n" + "it often bumps its head on boulders and\n" + "boat hulls as it swims."); + +const u8 gQuagsirePokedexTextUnused[] = _(""); + +const u8 gEspeonPokedexText[] = _( + "By reading air currents, it can predict\n" + "things such as the weather or its foe's\n" + "next move."); + +const u8 gEspeonPokedexTextUnused[] = _(""); + +const u8 gUmbreonPokedexText[] = _( + "When darkness falls, the rings on its body\n" + "begin to glow, striking fear in the hearts\n" + "of anyone nearby."); + +const u8 gUmbreonPokedexTextUnused[] = _(""); + +const u8 gMurkrowPokedexText[] = _( + "It is said that when chased, it lures its\n" + "attacker onto dark mountain trails where\n" + "the foe will get lost."); + +const u8 gMurkrowPokedexTextUnused[] = _(""); + +const u8 gSlowkingPokedexText[] = _( + "When its head was bitten, toxins entered\n" + "SLOWPOKE's head and unlocked an\n" + "extraordinary power."); + +const u8 gSlowkingPokedexTextUnused[] = _(""); + +const u8 gMisdreavusPokedexText[] = _( + "It loves to bite and yank people's hair\n" + "from behind without warning, just to see\n" + "their shocked reactions."); + +const u8 gMisdreavusPokedexTextUnused[] = _(""); + +const u8 gUnownPokedexText[] = _( + "Its flat, thin body is always stuck on\n" + "walls. Its shape appears to have some\n" + "meaning."); + +const u8 gUnownPokedexTextUnused[] = _(""); + +const u8 gWobbuffetPokedexText[] = _( + "To keep its pitch-black tail hidden, it\n" + "lives quietly in the darkness. It is never\n" + "first to attack."); + +const u8 gWobbuffetPokedexTextUnused[] = _(""); + +const u8 gGirafarigPokedexText[] = _( + "Its tail, which also contains a small\n" + "brain, may bite on its own if it notices an\n" + "alluring smell."); + +const u8 gGirafarigPokedexTextUnused[] = _(""); + +const u8 gPinecoPokedexText[] = _( + "It hangs and waits for flying-insect prey\n" + "to come near. It does not move about\n" + "much on its own."); + +const u8 gPinecoPokedexTextUnused[] = _(""); + +const u8 gForretressPokedexText[] = _( + "It remains immovably rooted to its tree.\n" + "It scatters pieces of its hard shell to\n" + "drive its enemies away."); + +const u8 gForretressPokedexTextUnused[] = _(""); + +const u8 gDunsparcePokedexText[] = _( + "If spotted, it escapes by burrowing with\n" + "its tail. It can hover just slightly using\n" + "its wings."); + +const u8 gDunsparcePokedexTextUnused[] = _(""); + +const u8 gGligarPokedexText[] = _( + "It usually clings to cliffs. When it spots\n" + "its prey, it spreads its wings and glides\n" + "down to attack."); + +const u8 gGligarPokedexTextUnused[] = _(""); + +const u8 gSteelixPokedexText[] = _( + "It is said that if an ONIX lives for over\n" + "100 years, its composition changes to\n" + "become diamond-like."); + +const u8 gSteelixPokedexTextUnused[] = _(""); + +const u8 gSnubbullPokedexText[] = _( + "It has an active, playful nature. Many\n" + "women like to frolic with it because of\n" + "its affectionate ways."); + +const u8 gSnubbullPokedexTextUnused[] = _(""); + +const u8 gGranbullPokedexText[] = _( + "Because its fangs are too heavy, it\n" + "always keeps its head tilted down.\n" + "However, its BITE is powerful."); + +const u8 gGranbullPokedexTextUnused[] = _(""); + +const u8 gQwilfishPokedexText[] = _( + "The small spikes covering its body\n" + "developed from scales. They inject a\n" + "toxin that causes fainting."); + +const u8 gQwilfishPokedexTextUnused[] = _(""); + +const u8 gScizorPokedexText[] = _( + "Its wings are not used for flying.\n" + "They are flapped at high speed to adjust\n" + "its body temperature."); + +const u8 gScizorPokedexTextUnused[] = _(""); + +const u8 gShucklePokedexText[] = _( + "It stores BERRIES inside its shell.\n" + "To avoid attacks, it hides beneath rocks\n" + "and remains completely still."); + +const u8 gShucklePokedexTextUnused[] = _(""); + +const u8 gHeracrossPokedexText[] = _( + "Usually docile, but if disturbed while\n" + "sipping honey, it chases off the intruder\n" + "with its horn."); + +const u8 gHeracrossPokedexTextUnused[] = _(""); + +const u8 gSneaselPokedexText[] = _( + "Vicious in nature, it drives PIDGEY from\n" + "their nests and feasts on the eggs that\n" + "are left behind."); + +const u8 gSneaselPokedexTextUnused[] = _(""); + +const u8 gTeddiursaPokedexText[] = _( + "Before food becomes scarce in wintertime,\n" + "its habit is to hoard food in many hidden\n" + "locations."); + +const u8 gTeddiursaPokedexTextUnused[] = _(""); + +const u8 gUrsaringPokedexText[] = _( + "With its ability to distinguish any smell,\n" + "it unfailingly finds all food buried deep\n" + "underground."); + +const u8 gUrsaringPokedexTextUnused[] = _(""); + +const u8 gSlugmaPokedexText[] = _( + "A common sight in volcanic areas, it\n" + "slowly slithers around in a constant\n" + "search for warm places."); + +const u8 gSlugmaPokedexTextUnused[] = _(""); + +const u8 gMagcargoPokedexText[] = _( + "Its brittle shell occasionally spouts\n" + "intense flames that circulate throughout\n" + "its body."); + +const u8 gMagcargoPokedexTextUnused[] = _(""); + +const u8 gSwinubPokedexText[] = _( + "If it smells something enticing, it dashes\n" + "off headlong to find the source of the\n" + "aroma."); + +const u8 gSwinubPokedexTextUnused[] = _(""); + +const u8 gPiloswinePokedexText[] = _( + "If it charges at an enemy, the hairs on\n" + "its back stand up straight. It is very\n" + "sensitive to sound."); + +const u8 gPiloswinePokedexTextUnused[] = _(""); + +const u8 gCorsolaPokedexText[] = _( + "In a south sea nation, the people live in\n" + "communities that are built on groups of\n" + "these POKéMON."); + +const u8 gCorsolaPokedexTextUnused[] = _(""); + +const u8 gRemoraidPokedexText[] = _( + "Using its dorsal fin as a suction pad, it\n" + "clings to a MANTINE's underside to\n" + "scavenge for leftovers."); + +const u8 gRemoraidPokedexTextUnused[] = _(""); + +const u8 gOctilleryPokedexText[] = _( + "It instinctively sneaks into rocky holes.\n" + "If it gets sleepy, it steals the nest of a\n" + "fellow OCTILLERY."); + +const u8 gOctilleryPokedexTextUnused[] = _(""); + +const u8 gDelibirdPokedexText[] = _( + "It nests at the edge of sharp cliffs.\n" + "It spends all day carrying food to its\n" + "awaiting chicks."); + +const u8 gDelibirdPokedexTextUnused[] = _(""); + +const u8 gMantinePokedexText[] = _( + "Swimming freely in open seas, it may fly\n" + "out of the water and over the waves if it\n" + "builds up enough speed."); + +const u8 gMantinePokedexTextUnused[] = _(""); + +const u8 gSkarmoryPokedexText[] = _( + "After nesting in bramble bushes, the wings\n" + "of its chicks grow hard from scratches by\n" + "thorns."); + +const u8 gSkarmoryPokedexTextUnused[] = _(""); + +const u8 gHoundourPokedexText[] = _( + "To corner prey, they check each other's\n" + "location using barks that only they can\n" + "understand."); + +const u8 gHoundourPokedexTextUnused[] = _(""); + +const u8 gHoundoomPokedexText[] = _( + "Upon hearing its eerie howls, other\n" + "POKéMON get the shivers and head straight\n" + "back to their nests."); + +const u8 gHoundoomPokedexTextUnused[] = _(""); + +const u8 gKingdraPokedexText[] = _( + "It sleeps deep on the ocean floor to\n" + "build its energy. It is said to cause\n" + "tornadoes as it wakes."); + +const u8 gKingdraPokedexTextUnused[] = _(""); + +const u8 gPhanpyPokedexText[] = _( + "As a sign of affection, it bumps with its\n" + "snout. However, it is so strong, it may\n" + "send you flying."); + +const u8 gPhanpyPokedexTextUnused[] = _(""); + +const u8 gDonphanPokedexText[] = _( + "The longer and bigger its tusks, the\n" + "higher its rank in its herd. The tusks take\n" + "a long time to grow."); + +const u8 gDonphanPokedexTextUnused[] = _(""); + +const u8 gPorygon2PokedexText[] = _( + "Further research enhanced its abilities.\n" + "Sometimes, it may exhibit motions that\n" + "were not programmed."); + +const u8 gPorygon2PokedexTextUnused[] = _(""); + +const u8 gStantlerPokedexText[] = _( + "Those who stare at its antlers will\n" + "gradually lose control of their senses\n" + "and be unable to stand."); + +const u8 gStantlerPokedexTextUnused[] = _(""); + +const u8 gSmearglePokedexText[] = _( + "Once it becomes an adult, it has a\n" + "tendency to let its comrades plant\n" + "footprints on its back."); + +const u8 gSmearglePokedexTextUnused[] = _(""); + +const u8 gTyroguePokedexText[] = _( + "Even though it is small, it can't be\n" + "ignored because it will slug any handy\n" + "target without warning."); + +const u8 gTyroguePokedexTextUnused[] = _(""); + +const u8 gHitmontopPokedexText[] = _( + "It launches kicks while spinning. If it\n" + "spins at high speed, it may bore its way\n" + "into the ground."); + +const u8 gHitmontopPokedexTextUnused[] = _(""); + +const u8 gSmoochumPokedexText[] = _( + "It always rocks its head slowly backwards\n" + "and forwards as if it is trying to kiss\n" + "someone."); + +const u8 gSmoochumPokedexTextUnused[] = _(""); + +const u8 gElekidPokedexText[] = _( + "Even in the most vicious storm, this\n" + "POKéMON plays happily if thunder rumbles\n" + "in the sky."); + +const u8 gElekidPokedexTextUnused[] = _(""); + +const u8 gMagbyPokedexText[] = _( + "It is found in volcanic craters. Its body\n" + "heat exceeds 1,100 degrees Fahrenheit,\n" + "so don't underestimate it."); + +const u8 gMagbyPokedexTextUnused[] = _(""); + +const u8 gMiltankPokedexText[] = _( + "If it has just had a baby, the milk it\n" + "produces contains much more nutrition than\n" + "usual."); + +const u8 gMiltankPokedexTextUnused[] = _(""); + +const u8 gBlisseyPokedexText[] = _( + "It has a very compassionate nature. If it\n" + "sees a sick POKéMON, it will nurse the\n" + "sufferer back to health."); + +const u8 gBlisseyPokedexTextUnused[] = _(""); + +const u8 gRaikouPokedexText[] = _( + "This POKéMON races across the\n" + "land while barking a cry that sounds\n" + "like crashing thunder."); + +const u8 gRaikouPokedexTextUnused[] = _(""); + +const u8 gEnteiPokedexText[] = _( + "A POKéMON that races across the land.\n" + "It is said that one is born every time a\n" + "new volcano appears."); + +const u8 gEnteiPokedexTextUnused[] = _(""); + +const u8 gSuicunePokedexText[] = _( + "This POKéMON races across the land.\n" + "It is said that north winds will somehow\n" + "blow whenever it appears."); + +const u8 gSuicunePokedexTextUnused[] = _(""); + +const u8 gLarvitarPokedexText[] = _( + "It is born deep underground. It can't\n" + "emerge until it has entirely consumed the\n" + "soil around it."); + +const u8 gLarvitarPokedexTextUnused[] = _(""); + +const u8 gPupitarPokedexText[] = _( + "Even sealed in its shell, it can move\n" + "freely. Hard and fast, it has outstanding\n" + "destructive power."); + +const u8 gPupitarPokedexTextUnused[] = _(""); + +const u8 gTyranitarPokedexText[] = _( +#if REVISION == 0 + "Its body can't be harmed by any sort of\n" + "attack, so it is very eager to make\n" + "challenges against enemies." +#else +"It has an impudent nature. Having great\n" + "strength, it can even change surrounding\n" + "landforms." +#endif +); + +const u8 gTyranitarPokedexTextUnused[] = _(""); + +const u8 gLugiaPokedexText[] = _( + "It is said to be the guardian of the seas.\n" + "It is rumored to have been seen on the\n" + "night of a storm."); + +const u8 gLugiaPokedexTextUnused[] = _(""); + +const u8 gHoOhPokedexText[] = _( + "A legend says that its body glows in\n" + "seven colors. A rainbow is said to form\n" + "behind it when it flies."); + +const u8 gHoOhPokedexTextUnused[] = _(""); + +const u8 gCelebiPokedexText[] = _( + "When CELEBI disappears deep in a forest,\n" + "it is said to leave behind an egg it\n" + "brought from the future."); + +const u8 gCelebiPokedexTextUnused[] = _(""); + +const u8 gTreeckoPokedexText[] = _( + "It quickly scales even vertical walls.\n" + "It senses humidity with its tail to predict\n" + "the next day's weather."); + +const u8 gTreeckoPokedexTextUnused[] = _(""); + +const u8 gGrovylePokedexText[] = _( + "Its strongly developed thigh muscles\n" + "give it astounding agility and jumping\n" + "performance."); + +const u8 gGrovylePokedexTextUnused[] = _(""); + +const u8 gSceptilePokedexText[] = _( + "The leaves on its forelegs are as sharp\n" + "as swords. It agilely leaps about the\n" + "branches of trees to strike."); + +const u8 gSceptilePokedexTextUnused[] = _(""); + +const u8 gTorchicPokedexText[] = _( + "It has a flame sac inside its belly that\n" + "perpetually burns. It feels warm if it is\n" + "hugged."); + +const u8 gTorchicPokedexTextUnused[] = _(""); + +const u8 gCombuskenPokedexText[] = _( + "It boosts its concentration by emitting\n" + "harsh cries. Its kicks have outstanding\n" + "destructive power."); + +const u8 gCombuskenPokedexTextUnused[] = _(""); + +const u8 gBlazikenPokedexText[] = _( + "When facing a tough foe, it looses flames\n" + "from its wrists. Its powerful legs let it\n" + "jump clear over buildings."); + +const u8 gBlazikenPokedexTextUnused[] = _(""); + +const u8 gMudkipPokedexText[] = _( + "Its large tail fin propels it through\n" + "water with powerful acceleration. It is\n" + "strong in spite of its size."); + +const u8 gMudkipPokedexTextUnused[] = _(""); + +const u8 gMarshtompPokedexText[] = _( + "It is at its best when on muddy ground\n" + "with poor footing. It quickly overwhelms\n" + "foes struggling in mud."); + +const u8 gMarshtompPokedexTextUnused[] = _(""); + +const u8 gSwampertPokedexText[] = _( + "Its arms are rock-hard. With one swing,\n" + "they can batter down its foe. It makes its\n" + "nest on beautiful beaches."); + +const u8 gSwampertPokedexTextUnused[] = _(""); + +const u8 gPoochyenaPokedexText[] = _( + "It has a very tenacious nature. Its acute\n" + "sense of smell lets it chase a chosen\n" + "prey without ever losing track."); + +const u8 gPoochyenaPokedexTextUnused[] = _(""); + +const u8 gMightyenaPokedexText[] = _( + "It will always obey the commands of a\n" + "skilled TRAINER. Its behavior arises from\n" + "its living in packs in ancient times."); + +const u8 gMightyenaPokedexTextUnused[] = _(""); + +const u8 gZigzagoonPokedexText[] = _( + "A POKéMON with abundant curiosity.\n" + "It shows an interest in everything, so it\n" + "always zigs and zags."); + +const u8 gZigzagoonPokedexTextUnused[] = _(""); + +const u8 gLinoonePokedexText[] = _( + "When running in a straight line, it can top\n" + "60 miles per hour. However, it has a\n" + "tough time with curved roads."); + +const u8 gLinoonePokedexTextUnused[] = _(""); + +const u8 gWurmplePokedexText[] = _( + "It lives amidst tall grass and in forests.\n" + "When attacked, it resists by pointing its\n" + "venomous spikes at the foe."); + +const u8 gWurmplePokedexTextUnused[] = _(""); + +const u8 gSilcoonPokedexText[] = _( + "It conserves its energy by moving as\n" + "little as possible. It awaits evolution\n" + "while drinking only a little rainwater."); + +const u8 gSilcoonPokedexTextUnused[] = _(""); + +const u8 gBeautiflyPokedexText[] = _( + "Despite its appearance, it has an\n" + "aggressive nature. It attacks by jabbing\n" + "with its long, thin mouth."); + +const u8 gBeautiflyPokedexTextUnused[] = _(""); + +const u8 gCascoonPokedexText[] = _( + "Its body, which is made of soft silk,\n" + "hardens over time. When cracks appear,\n" + "evolution is near."); + +const u8 gCascoonPokedexTextUnused[] = _(""); + +const u8 gDustoxPokedexText[] = _( + "It scatters horribly toxic dust when it\n" + "senses danger. They tend to gather in the\n" + "glow of streetlamps at night."); + +const u8 gDustoxPokedexTextUnused[] = _(""); + +const u8 gLotadPokedexText[] = _( + "It searches about for clean water. If it\n" + "does not drink water for too long, the\n" + "leaf on its head wilts."); + +const u8 gLotadPokedexTextUnused[] = _(""); + +const u8 gLombrePokedexText[] = _( + "It lives at the water's edge where it is\n" + "sunny. It sleeps on a bed of water grass\n" + "by day and becomes active at night."); + +const u8 gLombrePokedexTextUnused[] = _(""); + +const u8 gLudicoloPokedexText[] = _( + "The rhythm of bright, festive music\n" + "activates LUDICOLO's cells, making it more\n" + "powerful."); + +const u8 gLudicoloPokedexTextUnused[] = _(""); + +const u8 gSeedotPokedexText[] = _( + "If it remains still, it becomes impossible\n" + "to distinguish from real nuts. It delights\n" + "in surprising foraging PIDGEY."); + +const u8 gSeedotPokedexTextUnused[] = _(""); + +const u8 gNuzleafPokedexText[] = _( + "They live in holes bored in large trees.\n" + "The sound of NUZLEAF's grass flute fills\n" + "listeners with dread."); + +const u8 gNuzleafPokedexTextUnused[] = _(""); + +const u8 gShiftryPokedexText[] = _( + "A POKéMON that was feared as a forest\n" + "guardian. It can read the foe's mind and\n" + "take preemptive action."); + +const u8 gShiftryPokedexTextUnused[] = _(""); + +const u8 gTaillowPokedexText[] = _( + "It dislikes cold seasons. They migrate to\n" + "other lands in search of warmth, flying\n" + "over 180 miles a day."); + +const u8 gTaillowPokedexTextUnused[] = _(""); + +const u8 gSwellowPokedexText[] = _( + "If its two tail feathers are standing at\n" + "attention, it is proof of good health.\n" + "It soars elegantly in the sky."); + +const u8 gSwellowPokedexTextUnused[] = _(""); + +const u8 gWingullPokedexText[] = _( + "It rides upon ocean winds as if it were\n" + "a glider. In the winter, it hides food\n" + "around its nest."); + +const u8 gWingullPokedexTextUnused[] = _(""); + +const u8 gPelipperPokedexText[] = _( + "It is a flying transporter that carries\n" + "small POKéMON in its beak. It bobs on the\n" + "waves to rest its wings."); + +const u8 gPelipperPokedexTextUnused[] = _(""); + +const u8 gRaltsPokedexText[] = _( + "It is highly attuned to the emotions of\n" + "people and POKéMON. It hides if it senses\n" + "hostility."); + +const u8 gRaltsPokedexTextUnused[] = _(""); + +const u8 gKirliaPokedexText[] = _( + "The cheerful spirit of its TRAINER gives\n" + "it energy for its psychokinetic power.\n" + "It spins and dances when happy."); + +const u8 gKirliaPokedexTextUnused[] = _(""); + +const u8 gGardevoirPokedexText[] = _( + "It has the power to predict the future.\n" + "Its power peaks when it is protecting its\n" + "TRAINER."); + +const u8 gGardevoirPokedexTextUnused[] = _(""); + +const u8 gSurskitPokedexText[] = _( + "They usually live on ponds, but after an\n" + "evening shower, they may appear on\n" + "puddles in towns."); + +const u8 gSurskitPokedexTextUnused[] = _(""); + +const u8 gMasquerainPokedexText[] = _( + "The antennae have distinctive patterns\n" + "that look like eyes. When it rains, they\n" + "grow heavy, making flight impossible."); + +const u8 gMasquerainPokedexTextUnused[] = _(""); + +const u8 gShroomishPokedexText[] = _( + "It prefers damp places. By day it remains\n" + "still in the forest shade. It releases\n" + "toxic powder from its head."); + +const u8 gShroomishPokedexTextUnused[] = _(""); + +const u8 gBreloomPokedexText[] = _( + "The seeds on its tail are made of toxic\n" + "spores. It knocks out foes with quick,\n" + "virtually invisible punches."); + +const u8 gBreloomPokedexTextUnused[] = _(""); + +const u8 gSlakothPokedexText[] = _( + "It sleeps for 20 hours every day. Making\n" + "drowsy those that see it is one of\n" + "its abilities."); + +const u8 gSlakothPokedexTextUnused[] = _(""); + +const u8 gVigorothPokedexText[] = _( + "It is always hungry because it won't stop\n" + "rampaging. Even while it is eating, it\n" + "can't keep still."); + +const u8 gVigorothPokedexTextUnused[] = _(""); + +const u8 gSlakingPokedexText[] = _( + "It is the world's most slothful POKéMON.\n" + "However, it can exert horrifying power by\n" + "releasing pent-up energy all at once."); + +const u8 gSlakingPokedexTextUnused[] = _(""); + +const u8 gNincadaPokedexText[] = _( + "Because it lived almost entirely\n" + "underground, it is nearly blind.\n" + "It uses its antennae instead."); + +const u8 gNincadaPokedexTextUnused[] = _(""); + +const u8 gNinjaskPokedexText[] = _( + "This POKéMON is so quick, it is said to\n" + "be able to avoid any attack. It loves to\n" + "feed on tree sap."); + +const u8 gNinjaskPokedexTextUnused[] = _(""); + +const u8 gShedinjaPokedexText[] = _( + "A most peculiar POKéMON that somehow\n" + "appears in a POKé BALL when a NINCADA\n" + "evolves."); + +const u8 gShedinjaPokedexTextUnused[] = _(""); + +const u8 gWhismurPokedexText[] = _( + "It usually murmurs, but starts crying\n" + "loudly if it senses danger. It stops when\n" + "its ear covers are shut."); + +const u8 gWhismurPokedexTextUnused[] = _(""); + +const u8 gLoudredPokedexText[] = _( + "When it stamps its feet and bellows, it\n" + "generates ultrasonic waves that can blow\n" + "apart a house."); + +const u8 gLoudredPokedexTextUnused[] = _(""); + +const u8 gExploudPokedexText[] = _( + "It emits a variety of sounds from the \n" + "holes all over its body. Its loud cries\n" + "can be heard from over six miles away."); + +const u8 gExploudPokedexTextUnused[] = _(""); + +const u8 gMakuhitaPokedexText[] = _( + "It grows stronger by enduring harsh\n" + "training. It is a gutsy POKéMON that can\n" + "withstand any attack."); + +const u8 gMakuhitaPokedexTextUnused[] = _(""); + +const u8 gHariyamaPokedexText[] = _( + "It stomps on the ground to build power.\n" + "It can send a 10-ton truck flying with a\n" + "straight-arm punch."); + +const u8 gHariyamaPokedexTextUnused[] = _(""); + +const u8 gAzurillPokedexText[] = _( + "It battles by flinging around its tail,\n" + "which is bigger than its body. The\n" + "tail is a flotation device in water."); + +const u8 gAzurillPokedexTextUnused[] = _(""); + +const u8 gNosepassPokedexText[] = _( + "Its magnetic nose consistently faces\n" + "north. Travelers check NOSEPASS to get\n" + "their bearings."); + +const u8 gNosepassPokedexTextUnused[] = _(""); + +const u8 gSkittyPokedexText[] = _( + "It is said to be difficult to earn its\n" + "trust. However, it is extremely popular\n" + "for its cute looks and behavior."); + +const u8 gSkittyPokedexTextUnused[] = _(""); + +const u8 gDelcattyPokedexText[] = _( + "The favorite of trend-conscious\n" + "female TRAINERS, they are used in\n" + "competition for their style and fur."); + +const u8 gDelcattyPokedexTextUnused[] = _(""); + +const u8 gSableyePokedexText[] = _( + "It feeds on gemstone crystals.\n" + "In darkness, its eyes sparkle with the\n" + "glitter of jewels."); + +const u8 gSableyePokedexTextUnused[] = _(""); + +const u8 gMawilePokedexText[] = _( + "It uses its docile-looking face to lull\n" + "foes into complacency, then bites with its\n" + "huge, relentless jaws."); + +const u8 gMawilePokedexTextUnused[] = _(""); + +const u8 gAronPokedexText[] = _( + "It eats iron to build its steel body.\n" + "It is a pest that descends from mountains\n" + "to eat bridges and train tracks."); + +const u8 gAronPokedexTextUnused[] = _(""); + +const u8 gLaironPokedexText[] = _( + "It habitually shows off its strength with\n" + "the size of sparks it creates by ramming\n" + "its steel body into boulders."); + +const u8 gLaironPokedexTextUnused[] = _(""); + +const u8 gAggronPokedexText[] = _( + "It claims a large mountain as its sole\n" + "territory. It mercilessly thrashes those\n" + "that violate its space."); + +const u8 gAggronPokedexTextUnused[] = _(""); + +const u8 gMedititePokedexText[] = _( + "It never skips its daily yoga training.\n" + "It heightens its inner strength through\n" + "meditation."); + +const u8 gMedititePokedexTextUnused[] = _(""); + +const u8 gMedichamPokedexText[] = _( + "It elegantly avoids attacks with dance-\n" + "like steps, then launches a devastating\n" + "blow in the same motion."); + +const u8 gMedichamPokedexTextUnused[] = _(""); + +const u8 gElectrikePokedexText[] = _( + "It stores static electricity in its fur\n" + "for discharging. It gives off sparks if a\n" + "storm approaches."); + +const u8 gElectrikePokedexTextUnused[] = _(""); + +const u8 gManectricPokedexText[] = _( + "It rarely appears before people.\n" + "It is said to nest where lightning has\n" + "fallen."); + +const u8 gManectricPokedexTextUnused[] = _(""); + +const u8 gPluslePokedexText[] = _( + "It cheers on partners while scattering\n" + "sparks from its body. It climbs telephone\n" + "poles to absorb electricity."); + +const u8 gPluslePokedexTextUnused[] = _(""); + +const u8 gMinunPokedexText[] = _( + "Its dislike of water makes it take shelter\n" + "under the eaves of houses in rain. It uses\n" + "pom-poms made of sparks for cheering."); + +const u8 gMinunPokedexTextUnused[] = _(""); + +const u8 gVolbeatPokedexText[] = _( + "It lives around clean ponds. At night,\n" + "its rear lights up. It converses with\n" + "others by flashing its light."); + +const u8 gVolbeatPokedexTextUnused[] = _(""); + +const u8 gIllumisePokedexText[] = _( + "It guides VOLBEAT to draw signs in night\n" + "skies. There are scientists that study the\n" + "patterns it creates."); + +const u8 gIllumisePokedexTextUnused[] = _(""); + +const u8 gRoseliaPokedexText[] = _( + "Its flowers give off a relaxing fragrance.\n" + "The stronger its aroma, the healthier\n" + "the ROSELIA is."); + +const u8 gRoseliaPokedexTextUnused[] = _(""); + +const u8 gGulpinPokedexText[] = _( + "There is nothing its stomach can't digest.\n" + "While it is digesting, vile, overpowering\n" + "gases are expelled."); + +const u8 gGulpinPokedexTextUnused[] = _(""); + +const u8 gSwalotPokedexText[] = _( + "It can swallow a tire whole in one gulp.\n" + "It secretes a horribly toxic fluid from\n" + "the pores on its body."); + +const u8 gSwalotPokedexTextUnused[] = _(""); + +const u8 gCarvanhaPokedexText[] = _( + "It lives in massive rivers that course\n" + "through jungles. It swarms prey that\n" + "enter its territory."); + +const u8 gCarvanhaPokedexTextUnused[] = _(""); + +const u8 gSharpedoPokedexText[] = _( + "The ruffian of the seas, it has fangs that\n" + "crunch through iron. It swims by jetting\n" + "water from its rear."); + +const u8 gSharpedoPokedexTextUnused[] = _(""); + +const u8 gWailmerPokedexText[] = _( + "When it sucks in a large volume of\n" + "seawater, it becomes like a big, bouncy\n" + "ball. It eats a ton of food daily."); + +const u8 gWailmerPokedexTextUnused[] = _(""); + +const u8 gWailordPokedexText[] = _( + "It is among the largest of all POKéMON.\n" + "It herds prey in a pack then swallows the\n" + "massed prey in one gulp."); + +const u8 gWailordPokedexTextUnused[] = _(""); + +const u8 gNumelPokedexText[] = _( + "Magma of almost 2,200 degrees Fahrenheit\n" + "courses through its body. When it grows\n" + "cold, the magma hardens and slows it."); + +const u8 gNumelPokedexTextUnused[] = _(""); + +const u8 gCameruptPokedexText[] = _( + "If angered, the humps on its back erupt\n" + "in a shower of molten lava. It lives in\n" + "the craters of volcanoes."); + +const u8 gCameruptPokedexTextUnused[] = _(""); + +const u8 gTorkoalPokedexText[] = _( + "It burns coal inside its shell. If it is\n" + "attacked, it belches thick, black smoke\n" + "and flees."); + +const u8 gTorkoalPokedexTextUnused[] = _(""); + +const u8 gSpoinkPokedexText[] = _( + "It apparently dies if it stops bouncing\n" + "about. It carries a pearl from CLAMPERL\n" + "on its head."); + +const u8 gSpoinkPokedexTextUnused[] = _(""); + +const u8 gGrumpigPokedexText[] = _( + "It can gain control over foes by doing\n" + "odd dance steps. The black pearls on its\n" + "forehead are precious gems."); + +const u8 gGrumpigPokedexTextUnused[] = _(""); + +const u8 gSpindaPokedexText[] = _( + "No two SPINDA are said to have identical\n" + "patterns. It confuses foes with its\n" + "stumbling motions."); + +const u8 gSpindaPokedexTextUnused[] = _(""); + +const u8 gTrapinchPokedexText[] = _( + "It lives in arid deserts. It makes a\n" + "sloping pit trap in sand where it\n" + "patiently awaits prey."); + +const u8 gTrapinchPokedexTextUnused[] = _(""); + +const u8 gVibravaPokedexText[] = _( + "It generates ultrasonic waves by violently\n" + "flapping its wings. After making its prey\n" + "faint, it melts the prey with acid."); + +const u8 gVibravaPokedexTextUnused[] = _(""); + +const u8 gFlygonPokedexText[] = _( + "It hides itself by kicking up desert sand\n" + "with its wings. Red covers shield its eyes\n" + "from sand."); + +const u8 gFlygonPokedexTextUnused[] = _(""); + +const u8 gCacneaPokedexText[] = _( + "It prefers harsh environments such as\n" + "deserts. It can survive for 30 days on\n" + "water stored in its body."); + +const u8 gCacneaPokedexTextUnused[] = _(""); + +const u8 gCacturnePokedexText[] = _( + "It lives in deserts. It becomes active at\n" + "night when it hunts for prey exhausted\n" + "from the desert's heat."); + +const u8 gCacturnePokedexTextUnused[] = _(""); + +const u8 gSwabluPokedexText[] = _( + "It constantly grooms its cotton-like\n" + "wings. It takes a shower to clean\n" + "itself if it becomes dirty."); + +const u8 gSwabluPokedexTextUnused[] = _(""); + +const u8 gAltariaPokedexText[] = _( + "If you hear a beautiful melody trilling\n" + "deep among mountains far from people,\n" + "it is ALTARIA's humming."); + +const u8 gAltariaPokedexTextUnused[] = _(""); + +const u8 gZangoosePokedexText[] = _( + "If it comes across a SEVIPER, its fur\n" + "bristles and it assumes its battle pose.\n" + "Its sharp claws are its best weapon."); + +const u8 gZangoosePokedexTextUnused[] = _(""); + +const u8 gSeviperPokedexText[] = _( + "It sharpens its swordlike tail on hard\n" + "rocks. It hides in tall grass and strikes\n" + "unwary prey with venomous fangs."); + +const u8 gSeviperPokedexTextUnused[] = _(""); + +const u8 gLunatonePokedexText[] = _( + "Its health ebbs and flows with the lunar\n" + "cycle. It brims with power when exposed\n" + "to the light of the full moon."); + +const u8 gLunatonePokedexTextUnused[] = _(""); + +const u8 gSolrockPokedexText[] = _( + "It absorbs solar energy during the day.\n" + "Always expressionless, it can sense what\n" + "its foe is thinking."); + +const u8 gSolrockPokedexTextUnused[] = _(""); + +const u8 gBarboachPokedexText[] = _( + "It probes muddy riverbeds with its two\n" + "long whiskers. A slimy film protects its\n" + "body."); + +const u8 gBarboachPokedexTextUnused[] = _(""); + +const u8 gWhiscashPokedexText[] = _( + "It makes its nest at the bottom of \n" + "swamps. It will eat anything - if it is\n" + "alive, WHISCASH will eat it."); + +const u8 gWhiscashPokedexTextUnused[] = _(""); + +const u8 gCorphishPokedexText[] = _( + "It came from overseas. It is a very hardy\n" + "creature that will quickly proliferate,\n" + "even in polluted streams."); + +const u8 gCorphishPokedexTextUnused[] = _(""); + +const u8 gCrawdauntPokedexText[] = _( + "A rough customer that wildly flails its\n" + "giant claws. It is said to be extremely\n" + "hard to raise."); + +const u8 gCrawdauntPokedexTextUnused[] = _(""); + +const u8 gBaltoyPokedexText[] = _( + "It was discovered in ancient ruins.\n" + "While moving, it constantly spins. It\n" + "stands on one foot even when asleep."); + +const u8 gBaltoyPokedexTextUnused[] = _(""); + +const u8 gClaydolPokedexText[] = _( + "It appears to have been born from clay\n" + "dolls made by ancient people. It uses\n" + "telekinesis to float and move."); + +const u8 gClaydolPokedexTextUnused[] = _(""); + +const u8 gLileepPokedexText[] = _( + "It became extinct roughly 100 million\n" + "years ago. It was regenerated from a\n" + "fossil using advanced techniques."); + +const u8 gLileepPokedexTextUnused[] = _(""); + +const u8 gCradilyPokedexText[] = _( + "It ensnares prey with its eight tentacles.\n" + "It then melts the prey with a strong acid\n" + "before feeding."); + +const u8 gCradilyPokedexTextUnused[] = _(""); + +const u8 gAnorithPokedexText[] = _( + "It is a kind of POKéMON progenitor.\n" + "It uses its extending claws to catch prey\n" + "hiding among rocks on the seafloor."); + +const u8 gAnorithPokedexTextUnused[] = _(""); + +const u8 gArmaldoPokedexText[] = _( + "Protected by a hard shell, its body is\n" + "very sturdy. It skewers prey with its\n" + "claws to feed."); + +const u8 gArmaldoPokedexTextUnused[] = _(""); + +const u8 gFeebasPokedexText[] = _( + "Ridiculed for its shabby appearance,\n" + "it is ignored by researchers. It lives in\n" + "ponds choked with weeds."); + +const u8 gFeebasPokedexTextUnused[] = _(""); + +const u8 gMiloticPokedexText[] = _( + "MILOTIC is breathtakingly beautiful.\n" + "Those that see it are said to forget their\n" + "combative spirits."); + +const u8 gMiloticPokedexTextUnused[] = _(""); + +const u8 gCastformPokedexText[] = _( + "It has the ability to change its form into\n" + "the sun, the rain, or a snow cloud, \n" + "depending on the weather."); + +const u8 gCastformPokedexTextUnused[] = _(""); + +const u8 gKecleonPokedexText[] = _( + "It changes body color to blend in with\n" + "its surroundings. It also changes color if\n" + "it is happy or sad."); + +const u8 gKecleonPokedexTextUnused[] = _(""); + +const u8 gShuppetPokedexText[] = _( + "It loves to feed on feelings like envy and\n" + "malice. Its upright horn catches the\n" + "emotions of people."); + +const u8 gShuppetPokedexTextUnused[] = _(""); + +const u8 gBanettePokedexText[] = _( + "Strong feelings of hatred turned a puppet\n" + "into a POKéMON. If it opens its mouth,\n" + "its cursed energy escapes."); + +const u8 gBanettePokedexTextUnused[] = _(""); + +const u8 gDuskullPokedexText[] = _( + "Making itself invisible, it silently sneaks\n" + "up to prey. It has the ability to slip\n" + "through thick walls."); + +const u8 gDuskullPokedexTextUnused[] = _(""); + +const u8 gDusclopsPokedexText[] = _( + "Its body is entirely hollow. When it opens\n" + "its mouth, it sucks everything in as if it\n" + "were a black hole."); + +const u8 gDusclopsPokedexTextUnused[] = _(""); + +const u8 gTropiusPokedexText[] = _( + "It lives in tropical jungles. The bunch of\n" + "fruit around its neck is delicious.\n" + "The fruit grows twice a year."); + +const u8 gTropiusPokedexTextUnused[] = _(""); + +const u8 gChimechoPokedexText[] = _( + "It travels by riding on winds. It cleverly\n" + "uses its long tail to pluck nuts and\n" + "berries, which it loves to eat."); + +const u8 gChimechoPokedexTextUnused[] = _(""); + +const u8 gAbsolPokedexText[] = _( + "It appears when it senses an impending\n" + "natural disaster. As a result, it was\n" + "mistaken as a doom-bringer."); + +const u8 gAbsolPokedexTextUnused[] = _(""); + +const u8 gWynautPokedexText[] = _( + "It tends to move in a pack with others.\n" + "They cluster in a tight group to sleep in\n" + "a cave."); + +const u8 gWynautPokedexTextUnused[] = _(""); + +const u8 gSnoruntPokedexText[] = _( + "It is said that a home visited by a\n" + "SNORUNT will prosper. It can withstand\n" + "cold of minus 150 degrees Fahrenheit."); + +const u8 gSnoruntPokedexTextUnused[] = _(""); + +const u8 gGlaliePokedexText[] = _( + "It has a body of ice that won't melt,\n" + "even with fire. It can instantly freeze\n" + "moisture in the atmosphere."); + +const u8 gGlaliePokedexTextUnused[] = _(""); + +const u8 gSphealPokedexText[] = _( + "Its body is covered in fluffy fur. The\n" + "fur keeps it from feeling cold while\n" + "it is rolling on ice."); + +const u8 gSphealPokedexTextUnused[] = _(""); + +const u8 gSealeoPokedexText[] = _( + "It touches new things with its nose to\n" + "test for smell and feel. It plays by\n" + "spinning SPHEAL on its nose."); + +const u8 gSealeoPokedexTextUnused[] = _(""); + +const u8 gWalreinPokedexText[] = _( + "It swims through icy seas while shattering\n" + "ice floes with its large tusks. It is\n" + "protected by its thick blubber."); + +const u8 gWalreinPokedexTextUnused[] = _(""); + +const u8 gClamperlPokedexText[] = _( + "It is protected by a sturdy shell.\n" + "Once in a lifetime, it makes a magnificent\n" + "pearl."); + +const u8 gClamperlPokedexTextUnused[] = _(""); + +const u8 gHuntailPokedexText[] = _( + "It lives deep in the sea where no light\n" + "ever filters down. It lights up its small\n" + "fishlike tail to attract prey."); + +const u8 gHuntailPokedexTextUnused[] = _(""); + +const u8 gGorebyssPokedexText[] = _( + "Its swimming form is exquisitely elegant.\n" + "With its thin mouth, it feeds on seaweed\n" + "that grows between rocks."); + +const u8 gGorebyssPokedexTextUnused[] = _(""); + +const u8 gRelicanthPokedexText[] = _( + "It has remained unchanged for 100\n" + "million years. It was discovered\n" + "during a deep-sea exploration."); + +const u8 gRelicanthPokedexTextUnused[] = _(""); + +const u8 gLuvdiscPokedexText[] = _( + "During the spawning season, countless\n" + "LUVDISC congregate at coral reefs,\n" + "turning the waters pink."); + +const u8 gLuvdiscPokedexTextUnused[] = _(""); + +const u8 gBagonPokedexText[] = _( + "Its steel-hard head can shatter boulders.\n" + "It longingly hopes for wings to grow so it\n" + "can fly."); + +const u8 gBagonPokedexTextUnused[] = _(""); + +const u8 gShelgonPokedexText[] = _( + "Its armored body makes all attacks bounce\n" + "off. The armor is too tough, however,\n" + "making it heavy and somewhat sluggish."); + +const u8 gShelgonPokedexTextUnused[] = _(""); + +const u8 gSalamencePokedexText[] = _( + "It becomes uncontrollable if it is\n" + "enraged. It destroys everything with\n" + "shredding claws and fire."); + +const u8 gSalamencePokedexTextUnused[] = _(""); + +const u8 gBeldumPokedexText[] = _( + "It uses magnetic waves to converse with\n" + "its kind. All the cells in its body are\n" + "magnetic."); + +const u8 gBeldumPokedexTextUnused[] = _(""); + +const u8 gMetangPokedexText[] = _( + "It floats midair using magnetism. Its body\n" + "is so tough, even a crash with a jet\n" + "plane won't leave a scratch."); + +const u8 gMetangPokedexTextUnused[] = _(""); + +const u8 gMetagrossPokedexText[] = _( + "It is formed by two METANG fusing.\n" + "Its four brains are said to be superior\n" + "to a supercomputer."); + +const u8 gMetagrossPokedexTextUnused[] = _(""); + +const u8 gRegirockPokedexText[] = _( + "It is entirely composed of rocks with no\n" + "sign of a brain or heart. It is a mystery\n" + "even to modern scientists."); + +const u8 gRegirockPokedexTextUnused[] = _(""); + +const u8 gRegicePokedexText[] = _( + "Research revealed that its body is made\n" + "of the same kind of ice that is found at\n" + "the South Pole."); + +const u8 gRegicePokedexTextUnused[] = _(""); + +const u8 gRegisteelPokedexText[] = _( + "It is sturdier than any kind of metal.\n" + "It hardened due to pressure underground\n" + "over tens of thousands of years."); + +const u8 gRegisteelPokedexTextUnused[] = _(""); + +const u8 gLatiasPokedexText[] = _( + "It can telepathically communicate with\n" + "people. It changes its appearance using\n" + "its down that refracts light."); + +const u8 gLatiasPokedexTextUnused[] = _(""); + +const u8 gLatiosPokedexText[] = _( + "It has a docile temperament and dislikes\n" + "fighting. Tucking in its forelegs, it can\n" + "fly faster than a jet plane."); + +const u8 gLatiosPokedexTextUnused[] = _(""); + +const u8 gKyogrePokedexText[] = _( + "This POKéMON is said to have\n" + "expanded the sea by bringing heavy rains.\n" + "It has the power to control water."); + +const u8 gKyogrePokedexTextUnused[] = _(""); + +const u8 gGroudonPokedexText[] = _( + "This legendary POKéMON is said to\n" + "represent the land. It went to sleep after\n" + "dueling KYOGRE."); + +const u8 gGroudonPokedexTextUnused[] = _(""); + +const u8 gRayquazaPokedexText[] = _( + "It has lived for hundreds of millions of\n" + "years in the ozone layer. Its flying form\n" + "looks like a meteor."); + +const u8 gRayquazaPokedexTextUnused[] = _(""); + +const u8 gJirachiPokedexText[] = _( + "It is said to make any wish come true.\n" + "It is awake for only seven days out of\n" + "a thousand years."); + +const u8 gJirachiPokedexTextUnused[] = _(""); + +const u8 gDeoxysPokedexText[] = _( + "This DEOXYS has transformed into its\n" + "aggressive guise. It can fool enemies by\n" + "altering its appearance."); + +const u8 gDeoxysPokedexTextUnused[] = _(""); diff --git a/src/data/pokemon/pokedex_text_lg.h b/src/data/pokemon/pokedex_text_lg.h new file mode 100644 index 000000000..b9e2055c2 --- /dev/null +++ b/src/data/pokemon/pokedex_text_lg.h @@ -0,0 +1,2711 @@ +const u8 gDummyPokedexText[] = _( + "This is a newly discovered POKéMON. It is\n" + "currently under investigation. No detailed\n" + "information is available at this time."); + +const u8 gDummyPokedexTextUnused[] = _(""); + +const u8 gBulbasaurPokedexText[] = _( + "A strange seed was planted on its back at\n" + "birth. The plant sprouts and grows with\n" + "this POKéMON."); + +const u8 gBulbasaurPokedexTextUnused[] = _(""); + +const u8 gIvysaurPokedexText[] = _( + "When the bulb on its back grows large, it\n" + "appears to lose the ability to stand on\n" + "its hind legs."); + +const u8 gIvysaurPokedexTextUnused[] = _(""); + +const u8 gVenusaurPokedexText[] = _( + "Its plant blooms when it is absorbing\n" + "solar energy. It stays on the move to\n" + "seek sunlight."); + +const u8 gVenusaurPokedexTextUnused[] = _( + " "); + +const u8 gCharmanderPokedexText[] = _( + "It has a preference for hot things.\n" + "When it rains, steam is said to spout from\n" + "the tip of its tail."); + +const u8 gCharmanderPokedexTextUnused[] = _(""); + +const u8 gCharmeleonPokedexText[] = _( + "When it swings its burning tail, it\n" + "elevates the air temperature to \n" + "unbearably high levels."); + +const u8 gCharmeleonPokedexTextUnused[] = _(""); + +const u8 gCharizardPokedexText[] = _( + "It spits fire that is hot enough to melt\n" + "boulders. It may cause forest fires by\n" + "blowing flames."); + +const u8 gCharizardPokedexTextUnused[] = _(""); + +const u8 gSquirtlePokedexText[] = _( + "After birth, its back swells and hardens\n" + "into a shell. It powerfully sprays foam \n" + "from its mouth."); + +const u8 gSquirtlePokedexTextUnused[] = _(""); + +const u8 gWartortlePokedexText[] = _( + "It often hides in water to stalk unwary\n" + "prey. For fast swimming, it moves its\n" + "ears to maintain balance."); + +const u8 gWartortlePokedexTextUnused[] = _(""); + +const u8 gBlastoisePokedexText[] = _( + "The pressurized water jets on this brutal\n" + "POKéMON's shell are used for high-\n" + "speed tackles."); + +const u8 gBlastoisePokedexTextUnused[] = _(""); + +const u8 gCaterpiePokedexText[] = _( + "Its short feet are tipped with suction\n" + "pads that enable it to tirelessly climb\n" + "slopes and walls."); + +const u8 gCaterpiePokedexTextUnused[] = _(""); + +const u8 gMetapodPokedexText[] = _( + "This POKéMON is vulnerable to attack\n" + "while its shell is soft, exposing its weak\n" + "and tender body."); + +const u8 gMetapodPokedexTextUnused[] = _( + " "); + +const u8 gButterfreePokedexText[] = _( + "In battle, it flaps its wings at great\n" + "speed to release highly toxic dust into\n" + "the air."); + +const u8 gButterfreePokedexTextUnused[] = _( + " "); + +const u8 gWeedlePokedexText[] = _( + "Often found in forests, eating leaves.\n" + "It has a sharp stinger on its head that\n" + "injects poison."); + +const u8 gWeedlePokedexTextUnused[] = _(""); + +const u8 gKakunaPokedexText[] = _( + "Almost incapable of moving, this POKéMON\n" + "can only harden its shell to protect\n" + "itself when it is in danger."); + +const u8 gKakunaPokedexTextUnused[] = _(""); + +const u8 gBeedrillPokedexText[] = _( + "It flies at high speed and attacks using \n" + "the large venomous stingers on its\n" + "forelegs and tail."); + +const u8 gBeedrillPokedexTextUnused[] = _(""); + +const u8 gPidgeyPokedexText[] = _( + "A common sight in forests and woods.\n" + "It flaps its wings at ground level to kick\n" + "up blinding sand."); + +const u8 gPidgeyPokedexTextUnused[] = _(""); + +const u8 gPidgeottoPokedexText[] = _( + "Very protective of its sprawling\n" + "territorial area, this POKéMON will\n" + "fiercely peck at any intruder."); + +const u8 gPidgeottoPokedexTextUnused[] = _(""); + +const u8 gPidgeotPokedexText[] = _( + "When hunting, it skims the surface of\n" + "water at high speed to pick off unwary\n" + "prey such as MAGIKARP."); + +const u8 gPidgeotPokedexTextUnused[] = _(""); + +const u8 gRattataPokedexText[] = _( + "Bites anything when it attacks. Small and\n" + "very quick, it is a common sight in many\n" + "places."); + +const u8 gRattataPokedexTextUnused[] = _(""); + +const u8 gRaticatePokedexText[] = _( + "It uses its whiskers to maintain its\n" + "balance. It apparently slows down if\n" + "they are cut off."); + +const u8 gRaticatePokedexTextUnused[] = _(""); + +const u8 gSpearowPokedexText[] = _( + "Eats bugs in grassy areas. It has to flap\n" + "its short wings at high speed to stay\n" + "airborne."); + +const u8 gSpearowPokedexTextUnused[] = _(""); + +const u8 gFearowPokedexText[] = _( + "With its huge and magnificent wings, it can\n" + "keep aloft without ever having to land\n" + "for rest."); + +const u8 gFearowPokedexTextUnused[] = _(""); + +const u8 gEkansPokedexText[] = _( + "Moving silently and stealthily, it eats\n" + "the eggs of birds, such as PIDGEY\n" + "and SPEAROW, whole."); + +const u8 gEkansPokedexTextUnused[] = _(""); + +const u8 gArbokPokedexText[] = _( + "It is rumored that the ferocious warning\n" + "markings on its belly differ from area to\n" + "area."); + +const u8 gArbokPokedexTextUnused[] = _(""); + +const u8 gPikachuPokedexText[] = _( + "When several of these POKéMON gather,\n" + "their electricity can build and cause\n" + "lightning storms."); + +const u8 gPikachuPokedexTextUnused[] = _(""); + +const u8 gRaichuPokedexText[] = _( + "Its long tail serves as a ground to\n" + "protect itself from its own high-voltage\n" + "power."); + +const u8 gRaichuPokedexTextUnused[] = _(""); + +const u8 gSandshrewPokedexText[] = _( + "Burrows deep underground in arid locations\n" + "far from water. It only emerges to hunt\n" + "for prey."); + +const u8 gSandshrewPokedexTextUnused[] = _(""); + +const u8 gSandslashPokedexText[] = _( + "Curls up into a spiny ball when\n" + "threatened. It can roll while curled up\n" + "to attack or escape."); + +const u8 gSandslashPokedexTextUnused[] = _(""); + +const u8 gNidoranFPokedexText[] = _( + "Although small, its venomous barbs render\n" + "this POKéMON dangerous. The female has\n" + "smaller horns."); + +const u8 gNidoranFPokedexTextUnused[] = _(""); + +const u8 gNidorinaPokedexText[] = _( + "The female's horns develop slowly.\n" + "Prefers physical attacks such as clawing\n" + "and biting."); + +const u8 gNidorinaPokedexTextUnused[] = _(""); + +const u8 gNidoqueenPokedexText[] = _( + "Its hard scales provide strong protection.\n" + "It uses its hefty bulk to execute\n" + "powerful moves."); + +const u8 gNidoqueenPokedexTextUnused[] = _(""); + +const u8 gNidoranMPokedexText[] = _( + "It stiffens its ears to sense danger.\n" + "The larger its horns, the more \n" + "powerful its secreted venom."); + +const u8 gNidoranMPokedexTextUnused[] = _(""); + +const u8 gNidorinoPokedexText[] = _( + "An aggressive POKéMON that is quick to\n" + "attack. The horn on its head secretes a\n" + "powerful venom."); + +const u8 gNidorinoPokedexTextUnused[] = _(""); + +const u8 gNidokingPokedexText[] = _( + "It uses its powerful tail in battle to\n" + "smash, constrict, then break the prey's\n" + "bones."); + +const u8 gNidokingPokedexTextUnused[] = _(""); + +const u8 gClefairyPokedexText[] = _( + "With its magical and cute appeal, it has \n" + "many admirers. It is rare and found only\n" + "in certain areas."); + +const u8 gClefairyPokedexTextUnused[] = _(""); + +const u8 gClefablePokedexText[] = _( + "A timid fairy POKéMON that is rarely seen,\n" + "it will run and hide the moment it senses\n" + "people."); + +const u8 gClefablePokedexTextUnused[] = _(""); + +const u8 gVulpixPokedexText[] = _( + "When it is born, it has just one snow-\n" + "white tail. The tail splits from its tip as\n" + "it grows older."); + +const u8 gVulpixPokedexTextUnused[] = _(""); + +const u8 gNinetalesPokedexText[] = _( + "Very smart and very vengeful. Grabbing\n" + "one of its many tails could result in a\n" + "1,000-year curse."); + +const u8 gNinetalesPokedexTextUnused[] = _(""); + +const u8 gJigglypuffPokedexText[] = _( + "When its huge eyes waver, it sings a\n" + "mysteriously soothing melody that lulls\n" + "its enemies to sleep."); + +const u8 gJigglypuffPokedexTextUnused[] = _(""); + +const u8 gWigglytuffPokedexText[] = _( + "The body is soft and rubbery. When\n" + "angered, it will suck in air and inflate\n" + "itself to an enormous size."); + +const u8 gWigglytuffPokedexTextUnused[] = _(""); + +const u8 gZubatPokedexText[] = _( + "It forms colonies in perpetually dark \n" + "places and uses ultrasonic waves to \n" + "identify and approach targets."); + +const u8 gZubatPokedexTextUnused[] = _(""); + +const u8 gGolbatPokedexText[] = _( + "Once it bites, it will not stop draining\n" + "energy from the victim even if it gets too\n" + "heavy to fly."); + +const u8 gGolbatPokedexTextUnused[] = _(""); + +const u8 gOddishPokedexText[] = _( + "During the day, it keeps its face buried\n" + "in the ground. At night, it wanders around\n" + "sowing its seeds."); + +const u8 gOddishPokedexTextUnused[] = _(""); + +const u8 gGloomPokedexText[] = _( + "The fluid that oozes from its mouth isn't\n" + "drool. It is a nectar that is used to\n" + "attract prey."); + +const u8 gGloomPokedexTextUnused[] = _(""); + +const u8 gVileplumePokedexText[] = _( + "The larger its petals, the more toxic\n" + "pollen it contains. Its big head is heavy\n" + "and hard to hold up."); + +const u8 gVileplumePokedexTextUnused[] = _(""); + +const u8 gParasPokedexText[] = _( + "Burrows to suck tree roots. The mushrooms\n" + "on its back grow by drawing nutrients from\n" + "the bug host."); + +const u8 gParasPokedexTextUnused[] = _(""); + +const u8 gParasectPokedexText[] = _( + "A host-parasite pair in which the parasite\n" + "mushroom has taken over the host bug.\n" + "Prefers damp places. "); + +const u8 gParasectPokedexTextUnused[] = _(""); + +const u8 gVenonatPokedexText[] = _( + "Lives in the shadows of tall trees where\n" + "it eats bugs. It is attracted by light\n" + "at night."); + +const u8 gVenonatPokedexTextUnused[] = _(""); + +const u8 gVenomothPokedexText[] = _( + "The dustlike scales covering its wings\n" + "are color-coded to indicate the kinds of\n" + "poison it has."); + +const u8 gVenomothPokedexTextUnused[] = _(""); + +const u8 gDiglettPokedexText[] = _( + "Lives about one yard underground where it\n" + "feeds on plant roots. It sometimes appears\n" + "aboveground."); + +const u8 gDiglettPokedexTextUnused[] = _(""); + +const u8 gDugtrioPokedexText[] = _( + "A team of DIGLETT triplets. It triggers\n" + "huge earthquakes by burrowing 60 miles\n" + "underground."); + +const u8 gDugtrioPokedexTextUnused[] = _(""); + +const u8 gMeowthPokedexText[] = _( + "Adores round objects. It wanders the\n" + "streets on a nightly basis to look for\n" + "dropped loose change."); + +const u8 gMeowthPokedexTextUnused[] = _(""); + +const u8 gPersianPokedexText[] = _( + "Although its fur has many admirers, it is\n" + "tough to raise as a pet because of its\n" + "fickle meanness."); + +const u8 gPersianPokedexTextUnused[] = _(""); + +const u8 gPsyduckPokedexText[] = _( + "While lulling its enemies with its vacant\n" + "look, this wily POKéMON will use\n" + "psychokinetic powers."); + +const u8 gPsyduckPokedexTextUnused[] = _(""); + +const u8 gGolduckPokedexText[] = _( + "Often seen swimming elegantly by\n" + "lakeshores. It is often mistaken for the\n" + "Japanese monster Kappa."); + +const u8 gGolduckPokedexTextUnused[] = _(""); + +const u8 gMankeyPokedexText[] = _( + "Extremely quick to anger. It could be\n" + "docile one moment, then thrashing away \n" + "the next instant."); + +const u8 gMankeyPokedexTextUnused[] = _(""); + +const u8 gPrimeapePokedexText[] = _( + "Always furious and tenacious to boot.\n" + "It will not abandon chasing its quarry\n" + "until it catches up."); + +const u8 gPrimeapePokedexTextUnused[] = _(""); + +const u8 gGrowlithePokedexText[] = _( + "It is very protective of its territory.\n" + "It will bark and bite to repel intruders\n" + "from its space."); + +const u8 gGrowlithePokedexTextUnused[] = _(""); + +const u8 gArcaninePokedexText[] = _( + "A POKéMON that has long been admired\n" + "for its beauty. It runs agilely as if\n" + "on wings."); + +const u8 gArcaninePokedexTextUnused[] = _(""); + +const u8 gPoliwagPokedexText[] = _( + "Its newly grown legs prevent it from\n" + "walking well. It appears to prefer\n" + "swimming over walking."); + +const u8 gPoliwagPokedexTextUnused[] = _(""); + +const u8 gPoliwhirlPokedexText[] = _( + "It can live in or out of water. When out\n" + "of water, it constantly sweats to keep its\n" + "body slimy."); + +const u8 gPoliwhirlPokedexTextUnused[] = _(""); + +const u8 gPoliwrathPokedexText[] = _( + "A swimmer adept at both the front crawl\n" + "and breaststroke. Easily overtakes the\n" + "best human swimmers."); + +const u8 gPoliwrathPokedexTextUnused[] = _(""); + +const u8 gAbraPokedexText[] = _( + "Using its ability to read minds, it will\n" + "sense impending danger and TELEPORT to\n" + "safety."); + +const u8 gAbraPokedexTextUnused[] = _(""); + +const u8 gKadabraPokedexText[] = _( + "It emits special alpha waves from its\n" + "body that induce headaches just by being\n" + "close."); + +const u8 gKadabraPokedexTextUnused[] = _(""); + +const u8 gAlakazamPokedexText[] = _( + "Its brain can outperform a supercomputer.\n" + "Its IQ (intelligence quotient) is said to\n" + "be around 5,000."); + +const u8 gAlakazamPokedexTextUnused[] = _(""); + +const u8 gMachopPokedexText[] = _( + "Loves to build its muscles. It trains in\n" + "all styles of martial arts to become even\n" + "stronger."); + +const u8 gMachopPokedexTextUnused[] = _(""); + +const u8 gMachokePokedexText[] = _( + "Its muscular body is so powerful, it must\n" + "wear a power-save belt to be able to\n" + "regulate its motions."); + +const u8 gMachokePokedexTextUnused[] = _(""); + +const u8 gMachampPokedexText[] = _( + "Its superpowerful punches are said to\n" + "knock the victim flying clear over the\n" + "horizon."); + +const u8 gMachampPokedexTextUnused[] = _(""); + +const u8 gBellsproutPokedexText[] = _( + "A carnivorous POKéMON that traps and eats\n" + "bugs. It appears to use its root feet to\n" + "replenish moisture."); + +const u8 gBellsproutPokedexTextUnused[] = _(""); + +const u8 gWeepinbellPokedexText[] = _( + "It spits out POISONPOWDER to immobilize\n" + "the enemy and then finishes it with a\n" + "spray of ACID."); + +const u8 gWeepinbellPokedexTextUnused[] = _(""); + +const u8 gVictreebelPokedexText[] = _( + "Said to live in huge colonies deep in\n" + "jungles, although no one has ever\n" + "returned from there."); + +const u8 gVictreebelPokedexTextUnused[] = _(""); + +const u8 gTentacoolPokedexText[] = _( + "Drifts in shallow seas. Anglers who hook\n" + "them by accident are often punished by\n" + "their stingers."); + +const u8 gTentacoolPokedexTextUnused[] = _(""); + +const u8 gTentacruelPokedexText[] = _( + "The tentacles are normally kept short.\n" + "On hunts, they are extended to ensnare\n" + "and immobilize prey."); + +const u8 gTentacruelPokedexTextUnused[] = _(""); + +const u8 gGeodudePokedexText[] = _( + "Found in fields and mountains. Mistaking\n" + "them for boulders, people often step or\n" + "trip on them."); + +const u8 gGeodudePokedexTextUnused[] = _(""); + +const u8 gGravelerPokedexText[] = _( + "Rolls down slopes to move. It rolls over\n" + "any obstacle without slowing or changing\n" + "its direction."); + +const u8 gGravelerPokedexTextUnused[] = _(""); + +const u8 gGolemPokedexText[] = _( + "Its boulder-like body is extremely hard.\n" + "It can easily withstand dynamite blasts\n" + "without taking damage."); + +const u8 gGolemPokedexTextUnused[] = _(""); + +const u8 gPonytaPokedexText[] = _( + "Its hooves are ten times harder than\n" + "diamond. It can trample anything\n" + "completely flat in little time."); + +const u8 gPonytaPokedexTextUnused[] = _(""); + +const u8 gRapidashPokedexText[] = _( + "Very competitive, this POKéMON will chase\n" + "anything that moves fast in the hopes of\n" + "racing it."); + +const u8 gRapidashPokedexTextUnused[] = _(""); + +const u8 gSlowpokePokedexText[] = _( + "Incredibly slow and dopey. It takes five\n" + "seconds for it to feel pain when under\n" + "attack."); + +const u8 gSlowpokePokedexTextUnused[] = _(""); + +const u8 gSlowbroPokedexText[] = _( + "The SHELLDER that latches onto\n" + "SLOWPOKE's tail is said to feed on the\n" + "host's leftover scraps."); + +const u8 gSlowbroPokedexTextUnused[] = _(""); + +const u8 gMagnemitePokedexText[] = _( + "Uses antigravity to stay suspended.\n" + "Appears without warning and uses THUNDER\n" + "WAVE and similar moves."); + +const u8 gMagnemitePokedexTextUnused[] = _(""); + +const u8 gMagnetonPokedexText[] = _( + "Formed by several MAGNEMITE linked\n" + "together. They frequently appear when\n" + "sunspots flare up."); + +const u8 gMagnetonPokedexTextUnused[] = _(""); + +const u8 gFarfetchdPokedexText[] = _( + "The plant stalk it holds is its weapon.\n" + "The stalk is used like a sword to cut all\n" + "sorts of things."); + +const u8 gFarfetchdPokedexTextUnused[] = _(""); + +const u8 gDoduoPokedexText[] = _( + "A bird that makes up for its poor flying\n" + "with its fast foot speed. Leaves giant\n" + "footprints."); + +const u8 gDoduoPokedexTextUnused[] = _(""); + +const u8 gDodrioPokedexText[] = _( + "Uses its three brains to execute complex\n" + "plans. While two heads sleep, one head is\n" + "said to stay awake."); + +const u8 gDodrioPokedexTextUnused[] = _(""); + +const u8 gSeelPokedexText[] = _( + "The protruding horn on its head is very\n" + "hard. It is used for bashing through thick\n" + "icebergs."); + +const u8 gSeelPokedexTextUnused[] = _(""); + +const u8 gDewgongPokedexText[] = _( + "It stores thermal energy in the body.\n" + "It swims at a steady eight knots even in\n" + "intensely cold waters."); + +const u8 gDewgongPokedexTextUnused[] = _(""); + +const u8 gGrimerPokedexText[] = _( + "Appears in filthy areas. It thrives by\n" + "sucking up polluted sludge that is pumped\n" + "out of factories."); + +const u8 gGrimerPokedexTextUnused[] = _(""); + +const u8 gMukPokedexText[] = _( + "Thickly covered with a filthy, vile\n" + "sludge. It is so toxic, even its footprints\n" + "contain poison."); + +const u8 gMukPokedexTextUnused[] = _(""); + +const u8 gShellderPokedexText[] = _( + "Its hard shell repels any kind of attack.\n" + "It is vulnerable only when its shell is\n" + "open."); + +const u8 gShellderPokedexTextUnused[] = _(""); + +const u8 gCloysterPokedexText[] = _( + "When attacked, it launches its horns in\n" + "quick volleys. Its innards have never been\n" + "seen."); + +const u8 gCloysterPokedexTextUnused[] = _(""); + +const u8 gGastlyPokedexText[] = _( + "Almost invisible, this gaseous POKéMON\n" + "cloaks the target and puts it to sleep\n" + "without notice."); + +const u8 gGastlyPokedexTextUnused[] = _(""); + +const u8 gHaunterPokedexText[] = _( + "Because of its ability to slip through\n" + "block walls, it is said to be from another\n" + "dimension."); + +const u8 gHaunterPokedexTextUnused[] = _(""); + +const u8 gGengarPokedexText[] = _( + "On the night of a full moon, if shadows\n" + "move on their own and laugh, it must be\n" + "GENGAR's doing."); + +const u8 gGengarPokedexTextUnused[] = _(""); + +const u8 gOnixPokedexText[] = _( + "As it grows, the stone portions of its\n" + "body harden to become similar to\n" + "black-colored diamonds."); + +const u8 gOnixPokedexTextUnused[] = _(""); + +const u8 gDrowzeePokedexText[] = _( + "Puts enemies to sleep, then eats their\n" + "dreams. Occasionally gets sick from eating\n" + "only bad dreams."); + +const u8 gDrowzeePokedexTextUnused[] = _(""); + +const u8 gHypnoPokedexText[] = _( + "When it locks eyes with an enemy, it will\n" + "use a mix of PSI moves such as HYPNOSIS\n" + "and CONFUSION."); + +const u8 gHypnoPokedexTextUnused[] = _(""); + +const u8 gKrabbyPokedexText[] = _( + "Its pincers are not only powerful weapons,\n" + "they are used for balance when walking\n" + "sideways."); + +const u8 gKrabbyPokedexTextUnused[] = _(""); + +const u8 gKinglerPokedexText[] = _( + "The large pincer has 10,000-horsepower\n" + "crushing force. However, its huge size\n" + "makes it unwieldy to use."); + +const u8 gKinglerPokedexTextUnused[] = _(""); + +const u8 gVoltorbPokedexText[] = _( + "Usually found in power plants. Easily\n" + "mistaken for a POKé BALL, it has\n" + "zapped many people."); + +const u8 gVoltorbPokedexTextUnused[] = _(""); + +const u8 gElectrodePokedexText[] = _( + "It stores electric energy under very high\n" + "pressure. It often explodes with little or\n" + "no provocation."); + +const u8 gElectrodePokedexTextUnused[] = _(""); + +const u8 gExeggcutePokedexText[] = _( + "It is often mistaken for eggs. When\n" + "disturbed, they quickly gather and attack\n" + "in swarms."); + +const u8 gExeggcutePokedexTextUnused[] = _(""); + +const u8 gExeggutorPokedexText[] = _( + "It is said that on rare occasions, one\n" + "of its heads will drop off and continue on\n" + "as an EXEGGCUTE."); + +const u8 gExeggutorPokedexTextUnused[] = _(""); + +const u8 gCubonePokedexText[] = _( + "Because it never removes its skull helmet,\n" + "no one has ever seen this POKéMON's real\n" + "face."); + +const u8 gCubonePokedexTextUnused[] = _(""); + +const u8 gMarowakPokedexText[] = _( + "The bone it holds is its key weapon.\n" + "It throws the bone skillfully like a\n" + "boomerang to KO targets."); + +const u8 gMarowakPokedexTextUnused[] = _(""); + +const u8 gHitmonleePokedexText[] = _( + "When in a hurry, its legs lengthen\n" + "progressively. It runs smoothly with\n" + "extra-long, loping strides."); + +const u8 gHitmonleePokedexTextUnused[] = _(""); + +const u8 gHitmonchanPokedexText[] = _( + "While apparently doing nothing, it fires\n" + "punches in lightning-fast volleys that are\n" + "impossible to see."); + +const u8 gHitmonchanPokedexTextUnused[] = _(""); + +const u8 gLickitungPokedexText[] = _( + "Its tongue can be extended like a\n" + "chameleon's. It leaves a tingling\n" + "sensation when it licks enemies."); + +const u8 gLickitungPokedexTextUnused[] = _(""); + +const u8 gKoffingPokedexText[] = _( + "Because it stores several kinds of toxic\n" + "gases in its body, it is prone to\n" + "exploding without warning."); + +const u8 gKoffingPokedexTextUnused[] = _(""); + +const u8 gWeezingPokedexText[] = _( + "Where two kinds of poison gases meet, two\n" + "KOFFING can fuse into a WEEZING over\n" + "many years."); + +const u8 gWeezingPokedexTextUnused[] = _(""); + +const u8 gRhyhornPokedexText[] = _( + "Its massive bones are 1,000 times harder\n" + "than human bones. Its TACKLE can knock a\n" + "semitrailer flying."); + +const u8 gRhyhornPokedexTextUnused[] = _(""); + +const u8 gRhydonPokedexText[] = _( + "Protected by an armor-like hide, it is\n" + "capable of living in molten lava of 3,600\n" + "degrees Fahrenheit."); + +const u8 gRhydonPokedexTextUnused[] = _(""); + +const u8 gChanseyPokedexText[] = _( + "A rare and elusive POKéMON that is said\n" + "to bring happiness to those who manage to\n" + "catch one."); + +const u8 gChanseyPokedexTextUnused[] = _(""); + +const u8 gTangelaPokedexText[] = _( + "The whole body is swathed with wide vines\n" + "that are similar to seaweed. The vines\n" + "sway as it walks."); + +const u8 gTangelaPokedexTextUnused[] = _(""); + +const u8 gKangaskhanPokedexText[] = _( + "The infant rarely ventures out of its\n" + "mother's protective pouch until it is\n" + "three years old."); + +const u8 gKangaskhanPokedexTextUnused[] = _(""); + +const u8 gHorseaPokedexText[] = _( + "Known to shoot down flying bugs with\n" + "precision blasts of ink from the surface\n" + "of the water."); + +const u8 gHorseaPokedexTextUnused[] = _(""); + +const u8 gSeadraPokedexText[] = _( + "It is capable of swimming backwards by\n" + "rapidly flapping its winglike pectoral fins\n" + "and stout tail."); + +const u8 gSeadraPokedexTextUnused[] = _(""); + +const u8 gGoldeenPokedexText[] = _( + "Its tail fin billows like an elegant\n" + "ballroom dress, giving it the nickname of\n" + "“The Water Queen.”"); + +const u8 gGoldeenPokedexTextUnused[] = _(""); + +const u8 gSeakingPokedexText[] = _( + "In the autumn spawning season, they can\n" + "be seen swimming powerfully up rivers and\n" + "creeks."); + +const u8 gSeakingPokedexTextUnused[] = _(""); + +const u8 gStaryuPokedexText[] = _( + "An enigmatic POKéMON that can effortlessly\n" + "regenerate any appendage it loses in\n" + "battle."); + +const u8 gStaryuPokedexTextUnused[] = _(""); + +const u8 gStarmiePokedexText[] = _( + "Its central core glows with the seven\n" + "colors of the rainbow. Some people value\n" + "the core as a gem."); + +const u8 gStarmiePokedexTextUnused[] = _(""); + +const u8 gMrmimePokedexText[] = _( + "If interrupted while it is miming, it will\n" + "suddenly DOUBLESLAP the offender with its\n" + "broad hands."); + +const u8 gMrmimePokedexTextUnused[] = _(""); + +const u8 gScytherPokedexText[] = _( + "With ninja-like agility and speed, it can\n" + "create the illusion that there is more\n" + "than one of itself."); + +const u8 gScytherPokedexTextUnused[] = _(""); + +const u8 gJynxPokedexText[] = _( + "It seductively wiggles its hips as it\n" + "walks. It can cause people to dance in\n" + "unison with it."); + +const u8 gJynxPokedexTextUnused[] = _(""); + +const u8 gElectabuzzPokedexText[] = _( + "Normally found near power plants, they\n" + "can wander away and cause major\n" + "blackouts in cities."); + +const u8 gElectabuzzPokedexTextUnused[] = _(""); + +const u8 gMagmarPokedexText[] = _( + "Its body always burns with an orange glow\n" + "that enables it to hide perfectly amidst\n" + "flames."); + +const u8 gMagmarPokedexTextUnused[] = _(""); + +const u8 gPinsirPokedexText[] = _( + "If it fails to crush the foe in its\n" + "pincers, it will swing around and toss\n" + "the opponent."); + +const u8 gPinsirPokedexTextUnused[] = _(""); + +const u8 gTaurosPokedexText[] = _( + "When it targets an enemy, it charges\n" + "furiously while whipping its body with its\n" + "long tails."); + +const u8 gTaurosPokedexTextUnused[] = _(""); + +const u8 gMagikarpPokedexText[] = _( + "In the distant past, it was somewhat\n" + "stronger than the horribly weak\n" + "descendants that exist today."); + +const u8 gMagikarpPokedexTextUnused[] = _(""); + +const u8 gGyaradosPokedexText[] = _( + "Rarely seen in the wild. Huge and vicious,\n" + "it is capable of destroying entire cities\n" + "in a rage."); + +const u8 gGyaradosPokedexTextUnused[] = _(""); + +const u8 gLaprasPokedexText[] = _( + "A POKéMON that has been overhunted\n" + "almost to extinction. It can ferry people\n" + "on its back."); + +const u8 gLaprasPokedexTextUnused[] = _(""); + +const u8 gDittoPokedexText[] = _( + "Capable of copying an opponent's genetic\n" + "code to instantly transform itself into a\n" + "duplicate of the enemy."); + +const u8 gDittoPokedexTextUnused[] = _(""); + +const u8 gEeveePokedexText[] = _( + "Its genetic code is irregular. It may\n" + "mutate if it is exposed to radiation from\n" + "element STONES."); + +const u8 gEeveePokedexTextUnused[] = _(""); + +const u8 gVaporeonPokedexText[] = _( + "Lives close to water. Its long tail is\n" + "ridged with a fin which is often mistaken\n" + "for a mermaid's."); + +const u8 gVaporeonPokedexTextUnused[] = _(""); + +const u8 gJolteonPokedexText[] = _( + "It accumulates negative ions in the\n" + "atmosphere to blast out 10,000-volt\n" + "lightning bolts."); + +const u8 gJolteonPokedexTextUnused[] = _(""); + +const u8 gFlareonPokedexText[] = _( + "When storing thermal energy in its body,\n" + "its temperature can soar to over 1,600\n" + "degrees Fahrenheit."); + +const u8 gFlareonPokedexTextUnused[] = _(""); + +const u8 gPorygonPokedexText[] = _( + "A POKéMON that consists entirely of\n" + "programming code. It is capable of moving\n" + "freely in cyberspace."); + +const u8 gPorygonPokedexTextUnused[] = _(""); + +const u8 gOmanytePokedexText[] = _( + "Although long extinct, in rare cases, it\n" + "can be genetically regenerated from\n" + "fossils."); + +const u8 gOmanytePokedexTextUnused[] = _(""); + +const u8 gOmastarPokedexText[] = _( + "Despite having strong fangs and tentacles,\n" + "it went extinct when its heavy shell made\n" + "it unable to catch prey."); + +const u8 gOmastarPokedexTextUnused[] = _(""); + +const u8 gKabutoPokedexText[] = _( + "A POKéMON that was regenerated from a\n" + "fossil found in what was once the ocean\n" + "floor long ago."); + +const u8 gKabutoPokedexTextUnused[] = _(""); + +const u8 gKabutopsPokedexText[] = _( + "Its sleek shape is perfect for swimming.\n" + "It slashes prey with its claws and drains\n" + "their fluids."); + +const u8 gKabutopsPokedexTextUnused[] = _(""); + +const u8 gAerodactylPokedexText[] = _( + "A ferocious, prehistoric POKéMON that\n" + "goes for the enemy's throat with its\n" + "serrated, sawlike fangs."); + +const u8 gAerodactylPokedexTextUnused[] = _(""); + +const u8 gSnorlaxPokedexText[] = _( + "Very lazy. Just eats and sleeps. As its\n" + "rotund bulk builds, it becomes steadily\n" + "more slothful."); + +const u8 gSnorlaxPokedexTextUnused[] = _(""); + +const u8 gArticunoPokedexText[] = _( + "A legendary bird POKéMON that is said to\n" + "appear to doomed people who are lost in\n" + "icy mountains."); + +const u8 gArticunoPokedexTextUnused[] = _(""); + +const u8 gZapdosPokedexText[] = _( + "A legendary bird POKéMON that is said to\n" + "appear from clouds while dropping\n" + "enormous lightning bolts."); + +const u8 gZapdosPokedexTextUnused[] = _(""); + +const u8 gMoltresPokedexText[] = _( + "It is said to be the legendary bird\n" + "POKéMON of fire. Every flap of its wings\n" + "creates a dazzling flare of flames."); + +const u8 gMoltresPokedexTextUnused[] = _(""); + +const u8 gDratiniPokedexText[] = _( + "Long considered a mythical POKéMON until\n" + "recently, when a small colony was found\n" + "living underwater."); + +const u8 gDratiniPokedexTextUnused[] = _(""); + +const u8 gDragonairPokedexText[] = _( + "A mystical POKéMON that exudes a gentle\n" + "aura. It is said to have the ability to\n" + "change the weather."); + +const u8 gDragonairPokedexTextUnused[] = _(""); + +const u8 gDragonitePokedexText[] = _( + "Only a very few people ever see this\n" + "POKéMON. Its intelligence is said to\n" + "match that of humans."); + +const u8 gDragonitePokedexTextUnused[] = _(""); + +const u8 gMewtwoPokedexText[] = _( + "It was created by a scientist after years\n" + "of horrific gene-splicing and DNA-\n" + "engineering experiments."); + +const u8 gMewtwoPokedexTextUnused[] = _(""); + +const u8 gMewPokedexText[] = _( + "So rare that it is still said to be a\n" + "mirage by many experts. Only a few people\n" + "have seen it worldwide."); + +const u8 gMewPokedexTextUnused[] = _(""); + +const u8 gChikoritaPokedexText[] = _( + "A sweet aroma gently wafts from the leaf\n" + "on its head. It is docile and loves to\n" + "soak up the sun's rays."); + +const u8 gChikoritaPokedexTextUnused[] = _(""); + +const u8 gBayleefPokedexText[] = _( + "The scent of spices comes from around\n" + "its neck. Somehow, sniffing it makes you\n" + "want to fight."); + +const u8 gBayleefPokedexTextUnused[] = _(""); + +const u8 gMeganiumPokedexText[] = _( + "The aroma that rises from its petals\n" + "contains a substance that calms aggressive\n" + "feelings."); + +const u8 gMeganiumPokedexTextUnused[] = _(""); + +const u8 gCyndaquilPokedexText[] = _( + "It is timid and always curls itself up in\n" + "a ball. If attacked, it flares up its back\n" + "for protection."); + +const u8 gCyndaquilPokedexTextUnused[] = _(""); + +const u8 gQuilavaPokedexText[] = _( + "Be careful if it turns its back during\n" + "battle. It means that it will attack with\n" + "the fire on its back."); + +const u8 gQuilavaPokedexTextUnused[] = _(""); + +const u8 gTyphlosionPokedexText[] = _( + "If its rage peaks, it becomes so hot that\n" + "anything that touches it will instantly go\n" + "up in flames."); + +const u8 gTyphlosionPokedexTextUnused[] = _(""); + +const u8 gTotodilePokedexText[] = _( + "Its well-developed jaws are powerful and\n" + "capable of crushing anything. Even its\n" + "TRAINER must be careful."); + +const u8 gTotodilePokedexTextUnused[] = _(""); + +const u8 gCroconawPokedexText[] = _( + "If it loses a fang, a new one grows back\n" + "in its place. There are always 48 fangs\n" + "lining its mouth."); + +const u8 gCroconawPokedexTextUnused[] = _(""); + +const u8 gFeraligatrPokedexText[] = _( + "When it bites with its massive and\n" + "powerful jaws, it shakes its head and\n" + "savagely tears up its victim."); + +const u8 gFeraligatrPokedexTextUnused[] = _(""); + +const u8 gSentretPokedexText[] = _( + "A very cautious POKéMON, it raises itself\n" + "up using its tail to get a better view of\n" + "its surroundings."); + +const u8 gSentretPokedexTextUnused[] = _(""); + +const u8 gFurretPokedexText[] = _( + "It makes a nest to suit its long and skinny\n" + "body. The nest is impossible for other\n" + "POKéMON to enter."); + +const u8 gFurretPokedexTextUnused[] = _(""); + +const u8 gHoothootPokedexText[] = _( + "It always stands on one foot. It changes\n" + "feet so fast, the movement can rarely be\n" + "seen."); + +const u8 gHoothootPokedexTextUnused[] = _(""); + +const u8 gNoctowlPokedexText[] = _( + "Its eyes are specially adapted. They\n" + "concentrate even faint light and enable it\n" + "to see in the dark."); + +const u8 gNoctowlPokedexTextUnused[] = _(""); + +const u8 gLedybaPokedexText[] = _( + "It is very timid. It will be afraid to\n" + "move if it is alone. But it will be active\n" + "if it is in a group."); + +const u8 gLedybaPokedexTextUnused[] = _(""); + +const u8 gLedianPokedexText[] = _( + "When the stars flicker in the night sky, it\n" + "flutters about, scattering a glowing\n" + "powder."); + +const u8 gLedianPokedexTextUnused[] = _(""); + +const u8 gSpinarakPokedexText[] = _( + "It lies still in the same pose for days\n" + "in its web, waiting for its unsuspecting\n" + "prey to wander close."); + +const u8 gSpinarakPokedexTextUnused[] = _(""); + +const u8 gAriadosPokedexText[] = _( + "It spins string not only from its rear but\n" + "also from its mouth. It is hard to tell\n" + "which end is which."); + +const u8 gAriadosPokedexTextUnused[] = _(""); + +const u8 gCrobatPokedexText[] = _( + "It flies so silently through the dark on\n" + "its four wings that it may not be noticed\n" + "even when nearby."); + +const u8 gCrobatPokedexTextUnused[] = _(""); + +const u8 gChinchouPokedexText[] = _( + "It shoots positive and negative\n" + "electricity between the tips of its two\n" + "antennae and zaps its enemies."); + +const u8 gChinchouPokedexTextUnused[] = _(""); + +const u8 gLanturnPokedexText[] = _( + "The light it emits is so bright that it can\n" + "illuminate the sea's surface from a depth\n" + "of over three miles."); + +const u8 gLanturnPokedexTextUnused[] = _(""); + +const u8 gPichuPokedexText[] = _( + "It is not yet skilled at storing\n" + "electricity. It may send out a jolt if\n" + "amused or startled."); + +const u8 gPichuPokedexTextUnused[] = _(""); + +const u8 gCleffaPokedexText[] = _( + "Because of its unusual, starlike\n" + "silhouette, people believe that it came\n" + "here on a meteor."); + +const u8 gCleffaPokedexTextUnused[] = _(""); + +const u8 gIgglybuffPokedexText[] = _( + "It has a very soft body. If it starts to\n" + "roll, it will bounce all over and be\n" + "impossible to stop."); + +const u8 gIgglybuffPokedexTextUnused[] = _(""); + +const u8 gTogepiPokedexText[] = _( + "The shell seems to be filled with joy.\n" + "It is said that it will share good luck\n" + "when treated kindly."); + +const u8 gTogepiPokedexTextUnused[] = _(""); + +const u8 gTogeticPokedexText[] = _( + "They say that it will appear before\n" + "kindhearted, caring people and shower\n" + "them with happiness."); + +const u8 gTogeticPokedexTextUnused[] = _(""); + +const u8 gNatuPokedexText[] = _( + "Because its wings aren't yet fully grown,\n" + "it has to hop to get around. It is always\n" + "staring at something."); + +const u8 gNatuPokedexTextUnused[] = _(""); + +const u8 gXatuPokedexText[] = _( + "They say that it stays still and quiet\n" + "because it is seeing both the past and\n" + "future at the same time."); + +const u8 gXatuPokedexTextUnused[] = _(""); + +const u8 gMareepPokedexText[] = _( + "If static electricity builds in its body,\n" + "its fleece doubles in volume. Touching\n" + "it will shock you."); + +const u8 gMareepPokedexTextUnused[] = _(""); + +const u8 gFlaaffyPokedexText[] = _( + "As a result of storing too much\n" + "electricity, it developed patches where\n" + "even downy wool won't grow."); + +const u8 gFlaaffyPokedexTextUnused[] = _(""); + +const u8 gAmpharosPokedexText[] = _( + "The tail's tip shines brightly and can be\n" + "seen from far away. It acts as a beacon\n" + "for lost people."); + +const u8 gAmpharosPokedexTextUnused[] = _(""); + +const u8 gBellossomPokedexText[] = _( + "BELLOSSOM gather at times and appear to\n" + "dance. They say that the dance is a\n" + "ritual to summon the sun."); + +const u8 gBellossomPokedexTextUnused[] = _(""); + +const u8 gMarillPokedexText[] = _( + "The tip of its tail, which contains oil\n" + "that is lighter than water, lets it swim\n" + "without drowning."); + +const u8 gMarillPokedexTextUnused[] = _(""); + +const u8 gAzumarillPokedexText[] = _( + "By keeping still and listening intently, it\n" + "can even tell what is in wild, fast-moving\n" + "rivers."); + +const u8 gAzumarillPokedexTextUnused[] = _(""); + +const u8 gSudowoodoPokedexText[] = _( + "Although it always pretends to be a tree,\n" + "its composition appears to be closer to a\n" + "rock than a plant."); + +const u8 gSudowoodoPokedexTextUnused[] = _(""); + +const u8 gPolitoedPokedexText[] = _( + "If POLIWAG and POLIWHIRL hear its\n" + "echoing cry, they respond by gathering\n" + "from far and wide."); + +const u8 gPolitoedPokedexTextUnused[] = _(""); + +const u8 gHoppipPokedexText[] = _( + "To keep from being blown away by the\n" + "wind, they gather in clusters. They do\n" + "enjoy gentle breezes, though."); + +const u8 gHoppipPokedexTextUnused[] = _(""); + +const u8 gSkiploomPokedexText[] = _( + "The bloom on top of its head opens and\n" + "closes as the temperature fluctuates up\n" + "and down."); + +const u8 gSkiploomPokedexTextUnused[] = _(""); + +const u8 gJumpluffPokedexText[] = _( + "Once it catches the wind, it deftly\n" + "controls its cotton-puff spores to float,\n" + "even around the world."); + +const u8 gJumpluffPokedexTextUnused[] = _(""); + +const u8 gAipomPokedexText[] = _( + "Its tail is so powerful that it can use it\n" + "to grab a tree branch and hold itself up\n" + "in the air."); + +const u8 gAipomPokedexTextUnused[] = _(""); + +const u8 gSunkernPokedexText[] = _( + "It may drop out of the sky suddenly.\n" + "If attacked by a SPEAROW, it will\n" + "violently shake its leaves."); + +const u8 gSunkernPokedexTextUnused[] = _(""); + +const u8 gSunfloraPokedexText[] = _( + "It converts sunlight into energy. In the\n" + "darkness after sunset, it closes its petals\n" + "and becomes still."); + +const u8 gSunfloraPokedexTextUnused[] = _(""); + +const u8 gYanmaPokedexText[] = _( + "If it flaps its wings really fast, it can\n" + "generate shock waves that will shatter\n" + "windows in the area."); + +const u8 gYanmaPokedexTextUnused[] = _(""); + +const u8 gWooperPokedexText[] = _( + "This POKéMON lives in cold water. It will\n" + "leave the water to search for food when\n" + "it gets cold outside."); + +const u8 gWooperPokedexTextUnused[] = _(""); + +const u8 gQuagsirePokedexText[] = _( + "This carefree POKéMON has an easygoing\n" + "nature. While swimming, it always bumps\n" + "into boat hulls."); + +const u8 gQuagsirePokedexTextUnused[] = _(""); + +const u8 gEspeonPokedexText[] = _( + "It uses the fine hair that covers its body\n" + "to sense air currents and predict its\n" + "enemy's actions."); + +const u8 gEspeonPokedexTextUnused[] = _(""); + +const u8 gUmbreonPokedexText[] = _( + "When agitated, this POKéMON protects\n" + "itself by spraying poisonous sweat from its\n" + "pores."); + +const u8 gUmbreonPokedexTextUnused[] = _(""); + +const u8 gMurkrowPokedexText[] = _( + "Feared and loathed by many, it is\n" + "believed to bring misfortune to all those\n" + "who see it at night."); + +const u8 gMurkrowPokedexTextUnused[] = _(""); + +const u8 gSlowkingPokedexText[] = _( + "It has incredible intellect and intuition.\n" + "Whatever the situation, it remains calm\n" + "and collected."); + +const u8 gSlowkingPokedexTextUnused[] = _(""); + +const u8 gMisdreavusPokedexText[] = _( + "It likes playing mischievous tricks such as\n" + "screaming and wailing to startle people at\n" + "night. "); + +const u8 gMisdreavusPokedexTextUnused[] = _(""); + +const u8 gUnownPokedexText[] = _( + "Their shapes look like hieroglyphs on\n" + "ancient tablets. It is said that the two\n" + "are somehow related."); + +const u8 gUnownPokedexTextUnused[] = _(""); + +const u8 gWobbuffetPokedexText[] = _( + "It hates light and shock. If attacked,\n" + "it inflates its body to pump up its\n" + "counterstrike."); + +const u8 gWobbuffetPokedexTextUnused[] = _(""); + +const u8 gGirafarigPokedexText[] = _( + "Its tail has a small brain of its own.\n" + "Beware! If you get close, it may react\n" + "to your scent and bite."); + +const u8 gGirafarigPokedexTextUnused[] = _(""); + +const u8 gPinecoPokedexText[] = _( + "It likes to make its shell thicker by\n" + "adding layers of tree bark. The extra\n" + "weight doesn't bother it."); + +const u8 gPinecoPokedexTextUnused[] = _(""); + +const u8 gForretressPokedexText[] = _( + "Its entire body is shielded by a steel-\n" + "hard shell. What lurks inside the armor is\n" + "a total mystery."); + +const u8 gForretressPokedexTextUnused[] = _(""); + +const u8 gDunsparcePokedexText[] = _( + "When spotted, this POKéMON escapes\n" + "backward by furiously boring into the\n" + "ground with its tail."); + +const u8 gDunsparcePokedexTextUnused[] = _(""); + +const u8 gGligarPokedexText[] = _( + "It flies straight at its target's face,\n" + "then clamps down on the startled\n" + "victim to inject poison."); + +const u8 gGligarPokedexTextUnused[] = _(""); + +const u8 gSteelixPokedexText[] = _( + "Its body has been compressed deep under\n" + "the ground. As a result, it is even harder\n" + "than diamond."); + +const u8 gSteelixPokedexTextUnused[] = _(""); + +const u8 gSnubbullPokedexText[] = _( + "Although it looks frightening, it is\n" + "actually kind and affectionate. It is very\n" + "popular among women."); + +const u8 gSnubbullPokedexTextUnused[] = _(""); + +const u8 gGranbullPokedexText[] = _( + "It is actually timid and easily spooked.\n" + "If attacked, it flails about to fend off\n" + "its attacker."); + +const u8 gGranbullPokedexTextUnused[] = _(""); + +const u8 gQwilfishPokedexText[] = _( + "To fire its poison spikes, it must inflate\n" + "its body by drinking over 2.6 gallons of \n" + "water all at once."); + +const u8 gQwilfishPokedexTextUnused[] = _(""); + +const u8 gScizorPokedexText[] = _( + "It swings its eye-patterned pincers up to\n" + "scare its foes. This makes it look like it\n" + "has three heads."); + +const u8 gScizorPokedexTextUnused[] = _(""); + +const u8 gShucklePokedexText[] = _( + "The BERRIES it stores in its vaselike\n" + "shell decompose and become a gooey\n" + "liquid."); + +const u8 gShucklePokedexTextUnused[] = _(""); + +const u8 gHeracrossPokedexText[] = _( + "This powerful POKéMON thrusts its prized\n" + "horn under its enemies' bellies, then lifts\n" + "and throws them."); + +const u8 gHeracrossPokedexTextUnused[] = _(""); + +const u8 gSneaselPokedexText[] = _( + "Its paws conceal sharp claws.\n" + "If attacked, it suddenly extends the\n" + "claws and startles its enemy."); + +const u8 gSneaselPokedexTextUnused[] = _(""); + +const u8 gTeddiursaPokedexText[] = _( + "If it finds honey, its crescent mark glows.\n" + "It always licks its paws because they are\n" + "soaked with honey."); + +const u8 gTeddiursaPokedexTextUnused[] = _(""); + +const u8 gUrsaringPokedexText[] = _( + "Although it is a good climber, it prefers\n" + "to snap stout trees with its forelegs and\n" + "eat fallen BERRIES."); + +const u8 gUrsaringPokedexTextUnused[] = _(""); + +const u8 gSlugmaPokedexText[] = _( + "It never sleeps. It has to keep moving\n" + "because if it stopped, its magma body\n" + "would cool and harden."); + +const u8 gSlugmaPokedexTextUnused[] = _(""); + +const u8 gMagcargoPokedexText[] = _( + "The shell on its back is just skin that\n" + "has cooled and hardened. It breaks easily\n" + "with a slight touch."); + +const u8 gMagcargoPokedexTextUnused[] = _(""); + +const u8 gSwinubPokedexText[] = _( + "It rubs its snout on the ground to find\n" + "and dig up food. It sometimes discovers\n" + "hot springs."); + +const u8 gSwinubPokedexTextUnused[] = _(""); + +const u8 gPiloswinePokedexText[] = _( + "Because the long hair all over its body\n" + "obscures its sight, it just keeps charging\n" + "repeatedly."); + +const u8 gPiloswinePokedexTextUnused[] = _(""); + +const u8 gCorsolaPokedexText[] = _( + "It continuously sheds and grows. The tip\n" + "of its head is prized as a treasure for\n" + "its beauty."); + +const u8 gCorsolaPokedexTextUnused[] = _(""); + +const u8 gRemoraidPokedexText[] = _( + "It has superb accuracy. The water it\n" + "shoots out can strike even moving prey\n" + "from more than 100 yards."); + +const u8 gRemoraidPokedexTextUnused[] = _(""); + +const u8 gOctilleryPokedexText[] = _( + "It traps enemies with its suction-cupped\n" + "tentacles, then smashes them with its\n" + "rock-hard head."); + +const u8 gOctilleryPokedexTextUnused[] = _(""); + +const u8 gDelibirdPokedexText[] = _( + "It carries food all day long. There are\n" + "tales about lost people who were saved\n" + "by the food it had."); + +const u8 gDelibirdPokedexTextUnused[] = _(""); + +const u8 gMantinePokedexText[] = _( + "As it majestically swims, it doesn't care\n" + "if REMORAID attach to it to scavenge\n" + "for its leftovers."); + +const u8 gMantinePokedexTextUnused[] = _(""); + +const u8 gSkarmoryPokedexText[] = _( + "Its sturdy wings look heavy, but its bones\n" + "are hollow and light, allowing it to fly\n" + "freely in the sky."); + +const u8 gSkarmoryPokedexTextUnused[] = _(""); + +const u8 gHoundourPokedexText[] = _( + "It uses different kinds of cries for\n" + "communicating with others of its kind and\n" + "for pursuing prey."); + +const u8 gHoundourPokedexTextUnused[] = _(""); + +const u8 gHoundoomPokedexText[] = _( + "If you are burned by the flames it shoots\n" + "from its mouth, the pain will never go\n" + "away."); + +const u8 gHoundoomPokedexTextUnused[] = _(""); + +const u8 gKingdraPokedexText[] = _( + "It is said that it usually hides in\n" + "underwater caves. It can create\n" + "whirlpools by yawning."); + +const u8 gKingdraPokedexTextUnused[] = _(""); + +const u8 gPhanpyPokedexText[] = _( + "It swings its long snout around playfully,\n" + "but because it is so strong, this can be\n" + "dangerous."); + +const u8 gPhanpyPokedexTextUnused[] = _(""); + +const u8 gDonphanPokedexText[] = _( + "It has sharp, hard tusks and a rugged\n" + "hide. Its TACKLE is strong enough to\n" + "knock down a house."); + +const u8 gDonphanPokedexTextUnused[] = _(""); + +const u8 gPorygon2PokedexText[] = _( + "This upgraded version of PORYGON is\n" + "designed for space exploration. However,\n" + "it can't even fly."); + +const u8 gPorygon2PokedexTextUnused[] = _(""); + +const u8 gStantlerPokedexText[] = _( + "Its curved antlers subtly change the flow\n" + "of air to create a strange space where\n" + "reality is distorted."); + +const u8 gStantlerPokedexTextUnused[] = _(""); + +const u8 gSmearglePokedexText[] = _( + "A special fluid oozes from the tip of its\n" + "tail. It paints the fluid everywhere to\n" + "mark its territory."); + +const u8 gSmearglePokedexTextUnused[] = _(""); + +const u8 gTyroguePokedexText[] = _( + "It is always bursting with energy. To make\n" + "itself stronger, it keeps on fighting even\n" + "if it loses."); + +const u8 gTyroguePokedexTextUnused[] = _(""); + +const u8 gHitmontopPokedexText[] = _( + "If you become enchanted by its smooth,\n" + "elegant, dance-like kicks, you may get\n" + "drilled hard."); + +const u8 gHitmontopPokedexTextUnused[] = _(""); + +const u8 gSmoochumPokedexText[] = _( + "Its lips are the most sensitive parts on\n" + "its body. It always uses its lips first to\n" + "examine things."); + +const u8 gSmoochumPokedexTextUnused[] = _(""); + +const u8 gElekidPokedexText[] = _( + "It rotates its arms to generate\n" + "electricity, but it tires easily, so it\n" + "charges up only a little bit."); + +const u8 gElekidPokedexTextUnused[] = _(""); + +const u8 gMagbyPokedexText[] = _( + "Each and every time it inhales and\n" + "exhales, hot embers dribble out of its\n" + "mouth and nostrils."); + +const u8 gMagbyPokedexTextUnused[] = _(""); + +const u8 gMiltankPokedexText[] = _( + "Its milk is packed with nutrition, making\n" + "it the ultimate beverage for the sick or\n" + "weary."); + +const u8 gMiltankPokedexTextUnused[] = _(""); + +const u8 gBlisseyPokedexText[] = _( + "Anyone who takes even one bite of\n" + "BLISSEY's egg becomes unfailingly caring\n" + "and pleasant to everyone."); + +const u8 gBlisseyPokedexTextUnused[] = _(""); + +const u8 gRaikouPokedexText[] = _( + "The rain clouds it carries let it fire\n" + "thunderbolts at will. They say that it\n" + "descended with lightning."); + +const u8 gRaikouPokedexTextUnused[] = _(""); + +const u8 gEnteiPokedexText[] = _( + "Volcanoes erupt when it barks. Unable to\n" + "restrain its extreme power, it races\n" + "headlong around the land."); + +const u8 gEnteiPokedexTextUnused[] = _(""); + +const u8 gSuicunePokedexText[] = _( + "Said to be the reincarnation of north\n" + "winds, it can instantly purify filthy,\n" + "murky water."); + +const u8 gSuicunePokedexTextUnused[] = _(""); + +const u8 gLarvitarPokedexText[] = _( + "It feeds on soil. After it has eaten a\n" + "large mountain, it will fall asleep so it\n" + "can grow."); + +const u8 gLarvitarPokedexTextUnused[] = _(""); + +const u8 gPupitarPokedexText[] = _( + "Its shell is as hard as sheet rock, and it\n" + "is also very strong. Its THRASHING can\n" + "topple a mountain."); + +const u8 gPupitarPokedexTextUnused[] = _(""); + +const u8 gTyranitarPokedexText[] = _( + "Its body can't be harmed by any sort of\n" + "attack, so it is very eager to make\n" + "challenges against enemies."); + +const u8 gTyranitarPokedexTextUnused[] = _(""); + +const u8 gLugiaPokedexText[] = _( + "It is said that it quietly spends its time\n" + "deep at the bottom of the sea because\n" + "its powers are too strong."); + +const u8 gLugiaPokedexTextUnused[] = _(""); + +const u8 gHoOhPokedexText[] = _( + "Legends claim this POKéMON flies the\n" + "world's skies continuously on its\n" + "magnificent seven-colored wings."); + +const u8 gHoOhPokedexTextUnused[] = _(""); + +const u8 gCelebiPokedexText[] = _( + "This POKéMON wanders across time.\n" + "Grass and trees flourish in the forests in\n" + "which it has appeared."); + +const u8 gCelebiPokedexTextUnused[] = _(""); + +const u8 gTreeckoPokedexText[] = _( + "It quickly scales even vertical walls.\n" + "It senses humidity with its tail to predict\n" + "the next day's weather."); + +const u8 gTreeckoPokedexTextUnused[] = _(""); + +const u8 gGrovylePokedexText[] = _( + "Its strongly developed thigh muscles\n" + "give it astounding agility and jumping\n" + "performance."); + +const u8 gGrovylePokedexTextUnused[] = _(""); + +const u8 gSceptilePokedexText[] = _( + "The leaves on its forelegs are as sharp\n" + "as swords. It agilely leaps about the\n" + "branches of trees to strike."); + +const u8 gSceptilePokedexTextUnused[] = _(""); + +const u8 gTorchicPokedexText[] = _( + "It has a flame sac inside its belly that\n" + "perpetually burns. It feels warm if it is\n" + "hugged."); + +const u8 gTorchicPokedexTextUnused[] = _(""); + +const u8 gCombuskenPokedexText[] = _( + "It boosts its concentration by emitting\n" + "harsh cries. Its kicks have outstanding\n" + "destructive power."); + +const u8 gCombuskenPokedexTextUnused[] = _(""); + +const u8 gBlazikenPokedexText[] = _( + "When facing a tough foe, it looses flames\n" + "from its wrists. Its powerful legs let it\n" + "jump clear over buildings."); + +const u8 gBlazikenPokedexTextUnused[] = _(""); + +const u8 gMudkipPokedexText[] = _( + "Its large tail fin propels it through\n" + "water with powerful acceleration. It is\n" + "strong in spite of its size."); + +const u8 gMudkipPokedexTextUnused[] = _(""); + +const u8 gMarshtompPokedexText[] = _( + "It is at its best when on muddy ground\n" + "with poor footing. It quickly overwhelms\n" + "foes struggling in mud."); + +const u8 gMarshtompPokedexTextUnused[] = _(""); + +const u8 gSwampertPokedexText[] = _( + "Its arms are rock-hard. With one swing,\n" + "they can batter down its foe. It makes its\n" + "nest on beautiful beaches."); + +const u8 gSwampertPokedexTextUnused[] = _(""); + +const u8 gPoochyenaPokedexText[] = _( + "It has a very tenacious nature. Its acute\n" + "sense of smell lets it chase a chosen\n" + "prey without ever losing track."); + +const u8 gPoochyenaPokedexTextUnused[] = _(""); + +const u8 gMightyenaPokedexText[] = _( + "It will always obey the commands of a\n" + "skilled TRAINER. Its behavior arises from\n" + "its living in packs in ancient times."); + +const u8 gMightyenaPokedexTextUnused[] = _(""); + +const u8 gZigzagoonPokedexText[] = _( + "A POKéMON with abundant curiosity.\n" + "It shows an interest in everything, so it\n" + "always zigs and zags."); + +const u8 gZigzagoonPokedexTextUnused[] = _(""); + +const u8 gLinoonePokedexText[] = _( + "When running in a straight line, it can top\n" + "60 miles per hour. However, it has a\n" + "tough time with curved roads."); + +const u8 gLinoonePokedexTextUnused[] = _(""); + +const u8 gWurmplePokedexText[] = _( + "It lives amidst tall grass and in forests.\n" + "When attacked, it resists by pointing its\n" + "venomous spikes at the foe."); + +const u8 gWurmplePokedexTextUnused[] = _(""); + +const u8 gSilcoonPokedexText[] = _( + "It conserves its energy by moving as\n" + "little as possible. It awaits evolution\n" + "while drinking only a little rainwater."); + +const u8 gSilcoonPokedexTextUnused[] = _(""); + +const u8 gBeautiflyPokedexText[] = _( + "Despite its appearance, it has an\n" + "aggressive nature. It attacks by jabbing\n" + "with its long, thin mouth."); + +const u8 gBeautiflyPokedexTextUnused[] = _(""); + +const u8 gCascoonPokedexText[] = _( + "Its body, which is made of soft silk,\n" + "hardens over time. When cracks appear,\n" + "evolution is near."); + +const u8 gCascoonPokedexTextUnused[] = _(""); + +const u8 gDustoxPokedexText[] = _( + "It scatters horribly toxic dust when it\n" + "senses danger. They tend to gather in the\n" + "glow of streetlamps at night."); + +const u8 gDustoxPokedexTextUnused[] = _(""); + +const u8 gLotadPokedexText[] = _( + "It searches about for clean water. If it\n" + "does not drink water for too long, the\n" + "leaf on its head wilts."); + +const u8 gLotadPokedexTextUnused[] = _(""); + +const u8 gLombrePokedexText[] = _( + "It lives at the water's edge where it is\n" + "sunny. It sleeps on a bed of water grass\n" + "by day and becomes active at night."); + +const u8 gLombrePokedexTextUnused[] = _(""); + +const u8 gLudicoloPokedexText[] = _( + "The rhythm of bright, festive music\n" + "activates LUDICOLO's cells, making it more\n" + "powerful."); + +const u8 gLudicoloPokedexTextUnused[] = _(""); + +const u8 gSeedotPokedexText[] = _( + "If it remains still, it becomes impossible\n" + "to distinguish from real nuts. It delights\n" + "in surprising foraging PIDGEY."); + +const u8 gSeedotPokedexTextUnused[] = _(""); + +const u8 gNuzleafPokedexText[] = _( + "They live in holes bored in large trees.\n" + "The sound of NUZLEAF's grass flute fills\n" + "listeners with dread."); + +const u8 gNuzleafPokedexTextUnused[] = _(""); + +const u8 gShiftryPokedexText[] = _( + "A POKéMON that was feared as a forest\n" + "guardian. It can read the foe's mind and\n" + "take preemptive action."); + +const u8 gShiftryPokedexTextUnused[] = _(""); + +const u8 gTaillowPokedexText[] = _( + "It dislikes cold seasons. They migrate to\n" + "other lands in search of warmth, flying\n" + "over 180 miles a day."); + +const u8 gTaillowPokedexTextUnused[] = _(""); + +const u8 gSwellowPokedexText[] = _( + "If its two tail feathers are standing at\n" + "attention, it is proof of good health.\n" + "It soars elegantly in the sky."); + +const u8 gSwellowPokedexTextUnused[] = _(""); + +const u8 gWingullPokedexText[] = _( + "It rides upon ocean winds as if it were\n" + "a glider. In the winter, it hides food\n" + "around its nest."); + +const u8 gWingullPokedexTextUnused[] = _(""); + +const u8 gPelipperPokedexText[] = _( + "It is a flying transporter that carries\n" + "small POKéMON in its beak. It bobs on the\n" + "waves to rest its wings."); + +const u8 gPelipperPokedexTextUnused[] = _(""); + +const u8 gRaltsPokedexText[] = _( + "It is highly attuned to the emotions of\n" + "people and POKéMON. It hides if it senses\n" + "hostility."); + +const u8 gRaltsPokedexTextUnused[] = _(""); + +const u8 gKirliaPokedexText[] = _( + "The cheerful spirit of its TRAINER gives\n" + "it energy for its psychokinetic power.\n" + "It spins and dances when happy."); + +const u8 gKirliaPokedexTextUnused[] = _(""); + +const u8 gGardevoirPokedexText[] = _( + "It has the power to predict the future.\n" + "Its power peaks when it is protecting its\n" + "TRAINER."); + +const u8 gGardevoirPokedexTextUnused[] = _(""); + +const u8 gSurskitPokedexText[] = _( + "They usually live on ponds, but after an\n" + "evening shower, they may appear on\n" + "puddles in towns."); + +const u8 gSurskitPokedexTextUnused[] = _(""); + +const u8 gMasquerainPokedexText[] = _( + "The antennae have distinctive patterns\n" + "that look like eyes. When it rains, they\n" + "grow heavy, making flight impossible."); + +const u8 gMasquerainPokedexTextUnused[] = _(""); + +const u8 gShroomishPokedexText[] = _( + "It prefers damp places. By day it remains\n" + "still in the forest shade. It releases\n" + "toxic powder from its head."); + +const u8 gShroomishPokedexTextUnused[] = _(""); + +const u8 gBreloomPokedexText[] = _( + "The seeds on its tail are made of toxic\n" + "spores. It knocks out foes with quick,\n" + "virtually invisible punches."); + +const u8 gBreloomPokedexTextUnused[] = _(""); + +const u8 gSlakothPokedexText[] = _( + "It sleeps for 20 hours every day. Making\n" + "drowsy those that see it is one of\n" + "its abilities."); + +const u8 gSlakothPokedexTextUnused[] = _(""); + +const u8 gVigorothPokedexText[] = _( + "It is always hungry because it won't stop\n" + "rampaging. Even while it is eating, it\n" + "can't keep still."); + +const u8 gVigorothPokedexTextUnused[] = _(""); + +const u8 gSlakingPokedexText[] = _( + "It is the world's most slothful POKéMON.\n" + "However, it can exert horrifying power by\n" + "releasing pent-up energy all at once."); + +const u8 gSlakingPokedexTextUnused[] = _(""); + +const u8 gNincadaPokedexText[] = _( + "Because it lived almost entirely\n" + "underground, it is nearly blind.\n" + "It uses its antennae instead."); + +const u8 gNincadaPokedexTextUnused[] = _(""); + +const u8 gNinjaskPokedexText[] = _( + "This POKéMON is so quick, it is said to\n" + "be able to avoid any attack. It loves to\n" + "feed on tree sap."); + +const u8 gNinjaskPokedexTextUnused[] = _(""); + +const u8 gShedinjaPokedexText[] = _( + "A most peculiar POKéMON that somehow\n" + "appears in a POKé BALL when a NINCADA\n" + "evolves."); + +const u8 gShedinjaPokedexTextUnused[] = _(""); + +const u8 gWhismurPokedexText[] = _( + "It usually murmurs, but starts crying\n" + "loudly if it senses danger. It stops when\n" + "its ear covers are shut."); + +const u8 gWhismurPokedexTextUnused[] = _(""); + +const u8 gLoudredPokedexText[] = _( + "When it stamps its feet and bellows, it\n" + "generates ultrasonic waves that can blow\n" + "apart a house."); + +const u8 gLoudredPokedexTextUnused[] = _(""); + +const u8 gExploudPokedexText[] = _( + "It emits a variety of sounds from the \n" + "holes all over its body. Its loud cries\n" + "can be heard from over six miles away."); + +const u8 gExploudPokedexTextUnused[] = _(""); + +const u8 gMakuhitaPokedexText[] = _( + "It grows stronger by enduring harsh\n" + "training. It is a gutsy POKéMON that can\n" + "withstand any attack."); + +const u8 gMakuhitaPokedexTextUnused[] = _(""); + +const u8 gHariyamaPokedexText[] = _( + "It stomps on the ground to build power.\n" + "It can send a 10-ton truck flying with a\n" + "straight-arm punch."); + +const u8 gHariyamaPokedexTextUnused[] = _(""); + +const u8 gAzurillPokedexText[] = _( + "It battles by flinging around its tail,\n" + "which is bigger than its body. The\n" + "tail is a flotation device in water."); + +const u8 gAzurillPokedexTextUnused[] = _(""); + +const u8 gNosepassPokedexText[] = _( + "Its magnetic nose consistently faces\n" + "north. Travelers check NOSEPASS to get\n" + "their bearings."); + +const u8 gNosepassPokedexTextUnused[] = _(""); + +const u8 gSkittyPokedexText[] = _( + "It is said to be difficult to earn its\n" + "trust. However, it is extremely popular\n" + "for its cute looks and behavior."); + +const u8 gSkittyPokedexTextUnused[] = _(""); + +const u8 gDelcattyPokedexText[] = _( + "The favorite of trend-conscious\n" + "female TRAINERS, they are used in\n" + "competition for their style and fur."); + +const u8 gDelcattyPokedexTextUnused[] = _(""); + +const u8 gSableyePokedexText[] = _( + "It feeds on gemstone crystals.\n" + "In darkness, its eyes sparkle with the\n" + "glitter of jewels."); + +const u8 gSableyePokedexTextUnused[] = _(""); + +const u8 gMawilePokedexText[] = _( + "It uses its docile-looking face to lull\n" + "foes into complacency, then bites with its\n" + "huge, relentless jaws."); + +const u8 gMawilePokedexTextUnused[] = _(""); + +const u8 gAronPokedexText[] = _( + "It eats iron to build its steel body.\n" + "It is a pest that descends from mountains\n" + "to eat bridges and train tracks."); + +const u8 gAronPokedexTextUnused[] = _(""); + +const u8 gLaironPokedexText[] = _( + "It habitually shows off its strength with\n" + "the size of sparks it creates by ramming\n" + "its steel body into boulders."); + +const u8 gLaironPokedexTextUnused[] = _(""); + +const u8 gAggronPokedexText[] = _( + "It claims a large mountain as its sole\n" + "territory. It mercilessly thrashes those\n" + "that violate its space."); + +const u8 gAggronPokedexTextUnused[] = _(""); + +const u8 gMedititePokedexText[] = _( + "It never skips its daily yoga training.\n" + "It heightens its inner strength through\n" + "meditation."); + +const u8 gMedititePokedexTextUnused[] = _(""); + +const u8 gMedichamPokedexText[] = _( + "It elegantly avoids attacks with dance-\n" + "like steps, then launches a devastating\n" + "blow in the same motion."); + +const u8 gMedichamPokedexTextUnused[] = _(""); + +const u8 gElectrikePokedexText[] = _( + "It stores static electricity in its fur\n" + "for discharging. It gives off sparks if a\n" + "storm approaches."); + +const u8 gElectrikePokedexTextUnused[] = _(""); + +const u8 gManectricPokedexText[] = _( + "It rarely appears before people.\n" + "It is said to nest where lightning has\n" + "fallen."); + +const u8 gManectricPokedexTextUnused[] = _(""); + +const u8 gPluslePokedexText[] = _( + "It cheers on partners while scattering\n" + "sparks from its body. It climbs telephone\n" + "poles to absorb electricity."); + +const u8 gPluslePokedexTextUnused[] = _(""); + +const u8 gMinunPokedexText[] = _( + "Its dislike of water makes it take shelter\n" + "under the eaves of houses in rain. It uses\n" + "pom-poms made of sparks for cheering."); + +const u8 gMinunPokedexTextUnused[] = _(""); + +const u8 gVolbeatPokedexText[] = _( + "It lives around clean ponds. At night,\n" + "its rear lights up. It converses with\n" + "others by flashing its light."); + +const u8 gVolbeatPokedexTextUnused[] = _(""); + +const u8 gIllumisePokedexText[] = _( + "It guides VOLBEAT to draw signs in night\n" + "skies. There are scientists that study the\n" + "patterns it creates."); + +const u8 gIllumisePokedexTextUnused[] = _(""); + +const u8 gRoseliaPokedexText[] = _( + "Its flowers give off a relaxing fragrance.\n" + "The stronger its aroma, the healthier\n" + "the ROSELIA is."); + +const u8 gRoseliaPokedexTextUnused[] = _(""); + +const u8 gGulpinPokedexText[] = _( + "There is nothing its stomach can't digest.\n" + "While it is digesting, vile, overpowering\n" + "gases are expelled."); + +const u8 gGulpinPokedexTextUnused[] = _(""); + +const u8 gSwalotPokedexText[] = _( + "It can swallow a tire whole in one gulp.\n" + "It secretes a horribly toxic fluid from\n" + "the pores on its body."); + +const u8 gSwalotPokedexTextUnused[] = _(""); + +const u8 gCarvanhaPokedexText[] = _( + "It lives in massive rivers that course\n" + "through jungles. It swarms prey that\n" + "enter its territory."); + +const u8 gCarvanhaPokedexTextUnused[] = _(""); + +const u8 gSharpedoPokedexText[] = _( + "The ruffian of the seas, it has fangs that\n" + "crunch through iron. It swims by jetting\n" + "water from its rear."); + +const u8 gSharpedoPokedexTextUnused[] = _(""); + +const u8 gWailmerPokedexText[] = _( + "When it sucks in a large volume of\n" + "seawater, it becomes like a big, bouncy\n" + "ball. It eats a ton of food daily."); + +const u8 gWailmerPokedexTextUnused[] = _(""); + +const u8 gWailordPokedexText[] = _( + "It is among the largest of all POKéMON.\n" + "It herds prey in a pack then swallows the\n" + "massed prey in one gulp."); + +const u8 gWailordPokedexTextUnused[] = _(""); + +const u8 gNumelPokedexText[] = _( + "Magma of almost 2,200 degrees Fahrenheit\n" + "courses through its body. When it grows\n" + "cold, the magma hardens and slows it."); + +const u8 gNumelPokedexTextUnused[] = _(""); + +const u8 gCameruptPokedexText[] = _( + "If angered, the humps on its back erupt\n" + "in a shower of molten lava. It lives in\n" + "the craters of volcanoes."); + +const u8 gCameruptPokedexTextUnused[] = _(""); + +const u8 gTorkoalPokedexText[] = _( + "It burns coal inside its shell. If it is\n" + "attacked, it belches thick, black smoke\n" + "and flees."); + +const u8 gTorkoalPokedexTextUnused[] = _(""); + +const u8 gSpoinkPokedexText[] = _( + "It apparently dies if it stops bouncing\n" + "about. It carries a pearl from CLAMPERL\n" + "on its head."); + +const u8 gSpoinkPokedexTextUnused[] = _(""); + +const u8 gGrumpigPokedexText[] = _( + "It can gain control over foes by doing\n" + "odd dance steps. The black pearls on its\n" + "forehead are precious gems."); + +const u8 gGrumpigPokedexTextUnused[] = _(""); + +const u8 gSpindaPokedexText[] = _( + "No two SPINDA are said to have identical\n" + "patterns. It confuses foes with its\n" + "stumbling motions."); + +const u8 gSpindaPokedexTextUnused[] = _(""); + +const u8 gTrapinchPokedexText[] = _( + "It lives in arid deserts. It makes a\n" + "sloping pit trap in sand where it\n" + "patiently awaits prey."); + +const u8 gTrapinchPokedexTextUnused[] = _(""); + +const u8 gVibravaPokedexText[] = _( + "It generates ultrasonic waves by violently\n" + "flapping its wings. After making its prey\n" + "faint, it melts the prey with acid."); + +const u8 gVibravaPokedexTextUnused[] = _(""); + +const u8 gFlygonPokedexText[] = _( + "It hides itself by kicking up desert sand\n" + "with its wings. Red covers shield its eyes\n" + "from sand."); + +const u8 gFlygonPokedexTextUnused[] = _(""); + +const u8 gCacneaPokedexText[] = _( + "It prefers harsh environments such as\n" + "deserts. It can survive for 30 days on\n" + "water stored in its body."); + +const u8 gCacneaPokedexTextUnused[] = _(""); + +const u8 gCacturnePokedexText[] = _( + "It lives in deserts. It becomes active at\n" + "night when it hunts for prey exhausted\n" + "from the desert's heat."); + +const u8 gCacturnePokedexTextUnused[] = _(""); + +const u8 gSwabluPokedexText[] = _( + "It constantly grooms its cotton-like\n" + "wings. It takes a shower to clean\n" + "itself if it becomes dirty."); + +const u8 gSwabluPokedexTextUnused[] = _(""); + +const u8 gAltariaPokedexText[] = _( + "If you hear a beautiful melody trilling\n" + "deep among mountains far from people,\n" + "it is ALTARIA's humming."); + +const u8 gAltariaPokedexTextUnused[] = _(""); + +const u8 gZangoosePokedexText[] = _( + "If it comes across a SEVIPER, its fur\n" + "bristles and it assumes its battle pose.\n" + "Its sharp claws are its best weapon."); + +const u8 gZangoosePokedexTextUnused[] = _(""); + +const u8 gSeviperPokedexText[] = _( + "It sharpens its swordlike tail on hard\n" + "rocks. It hides in tall grass and strikes\n" + "unwary prey with venomous fangs."); + +const u8 gSeviperPokedexTextUnused[] = _(""); + +const u8 gLunatonePokedexText[] = _( + "Its health ebbs and flows with the lunar\n" + "cycle. It brims with power when exposed\n" + "to the light of the full moon."); + +const u8 gLunatonePokedexTextUnused[] = _(""); + +const u8 gSolrockPokedexText[] = _( + "It absorbs solar energy during the day.\n" + "Always expressionless, it can sense what\n" + "its foe is thinking."); + +const u8 gSolrockPokedexTextUnused[] = _(""); + +const u8 gBarboachPokedexText[] = _( + "It probes muddy riverbeds with its two\n" + "long whiskers. A slimy film protects its\n" + "body."); + +const u8 gBarboachPokedexTextUnused[] = _(""); + +const u8 gWhiscashPokedexText[] = _( + "It makes its nest at the bottom of \n" + "swamps. It will eat anything - if it is\n" + "alive, WHISCASH will eat it."); + +const u8 gWhiscashPokedexTextUnused[] = _(""); + +const u8 gCorphishPokedexText[] = _( + "It came from overseas. It is a very hardy\n" + "creature that will quickly proliferate,\n" + "even in polluted streams."); + +const u8 gCorphishPokedexTextUnused[] = _(""); + +const u8 gCrawdauntPokedexText[] = _( + "A rough customer that wildly flails its\n" + "giant claws. It is said to be extremely\n" + "hard to raise."); + +const u8 gCrawdauntPokedexTextUnused[] = _(""); + +const u8 gBaltoyPokedexText[] = _( + "It was discovered in ancient ruins.\n" + "While moving, it constantly spins. It\n" + "stands on one foot even when asleep."); + +const u8 gBaltoyPokedexTextUnused[] = _(""); + +const u8 gClaydolPokedexText[] = _( + "It appears to have been born from clay\n" + "dolls made by ancient people. It uses\n" + "telekinesis to float and move."); + +const u8 gClaydolPokedexTextUnused[] = _(""); + +const u8 gLileepPokedexText[] = _( + "It became extinct roughly 100 million\n" + "years ago. It was regenerated from a\n" + "fossil using advanced techniques."); + +const u8 gLileepPokedexTextUnused[] = _(""); + +const u8 gCradilyPokedexText[] = _( + "It ensnares prey with its eight tentacles.\n" + "It then melts the prey with a strong acid\n" + "before feeding."); + +const u8 gCradilyPokedexTextUnused[] = _(""); + +const u8 gAnorithPokedexText[] = _( + "It is a kind of POKéMON progenitor.\n" + "It uses its extending claws to catch prey\n" + "hiding among rocks on the seafloor."); + +const u8 gAnorithPokedexTextUnused[] = _(""); + +const u8 gArmaldoPokedexText[] = _( + "Protected by a hard shell, its body is\n" + "very sturdy. It skewers prey with its\n" + "claws to feed."); + +const u8 gArmaldoPokedexTextUnused[] = _(""); + +const u8 gFeebasPokedexText[] = _( + "Ridiculed for its shabby appearance,\n" + "it is ignored by researchers. It lives in\n" + "ponds choked with weeds."); + +const u8 gFeebasPokedexTextUnused[] = _(""); + +const u8 gMiloticPokedexText[] = _( + "MILOTIC is breathtakingly beautiful.\n" + "Those that see it are said to forget their\n" + "combative spirits."); + +const u8 gMiloticPokedexTextUnused[] = _(""); + +const u8 gCastformPokedexText[] = _( + "It has the ability to change its form into\n" + "the sun, the rain, or a snow cloud, \n" + "depending on the weather."); + +const u8 gCastformPokedexTextUnused[] = _(""); + +const u8 gKecleonPokedexText[] = _( + "It changes body color to blend in with\n" + "its surroundings. It also changes color if\n" + "it is happy or sad."); + +const u8 gKecleonPokedexTextUnused[] = _(""); + +const u8 gShuppetPokedexText[] = _( + "It loves to feed on feelings like envy and\n" + "malice. Its upright horn catches the\n" + "emotions of people."); + +const u8 gShuppetPokedexTextUnused[] = _(""); + +const u8 gBanettePokedexText[] = _( + "Strong feelings of hatred turned a puppet\n" + "into a POKéMON. If it opens its mouth,\n" + "its cursed energy escapes."); + +const u8 gBanettePokedexTextUnused[] = _(""); + +const u8 gDuskullPokedexText[] = _( + "Making itself invisible, it silently sneaks\n" + "up to prey. It has the ability to slip\n" + "through thick walls."); + +const u8 gDuskullPokedexTextUnused[] = _(""); + +const u8 gDusclopsPokedexText[] = _( + "Its body is entirely hollow. When it opens\n" + "its mouth, it sucks everything in as if it\n" + "were a black hole."); + +const u8 gDusclopsPokedexTextUnused[] = _(""); + +const u8 gTropiusPokedexText[] = _( + "It lives in tropical jungles. The bunch of\n" + "fruit around its neck is delicious.\n" + "The fruit grows twice a year."); + +const u8 gTropiusPokedexTextUnused[] = _(""); + +const u8 gChimechoPokedexText[] = _( + "It travels by riding on winds. It cleverly\n" + "uses its long tail to pluck nuts and\n" + "berries, which it loves to eat."); + +const u8 gChimechoPokedexTextUnused[] = _(""); + +const u8 gAbsolPokedexText[] = _( + "It appears when it senses an impending\n" + "natural disaster. As a result, it was\n" + "mistaken as a doom-bringer."); + +const u8 gAbsolPokedexTextUnused[] = _(""); + +const u8 gWynautPokedexText[] = _( + "It tends to move in a pack with others.\n" + "They cluster in a tight group to sleep in\n" + "a cave."); + +const u8 gWynautPokedexTextUnused[] = _(""); + +const u8 gSnoruntPokedexText[] = _( + "It is said that a home visited by a\n" + "SNORUNT will prosper. It can withstand\n" + "cold of minus 150 degrees Fahrenheit."); + +const u8 gSnoruntPokedexTextUnused[] = _(""); + +const u8 gGlaliePokedexText[] = _( + "It has a body of ice that won't melt,\n" + "even with fire. It can instantly freeze\n" + "moisture in the atmosphere."); + +const u8 gGlaliePokedexTextUnused[] = _(""); + +const u8 gSphealPokedexText[] = _( + "Its body is covered in fluffy fur.\n" + "The fur keeps it from feeling cold while\n" + "it is rolling on ice."); + +const u8 gSphealPokedexTextUnused[] = _(""); + +const u8 gSealeoPokedexText[] = _( + "It touches new things with its nose to\n" + "test for smell and feel. It plays by\n" + "spinning SPHEAL on its nose."); + +const u8 gSealeoPokedexTextUnused[] = _(""); + +const u8 gWalreinPokedexText[] = _( + "It swims through icy seas while shattering\n" + "ice floes with its large tusks. It is\n" + "protected by its thick blubber."); + +const u8 gWalreinPokedexTextUnused[] = _(""); + +const u8 gClamperlPokedexText[] = _( + "It is protected by a sturdy shell.\n" + "Once in a lifetime, it makes a magnificent\n" + "pearl."); + +const u8 gClamperlPokedexTextUnused[] = _(""); + +const u8 gHuntailPokedexText[] = _( + "It lives deep in the sea where no light\n" + "ever filters down. It lights up its small\n" + "fishlike tail to attract prey."); + +const u8 gHuntailPokedexTextUnused[] = _(""); + +const u8 gGorebyssPokedexText[] = _( + "Its swimming form is exquisitely elegant.\n" + "With its thin mouth, it feeds on seaweed\n" + "that grows between rocks."); + +const u8 gGorebyssPokedexTextUnused[] = _(""); + +const u8 gRelicanthPokedexText[] = _( + "It has remained unchanged for 100\n" + "million years. It was discovered\n" + "during a deep-sea exploration."); + +const u8 gRelicanthPokedexTextUnused[] = _(""); + +const u8 gLuvdiscPokedexText[] = _( + "During the spawning season, countless\n" + "LUVDISC congregate at coral reefs,\n" + "turning the waters pink."); + +const u8 gLuvdiscPokedexTextUnused[] = _(""); + +const u8 gBagonPokedexText[] = _( + "Its steel-hard head can shatter boulders.\n" + "It longingly hopes for wings to grow so it\n" + "can fly."); + +const u8 gBagonPokedexTextUnused[] = _(""); + +const u8 gShelgonPokedexText[] = _( + "Its armored body makes all attacks bounce\n" + "off. The armor is too tough, however,\n" + "making it heavy and somewhat sluggish."); + +const u8 gShelgonPokedexTextUnused[] = _(""); + +const u8 gSalamencePokedexText[] = _( + "It becomes uncontrollable if it is\n" + "enraged. It destroys everything with\n" + "shredding claws and fire."); + +const u8 gSalamencePokedexTextUnused[] = _(""); + +const u8 gBeldumPokedexText[] = _( + "It uses magnetic waves to converse with\n" + "its kind. All the cells in its body are\n" + "magnetic."); + +const u8 gBeldumPokedexTextUnused[] = _(""); + +const u8 gMetangPokedexText[] = _( + "It floats midair using magnetism. Its body\n" + "is so tough, even a crash with a jet\n" + "plane won't leave a scratch."); + +const u8 gMetangPokedexTextUnused[] = _(""); + +const u8 gMetagrossPokedexText[] = _( + "It is formed by two METANG fusing.\n" + "Its four brains are said to be superior\n" + "to a supercomputer."); + +const u8 gMetagrossPokedexTextUnused[] = _(""); + +const u8 gRegirockPokedexText[] = _( + "It is entirely composed of rocks with no\n" + "sign of a brain or heart. It is a mystery\n" + "even to modern scientists."); + +const u8 gRegirockPokedexTextUnused[] = _(""); + +const u8 gRegicePokedexText[] = _( + "Research revealed that its body is made\n" + "of the same kind of ice that is found at\n" + "the South Pole."); + +const u8 gRegicePokedexTextUnused[] = _(""); + +const u8 gRegisteelPokedexText[] = _( + "It is sturdier than any kind of metal.\n" + "It hardened due to pressure underground\n" + "over tens of thousands of years."); + +const u8 gRegisteelPokedexTextUnused[] = _(""); + +const u8 gLatiasPokedexText[] = _( + "It can telepathically communicate with\n" + "people. It changes its appearance using\n" + "its down that refracts light."); + +const u8 gLatiasPokedexTextUnused[] = _(""); + +const u8 gLatiosPokedexText[] = _( + "It has a docile temperament and dislikes\n" + "fighting. Tucking in its forelegs, it can\n" + "fly faster than a jet plane."); + +const u8 gLatiosPokedexTextUnused[] = _(""); + +const u8 gKyogrePokedexText[] = _( + "This POKéMON is said to have expanded\n" + "the sea by bringing heavy rains.\n" + "It has the power to control water."); + +const u8 gKyogrePokedexTextUnused[] = _(""); + +const u8 gGroudonPokedexText[] = _( + "This legendary POKéMON is said to\n" + "represent the land. It went to sleep after\n" + "dueling KYOGRE."); + +const u8 gGroudonPokedexTextUnused[] = _(""); + +const u8 gRayquazaPokedexText[] = _( + "It has lived for hundreds of millions of\n" + "years in the ozone layer. Its flying form\n" + "looks like a meteor."); + +const u8 gRayquazaPokedexTextUnused[] = _(""); + +const u8 gJirachiPokedexText[] = _( + "It is said to make any wish come true.\n" + "It is awake for only seven days out of\n" + "a thousand years."); + +const u8 gJirachiPokedexTextUnused[] = _(""); + +const u8 gDeoxysPokedexText[] = _( + "When it changes form, an aurora appears.\n" + "It absorbs attacks by altering its\n" + "cellular structure."); + +const u8 gDeoxysPokedexTextUnused[] = _(""); diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h new file mode 100644 index 000000000..86ca06790 --- /dev/null +++ b/src/data/pokemon_graphics/footprint_table.h @@ -0,0 +1,416 @@ +const u8 *const gMonFootprintTable[] = +{ + [SPECIES_NONE] = gMonFootprint_Bulbasaur, + [SPECIES_BULBASAUR] = gMonFootprint_Bulbasaur, + [SPECIES_IVYSAUR] = gMonFootprint_Ivysaur, + [SPECIES_VENUSAUR] = gMonFootprint_Venusaur, + [SPECIES_CHARMANDER] = gMonFootprint_Charmander, + [SPECIES_CHARMELEON] = gMonFootprint_Charmeleon, + [SPECIES_CHARIZARD] = gMonFootprint_Charizard, + [SPECIES_SQUIRTLE] = gMonFootprint_Squirtle, + [SPECIES_WARTORTLE] = gMonFootprint_Wartortle, + [SPECIES_BLASTOISE] = gMonFootprint_Blastoise, + [SPECIES_CATERPIE] = gMonFootprint_Caterpie, + [SPECIES_METAPOD] = gMonFootprint_Metapod, + [SPECIES_BUTTERFREE] = gMonFootprint_Butterfree, + [SPECIES_WEEDLE] = gMonFootprint_Weedle, + [SPECIES_KAKUNA] = gMonFootprint_Kakuna, + [SPECIES_BEEDRILL] = gMonFootprint_Beedrill, + [SPECIES_PIDGEY] = gMonFootprint_Pidgey, + [SPECIES_PIDGEOTTO] = gMonFootprint_Pidgeotto, + [SPECIES_PIDGEOT] = gMonFootprint_Pidgeot, + [SPECIES_RATTATA] = gMonFootprint_Rattata, + [SPECIES_RATICATE] = gMonFootprint_Raticate, + [SPECIES_SPEAROW] = gMonFootprint_Spearow, + [SPECIES_FEAROW] = gMonFootprint_Fearow, + [SPECIES_EKANS] = gMonFootprint_Ekans, + [SPECIES_ARBOK] = gMonFootprint_Arbok, + [SPECIES_PIKACHU] = gMonFootprint_Pikachu, + [SPECIES_RAICHU] = gMonFootprint_Raichu, + [SPECIES_SANDSHREW] = gMonFootprint_Sandshrew, + [SPECIES_SANDSLASH] = gMonFootprint_Sandslash, + [SPECIES_NIDORAN_F] = gMonFootprint_NidoranF, + [SPECIES_NIDORINA] = gMonFootprint_Nidorina, + [SPECIES_NIDOQUEEN] = gMonFootprint_Nidoqueen, + [SPECIES_NIDORAN_M] = gMonFootprint_NidoranM, + [SPECIES_NIDORINO] = gMonFootprint_Nidorino, + [SPECIES_NIDOKING] = gMonFootprint_Nidoking, + [SPECIES_CLEFAIRY] = gMonFootprint_Clefairy, + [SPECIES_CLEFABLE] = gMonFootprint_Clefable, + [SPECIES_VULPIX] = gMonFootprint_Vulpix, + [SPECIES_NINETALES] = gMonFootprint_Ninetales, + [SPECIES_JIGGLYPUFF] = gMonFootprint_Jigglypuff, + [SPECIES_WIGGLYTUFF] = gMonFootprint_Wigglytuff, + [SPECIES_ZUBAT] = gMonFootprint_Zubat, + [SPECIES_GOLBAT] = gMonFootprint_Golbat, + [SPECIES_ODDISH] = gMonFootprint_Oddish, + [SPECIES_GLOOM] = gMonFootprint_Gloom, + [SPECIES_VILEPLUME] = gMonFootprint_Vileplume, + [SPECIES_PARAS] = gMonFootprint_Paras, + [SPECIES_PARASECT] = gMonFootprint_Parasect, + [SPECIES_VENONAT] = gMonFootprint_Venonat, + [SPECIES_VENOMOTH] = gMonFootprint_Venomoth, + [SPECIES_DIGLETT] = gMonFootprint_Diglett, + [SPECIES_DUGTRIO] = gMonFootprint_Dugtrio, + [SPECIES_MEOWTH] = gMonFootprint_Meowth, + [SPECIES_PERSIAN] = gMonFootprint_Persian, + [SPECIES_PSYDUCK] = gMonFootprint_Psyduck, + [SPECIES_GOLDUCK] = gMonFootprint_Golduck, + [SPECIES_MANKEY] = gMonFootprint_Mankey, + [SPECIES_PRIMEAPE] = gMonFootprint_Primeape, + [SPECIES_GROWLITHE] = gMonFootprint_Growlithe, + [SPECIES_ARCANINE] = gMonFootprint_Arcanine, + [SPECIES_POLIWAG] = gMonFootprint_Poliwag, + [SPECIES_POLIWHIRL] = gMonFootprint_Poliwhirl, + [SPECIES_POLIWRATH] = gMonFootprint_Poliwrath, + [SPECIES_ABRA] = gMonFootprint_Abra, + [SPECIES_KADABRA] = gMonFootprint_Kadabra, + [SPECIES_ALAKAZAM] = gMonFootprint_Alakazam, + [SPECIES_MACHOP] = gMonFootprint_Machop, + [SPECIES_MACHOKE] = gMonFootprint_Machoke, + [SPECIES_MACHAMP] = gMonFootprint_Machamp, + [SPECIES_BELLSPROUT] = gMonFootprint_Bellsprout, + [SPECIES_WEEPINBELL] = gMonFootprint_Weepinbell, + [SPECIES_VICTREEBEL] = gMonFootprint_Victreebel, + [SPECIES_TENTACOOL] = gMonFootprint_Tentacool, + [SPECIES_TENTACRUEL] = gMonFootprint_Tentacruel, + [SPECIES_GEODUDE] = gMonFootprint_Geodude, + [SPECIES_GRAVELER] = gMonFootprint_Graveler, + [SPECIES_GOLEM] = gMonFootprint_Golem, + [SPECIES_PONYTA] = gMonFootprint_Ponyta, + [SPECIES_RAPIDASH] = gMonFootprint_Rapidash, + [SPECIES_SLOWPOKE] = gMonFootprint_Slowpoke, + [SPECIES_SLOWBRO] = gMonFootprint_Slowbro, + [SPECIES_MAGNEMITE] = gMonFootprint_Magnemite, + [SPECIES_MAGNETON] = gMonFootprint_Magneton, + [SPECIES_FARFETCHD] = gMonFootprint_Farfetchd, + [SPECIES_DODUO] = gMonFootprint_Doduo, + [SPECIES_DODRIO] = gMonFootprint_Dodrio, + [SPECIES_SEEL] = gMonFootprint_Seel, + [SPECIES_DEWGONG] = gMonFootprint_Dewgong, + [SPECIES_GRIMER] = gMonFootprint_Grimer, + [SPECIES_MUK] = gMonFootprint_Muk, + [SPECIES_SHELLDER] = gMonFootprint_Shellder, + [SPECIES_CLOYSTER] = gMonFootprint_Cloyster, + [SPECIES_GASTLY] = gMonFootprint_Gastly, + [SPECIES_HAUNTER] = gMonFootprint_Haunter, + [SPECIES_GENGAR] = gMonFootprint_Gengar, + [SPECIES_ONIX] = gMonFootprint_Onix, + [SPECIES_DROWZEE] = gMonFootprint_Drowzee, + [SPECIES_HYPNO] = gMonFootprint_Hypno, + [SPECIES_KRABBY] = gMonFootprint_Krabby, + [SPECIES_KINGLER] = gMonFootprint_Kingler, + [SPECIES_VOLTORB] = gMonFootprint_Voltorb, + [SPECIES_ELECTRODE] = gMonFootprint_Electrode, + [SPECIES_EXEGGCUTE] = gMonFootprint_Exeggcute, + [SPECIES_EXEGGUTOR] = gMonFootprint_Exeggutor, + [SPECIES_CUBONE] = gMonFootprint_Cubone, + [SPECIES_MAROWAK] = gMonFootprint_Marowak, + [SPECIES_HITMONLEE] = gMonFootprint_Hitmonlee, + [SPECIES_HITMONCHAN] = gMonFootprint_Hitmonchan, + [SPECIES_LICKITUNG] = gMonFootprint_Lickitung, + [SPECIES_KOFFING] = gMonFootprint_Koffing, + [SPECIES_WEEZING] = gMonFootprint_Weezing, + [SPECIES_RHYHORN] = gMonFootprint_Rhyhorn, + [SPECIES_RHYDON] = gMonFootprint_Rhydon, + [SPECIES_CHANSEY] = gMonFootprint_Chansey, + [SPECIES_TANGELA] = gMonFootprint_Tangela, + [SPECIES_KANGASKHAN] = gMonFootprint_Kangaskhan, + [SPECIES_HORSEA] = gMonFootprint_Horsea, + [SPECIES_SEADRA] = gMonFootprint_Seadra, + [SPECIES_GOLDEEN] = gMonFootprint_Goldeen, + [SPECIES_SEAKING] = gMonFootprint_Seaking, + [SPECIES_STARYU] = gMonFootprint_Staryu, + [SPECIES_STARMIE] = gMonFootprint_Starmie, + [SPECIES_MR_MIME] = gMonFootprint_Mrmime, + [SPECIES_SCYTHER] = gMonFootprint_Scyther, + [SPECIES_JYNX] = gMonFootprint_Jynx, + [SPECIES_ELECTABUZZ] = gMonFootprint_Electabuzz, + [SPECIES_MAGMAR] = gMonFootprint_Magmar, + [SPECIES_PINSIR] = gMonFootprint_Pinsir, + [SPECIES_TAUROS] = gMonFootprint_Tauros, + [SPECIES_MAGIKARP] = gMonFootprint_Magikarp, + [SPECIES_GYARADOS] = gMonFootprint_Gyarados, + [SPECIES_LAPRAS] = gMonFootprint_Lapras, + [SPECIES_DITTO] = gMonFootprint_Ditto, + [SPECIES_EEVEE] = gMonFootprint_Eevee, + [SPECIES_VAPOREON] = gMonFootprint_Vaporeon, + [SPECIES_JOLTEON] = gMonFootprint_Jolteon, + [SPECIES_FLAREON] = gMonFootprint_Flareon, + [SPECIES_PORYGON] = gMonFootprint_Porygon, + [SPECIES_OMANYTE] = gMonFootprint_Omanyte, + [SPECIES_OMASTAR] = gMonFootprint_Omastar, + [SPECIES_KABUTO] = gMonFootprint_Kabuto, + [SPECIES_KABUTOPS] = gMonFootprint_Kabutops, + [SPECIES_AERODACTYL] = gMonFootprint_Aerodactyl, + [SPECIES_SNORLAX] = gMonFootprint_Snorlax, + [SPECIES_ARTICUNO] = gMonFootprint_Articuno, + [SPECIES_ZAPDOS] = gMonFootprint_Zapdos, + [SPECIES_MOLTRES] = gMonFootprint_Moltres, + [SPECIES_DRATINI] = gMonFootprint_Dratini, + [SPECIES_DRAGONAIR] = gMonFootprint_Dragonair, + [SPECIES_DRAGONITE] = gMonFootprint_Dragonite, + [SPECIES_MEWTWO] = gMonFootprint_Mewtwo, + [SPECIES_MEW] = gMonFootprint_Mew, + [SPECIES_CHIKORITA] = gMonFootprint_Chikorita, + [SPECIES_BAYLEEF] = gMonFootprint_Bayleef, + [SPECIES_MEGANIUM] = gMonFootprint_Meganium, + [SPECIES_CYNDAQUIL] = gMonFootprint_Cyndaquil, + [SPECIES_QUILAVA] = gMonFootprint_Quilava, + [SPECIES_TYPHLOSION] = gMonFootprint_Typhlosion, + [SPECIES_TOTODILE] = gMonFootprint_Totodile, + [SPECIES_CROCONAW] = gMonFootprint_Croconaw, + [SPECIES_FERALIGATR] = gMonFootprint_Feraligatr, + [SPECIES_SENTRET] = gMonFootprint_Sentret, + [SPECIES_FURRET] = gMonFootprint_Furret, + [SPECIES_HOOTHOOT] = gMonFootprint_Hoothoot, + [SPECIES_NOCTOWL] = gMonFootprint_Noctowl, + [SPECIES_LEDYBA] = gMonFootprint_Ledyba, + [SPECIES_LEDIAN] = gMonFootprint_Ledian, + [SPECIES_SPINARAK] = gMonFootprint_Spinarak, + [SPECIES_ARIADOS] = gMonFootprint_Ariados, + [SPECIES_CROBAT] = gMonFootprint_Crobat, + [SPECIES_CHINCHOU] = gMonFootprint_Chinchou, + [SPECIES_LANTURN] = gMonFootprint_Lanturn, + [SPECIES_PICHU] = gMonFootprint_Pichu, + [SPECIES_CLEFFA] = gMonFootprint_Cleffa, + [SPECIES_IGGLYBUFF] = gMonFootprint_Igglybuff, + [SPECIES_TOGEPI] = gMonFootprint_Togepi, + [SPECIES_TOGETIC] = gMonFootprint_Togetic, + [SPECIES_NATU] = gMonFootprint_Natu, + [SPECIES_XATU] = gMonFootprint_Xatu, + [SPECIES_MAREEP] = gMonFootprint_Mareep, + [SPECIES_FLAAFFY] = gMonFootprint_Flaaffy, + [SPECIES_AMPHAROS] = gMonFootprint_Ampharos, + [SPECIES_BELLOSSOM] = gMonFootprint_Bellossom, + [SPECIES_MARILL] = gMonFootprint_Marill, + [SPECIES_AZUMARILL] = gMonFootprint_Azumarill, + [SPECIES_SUDOWOODO] = gMonFootprint_Sudowoodo, + [SPECIES_POLITOED] = gMonFootprint_Politoed, + [SPECIES_HOPPIP] = gMonFootprint_Hoppip, + [SPECIES_SKIPLOOM] = gMonFootprint_Skiploom, + [SPECIES_JUMPLUFF] = gMonFootprint_Jumpluff, + [SPECIES_AIPOM] = gMonFootprint_Aipom, + [SPECIES_SUNKERN] = gMonFootprint_Sunkern, + [SPECIES_SUNFLORA] = gMonFootprint_Sunflora, + [SPECIES_YANMA] = gMonFootprint_Yanma, + [SPECIES_WOOPER] = gMonFootprint_Wooper, + [SPECIES_QUAGSIRE] = gMonFootprint_Quagsire, + [SPECIES_ESPEON] = gMonFootprint_Espeon, + [SPECIES_UMBREON] = gMonFootprint_Umbreon, + [SPECIES_MURKROW] = gMonFootprint_Murkrow, + [SPECIES_SLOWKING] = gMonFootprint_Slowking, + [SPECIES_MISDREAVUS] = gMonFootprint_Misdreavus, + [SPECIES_UNOWN] = gMonFootprint_Unown, + [SPECIES_WOBBUFFET] = gMonFootprint_Wobbuffet, + [SPECIES_GIRAFARIG] = gMonFootprint_Girafarig, + [SPECIES_PINECO] = gMonFootprint_Pineco, + [SPECIES_FORRETRESS] = gMonFootprint_Forretress, + [SPECIES_DUNSPARCE] = gMonFootprint_Dunsparce, + [SPECIES_GLIGAR] = gMonFootprint_Gligar, + [SPECIES_STEELIX] = gMonFootprint_Steelix, + [SPECIES_SNUBBULL] = gMonFootprint_Snubbull, + [SPECIES_GRANBULL] = gMonFootprint_Granbull, + [SPECIES_QWILFISH] = gMonFootprint_Qwilfish, + [SPECIES_SCIZOR] = gMonFootprint_Scizor, + [SPECIES_SHUCKLE] = gMonFootprint_Shuckle, + [SPECIES_HERACROSS] = gMonFootprint_Heracross, + [SPECIES_SNEASEL] = gMonFootprint_Sneasel, + [SPECIES_TEDDIURSA] = gMonFootprint_Teddiursa, + [SPECIES_URSARING] = gMonFootprint_Ursaring, + [SPECIES_SLUGMA] = gMonFootprint_Slugma, + [SPECIES_MAGCARGO] = gMonFootprint_Magcargo, + [SPECIES_SWINUB] = gMonFootprint_Swinub, + [SPECIES_PILOSWINE] = gMonFootprint_Piloswine, + [SPECIES_CORSOLA] = gMonFootprint_Corsola, + [SPECIES_REMORAID] = gMonFootprint_Remoraid, + [SPECIES_OCTILLERY] = gMonFootprint_Octillery, + [SPECIES_DELIBIRD] = gMonFootprint_Delibird, + [SPECIES_MANTINE] = gMonFootprint_Mantine, + [SPECIES_SKARMORY] = gMonFootprint_Skarmory, + [SPECIES_HOUNDOUR] = gMonFootprint_Houndour, + [SPECIES_HOUNDOOM] = gMonFootprint_Houndoom, + [SPECIES_KINGDRA] = gMonFootprint_Kingdra, + [SPECIES_PHANPY] = gMonFootprint_Phanpy, + [SPECIES_DONPHAN] = gMonFootprint_Donphan, + [SPECIES_PORYGON2] = gMonFootprint_Porygon2, + [SPECIES_STANTLER] = gMonFootprint_Stantler, + [SPECIES_SMEARGLE] = gMonFootprint_Smeargle, + [SPECIES_TYROGUE] = gMonFootprint_Tyrogue, + [SPECIES_HITMONTOP] = gMonFootprint_Hitmontop, + [SPECIES_SMOOCHUM] = gMonFootprint_Smoochum, + [SPECIES_ELEKID] = gMonFootprint_Elekid, + [SPECIES_MAGBY] = gMonFootprint_Magby, + [SPECIES_MILTANK] = gMonFootprint_Miltank, + [SPECIES_BLISSEY] = gMonFootprint_Blissey, + [SPECIES_RAIKOU] = gMonFootprint_Raikou, + [SPECIES_ENTEI] = gMonFootprint_Entei, + [SPECIES_SUICUNE] = gMonFootprint_Suicune, + [SPECIES_LARVITAR] = gMonFootprint_Larvitar, + [SPECIES_PUPITAR] = gMonFootprint_Pupitar, + [SPECIES_TYRANITAR] = gMonFootprint_Tyranitar, + [SPECIES_LUGIA] = gMonFootprint_Lugia, + [SPECIES_HO_OH] = gMonFootprint_HoOh, + [SPECIES_CELEBI] = gMonFootprint_Celebi, + [SPECIES_OLD_UNOWN_B] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_C] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_D] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_E] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_F] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_G] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_H] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_I] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_J] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_K] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_L] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_M] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_N] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_O] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_P] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Q] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_R] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_S] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_T] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_U] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_V] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_W] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_X] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Y] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Z] = gMonFootprint_QuestionMark, + [SPECIES_TREECKO] = gMonFootprint_Treecko, + [SPECIES_GROVYLE] = gMonFootprint_Grovyle, + [SPECIES_SCEPTILE] = gMonFootprint_Sceptile, + [SPECIES_TORCHIC] = gMonFootprint_Torchic, + [SPECIES_COMBUSKEN] = gMonFootprint_Combusken, + [SPECIES_BLAZIKEN] = gMonFootprint_Blaziken, + [SPECIES_MUDKIP] = gMonFootprint_Mudkip, + [SPECIES_MARSHTOMP] = gMonFootprint_Marshtomp, + [SPECIES_SWAMPERT] = gMonFootprint_Swampert, + [SPECIES_POOCHYENA] = gMonFootprint_Poochyena, + [SPECIES_MIGHTYENA] = gMonFootprint_Mightyena, + [SPECIES_ZIGZAGOON] = gMonFootprint_Zigzagoon, + [SPECIES_LINOONE] = gMonFootprint_Linoone, + [SPECIES_WURMPLE] = gMonFootprint_Wurmple, + [SPECIES_SILCOON] = gMonFootprint_Silcoon, + [SPECIES_BEAUTIFLY] = gMonFootprint_Beautifly, + [SPECIES_CASCOON] = gMonFootprint_Cascoon, + [SPECIES_DUSTOX] = gMonFootprint_Dustox, + [SPECIES_LOTAD] = gMonFootprint_Lotad, + [SPECIES_LOMBRE] = gMonFootprint_Lombre, + [SPECIES_LUDICOLO] = gMonFootprint_Ludicolo, + [SPECIES_SEEDOT] = gMonFootprint_Seedot, + [SPECIES_NUZLEAF] = gMonFootprint_Nuzleaf, + [SPECIES_SHIFTRY] = gMonFootprint_Shiftry, + [SPECIES_NINCADA] = gMonFootprint_Nincada, + [SPECIES_NINJASK] = gMonFootprint_Ninjask, + [SPECIES_SHEDINJA] = gMonFootprint_Shedinja, + [SPECIES_TAILLOW] = gMonFootprint_Taillow, + [SPECIES_SWELLOW] = gMonFootprint_Swellow, + [SPECIES_SHROOMISH] = gMonFootprint_Shroomish, + [SPECIES_BRELOOM] = gMonFootprint_Breloom, + [SPECIES_SPINDA] = gMonFootprint_Spinda, + [SPECIES_WINGULL] = gMonFootprint_Wingull, + [SPECIES_PELIPPER] = gMonFootprint_Pelipper, + [SPECIES_SURSKIT] = gMonFootprint_Surskit, + [SPECIES_MASQUERAIN] = gMonFootprint_Masquerain, + [SPECIES_WAILMER] = gMonFootprint_Wailmer, + [SPECIES_WAILORD] = gMonFootprint_Wailord, + [SPECIES_SKITTY] = gMonFootprint_Skitty, + [SPECIES_DELCATTY] = gMonFootprint_Delcatty, + [SPECIES_KECLEON] = gMonFootprint_Kecleon, + [SPECIES_BALTOY] = gMonFootprint_Baltoy, + [SPECIES_CLAYDOL] = gMonFootprint_Claydol, + [SPECIES_NOSEPASS] = gMonFootprint_Nosepass, + [SPECIES_TORKOAL] = gMonFootprint_Torkoal, + [SPECIES_SABLEYE] = gMonFootprint_Sableye, + [SPECIES_BARBOACH] = gMonFootprint_Barboach, + [SPECIES_WHISCASH] = gMonFootprint_Whiscash, + [SPECIES_LUVDISC] = gMonFootprint_Luvdisc, + [SPECIES_CORPHISH] = gMonFootprint_Corphish, + [SPECIES_CRAWDAUNT] = gMonFootprint_Crawdaunt, + [SPECIES_FEEBAS] = gMonFootprint_Feebas, + [SPECIES_MILOTIC] = gMonFootprint_Milotic, + [SPECIES_CARVANHA] = gMonFootprint_Carvanha, + [SPECIES_SHARPEDO] = gMonFootprint_Sharpedo, + [SPECIES_TRAPINCH] = gMonFootprint_Trapinch, + [SPECIES_VIBRAVA] = gMonFootprint_Vibrava, + [SPECIES_FLYGON] = gMonFootprint_Flygon, + [SPECIES_MAKUHITA] = gMonFootprint_Makuhita, + [SPECIES_HARIYAMA] = gMonFootprint_Hariyama, + [SPECIES_ELECTRIKE] = gMonFootprint_Electrike, + [SPECIES_MANECTRIC] = gMonFootprint_Manectric, + [SPECIES_NUMEL] = gMonFootprint_Numel, + [SPECIES_CAMERUPT] = gMonFootprint_Camerupt, + [SPECIES_SPHEAL] = gMonFootprint_Spheal, + [SPECIES_SEALEO] = gMonFootprint_Sealeo, + [SPECIES_WALREIN] = gMonFootprint_Walrein, + [SPECIES_CACNEA] = gMonFootprint_Cacnea, + [SPECIES_CACTURNE] = gMonFootprint_Cacturne, + [SPECIES_SNORUNT] = gMonFootprint_Snorunt, + [SPECIES_GLALIE] = gMonFootprint_Glalie, + [SPECIES_LUNATONE] = gMonFootprint_Lunatone, + [SPECIES_SOLROCK] = gMonFootprint_Solrock, + [SPECIES_AZURILL] = gMonFootprint_Azurill, + [SPECIES_SPOINK] = gMonFootprint_Spoink, + [SPECIES_GRUMPIG] = gMonFootprint_Grumpig, + [SPECIES_PLUSLE] = gMonFootprint_Plusle, + [SPECIES_MINUN] = gMonFootprint_Minun, + [SPECIES_MAWILE] = gMonFootprint_Mawile, + [SPECIES_MEDITITE] = gMonFootprint_Meditite, + [SPECIES_MEDICHAM] = gMonFootprint_Medicham, + [SPECIES_SWABLU] = gMonFootprint_Swablu, + [SPECIES_ALTARIA] = gMonFootprint_Altaria, + [SPECIES_WYNAUT] = gMonFootprint_Wynaut, + [SPECIES_DUSKULL] = gMonFootprint_Duskull, + [SPECIES_DUSCLOPS] = gMonFootprint_Dusclops, + [SPECIES_ROSELIA] = gMonFootprint_Roselia, + [SPECIES_SLAKOTH] = gMonFootprint_Slakoth, + [SPECIES_VIGOROTH] = gMonFootprint_Vigoroth, + [SPECIES_SLAKING] = gMonFootprint_Slaking, + [SPECIES_GULPIN] = gMonFootprint_Gulpin, + [SPECIES_SWALOT] = gMonFootprint_Swalot, + [SPECIES_TROPIUS] = gMonFootprint_Tropius, + [SPECIES_WHISMUR] = gMonFootprint_Whismur, + [SPECIES_LOUDRED] = gMonFootprint_Loudred, + [SPECIES_EXPLOUD] = gMonFootprint_Exploud, + [SPECIES_CLAMPERL] = gMonFootprint_Clamperl, + [SPECIES_HUNTAIL] = gMonFootprint_Huntail, + [SPECIES_GOREBYSS] = gMonFootprint_Gorebyss, + [SPECIES_ABSOL] = gMonFootprint_Absol, + [SPECIES_SHUPPET] = gMonFootprint_Shuppet, + [SPECIES_BANETTE] = gMonFootprint_Banette, + [SPECIES_SEVIPER] = gMonFootprint_Seviper, + [SPECIES_ZANGOOSE] = gMonFootprint_Zangoose, + [SPECIES_RELICANTH] = gMonFootprint_Relicanth, + [SPECIES_ARON] = gMonFootprint_Aron, + [SPECIES_LAIRON] = gMonFootprint_Lairon, + [SPECIES_AGGRON] = gMonFootprint_Aggron, + [SPECIES_CASTFORM] = gMonFootprint_Castform, + [SPECIES_VOLBEAT] = gMonFootprint_Volbeat, + [SPECIES_ILLUMISE] = gMonFootprint_Illumise, + [SPECIES_LILEEP] = gMonFootprint_Lileep, + [SPECIES_CRADILY] = gMonFootprint_Cradily, + [SPECIES_ANORITH] = gMonFootprint_Anorith, + [SPECIES_ARMALDO] = gMonFootprint_Armaldo, + [SPECIES_RALTS] = gMonFootprint_Ralts, + [SPECIES_KIRLIA] = gMonFootprint_Kirlia, + [SPECIES_GARDEVOIR] = gMonFootprint_Gardevoir, + [SPECIES_BAGON] = gMonFootprint_Bagon, + [SPECIES_SHELGON] = gMonFootprint_Shelgon, + [SPECIES_SALAMENCE] = gMonFootprint_Salamence, + [SPECIES_BELDUM] = gMonFootprint_Beldum, + [SPECIES_METANG] = gMonFootprint_Metang, + [SPECIES_METAGROSS] = gMonFootprint_Metagross, + [SPECIES_REGIROCK] = gMonFootprint_Regirock, + [SPECIES_REGICE] = gMonFootprint_Regice, + [SPECIES_REGISTEEL] = gMonFootprint_Registeel, + [SPECIES_KYOGRE] = gMonFootprint_Kyogre, + [SPECIES_GROUDON] = gMonFootprint_Groudon, + [SPECIES_RAYQUAZA] = gMonFootprint_Rayquaza, + [SPECIES_LATIAS] = gMonFootprint_Latias, + [SPECIES_LATIOS] = gMonFootprint_Latios, + [SPECIES_JIRACHI] = gMonFootprint_Jirachi, + [SPECIES_DEOXYS] = gMonFootprint_Deoxys, + [SPECIES_CHIMECHO] = gMonFootprint_Chimecho, + [SPECIES_EGG] = gMonFootprint_Bulbasaur, +}; diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json index 9030dee5f..6551a6593 100644 --- a/src/data/wild_encounters.json +++ b/src/data/wild_encounters.json @@ -78,7 +78,7 @@ "encounters": [ { "map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER", - "base_label": "sSevenIslandTanobyRuinsMoneanChamber", + "base_label": "sSevenIslandTanobyRuinsMoneanChamber_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -147,7 +147,7 @@ }, { "map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_LIPTOO_CHAMBER", - "base_label": "sSevenIslandTanobyRuinsLiptooChamber", + "base_label": "sSevenIslandTanobyRuinsLiptooChamber_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -216,7 +216,7 @@ }, { "map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_WEEPTH_CHAMBER", - "base_label": "sSevenIslandTanobyRuinsWeepthChamber", + "base_label": "sSevenIslandTanobyRuinsWeepthChamber_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -285,7 +285,7 @@ }, { "map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_DILFORD_CHAMBER", - "base_label": "sSevenIslandTanobyRuinsDilfordChamber", + "base_label": "sSevenIslandTanobyRuinsDilfordChamber_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -354,7 +354,7 @@ }, { "map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_SCUFIB_CHAMBER", - "base_label": "sSevenIslandTanobyRuinsScufibChamber", + "base_label": "sSevenIslandTanobyRuinsScufibChamber_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -423,7 +423,7 @@ }, { "map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_RIXY_CHAMBER", - "base_label": "sSevenIslandTanobyRuinsRixyChamber", + "base_label": "sSevenIslandTanobyRuinsRixyChamber_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -492,7 +492,7 @@ }, { "map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_VIAPOIS_CHAMBER", - "base_label": "sSevenIslandTanobyRuinsViapoisChamber", + "base_label": "sSevenIslandTanobyRuinsViapoisChamber_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -561,7 +561,7 @@ }, { "map": "MAP_VIRIDIAN_FOREST", - "base_label": "sViridianForest", + "base_label": "sViridianForest_FireRed", "land_mons": { "encounter_rate": 14, "mons": [ @@ -630,7 +630,7 @@ }, { "map": "MAP_MT_MOON_1F", - "base_label": "sMtMoon1F", + "base_label": "sMtMoon1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -699,7 +699,7 @@ }, { "map": "MAP_MT_MOON_B1F", - "base_label": "sMtMoonB1F", + "base_label": "sMtMoonB1F_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -768,7 +768,7 @@ }, { "map": "MAP_MT_MOON_B2F", - "base_label": "sMtMoonB2F", + "base_label": "sMtMoonB2F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -837,7 +837,7 @@ }, { "map": "MAP_SSANNE_EXTERIOR", - "base_label": "sSSAnneExterior", + "base_label": "sSSAnneExterior_FireRed", "water_mons": { "encounter_rate": 1, "mons": [ @@ -926,7 +926,7 @@ }, { "map": "MAP_DIGLETTS_CAVE_B1F", - "base_label": "sDiglettsCaveB1F", + "base_label": "sDiglettsCaveB1F_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -995,7 +995,7 @@ }, { "map": "MAP_VICTORY_ROAD_1F", - "base_label": "sVictoryRoad1F", + "base_label": "sVictoryRoad1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -1064,7 +1064,7 @@ }, { "map": "MAP_VICTORY_ROAD_2F", - "base_label": "sVictoryRoad2F", + "base_label": "sVictoryRoad2F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -1133,7 +1133,7 @@ }, { "map": "MAP_VICTORY_ROAD_3F", - "base_label": "sVictoryRoad3F", + "base_label": "sVictoryRoad3F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -1202,7 +1202,7 @@ }, { "map": "MAP_POKEMON_MANSION_1F", - "base_label": "sPokemonMansion1F", + "base_label": "sPokemonMansion1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -1271,7 +1271,7 @@ }, { "map": "MAP_POKEMON_MANSION_2F", - "base_label": "sPokemonMansion2F", + "base_label": "sPokemonMansion2F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -1340,7 +1340,7 @@ }, { "map": "MAP_POKEMON_MANSION_3F", - "base_label": "sPokemonMansion3F", + "base_label": "sPokemonMansion3F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -1409,7 +1409,7 @@ }, { "map": "MAP_POKEMON_MANSION_B1F", - "base_label": "sPokemonMansionB1F", + "base_label": "sPokemonMansionB1F_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -1478,7 +1478,7 @@ }, { "map": "MAP_SAFARI_ZONE_CENTER", - "base_label": "sSafariZoneCenter", + "base_label": "sSafariZoneCenter_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -1632,7 +1632,7 @@ }, { "map": "MAP_SAFARI_ZONE_EAST", - "base_label": "sSafariZoneEast", + "base_label": "sSafariZoneEast_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -1786,7 +1786,7 @@ }, { "map": "MAP_SAFARI_ZONE_NORTH", - "base_label": "sSafariZoneNorth", + "base_label": "sSafariZoneNorth_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -1940,7 +1940,7 @@ }, { "map": "MAP_SAFARI_ZONE_WEST", - "base_label": "sSafariZoneWest", + "base_label": "sSafariZoneWest_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -2094,7 +2094,7 @@ }, { "map": "MAP_CERULEAN_CAVE_1F", - "base_label": "sCeruleanCave1F", + "base_label": "sCeruleanCave1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -2278,7 +2278,7 @@ }, { "map": "MAP_CERULEAN_CAVE_2F", - "base_label": "sCeruleanCave2F", + "base_label": "sCeruleanCave2F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -2377,7 +2377,7 @@ }, { "map": "MAP_CERULEAN_CAVE_B1F", - "base_label": "sCeruleanCaveB1F", + "base_label": "sCeruleanCaveB1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -2561,7 +2561,7 @@ }, { "map": "MAP_ROCK_TUNNEL_1F", - "base_label": "sRockTunnel1F", + "base_label": "sRockTunnel1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -2630,7 +2630,7 @@ }, { "map": "MAP_ROCK_TUNNEL_B1F", - "base_label": "sRockTunnelB1F", + "base_label": "sRockTunnelB1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -2729,7 +2729,7 @@ }, { "map": "MAP_SEAFOAM_ISLANDS_1F", - "base_label": "sSeafoamIslands1F", + "base_label": "sSeafoamIslands1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -2798,7 +2798,7 @@ }, { "map": "MAP_SEAFOAM_ISLANDS_B1F", - "base_label": "sSeafoamIslandsB1F", + "base_label": "sSeafoamIslandsB1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -2867,7 +2867,7 @@ }, { "map": "MAP_SEAFOAM_ISLANDS_B2F", - "base_label": "sSeafoamIslandsB2F", + "base_label": "sSeafoamIslandsB2F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -2936,7 +2936,7 @@ }, { "map": "MAP_SEAFOAM_ISLANDS_B3F", - "base_label": "sSeafoamIslandsB3F", + "base_label": "sSeafoamIslandsB3F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -3090,7 +3090,7 @@ }, { "map": "MAP_SEAFOAM_ISLANDS_B4F", - "base_label": "sSeafoamIslandsB4F", + "base_label": "sSeafoamIslandsB4F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -3244,7 +3244,7 @@ }, { "map": "MAP_POKEMON_TOWER_3F", - "base_label": "sPokemonTower3F", + "base_label": "sPokemonTower3F_FireRed", "land_mons": { "encounter_rate": 2, "mons": [ @@ -3313,7 +3313,7 @@ }, { "map": "MAP_POKEMON_TOWER_4F", - "base_label": "sPokemonTower4F", + "base_label": "sPokemonTower4F_FireRed", "land_mons": { "encounter_rate": 4, "mons": [ @@ -3382,7 +3382,7 @@ }, { "map": "MAP_POKEMON_TOWER_5F", - "base_label": "sPokemonTower5F", + "base_label": "sPokemonTower5F_FireRed", "land_mons": { "encounter_rate": 6, "mons": [ @@ -3451,7 +3451,7 @@ }, { "map": "MAP_POKEMON_TOWER_6F", - "base_label": "sPokemonTower6F", + "base_label": "sPokemonTower6F_FireRed", "land_mons": { "encounter_rate": 8, "mons": [ @@ -3520,7 +3520,7 @@ }, { "map": "MAP_POKEMON_TOWER_7F", - "base_label": "sPokemonTower7F", + "base_label": "sPokemonTower7F_FireRed", "land_mons": { "encounter_rate": 10, "mons": [ @@ -3589,7 +3589,7 @@ }, { "map": "MAP_POWER_PLANT", - "base_label": "sPowerPlant", + "base_label": "sPowerPlant_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -3658,7 +3658,7 @@ }, { "map": "MAP_MT_EMBER_EXTERIOR", - "base_label": "sMtEmberExterior", + "base_label": "sMtEmberExterior_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -3757,7 +3757,7 @@ }, { "map": "MAP_MT_EMBER_SUMMIT_PATH_1F", - "base_label": "sMtEmberSummitPath1F", + "base_label": "sMtEmberSummitPath1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -3826,7 +3826,7 @@ }, { "map": "MAP_MT_EMBER_SUMMIT_PATH_2F", - "base_label": "sMtEmberSummitPath2F", + "base_label": "sMtEmberSummitPath2F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -3925,7 +3925,7 @@ }, { "map": "MAP_MT_EMBER_SUMMIT_PATH_3F", - "base_label": "sMtEmberSummitPath3F", + "base_label": "sMtEmberSummitPath3F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -3994,7 +3994,7 @@ }, { "map": "MAP_MT_EMBER_RUBY_PATH_1F", - "base_label": "sMtEmberRubyPath1F", + "base_label": "sMtEmberRubyPath1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -4093,7 +4093,7 @@ }, { "map": "MAP_MT_EMBER_RUBY_PATH_B1F", - "base_label": "sMtEmberRubyPathB1F", + "base_label": "sMtEmberRubyPathB1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -4192,7 +4192,7 @@ }, { "map": "MAP_MT_EMBER_RUBY_PATH_B2F", - "base_label": "sMtEmberRubyPathB2F", + "base_label": "sMtEmberRubyPathB2F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -4291,7 +4291,7 @@ }, { "map": "MAP_MT_EMBER_RUBY_PATH_B3F", - "base_label": "sMtEmberRubyPathB3F", + "base_label": "sMtEmberRubyPathB3F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -4390,7 +4390,7 @@ }, { "map": "MAP_MT_EMBER_RUBY_PATH_B1F_STAIRS", - "base_label": "sMtEmberRubyPathB1FStairs", + "base_label": "sMtEmberRubyPathB1FStairs_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -4489,7 +4489,7 @@ }, { "map": "MAP_MT_EMBER_RUBY_PATH_B2F_STAIRS", - "base_label": "sMtEmberRubyPathB2FStairs", + "base_label": "sMtEmberRubyPathB2FStairs_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -4588,7 +4588,7 @@ }, { "map": "MAP_THREE_ISLAND_BERRY_FOREST", - "base_label": "sThreeIslandBerryForest", + "base_label": "sThreeIslandBerryForest_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -4742,7 +4742,7 @@ }, { "map": "MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE", - "base_label": "sFourIslandIcefallCaveEntrance", + "base_label": "sFourIslandIcefallCaveEntrance_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -4896,7 +4896,7 @@ }, { "map": "MAP_FOUR_ISLAND_ICEFALL_CAVE_1F", - "base_label": "sFourIslandIcefallCave1F", + "base_label": "sFourIslandIcefallCave1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -4965,7 +4965,7 @@ }, { "map": "MAP_FOUR_ISLAND_ICEFALL_CAVE_B1F", - "base_label": "sFourIslandIcefallCaveB1F", + "base_label": "sFourIslandIcefallCaveB1F_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -5034,7 +5034,7 @@ }, { "map": "MAP_FOUR_ISLAND_ICEFALL_CAVE_BACK", - "base_label": "sFourIslandIcefallCaveBack", + "base_label": "sFourIslandIcefallCaveBack_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -5188,7 +5188,7 @@ }, { "map": "MAP_SIX_ISLAND_PATTERN_BUSH", - "base_label": "sSixIslandPatternBush", + "base_label": "sSixIslandPatternBush_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -5257,7 +5257,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM1", - "base_label": "sFiveIslandLostCaveRoom1", + "base_label": "sFiveIslandLostCaveRoom1_FireRed", "land_mons": { "encounter_rate": 1, "mons": [ @@ -5326,7 +5326,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM2", - "base_label": "sFiveIslandLostCaveRoom2", + "base_label": "sFiveIslandLostCaveRoom2_FireRed", "land_mons": { "encounter_rate": 2, "mons": [ @@ -5395,7 +5395,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM3", - "base_label": "sFiveIslandLostCaveRoom3", + "base_label": "sFiveIslandLostCaveRoom3_FireRed", "land_mons": { "encounter_rate": 3, "mons": [ @@ -5464,7 +5464,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM4", - "base_label": "sFiveIslandLostCaveRoom4", + "base_label": "sFiveIslandLostCaveRoom4_FireRed", "land_mons": { "encounter_rate": 4, "mons": [ @@ -5533,7 +5533,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM5", - "base_label": "sFiveIslandLostCaveRoom5", + "base_label": "sFiveIslandLostCaveRoom5_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -5602,7 +5602,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM6", - "base_label": "sFiveIslandLostCaveRoom6", + "base_label": "sFiveIslandLostCaveRoom6_FireRed", "land_mons": { "encounter_rate": 6, "mons": [ @@ -5671,7 +5671,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM7", - "base_label": "sFiveIslandLostCaveRoom7", + "base_label": "sFiveIslandLostCaveRoom7_FireRed", "land_mons": { "encounter_rate": 7, "mons": [ @@ -5740,7 +5740,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM8", - "base_label": "sFiveIslandLostCaveRoom8", + "base_label": "sFiveIslandLostCaveRoom8_FireRed", "land_mons": { "encounter_rate": 8, "mons": [ @@ -5809,7 +5809,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM9", - "base_label": "sFiveIslandLostCaveRoom9", + "base_label": "sFiveIslandLostCaveRoom9_FireRed", "land_mons": { "encounter_rate": 9, "mons": [ @@ -5878,7 +5878,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM10", - "base_label": "sFiveIslandLostCaveRoom10", + "base_label": "sFiveIslandLostCaveRoom10_FireRed", "land_mons": { "encounter_rate": 10, "mons": [ @@ -5947,7 +5947,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM11", - "base_label": "sFiveIslandLostCaveRoom11", + "base_label": "sFiveIslandLostCaveRoom11_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -6016,7 +6016,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM12", - "base_label": "sFiveIslandLostCaveRoom12", + "base_label": "sFiveIslandLostCaveRoom12_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -6085,7 +6085,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM13", - "base_label": "sFiveIslandLostCaveRoom13", + "base_label": "sFiveIslandLostCaveRoom13_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -6154,7 +6154,7 @@ }, { "map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM14", - "base_label": "sFiveIslandLostCaveRoom14", + "base_label": "sFiveIslandLostCaveRoom14_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -6223,7 +6223,7 @@ }, { "map": "MAP_ONE_ISLAND_KINDLE_ROAD", - "base_label": "sOneIslandKindleRoad", + "base_label": "sOneIslandKindleRoad_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -6407,7 +6407,7 @@ }, { "map": "MAP_ONE_ISLAND_TREASURE_BEACH", - "base_label": "sOneIslandTreasureBeach", + "base_label": "sOneIslandTreasureBeach_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -6561,7 +6561,7 @@ }, { "map": "MAP_TWO_ISLAND_CAPE_BRINK", - "base_label": "sTwoIslandCapeBrink", + "base_label": "sTwoIslandCapeBrink_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -6715,7 +6715,7 @@ }, { "map": "MAP_THREE_ISLAND_BOND_BRIDGE", - "base_label": "sThreeIslandBondBridge", + "base_label": "sThreeIslandBondBridge_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -6869,7 +6869,7 @@ }, { "map": "MAP_THREE_ISLAND_PORT", - "base_label": "sThreeIslandPort", + "base_label": "sThreeIslandPort_FireRed", "land_mons": { "encounter_rate": 1, "mons": [ @@ -6938,7 +6938,7 @@ }, { "map": "MAP_FIVE_ISLAND_RESORT_GORGEOUS", - "base_label": "sFiveIslandResortGorgeous", + "base_label": "sFiveIslandResortGorgeous_FireRed", "water_mons": { "encounter_rate": 2, "mons": [ @@ -7027,7 +7027,7 @@ }, { "map": "MAP_FIVE_ISLAND_WATER_LABYRINTH", - "base_label": "sFiveIslandWaterLabyrinth", + "base_label": "sFiveIslandWaterLabyrinth_FireRed", "water_mons": { "encounter_rate": 2, "mons": [ @@ -7116,7 +7116,7 @@ }, { "map": "MAP_FIVE_ISLAND_MEADOW", - "base_label": "sFiveIslandMeadow", + "base_label": "sFiveIslandMeadow_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -7270,7 +7270,7 @@ }, { "map": "MAP_FIVE_ISLAND_MEMORIAL_PILLAR", - "base_label": "sFiveIslandMemorialPillar", + "base_label": "sFiveIslandMemorialPillar_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -7424,7 +7424,7 @@ }, { "map": "MAP_SIX_ISLAND_OUTCAST_ISLAND", - "base_label": "sSixIslandOutcastIsland", + "base_label": "sSixIslandOutcastIsland_FireRed", "water_mons": { "encounter_rate": 2, "mons": [ @@ -7513,7 +7513,7 @@ }, { "map": "MAP_SIX_ISLAND_GREEN_PATH", - "base_label": "sSixIslandGreenPath", + "base_label": "sSixIslandGreenPath_FireRed", "water_mons": { "encounter_rate": 2, "mons": [ @@ -7602,7 +7602,7 @@ }, { "map": "MAP_SIX_ISLAND_WATER_PATH", - "base_label": "sSixIslandWaterPath", + "base_label": "sSixIslandWaterPath_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -7756,7 +7756,7 @@ }, { "map": "MAP_SIX_ISLAND_RUIN_VALLEY", - "base_label": "sSixIslandRuinValley", + "base_label": "sSixIslandRuinValley_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -7910,7 +7910,7 @@ }, { "map": "MAP_SEVEN_ISLAND_TRAINER_TOWER", - "base_label": "sSevenIslandTrainerTower", + "base_label": "sSevenIslandTrainerTower_FireRed", "water_mons": { "encounter_rate": 2, "mons": [ @@ -7999,7 +7999,7 @@ }, { "map": "MAP_SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE", - "base_label": "sSevenIslandSevaultCanyonEntrance", + "base_label": "sSevenIslandSevaultCanyonEntrance_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -8068,7 +8068,7 @@ }, { "map": "MAP_SEVEN_ISLAND_SEVAULT_CANYON", - "base_label": "sSevenIslandSevaultCanyon", + "base_label": "sSevenIslandSevaultCanyon_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -8167,7 +8167,7 @@ }, { "map": "MAP_SEVEN_ISLAND_TANOBY_RUINS", - "base_label": "sSevenIslandTanobyRuins", + "base_label": "sSevenIslandTanobyRuins_FireRed", "water_mons": { "encounter_rate": 2, "mons": [ @@ -8256,7 +8256,7 @@ }, { "map": "MAP_ROUTE1", - "base_label": "sRoute1", + "base_label": "sRoute1_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -8325,7 +8325,7 @@ }, { "map": "MAP_ROUTE2", - "base_label": "sRoute2", + "base_label": "sRoute2_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -8394,7 +8394,7 @@ }, { "map": "MAP_ROUTE3", - "base_label": "sRoute3", + "base_label": "sRoute3_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -8463,7 +8463,7 @@ }, { "map": "MAP_ROUTE4", - "base_label": "sRoute4", + "base_label": "sRoute4_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -8617,7 +8617,7 @@ }, { "map": "MAP_ROUTE5", - "base_label": "sRoute5", + "base_label": "sRoute5_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -8686,7 +8686,7 @@ }, { "map": "MAP_ROUTE6", - "base_label": "sRoute6", + "base_label": "sRoute6_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -8840,7 +8840,7 @@ }, { "map": "MAP_ROUTE7", - "base_label": "sRoute7", + "base_label": "sRoute7_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -8909,7 +8909,7 @@ }, { "map": "MAP_ROUTE8", - "base_label": "sRoute8", + "base_label": "sRoute8_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -8978,7 +8978,7 @@ }, { "map": "MAP_ROUTE9", - "base_label": "sRoute9", + "base_label": "sRoute9_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -9047,7 +9047,7 @@ }, { "map": "MAP_ROUTE10", - "base_label": "sRoute10", + "base_label": "sRoute10_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -9201,7 +9201,7 @@ }, { "map": "MAP_ROUTE11", - "base_label": "sRoute11", + "base_label": "sRoute11_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -9355,7 +9355,7 @@ }, { "map": "MAP_ROUTE12", - "base_label": "sRoute12", + "base_label": "sRoute12_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -9509,7 +9509,7 @@ }, { "map": "MAP_ROUTE13", - "base_label": "sRoute13", + "base_label": "sRoute13_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -9663,7 +9663,7 @@ }, { "map": "MAP_ROUTE14", - "base_label": "sRoute14", + "base_label": "sRoute14_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -9732,7 +9732,7 @@ }, { "map": "MAP_ROUTE15", - "base_label": "sRoute15", + "base_label": "sRoute15_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -9801,7 +9801,7 @@ }, { "map": "MAP_ROUTE16", - "base_label": "sRoute16", + "base_label": "sRoute16_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -9870,7 +9870,7 @@ }, { "map": "MAP_ROUTE17", - "base_label": "sRoute17", + "base_label": "sRoute17_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -9939,7 +9939,7 @@ }, { "map": "MAP_ROUTE18", - "base_label": "sRoute18", + "base_label": "sRoute18_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -10008,7 +10008,7 @@ }, { "map": "MAP_ROUTE19", - "base_label": "sRoute19", + "base_label": "sRoute19_FireRed", "water_mons": { "encounter_rate": 2, "mons": [ @@ -10097,7 +10097,7 @@ }, { "map": "MAP_ROUTE20", - "base_label": "sRoute20", + "base_label": "sRoute20_FireRed", "water_mons": { "encounter_rate": 2, "mons": [ @@ -10186,7 +10186,7 @@ }, { "map": "MAP_ROUTE21_NORTH", - "base_label": "sRoute21North", + "base_label": "sRoute21North_FireRed", "land_mons": { "encounter_rate": 14, "mons": [ @@ -10340,7 +10340,7 @@ }, { "map": "MAP_ROUTE21_SOUTH", - "base_label": "sRoute21South", + "base_label": "sRoute21South_FireRed", "land_mons": { "encounter_rate": 14, "mons": [ @@ -10494,7 +10494,7 @@ }, { "map": "MAP_ROUTE22", - "base_label": "sRoute22", + "base_label": "sRoute22_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -10648,7 +10648,7 @@ }, { "map": "MAP_ROUTE23", - "base_label": "sRoute23", + "base_label": "sRoute23_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -10802,7 +10802,7 @@ }, { "map": "MAP_ROUTE24", - "base_label": "sRoute24", + "base_label": "sRoute24_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -10956,7 +10956,7 @@ }, { "map": "MAP_ROUTE25", - "base_label": "sRoute25", + "base_label": "sRoute25_FireRed", "land_mons": { "encounter_rate": 21, "mons": [ @@ -11110,7 +11110,7 @@ }, { "map": "MAP_PALLET_TOWN", - "base_label": "sPalletTown", + "base_label": "sPalletTown_FireRed", "water_mons": { "encounter_rate": 1, "mons": [ @@ -11199,7 +11199,7 @@ }, { "map": "MAP_VIRIDIAN_CITY", - "base_label": "sViridianCity", + "base_label": "sViridianCity_FireRed", "water_mons": { "encounter_rate": 1, "mons": [ @@ -11288,7 +11288,7 @@ }, { "map": "MAP_CERULEAN_CITY", - "base_label": "sCeruleanCity", + "base_label": "sCeruleanCity_FireRed", "water_mons": { "encounter_rate": 1, "mons": [ @@ -11377,7 +11377,7 @@ }, { "map": "MAP_VERMILION_CITY", - "base_label": "sVermilionCity", + "base_label": "sVermilionCity_FireRed", "water_mons": { "encounter_rate": 1, "mons": [ @@ -11466,7 +11466,7 @@ }, { "map": "MAP_CELADON_CITY", - "base_label": "sCeladonCity", + "base_label": "sCeladonCity_FireRed", "water_mons": { "encounter_rate": 1, "mons": [ @@ -11555,7 +11555,7 @@ }, { "map": "MAP_FUCHSIA_CITY", - "base_label": "sFuchsiaCity", + "base_label": "sFuchsiaCity_FireRed", "water_mons": { "encounter_rate": 1, "mons": [ @@ -11644,7 +11644,7 @@ }, { "map": "MAP_CINNABAR_ISLAND", - "base_label": "sCinnabarIsland", + "base_label": "sCinnabarIsland_FireRed", "water_mons": { "encounter_rate": 1, "mons": [ @@ -11733,7 +11733,7 @@ }, { "map": "MAP_ONE_ISLAND", - "base_label": "sOneIsland", + "base_label": "sOneIsland_FireRed", "water_mons": { "encounter_rate": 1, "mons": [ @@ -11822,7 +11822,7 @@ }, { "map": "MAP_FOUR_ISLAND", - "base_label": "sFourIsland", + "base_label": "sFourIsland_FireRed", "water_mons": { "encounter_rate": 2, "mons": [ @@ -11911,7 +11911,7 @@ }, { "map": "MAP_FIVE_ISLAND", - "base_label": "sFiveIsland", + "base_label": "sFiveIsland_FireRed", "water_mons": { "encounter_rate": 1, "mons": [ @@ -12000,7 +12000,7 @@ }, { "map": "MAP_SIX_ISLAND_ALTERING_CAVE", - "base_label": "sSixIslandAlteringCave", + "base_label": "sSixIslandAlteringCave_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -12069,7 +12069,7 @@ }, { "map": "MAP_SIX_ISLAND_ALTERING_CAVE", - "base_label": "sSixIslandAlteringCave_2", + "base_label": "sSixIslandAlteringCave_2_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -12138,7 +12138,7 @@ }, { "map": "MAP_SIX_ISLAND_ALTERING_CAVE", - "base_label": "sSixIslandAlteringCave_3", + "base_label": "sSixIslandAlteringCave_3_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -12207,7 +12207,7 @@ }, { "map": "MAP_SIX_ISLAND_ALTERING_CAVE", - "base_label": "sSixIslandAlteringCave_4", + "base_label": "sSixIslandAlteringCave_4_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -12276,7 +12276,7 @@ }, { "map": "MAP_SIX_ISLAND_ALTERING_CAVE", - "base_label": "sSixIslandAlteringCave_5", + "base_label": "sSixIslandAlteringCave_5_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -12345,7 +12345,7 @@ }, { "map": "MAP_SIX_ISLAND_ALTERING_CAVE", - "base_label": "sSixIslandAlteringCave_6", + "base_label": "sSixIslandAlteringCave_6_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -12414,7 +12414,7 @@ }, { "map": "MAP_SIX_ISLAND_ALTERING_CAVE", - "base_label": "sSixIslandAlteringCave_7", + "base_label": "sSixIslandAlteringCave_7_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -12483,7 +12483,7 @@ }, { "map": "MAP_SIX_ISLAND_ALTERING_CAVE", - "base_label": "sSixIslandAlteringCave_8", + "base_label": "sSixIslandAlteringCave_8_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -12552,7 +12552,7 @@ }, { "map": "MAP_SIX_ISLAND_ALTERING_CAVE", - "base_label": "sSixIslandAlteringCave_9", + "base_label": "sSixIslandAlteringCave_9_FireRed", "land_mons": { "encounter_rate": 5, "mons": [ @@ -12618,6 +12618,12549 @@ } ] } + }, + { + "map": "SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER", + "base_label": "sSevenIslandTanobyRuinsMoneanChamber_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SEVEN_ISLAND_TANOBY_RUINS_LIPTOO_CHAMBER", + "base_label": "sSevenIslandTanobyRuinsLiptooChamber_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SEVEN_ISLAND_TANOBY_RUINS_WEEPTH_CHAMBER", + "base_label": "sSevenIslandTanobyRuinsWeepthChamber_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SEVEN_ISLAND_TANOBY_RUINS_DILFORD_CHAMBER", + "base_label": "sSevenIslandTanobyRuinsDilfordChamber_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SEVEN_ISLAND_TANOBY_RUINS_SCUFIB_CHAMBER", + "base_label": "sSevenIslandTanobyRuinsScufibChamber_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SEVEN_ISLAND_TANOBY_RUINS_RIXY_CHAMBER", + "base_label": "sSevenIslandTanobyRuinsRixyChamber_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SEVEN_ISLAND_TANOBY_RUINS_VIAPOIS_CHAMBER", + "base_label": "sSevenIslandTanobyRuinsViapoisChamber_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_UNOWN" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "VIRIDIAN_FOREST", + "base_label": "sViridianForest_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_CATERPIE" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WEEDLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CATERPIE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WEEDLE" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_CATERPIE" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WEEDLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_KAKUNA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_METAPOD" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_METAPOD" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_METAPOD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_PIKACHU" + } + ], + "encounter_rate": 14 + } + }, + { + "map": "MT_MOON_1F", + "base_label": "sMtMoon1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_PARAS" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_CLEFAIRY" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "MT_MOON_B1F", + "base_label": "sMtMoonB1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_PARAS" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_PARAS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_PARAS" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_PARAS" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_PARAS" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_PARAS" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_PARAS" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_PARAS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_PARAS" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_PARAS" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_PARAS" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_PARAS" + } + ], + "encounter_rate": 5 + } + }, + { + "map": "MT_MOON_B2F", + "base_label": "sMtMoonB2F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_PARAS" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_PARAS" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_CLEFAIRY" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_CLEFAIRY" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SSANNE_EXTERIOR", + "base_label": "sSSAnneExterior_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 1 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_STARYU" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "DIGLETTS_CAVE_B1F", + "base_label": "sDiglettsCaveB1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_DIGLETT" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_DIGLETT" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_DIGLETT" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_DIGLETT" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_DIGLETT" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_DIGLETT" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_DIGLETT" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_DIGLETT" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_DIGLETT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_DUGTRIO" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_DIGLETT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_DUGTRIO" + } + ], + "encounter_rate": 5 + } + }, + { + "map": "VICTORY_ROAD_1F", + "base_label": "sVictoryRoad1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_ONIX" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_ONIX" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_ONIX" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SANDSLASH" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_MAROWAK" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_MAROWAK" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "VICTORY_ROAD_2F", + "base_label": "sVictoryRoad2F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_PRIMEAPE" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_ONIX" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_ONIX" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_SANDSLASH" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_MAROWAK" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_MAROWAK" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "VICTORY_ROAD_3F", + "base_label": "sVictoryRoad3F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_ONIX" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_ONIX" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_ONIX" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SANDSLASH" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_MAROWAK" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_MAROWAK" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "POKEMON_MANSION_1F", + "base_label": "sPokemonMansion1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GRIMER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRIMER" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_KOFFING" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_MUK" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_RATTATA" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "POKEMON_MANSION_2F", + "base_label": "sPokemonMansion2F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GRIMER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRIMER" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_KOFFING" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_MUK" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_RATTATA" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "POKEMON_MANSION_3F", + "base_label": "sPokemonMansion3F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GRIMER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRIMER" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_KOFFING" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_MUK" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_RATTATA" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "POKEMON_MANSION_B1F", + "base_label": "sPokemonMansionB1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GRIMER" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRIMER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_DITTO" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_KOFFING" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_MUK" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_RATTATA" + } + ], + "encounter_rate": 5 + } + }, + { + "map": "SAFARI_ZONE_CENTER", + "base_label": "sSafariZoneCenter_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_RHYHORN" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_NIDORAN_F" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_EXEGGCUTE" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_EXEGGCUTE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_NIDORINA" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_NIDORINO" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_PARASECT" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PINSIR" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_CHANSEY" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_DRATINI" + }, + { + "min_level": 15, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_DRAGONAIR" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "SAFARI_ZONE_EAST", + "base_label": "sSafariZoneEast_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_NIDORAN_F" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_DODUO" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_EXEGGCUTE" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_EXEGGCUTE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_PARAS" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_NIDORINA" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_NIDORAN_M" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PARASECT" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_PARAS" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_KANGASKHAN" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_PARAS" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_PINSIR" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_DRATINI" + }, + { + "min_level": 15, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_DRAGONAIR" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "SAFARI_ZONE_NORTH", + "base_label": "sSafariZoneNorth_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_RHYHORN" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_NIDORAN_F" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_EXEGGCUTE" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_EXEGGCUTE" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PARAS" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_NIDORINA" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_NIDORINO" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_VENOMOTH" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PARAS" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_CHANSEY" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PARAS" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TAUROS" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_DRATINI" + }, + { + "min_level": 15, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_DRAGONAIR" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "SAFARI_ZONE_WEST", + "base_label": "sSafariZoneWest_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_DODUO" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_NIDORAN_F" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_EXEGGCUTE" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_EXEGGCUTE" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_NIDORINA" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_NIDORAN_M" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_VENOMOTH" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_TAUROS" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_KANGASKHAN" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_DRATINI" + }, + { + "min_level": 15, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_DRAGONAIR" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "CERULEAN_CAVE_1F", + "base_label": "sCeruleanCave1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_MAGNETON" + }, + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_PARASECT" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_PRIMEAPE" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_DITTO" + }, + { + "min_level": 58, + "max_level": 58, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 58, + "max_level": 58, + "species": "SPECIES_PARASECT" + }, + { + "min_level": 55, + "max_level": 55, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 55, + "max_level": 55, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 61, + "max_level": 61, + "species": "SPECIES_PRIMEAPE" + }, + { + "min_level": 61, + "max_level": 61, + "species": "SPECIES_DITTO" + } + ], + "encounter_rate": 7 + }, + "water_mons": { + "mons": [ + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 40, + "max_level": 50, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 45, + "max_level": 55, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 40, + "max_level": 50, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 40, + "max_level": 50, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 2 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 40, + "max_level": 50, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 45, + "max_level": 55, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 40, + "max_level": 50, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 40, + "max_level": 50, + "species": "SPECIES_GEODUDE" + } + ], + "encounter_rate": 50 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_POLIWHIRL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "CERULEAN_CAVE_2F", + "base_label": "sCeruleanCave2F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_MAGNETON" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_PARASECT" + }, + { + "min_level": 55, + "max_level": 55, + "species": "SPECIES_KADABRA" + }, + { + "min_level": 55, + "max_level": 55, + "species": "SPECIES_DITTO" + }, + { + "min_level": 58, + "max_level": 58, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 58, + "max_level": 58, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 61, + "max_level": 61, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 61, + "max_level": 61, + "species": "SPECIES_PARASECT" + }, + { + "min_level": 64, + "max_level": 64, + "species": "SPECIES_KADABRA" + }, + { + "min_level": 64, + "max_level": 64, + "species": "SPECIES_DITTO" + } + ], + "encounter_rate": 7 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 35, + "max_level": 45, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 45, + "max_level": 55, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 50, + "max_level": 60, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 45, + "max_level": 55, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 45, + "max_level": 55, + "species": "SPECIES_GEODUDE" + } + ], + "encounter_rate": 50 + } + }, + { + "map": "CERULEAN_CAVE_B1F", + "base_label": "sCeruleanCaveB1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 58, + "max_level": 58, + "species": "SPECIES_KADABRA" + }, + { + "min_level": 58, + "max_level": 58, + "species": "SPECIES_DITTO" + }, + { + "min_level": 55, + "max_level": 55, + "species": "SPECIES_MAGNETON" + }, + { + "min_level": 55, + "max_level": 55, + "species": "SPECIES_PARASECT" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 67, + "max_level": 67, + "species": "SPECIES_KADABRA" + }, + { + "min_level": 67, + "max_level": 67, + "species": "SPECIES_DITTO" + }, + { + "min_level": 64, + "max_level": 64, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 64, + "max_level": 64, + "species": "SPECIES_PARASECT" + }, + { + "min_level": 61, + "max_level": 61, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 61, + "max_level": 61, + "species": "SPECIES_WOBBUFFET" + } + ], + "encounter_rate": 7 + }, + "water_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 50, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 50, + "max_level": 60, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 55, + "max_level": 65, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 50, + "max_level": 60, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 50, + "max_level": 60, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 2 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 50, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 50, + "max_level": 60, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 55, + "max_level": 65, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 50, + "max_level": 60, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 50, + "max_level": 60, + "species": "SPECIES_GEODUDE" + } + ], + "encounter_rate": 50 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_POLIWHIRL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_GYARADOS" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROCK_TUNNEL_1F", + "base_label": "sRockTunnel1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ONIX" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_ONIX" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "ROCK_TUNNEL_B1F", + "base_label": "sRockTunnelB1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ONIX" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_ONIX" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_ONIX" + } + ], + "encounter_rate": 7 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 25, + "max_level": 40, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GRAVELER" + } + ], + "encounter_rate": 50 + } + }, + { + "map": "SEAFOAM_ISLANDS_1F", + "base_label": "sSeafoamIslands1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GOLBAT" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SEAFOAM_ISLANDS_B1F", + "base_label": "sSeafoamIslandsB1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SEEL" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GOLBAT" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SEAFOAM_ISLANDS_B2F", + "base_label": "sSeafoamIslandsB2F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SEEL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SEEL" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GOLBAT" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SEAFOAM_ISLANDS_B3F", + "base_label": "sSeafoamIslandsB3F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SEEL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SEEL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GOLBAT" + } + ], + "encounter_rate": 7 + }, + "water_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SEEL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWBRO" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_GYARADOS" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "SEAFOAM_ISLANDS_B4F", + "base_label": "sSeafoamIslandsB4F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SEEL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SEEL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SEEL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GOLBAT" + } + ], + "encounter_rate": 7 + }, + "water_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SEEL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWBRO" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_GYARADOS" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "POKEMON_TOWER_3F", + "base_label": "sPokemonTower3F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_CUBONE" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_CUBONE" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HAUNTER" + } + ], + "encounter_rate": 2 + } + }, + { + "map": "POKEMON_TOWER_4F", + "base_label": "sPokemonTower4F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_CUBONE" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_CUBONE" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_GASTLY" + } + ], + "encounter_rate": 4 + } + }, + { + "map": "POKEMON_TOWER_5F", + "base_label": "sPokemonTower5F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_CUBONE" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_CUBONE" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_GASTLY" + } + ], + "encounter_rate": 6 + } + }, + { + "map": "POKEMON_TOWER_6F", + "base_label": "sPokemonTower6F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_CUBONE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_CUBONE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_HAUNTER" + } + ], + "encounter_rate": 8 + } + }, + { + "map": "POKEMON_TOWER_7F", + "base_label": "sPokemonTower7F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_CUBONE" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_CUBONE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_HAUNTER" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "POWER_PLANT", + "base_label": "sPowerPlant_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_MAGNETON" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_MAGNETON" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_MAGNETON" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_MAGNETON" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "MT_EMBER_EXTERIOR", + "base_label": "sMtEmberExterior_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_PONYTA" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_PONYTA" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_PONYTA" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_MAGMAR" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_RAPIDASH" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_MAGMAR" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_RAPIDASH" + } + ], + "encounter_rate": 21 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 25, + "max_level": 40, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GRAVELER" + } + ], + "encounter_rate": 50 + } + }, + { + "map": "MT_EMBER_SUMMIT_PATH_1F", + "base_label": "sMtEmberSummitPath1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_MACHOP" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "MT_EMBER_SUMMIT_PATH_2F", + "base_label": "sMtEmberSummitPath2F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_MACHOKE" + } + ], + "encounter_rate": 7 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 25, + "max_level": 40, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GRAVELER" + } + ], + "encounter_rate": 50 + } + }, + { + "map": "MT_EMBER_SUMMIT_PATH_3F", + "base_label": "sMtEmberSummitPath3F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_MACHOP" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "MT_EMBER_RUBY_PATH_1F", + "base_label": "sMtEmberRubyPath1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_MACHOKE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_MACHOKE" + } + ], + "encounter_rate": 7 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 45, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 35, + "max_level": 50, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + } + ], + "encounter_rate": 50 + } + }, + { + "map": "MT_EMBER_RUBY_PATH_B1F", + "base_label": "sMtEmberRubyPathB1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SLUGMA" + } + ], + "encounter_rate": 7 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 45, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 35, + "max_level": 50, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + } + ], + "encounter_rate": 50 + } + }, + { + "map": "MT_EMBER_RUBY_PATH_B2F", + "base_label": "sMtEmberRubyPathB2F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SLUGMA" + } + ], + "encounter_rate": 7 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 45, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 35, + "max_level": 50, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + } + ], + "encounter_rate": 50 + } + }, + { + "map": "MT_EMBER_RUBY_PATH_B3F", + "base_label": "sMtEmberRubyPathB3F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_SLUGMA" + } + ], + "encounter_rate": 7 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_MAGCARGO" + }, + { + "min_level": 35, + "max_level": 45, + "species": "SPECIES_MAGCARGO" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_MAGCARGO" + } + ], + "encounter_rate": 50 + } + }, + { + "map": "MT_EMBER_RUBY_PATH_B1F_STAIRS", + "base_label": "sMtEmberRubyPathB1FStairs_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SLUGMA" + } + ], + "encounter_rate": 7 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 45, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 35, + "max_level": 50, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + } + ], + "encounter_rate": 50 + } + }, + { + "map": "MT_EMBER_RUBY_PATH_B2F_STAIRS", + "base_label": "sMtEmberRubyPathB2FStairs_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SLUGMA" + } + ], + "encounter_rate": 7 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 45, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 35, + "max_level": 50, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + } + ], + "encounter_rate": 50 + } + }, + { + "map": "THREE_ISLAND_BERRY_FOREST", + "base_label": "sThreeIslandBerryForest_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_WEEPINBELL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_DROWZEE" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_EXEGGCUTE" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_VENOMOTH" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_HYPNO" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_VENOMOTH" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_HYPNO" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWBRO" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE", + "base_label": "sFourIslandIcefallCaveEntrance_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_SEEL" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_SEEL" + }, + { + "min_level": 47, + "max_level": 47, + "species": "SPECIES_SEEL" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 51, + "max_level": 51, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 53, + "max_level": 53, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 53, + "max_level": 53, + "species": "SPECIES_DEWGONG" + } + ], + "encounter_rate": 7 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_SEEL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MARILL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_POLIWHIRL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "FOUR_ISLAND_ICEFALL_CAVE_1F", + "base_label": "sFourIslandIcefallCave1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SWINUB" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_SEEL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SWINUB" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SWINUB" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SNEASEL" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_SWINUB" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SWINUB" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SWINUB" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "FOUR_ISLAND_ICEFALL_CAVE_B1F", + "base_label": "sFourIslandIcefallCaveB1F_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SWINUB" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_SEEL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SWINUB" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SWINUB" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SNEASEL" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_SWINUB" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SWINUB" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SWINUB" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "FOUR_ISLAND_ICEFALL_CAVE_BACK", + "base_label": "sFourIslandIcefallCaveBack_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_SEEL" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_SEEL" + }, + { + "min_level": 47, + "max_level": 47, + "species": "SPECIES_SEEL" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 51, + "max_level": 51, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 53, + "max_level": 53, + "species": "SPECIES_DEWGONG" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 53, + "max_level": 53, + "species": "SPECIES_DEWGONG" + } + ], + "encounter_rate": 7 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 45, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 45, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 30, + "max_level": 45, + "species": "SPECIES_LAPRAS" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_STARYU" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "SIX_ISLAND_PATTERN_BUSH", + "base_label": "sSixIslandPatternBush_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_LEDYBA" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_KAKUNA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_LEDYBA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_CATERPIE" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_WEEDLE" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_HERACROSS" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_METAPOD" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HERACROSS" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_SPINARAK" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_HERACROSS" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_SPINARAK" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_HERACROSS" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM1", + "base_label": "sFiveIslandLostCaveRoom1_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 1 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM2", + "base_label": "sFiveIslandLostCaveRoom2_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 2 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM3", + "base_label": "sFiveIslandLostCaveRoom3_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 3 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM4", + "base_label": "sFiveIslandLostCaveRoom4_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 4 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM5", + "base_label": "sFiveIslandLostCaveRoom5_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 5 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM6", + "base_label": "sFiveIslandLostCaveRoom6_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 6 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM7", + "base_label": "sFiveIslandLostCaveRoom7_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM8", + "base_label": "sFiveIslandLostCaveRoom8_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 8 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM9", + "base_label": "sFiveIslandLostCaveRoom9_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 9 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM10", + "base_label": "sFiveIslandLostCaveRoom10_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM11", + "base_label": "sFiveIslandLostCaveRoom11_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 5 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM12", + "base_label": "sFiveIslandLostCaveRoom12_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 5 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM13", + "base_label": "sFiveIslandLostCaveRoom13_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 5 + } + }, + { + "map": "FIVE_ISLAND_LOST_CAVE_ROOM14", + "base_label": "sFiveIslandLostCaveRoom14_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GASTLY" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_HAUNTER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MISDREAVUS" + } + ], + "encounter_rate": 5 + } + }, + { + "map": "ONE_ISLAND_KINDLE_ROAD", + "base_label": "sOneIslandKindleRoad_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_PONYTA" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_PONYTA" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_RAPIDASH" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_PERSIAN" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_RAPIDASH" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_PERSIAN" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 25, + "max_level": 40, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GRAVELER" + } + ], + "encounter_rate": 25 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ONE_ISLAND_TREASURE_BEACH", + "base_label": "sOneIslandTreasureBeach_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_PERSIAN" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_PERSIAN" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "TWO_ISLAND_CAPE_BRINK", + "base_label": "sTwoIslandCapeBrink_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_WEEPINBELL" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_WEEPINBELL" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_PERSIAN" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_PERSIAN" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWBRO" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_POLIWHIRL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "THREE_ISLAND_BOND_BRIDGE", + "base_label": "sThreeIslandBondBridge_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_WEEPINBELL" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_PERSIAN" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_PERSIAN" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "THREE_ISLAND_PORT", + "base_label": "sThreeIslandPort_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_DUNSPARCE" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_DUNSPARCE" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_DUNSPARCE" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_DUNSPARCE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_DUNSPARCE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_DUNSPARCE" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DUNSPARCE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_DUNSPARCE" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DUNSPARCE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_DUNSPARCE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUNSPARCE" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_DUNSPARCE" + } + ], + "encounter_rate": 1 + } + }, + { + "map": "FIVE_ISLAND_RESORT_GORGEOUS", + "base_label": "sFiveIslandResortGorgeous_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "FIVE_ISLAND_WATER_LABYRINTH", + "base_label": "sFiveIslandWaterLabyrinth_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "FIVE_ISLAND_MEADOW", + "base_label": "sFiveIslandMeadow_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SENTRET" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SENTRET" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 47, + "max_level": 47, + "species": "SPECIES_PERSIAN" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_PERSIAN" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "FIVE_ISLAND_MEMORIAL_PILLAR", + "base_label": "sFiveIslandMemorialPillar_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOPPIP" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "SIX_ISLAND_OUTCAST_ISLAND", + "base_label": "sSixIslandOutcastIsland_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "SIX_ISLAND_GREEN_PATH", + "base_label": "sSixIslandGreenPath_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "SIX_ISLAND_WATER_PATH", + "base_label": "sSixIslandWaterPath_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SENTRET" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SENTRET" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_WEEPINBELL" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 47, + "max_level": 47, + "species": "SPECIES_PERSIAN" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_PERSIAN" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "SIX_ISLAND_RUIN_VALLEY", + "base_label": "sSixIslandRuinValley_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_NATU" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_YANMA" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_MARILL" + }, + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_NATU" + }, + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_PERSIAN" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_NATU" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_PERSIAN" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_MARILL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_POLIWHIRL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "SEVEN_ISLAND_TRAINER_TOWER", + "base_label": "sSevenIslandTrainerTower_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_MANTINE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE", + "base_label": "sSevenIslandSevaultCanyonEntrance_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SENTRET" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_PHANPY" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SENTRET" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_PHANPY" + }, + { + "min_level": 47, + "max_level": 47, + "species": "SPECIES_PERSIAN" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_PHANPY" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_PERSIAN" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "SEVEN_ISLAND_SEVAULT_CANYON", + "base_label": "sSevenIslandSevaultCanyon_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_PHANPY" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_CUBONE" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_MAROWAK" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 54, + "max_level": 54, + "species": "SPECIES_ONIX" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_LARVITAR" + }, + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_PERSIAN" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_LARVITAR" + }, + { + "min_level": 52, + "max_level": 52, + "species": "SPECIES_PERSIAN" + } + ], + "encounter_rate": 21 + }, + "rock_smash_mons": { + "mons": [ + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 45, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 35, + "max_level": 50, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + } + ], + "encounter_rate": 25 + } + }, + { + "map": "SEVEN_ISLAND_TANOBY_RUINS", + "base_label": "sSevenIslandTanobyRuins_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_MANTINE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE1", + "base_label": "sRoute1_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_RATTATA" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE2", + "base_label": "sRoute2_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_CATERPIE" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WEEDLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CATERPIE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WEEDLE" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE3", + "base_label": "sRoute3_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_NIDORAN_F" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_JIGGLYPUFF" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_NIDORAN_F" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_JIGGLYPUFF" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_NIDORAN_M" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_JIGGLYPUFF" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE4", + "base_label": "sRoute4_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_SANDSHREW" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE5", + "base_label": "sRoute5_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_MEOWTH" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE6", + "base_label": "sRoute6_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_MEOWTH" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_POLIWHIRL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE7", + "base_label": "sRoute7_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_MEOWTH" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE8", + "base_label": "sRoute8_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_MEOWTH" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_VULPIX" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE9", + "base_label": "sRoute9_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SANDSHREW" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE10", + "base_label": "sRoute10_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SANDSHREW" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE11", + "base_label": "sRoute11_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_DROWZEE" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_DROWZEE" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_DROWZEE" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_DROWZEE" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE12", + "base_label": "sRoute12_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_WEEPINBELL" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_WEEPINBELL" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 60 + } + }, + { + "map": "ROUTE13", + "base_label": "sRoute13_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DITTO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_WEEPINBELL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_WEEPINBELL" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE14", + "base_label": "sRoute14_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_DITTO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_WEEPINBELL" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_DITTO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_DITTO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PIDGEOTTO" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE15", + "base_label": "sRoute15_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_VENONAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DITTO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_WEEPINBELL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PIDGEOTTO" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_WEEPINBELL" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE16", + "base_label": "sRoute16_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_DODUO" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_DODUO" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_DODUO" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_RATICATE" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE17", + "base_label": "sRoute17_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_DODUO" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_DODUO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_DODUO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_FEAROW" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE18", + "base_label": "sRoute18_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_DODUO" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_DODUO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_DODUO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_RATICATE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_FEAROW" + } + ], + "encounter_rate": 21 + } + }, + { + "map": "ROUTE19", + "base_label": "sRoute19_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE20", + "base_label": "sRoute20_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE21_NORTH", + "base_label": "sRoute21North_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TANGELA" + } + ], + "encounter_rate": 14 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE21_SOUTH", + "base_label": "sRoute21South_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_TANGELA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TANGELA" + } + ], + "encounter_rate": 14 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE22", + "base_label": "sRoute22_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_RATTATA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MANKEY" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_POLIWHIRL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE23", + "base_label": "sRoute23_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_MANKEY" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_PRIMEAPE" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SANDSLASH" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_FEAROW" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPEAROW" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_FEAROW" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_POLIWHIRL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE24", + "base_label": "sRoute24_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_WEEDLE" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_CATERPIE" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ABRA" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_METAPOD" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ABRA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_KAKUNA" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_ABRA" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "ROUTE25", + "base_label": "sRoute25_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_WEEDLE" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_CATERPIE" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_ABRA" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_PIDGEY" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_BELLSPROUT" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_METAPOD" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_ABRA" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_KAKUNA" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ABRA" + } + ], + "encounter_rate": 21 + }, + "water_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_POLIWHIRL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "PALLET_TOWN", + "base_label": "sPalletTown_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 1 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_STARYU" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "VIRIDIAN_CITY", + "base_label": "sViridianCity_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 1 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_POLIWHIRL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "CERULEAN_CITY", + "base_label": "sCeruleanCity_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 1 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "VERMILION_CITY", + "base_label": "sVermilionCity_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 1 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_STARYU" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "CELADON_CITY", + "base_label": "sCeladonCity_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_KOFFING" + } + ], + "encounter_rate": 1 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GRIMER" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "FUCHSIA_CITY", + "base_label": "sFuchsiaCity_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 1 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "CINNABAR_ISLAND", + "base_label": "sCinnabarIsland_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + } + ], + "encounter_rate": 1 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_STARYU" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWBRO" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "ONE_ISLAND", + "base_label": "sOneIsland_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 20, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 20, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 1 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_STARYU" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "FOUR_ISLAND", + "base_label": "sFourIsland_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_MARILL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_MARILL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_MARILL" + } + ], + "encounter_rate": 2 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_POLIWAG" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_POLIWHIRL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SLOWPOKE" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 20 + } + }, + { + "map": "FIVE_ISLAND", + "base_label": "sFiveIsland_LeafGreen", + "water_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_HOPPIP" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_TENTACRUEL" + } + ], + "encounter_rate": 1 + }, + "fishing_mons": { + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_KRABBY" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_STARYU" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_KINGLER" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SLOWPOKE" + } + ], + "encounter_rate": 10 + } + }, + { + "map": "SIX_ISLAND_ALTERING_CAVE", + "base_label": "sSixIslandAlteringCave_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ZUBAT" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SIX_ISLAND_ALTERING_CAVE", + "base_label": "sSixIslandAlteringCave_2_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_MAREEP" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SIX_ISLAND_ALTERING_CAVE", + "base_label": "sSixIslandAlteringCave_3_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PINECO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PINECO" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_PINECO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PINECO" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PINECO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PINECO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PINECO" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_PINECO" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_PINECO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PINECO" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_PINECO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PINECO" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SIX_ISLAND_ALTERING_CAVE", + "base_label": "sSixIslandAlteringCave_4_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HOUNDOUR" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SIX_ISLAND_ALTERING_CAVE", + "base_label": "sSixIslandAlteringCave_5_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_TEDDIURSA" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SIX_ISLAND_ALTERING_CAVE", + "base_label": "sSixIslandAlteringCave_6_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_AIPOM" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SIX_ISLAND_ALTERING_CAVE", + "base_label": "sSixIslandAlteringCave_7_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUCKLE" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SIX_ISLAND_ALTERING_CAVE", + "base_label": "sSixIslandAlteringCave_8_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_STANTLER" + } + ], + "encounter_rate": 7 + } + }, + { + "map": "SIX_ISLAND_ALTERING_CAVE", + "base_label": "sSixIslandAlteringCave_9_LeafGreen", + "land_mons": { + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SMEARGLE" + } + ], + "encounter_rate": 7 + } } ] } diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt index bf848249f..a05639d2a 100644 --- a/src/data/wild_encounters.json.txt +++ b/src/data/wild_encounters.json.txt @@ -24,6 +24,8 @@ ## for encounter in wild_encounter_group.encounters +{% if contains(encounter.base_label, "LeafGreen") %}#ifdef LEAFGREEN +{% else if contains(encounter.base_label, "FireRed") %}#ifdef FIRERED{% endif %} {% if existsIn(encounter, "land_mons") %} const struct WildPokemon {{ encounter.base_label }}_LandMons[] = { @@ -64,11 +66,15 @@ const struct WildPokemon {{ encounter.base_label }}_FishingMons[] = const struct WildPokemonInfo {{ encounter.base_label }}_FishingMonsInfo = { {{encounter.fishing_mons.encounter_rate}}, {{ encounter.base_label }}_FishingMons }; {% endif %} +#endif + ## endfor const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = { ## for encounter in wild_encounter_group.encounters +{% if contains(encounter.base_label, "LeafGreen") %}#ifdef LEAFGREEN +{% else if contains(encounter.base_label, "FireRed") %}#ifdef FIRERED{% endif %} { .mapGroup = {% if wild_encounter_group.for_maps %}MAP_GROUP({{ removePrefix(encounter.map, "MAP_") }}){% else %}0{% endif %}, .mapNum = {% if wild_encounter_group.for_maps %}MAP_NUM({{ removePrefix(encounter.map, "MAP_") }}){% else %}{{ loop.index1 }}{% endif %}, @@ -77,6 +83,7 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = .rockSmashMonsInfo = {% if existsIn(encounter, "rock_smash_mons") %}&{{ encounter.base_label }}_RockSmashMonsInfo{% else %}NULL{% endif %}, .fishingMonsInfo = {% if existsIn(encounter, "fishing_mons") %}&{{ encounter.base_label }}_FishingMonsInfo{% else %}NULL{% endif %}, }, +#endif ## endfor { .mapGroup = MAP_GROUP(UNDEFINED), diff --git a/src/daycare.c b/src/daycare.c index 8862dfda9..b3e76faba 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1503,7 +1503,11 @@ static void DaycarePrintMonLvl(struct DayCare *daycare, u8 windowId, u32 daycare u8 lvlText[12]; u8 intText[8]; +#if REVISION == 0 strcpy((char *)lvlText, (const char *)gText_Lv); +#else + StringCopy(lvlText, gText_Lv); +#endif level = GetLevelAfterDaycareSteps(&daycare->mons[daycareSlotId].mon, daycare->mons[daycareSlotId].steps); ConvertIntToDecimalStringN(intText, level, STR_CONV_MODE_LEFT_ALIGN, 3); StringAppend(lvlText, intText); diff --git a/src/field_specials.c b/src/field_specials.c index de3bc7d57..7abc3f5c9 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1915,7 +1915,7 @@ u16 Special_BattleCardAction(void) case 4: return sub_81445C0(2); default: - AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c", 3873); + AGB_ASSERT_EX(0, ABSPATH("scr_tool.c"), 3873); return 0; } } diff --git a/src/fieldmap.c b/src/fieldmap.c index 5582b6977..adb26f230 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -83,7 +83,7 @@ void sub_8058A00(struct MapHeader * mapHeader) VMap.map = gBackupMapLayout; VMap.Xsize = mapLayout->width + 15; VMap.Ysize = mapLayout->height + 14; - AGB_ASSERT_EX(VMap.Xsize * VMap.Ysize <= VIRTUAL_MAP_SIZE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/fieldmap.c", 158); + AGB_ASSERT_EX(VMap.Xsize * VMap.Ysize <= VIRTUAL_MAP_SIZE, ABSPATH("fieldmap.c"), 158); map_copy_with_padding(mapLayout->map, mapLayout->width, mapLayout->height); mapheader_copy_mapdata_of_adjacent_maps(mapHeader); } diff --git a/src/intro.c b/src/intro.c index 33a03a389..cee1c8fec 100644 --- a/src/intro.c +++ b/src/intro.c @@ -131,6 +131,11 @@ static void sub_80EE9D4(struct Sprite * sprite); static void sub_80EEA94(struct IntroSequenceData * ptr); static void sub_80EEB08(struct Sprite * sprite); static void sub_80EEBE4(void); +#if REVISION >= 1 +static void sub_rev1_80EDFAC(void); +#else +#define sub_rev1_80EDFAC() +#endif extern const u32 gMultiBootProgram_PokemonColosseum_Start[]; @@ -828,6 +833,7 @@ static void sub_80ECD60(struct IntroSequenceData * this) if (!IsDma3ManagerBusyWithBgCopy()) { DestroySprite(this->field_0014); + sub_rev1_80EDFAC(); this->field_0012 = 0; this->field_0004++; } @@ -1592,6 +1598,17 @@ static struct Sprite * sub_80EDF68(void) return &gSprites[spriteId]; } +#if REVISION >= 1 +static void sub_rev1_80EDFAC(void) +{ + int i; + for (i = 0; i < 2; i++) + { + gSprites[CreateSprite(&gUnknown_840BCFC, 0x68 + 32 * i, 0x6c, 5)].oam.tileNum += i * 4; + } +} +#endif + static void sub_80EDF94(struct IntroSequenceData * this) { u8 taskId; diff --git a/src/link.c b/src/link.c index dfbc9fcb2..bdaa48cdf 100644 --- a/src/link.c +++ b/src/link.c @@ -163,7 +163,7 @@ static void DoSend(void); static void StopTimer(void); static void SendRecvDone(void); -ALIGNED(4) static const u16 sWirelessLinkDisplayPal[] = INCBIN_U16("graphics/interface/wireless_link_display.gbapal"); +static const u16 sWirelessLinkDisplayPal[] = INCBIN_U16("graphics/interface/wireless_link_display.gbapal"); static const u16 sWirelessLinkDisplay4bpp[] = INCBIN_U16("graphics/interface/wireless_link_display.4bpp.lz"); static const u16 sWirelessLinkDisplayBin[] = INCBIN_U16("graphics/interface/wireless_link_display.bin.lz"); static const u16 sLinkTestFontPal[] = INCBIN_U16("graphics/interface/link_test_font.gbapal"); diff --git a/src/main.c b/src/main.c index 9294c80ce..c96e4cc3a 100644 --- a/src/main.c +++ b/src/main.c @@ -55,16 +55,15 @@ static void VCountIntr(void); static void SerialIntr(void); static void IntrDummy(void); -#if defined(FIRERED) -#define GAME_VERSION VERSION_FIRE_RED -#elif defined(LEAF_GREEN) -#define GAME_VERSION VERSION_LEAF_GREEN -#endif const u8 gGameVersion = GAME_VERSION; const u8 gGameLanguage = GAME_LANGUAGE; +#if REVISION == 0 const char BuildDateTime[] = "2004 04 26 11:20"; +#else +const char BuildDateTime[] = "2004 07 20 09:30"; +#endif const IntrFunc gIntrTableTemplate[] = { diff --git a/src/malloc.c b/src/malloc.c index 4768721ba..590d45c05 100644 --- a/src/malloc.c +++ b/src/malloc.c @@ -93,7 +93,7 @@ void *AllocInternal(void *heapStart, u32 size) if (pos->next == head) { - AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 174); + AGB_ASSERT_EX(0, ABSPATH("gflib/malloc.c"), 174); return NULL; } @@ -103,20 +103,20 @@ void *AllocInternal(void *heapStart, u32 size) void FreeInternal(void *heapStart, void *p) { - AGB_ASSERT_EX(p != NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 195); + AGB_ASSERT_EX(p != NULL, ABSPATH("gflib/malloc.c"), 195); if (p) { struct MemBlock *head = (struct MemBlock *)heapStart; struct MemBlock *pos = (struct MemBlock *)((u8 *)p - sizeof(struct MemBlock)); - AGB_ASSERT_EX(pos->magic_number == MALLOC_SYSTEM_ID, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 204); - AGB_ASSERT_EX(pos->flag == TRUE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 205); + AGB_ASSERT_EX(pos->magic_number == MALLOC_SYSTEM_ID, ABSPATH("gflib/malloc.c"), 204); + AGB_ASSERT_EX(pos->flag == TRUE, ABSPATH("gflib/malloc.c"), 205); pos->flag = FALSE; // If the freed block isn't the last one, merge with the next block // if it's not in use. if (pos->next != head) { if (!pos->next->flag) { - AGB_ASSERT_EX(pos->next->magic_number == MALLOC_SYSTEM_ID, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 211); + AGB_ASSERT_EX(pos->next->magic_number == MALLOC_SYSTEM_ID, ABSPATH("gflib/malloc.c"), 211); pos->size += sizeof(struct MemBlock) + pos->next->size; pos->next->magic_number = 0; pos->next = pos->next->next; @@ -129,7 +129,7 @@ void FreeInternal(void *heapStart, void *p) // if it's not in use. if (pos != head) { if (!pos->prev->flag) { - AGB_ASSERT_EX(pos->prev->magic_number == MALLOC_SYSTEM_ID, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 228); + AGB_ASSERT_EX(pos->prev->magic_number == MALLOC_SYSTEM_ID, ABSPATH("gflib/malloc.c"), 228); pos->prev->next = pos->next; diff --git a/src/menews_jisan.c b/src/menews_jisan.c index f38de9cfd..d8971f6a2 100644 --- a/src/menews_jisan.c +++ b/src/menews_jisan.c @@ -142,7 +142,7 @@ static u32 GetMENewsJisanState(struct MENewsJisanStruct *a0) return 4; return 5; default: - AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/menews_jisan.c", 383); + AGB_ASSERT_EX(0, ABSPATH("menews_jisan.c"), 383); return 0; } } diff --git a/src/menu2.c b/src/menu2.c index 221f84318..1957715b2 100644 --- a/src/menu2.c +++ b/src/menu2.c @@ -419,7 +419,11 @@ static const u8 gUnknown_845FD54[][5] = { [SPECIES_LATIAS - 1] = {0x1e, 0x0c, 0x10, 0x23, 0x19}, [SPECIES_LATIOS - 1] = {0x05, 0x0e, 0x10, 0x05, 0x1d}, [SPECIES_JIRACHI - 1] = {0x1c, 0x15, 0x08, 0x1e, 0x22}, +#if defined(FIRERED) [SPECIES_DEOXYS - 1] = {0x1b, 0x08, 0x28, 0x1c, 0x16}, +#elif defined(LEAFGREEN) + [SPECIES_DEOXYS - 1] = {0x1a, 0x09, 0x28, 0x1a, 0x17}, +#endif [SPECIES_CHIMECHO - 1] = {0x1d, 0x0c, 0x08, 0x1c, 0x1a}, [SPECIES_OLD_UNOWN_EMARK - 1] = {0x20, 0x21, 0x08, 0x20, 0x2b}, [SPECIES_OLD_UNOWN_QMARK - 1] = {0x20, 0x23, 0x08, 0x20, 0x2d} diff --git a/src/mevent.c b/src/mevent.c index 5ed001d09..b22d02cbc 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -750,6 +750,12 @@ bool32 sub_8144254(const u16 * data) return FALSE; } +#if defined(FIRERED) +#define MEVENT_HEADER_VERSION_CODE 1 +#elif defined(LEAFGREEN) +#define MEVENT_HEADER_VERSION_CODE 2 +#endif + void BuildMEventClientHeader(struct MEventClientHeaderStruct * data) { s32 i; @@ -759,7 +765,7 @@ void BuildMEventClientHeader(struct MEventClientHeaderStruct * data) data->unk_04 = 1; data->unk_08 = 1; data->unk_0C = 1; - data->unk_10 = 1; + data->unk_10 = MEVENT_HEADER_VERSION_CODE; // Check whether a card already exists if (ValidateReceivedWonderCard()) @@ -852,7 +858,7 @@ u16 sub_81444B0(const struct MEventClientHeaderStruct * a0, u32 command) case 4: return a0->unk_44; default: - AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 825); + AGB_ASSERT_EX(0, ABSPATH("mevent.c"), 825); return 0; } } @@ -881,7 +887,7 @@ void sub_814451C(u32 command) } if (dest == NULL) { - AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 868); + AGB_ASSERT_EX(0, ABSPATH("mevent.c"), 868); } else if (++(*dest) > 999) { @@ -939,7 +945,7 @@ u16 sub_81445C0(u32 command) break; } } - AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 913); + AGB_ASSERT_EX(0, ABSPATH("mevent.c"), 913); return 0; } @@ -977,7 +983,7 @@ void sub_8144714(u32 a0, u32 a1) sub_8144824(1, a1, gSaveBlock1Ptr->mysteryEventBuffers.unk_344[0], 5); break; default: - AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 988); + AGB_ASSERT_EX(0, ABSPATH("mevent.c"), 988); } } } diff --git a/src/mevent_server.c b/src/mevent_server.c index 252a8885f..bebd69fe3 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -68,7 +68,7 @@ static void mevent_srv_free_resources(struct mevent_srv_common * svr) static void mevent_srv_common_init_send(struct mevent_srv_common * svr, u32 ident, const void * src, u32 size) { - AGB_ASSERT_EX(size <= ME_SEND_BUF_SIZE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 257); + AGB_ASSERT_EX(size <= ME_SEND_BUF_SIZE, ABSPATH("mevent_server.c"), 257); mevent_srv_sub_init_send(&svr->manager, ident, src, size); } @@ -129,7 +129,7 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) switch (cmd->instr) { case 0: - AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 354); + AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 354); svr->mainseqno = 1; svr->param = cmd->flag; break; @@ -137,23 +137,23 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) svr->mainseqno = 3; break; case 2: - AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 364); + AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 364); mevent_srv_sub_init_recv(&svr->manager, cmd->flag, svr->recvBuffer); svr->mainseqno = 2; break; case 3: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 370); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 370); svr->cmdidx = 0; svr->cmdBuffer = cmd->parameter; break; case 5: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 376); - AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 377); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 376); + AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 377); memcpy(svr->mevent_unk1442cc, svr->recvBuffer, sizeof(struct MEventClientHeaderStruct)); break; case 6: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 382); - AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 383); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 382); + AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 383); svr->param = ValidateMEventClientHeader(svr->mevent_unk1442cc); break; case 4: @@ -164,42 +164,42 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) } break; case 7: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 396); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 396); ptr = mevent_first_if_not_null_else_second(cmd->parameter, svr->card); svr->param = sub_8144418(ptr, svr->mevent_unk1442cc, ptr); break; case 8: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 402); - AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 403); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 402); + AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 403); svr->param = *(u32 *)svr->recvBuffer; break; case 9: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 408); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 408); ptr = mevent_first_if_not_null_else_second(cmd->parameter, &svr->sendWord); svr->param = sub_8144434(ptr, svr->mevent_unk1442cc, ptr); break; case 10: - AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 415); + AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 415); svr->param = sub_81444B0(svr->mevent_unk1442cc, cmd->flag); break; case 11: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 420); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 420); svr->param = sub_8144474(svr->mevent_unk1442cc, cmd->parameter); break; case 12: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 426); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 426); svr->param = mevent_compare_pointers(cmd->parameter, *(void **)svr->recvBuffer); break; case 14: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 432); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 432); mevent_srv_common_init_send(svr, 0x17, mevent_first_if_not_null_else_second(cmd->parameter, svr->news), sizeof(struct MEWonderNewsData)); break; case 13: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 438); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 438); mevent_srv_common_init_send(svr, 0x16, mevent_first_if_not_null_else_second(cmd->parameter, svr->card), sizeof(struct MEWonderCardData)); break; case 16: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 444); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 444); mevent_srv_common_init_send(svr, 0x18, mevent_first_if_not_null_else_second(cmd->parameter, &svr->sendWord), 4); break; case 15: @@ -215,7 +215,7 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) mevent_srv_common_init_send(svr, 0x10, cmd->parameter, cmd->flag); break; case 19: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 466); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 466); mevent_srv_common_init_send(svr, 0x1a, cmd->parameter, 188); break; case 20: @@ -225,15 +225,15 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) mevent_srv_common_init_send(svr, 0x1c, cmd->parameter, cmd->flag); break; case 22: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 481); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 481); memcpy(svr->card, cmd->parameter, 332); break; case 23: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 486); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 486); memcpy(svr->news, cmd->parameter, 444); break; case 21: - AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 491); + AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 491); svr->sendWord = *(u32 *)cmd->parameter; break; case 24: @@ -245,16 +245,16 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) svr->sendBuffer2Size = cmd->flag; break; case 26: - AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 506); + AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, ABSPATH("mevent_server.c"), 506); memcpy(svr->card, GetSavedWonderCard(), 332); sub_814410C(svr->card); break; case 27: - AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 512); + AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, ABSPATH("mevent_server.c"), 512); memcpy(svr->news, GetSavedWonderNews(), 444); break; case 28: - AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 517); + AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, ABSPATH("mevent_server.c"), 517); svr->sendBuffer1 = sub_8069E48(); break; case 29: @@ -276,8 +276,8 @@ static u32 (*const func_tbl[])(struct mevent_srv_common *) = { static u32 mevent_srv_exec_common(struct mevent_srv_common * svr) { u32 response; - AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 546); + AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), ABSPATH("mevent_server.c"), 546); response = func_tbl[svr->mainseqno](svr); - AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 548); + AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), ABSPATH("mevent_server.c"), 548); return response; } diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index c73d7445b..7b25cc5ff 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -22,7 +22,11 @@ extern ScrCmdFunc gMysteryEventScriptCmdTable[]; extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[]; #define LANGUAGE_MASK 0x1 +#if defined(FIRERED) #define VERSION_MASK 0x1 +#elif defined(LEAFGREEN) +#define VERSION_MASK 0x2 +#endif EWRAM_DATA static struct ScriptContext sMysteryEventScriptContext = {0}; diff --git a/src/oak_speech.c b/src/oak_speech.c index 79f8b18c7..0ad5d6a6f 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -271,11 +271,11 @@ static const struct WindowTemplate sNewGameAdventureIntroWindowTemplates[] = { }, DUMMY_WIN_TEMPLATE }; -const u8 sTextColor_HelpSystem[4] = { +static const u8 sTextColor_HelpSystem[4] = { 0x00, 0x01, 0x02 }; -const u8 sTextColor_OakSpeech[4] = { +static const u8 sTextColor_OakSpeech[4] = { 0x00, 0x02, 0x03 }; @@ -405,11 +405,19 @@ static const u8 *const sHelpDocsPtrs[] = { }; static const u8 *const sMaleNameChoices[] = { +#if defined(FIRERED) gNameChoice_Red, gNameChoice_Fire, gNameChoice_Ash, gNameChoice_Kene, gNameChoice_Geki, +#elif defined(LEAFGREEN) + gNameChoice_Green, + gNameChoice_Leaf, + gNameChoice_Gary, + gNameChoice_Kaz, + gNameChoice_Toru, +#endif gNameChoice_Jak, gNameChoice_Janne, gNameChoice_Jonn, @@ -427,8 +435,13 @@ static const u8 *const sMaleNameChoices[] = { }; static const u8 *const sFemaleNameChoices[] = { +#if defined(FIRERED) gNameChoice_Red, gNameChoice_Fire, +#elif defined(LEAFGREEN) + gNameChoice_Green, + gNameChoice_Leaf, +#endif gNameChoice_Omi, gNameChoice_Jodi, gNameChoice_Amanda, @@ -449,10 +462,17 @@ static const u8 *const sFemaleNameChoices[] = { }; static const u8 *const sRivalNameChoices[] = { +#if defined(FIRERED) gNameChoice_Green, gNameChoice_Gary, gNameChoice_Kaz, gNameChoice_Toru +#elif defined(LEAFGREEN) + gNameChoice_Red, + gNameChoice_Ash, + gNameChoice_Kene, + gNameChoice_Geki +#endif }; static void VBlankCB_NewGameOaksSpeech(void) diff --git a/src/pokedex.c b/src/pokedex.c index 683b605d4..8586382b5 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -3,11 +3,6 @@ #include "pokedex_screen.h" #include "constants/species.h" -ALIGNED(4) static const u8 gExpandedPlaceholder_PokedexDescription[] = _(""); - -#include "data/pokemon/pokedex_text.h" -#include "data/pokemon/pokedex_entries.h" - const u8 *sub_8088E20(u16 dexNum) { return gPokedexEntries[dexNum].categoryName; diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c index b67f9a514..2ccec7a3f 100644 --- a/src/pokedex_screen.c +++ b/src/pokedex_screen.c @@ -32,7 +32,7 @@ struct PokedexScreenData u8 field_01; u8 field_02; u8 field_03; - u8 filler_04[0x4]; + u8 field_04; u32 field_08; u32 field_0C; u16 field_10; @@ -64,13 +64,13 @@ struct PokedexScreenData u8 field_42; struct ListMenuItem * field_44; u16 field_48; - u8 filler_4A[0x10]; + u8 field_4A[0x10]; u16 field_5A; u16 * field_5C; u8 field_60; u8 field_61; u16 field_62; - u8 filler_64[0x2]; + u8 field_64; u16 field_66; u16 field_68; u16 field_6A; @@ -115,29 +115,81 @@ void sub_8105594(u8 a0, u8 a1); void sub_8105E1C(u8 a0); void sub_8106014(void); void sub_810603C(void); -bool8 sub_8106838(u8 a0, u8 a1); +bool8 sub_8106838(u8 category, u8 a1); u8 sub_81068A0(u8 a0); -void sub_810699C(u8 a0); +void sub_810699C(u8 category); bool8 sub_8106A20(u16 a0); void sub_81067C0(void); -void sub_81068DC(u8 a0, u8 a1); +void sub_81068DC(u8 category, u8 a1); u8 sub_8106AF8(u16 a0); void sub_8106B34(void); void sub_8106E78(const u8 *a0, s32 a1); -extern const u16 gUnknown_8440124[]; -extern const u32 gUnknown_8440274[]; -extern const u32 gUnknown_84403AC[]; -extern const u16 gUnknown_84404C8[]; -extern const u16 gUnknown_84406C8[]; -extern const u16 gUnknown_84406E0[]; -extern const u16 gUnknown_8440EF0[]; -extern const u16 gUnknown_8443460[]; -extern const u8 gUnknown_8443600[]; -extern const u16 gUnknown_8443FC0[]; -extern const u16 gUnknown_84442F6[]; -extern const u16 gUnknown_84448FE[]; -extern const u16 gUnknown_84445FA[]; +#include "data/pokemon_graphics/footprint_table.h" + +const u32 gUnknown_8440124[] = INCBIN_U32("graphics/pokedex/unk_8440124.bin.lz"); +const u32 gUnknown_8440274[] = INCBIN_U32("graphics/pokedex/unk_8440274.4bpp.lz"); +const u32 gUnknown_84403AC[] = INCBIN_U32("graphics/pokedex/unk_84403AC.4bpp.lz"); +const u16 gUnknown_84404C8[] = INCBIN_U16("graphics/pokedex/unk_84404C8.gbapal"); + +const u16 gUnknown_84406C8[] = { + RGB(24, 22, 17), RGB(26, 24, 20), + RGB(26, 20, 15), RGB(27, 23, 19), + RGB(28, 18, 15), RGB(28, 22, 19), + RGB(30, 16, 13), RGB(29, 21, 18), + RGB(28, 18, 15), RGB(28, 22, 19), + RGB(26, 20, 15), RGB(27, 23, 19) +}; + +const u16 gUnknown_84406E0[] = INCBIN_U16("graphics/pokedex/unk_84406E0.gbapal"); +const u32 gUnknown_84408E0[] = INCBIN_U32("graphics/pokedex/unk_84408E0.bin.lz"); +const u32 gUnknown_8440BD8[] = INCBIN_U32("graphics/pokedex/unk_8440BD8.bin.lz"); +const u32 gUnknown_8440EF0[] = INCBIN_U32("graphics/pokedex/unk_8440EF0.bin.lz"); +const u32 gUnknown_844112C[] = INCBIN_U32("graphics/pokedex/unk_844112C.bin.lz"); +const u32 gUnknown_84414BC[] = INCBIN_U32("graphics/pokedex/unk_84414BC.bin.lz"); +const u32 gUnknown_8441808[] = INCBIN_U32("graphics/pokedex/unk_8441808.bin.lz"); +const u32 gUnknown_8441A40[] = INCBIN_U32("graphics/pokedex/unk_8441A40.bin.lz"); +const u32 gUnknown_8441D54[] = INCBIN_U32("graphics/pokedex/unk_8441D54.bin.lz"); +const u32 gUnknown_8442004[] = INCBIN_U32("graphics/pokedex/unk_8442004.bin.lz"); +const u32 gUnknown_844223C[] = INCBIN_U32("graphics/pokedex/unk_844223C.bin.lz"); +const u32 gUnknown_84424E4[] = INCBIN_U32("graphics/pokedex/unk_84424E4.bin.lz"); +const u32 gUnknown_8442838[] = INCBIN_U32("graphics/pokedex/unk_8442838.bin.lz"); +const u32 gUnknown_8442BC0[] = INCBIN_U32("graphics/pokedex/unk_8442BC0.bin.lz"); +const u32 gUnknown_8442EF8[] = INCBIN_U32("graphics/pokedex/unk_8442EF8.bin.lz"); +const u32 gUnknown_844318C[] = INCBIN_U32("graphics/pokedex/unk_844318C.bin.lz"); +const u16 gUnknown_8443420[] = INCBIN_U16("graphics/pokedex/unk_8443420.gbapal"); +const u16 gUnknown_8443440[] = INCBIN_U16("graphics/pokedex/unk_8443440.gbapal"); +const u16 gUnknown_8443460[] = INCBIN_U16("graphics/pokedex/unk_8443460.gbapal"); +const u16 gUnknown_8443480[] = INCBIN_U16("graphics/pokedex/unk_8443480.gbapal"); +const u16 gUnknown_84434A0[] = INCBIN_U16("graphics/pokedex/unk_84434A0.gbapal"); +const u16 gUnknown_84434C0[] = INCBIN_U16("graphics/pokedex/unk_84434C0.gbapal"); +const u16 gUnknown_84434E0[] = INCBIN_U16("graphics/pokedex/unk_84434E0.gbapal"); +const u16 gUnknown_8443500[] = INCBIN_U16("graphics/pokedex/unk_8443500.gbapal"); +const u16 gUnknown_8443520[] = INCBIN_U16("graphics/pokedex/unk_8443520.gbapal"); +const u16 gUnknown_8443540[] = INCBIN_U16("graphics/pokedex/unk_8443540.gbapal"); +const u16 gUnknown_8443560[] = INCBIN_U16("graphics/pokedex/unk_8443560.gbapal"); +const u16 gUnknown_8443580[] = INCBIN_U16("graphics/pokedex/unk_8443580.gbapal"); +const u16 gUnknown_84435A0[] = INCBIN_U16("graphics/pokedex/unk_84435A0.gbapal"); +const u16 gUnknown_84435C0[] = INCBIN_U16("graphics/pokedex/unk_84435C0.gbapal"); +const u16 gUnknown_84435E0[] = INCBIN_U16("graphics/pokedex/unk_84435E0.gbapal"); +const u8 gUnknown_8443600[] = INCBIN_U8("graphics/pokedex/unk_8443600.4bpp"); +const u32 gUnknown_8443620[] = INCBIN_U32("graphics/pokedex/unk_8443620.bin.lz"); +const u32 gUnknown_8443910[] = INCBIN_U32("graphics/pokedex/unk_8443910.bin.lz"); +const u32 gUnknown_8443988[] = INCBIN_U32("graphics/pokedex/unk_8443988.bin.lz"); +const u32 gUnknown_84439FC[] = INCBIN_U32("graphics/pokedex/unk_84439FC.bin.lz"); +const u32 gUnknown_8443A78[] = INCBIN_U32("graphics/pokedex/unk_8443A78.bin.lz"); +const u32 gUnknown_8443AF8[] = INCBIN_U32("graphics/pokedex/unk_8443AF8.bin.lz"); +const u32 gUnknown_8443BB0[] = INCBIN_U32("graphics/pokedex/unk_8443BB0.bin.lz"); +const u32 gUnknown_8443C54[] = INCBIN_U32("graphics/pokedex/unk_8443C54.bin.lz"); +const u16 gUnknown_8443D00[] = INCBIN_U16("graphics/pokedex/unk_8443D00.4bpp"); + +#include "data/pokemon/pokedex_orders.h" + +static const u8 gExpandedPlaceholder_PokedexDescription[] = _(""); + +#include "data/pokemon/pokedex_text.h" +#include "data/pokemon/pokedex_entries.h" + extern const struct BgTemplate gUnknown_8451EBC[4]; extern const struct WindowTemplate gUnknown_8451ECC[]; extern const struct PokedexScreenData gUnknown_8451EE4; @@ -157,7 +209,7 @@ extern const struct WindowTemplate gUnknown_84521C4; extern const struct WindowTemplate gUnknown_84521CC; extern const u16 gUnknown_845228C[]; extern const u8 (*const gUnknown_8452334[])[4]; -extern const u8 *const gUnknown_8452344[]; +extern const u8 *const gDexCategoryNamePtrs[]; extern const u8 gUnknown_8452388[][30]; extern const struct ScrollArrowsTemplate gUnknown_84524B4; extern const struct CursorStruct gUnknown_84524C4; @@ -710,7 +762,7 @@ u16 sub_8103518(u8 a0) case 1: for (i = 0; i < SPECIES_CHIMECHO; i++) { - ndex_num = gUnknown_8443FC0[i]; + ndex_num = gPokedexOrder_Alphabetical[i]; if (ndex_num <= max_n) { seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0); @@ -725,9 +777,9 @@ u16 sub_8103518(u8 a0) } break; case 2: - for (i = 0; i < SPECIES_CHIMECHO; i++) + for (i = 0; i < NUM_SPECIES - 1; i++) { - ndex_num = SpeciesToNationalPokedexNum(gUnknown_84448FE[i]); + ndex_num = SpeciesToNationalPokedexNum(gPokedexOrder_Type[i]); if (ndex_num <= max_n) { seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0); @@ -744,7 +796,7 @@ u16 sub_8103518(u8 a0) case 3: for (i = 0; i < NATIONAL_DEX_COUNT; i++) { - ndex_num = gUnknown_84442F6[i]; + ndex_num = gPokedexOrder_Weight[i]; if (ndex_num <= max_n) { seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0); @@ -761,7 +813,7 @@ u16 sub_8103518(u8 a0) case 4: for (i = 0; i < NATIONAL_DEX_COUNT; i++) { - ndex_num = gUnknown_84445FA[i]; + ndex_num = gPokedexOrder_Height[i]; if (ndex_num <= max_n) { seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0); @@ -1855,11 +1907,11 @@ bool8 sub_8104F0C(bool8 a0) FillWindowPixelBuffer(0, PIXEL_FILL(15)); if (a0) { - sub_8106E78(gUnknown_8452344[gUnknown_203ACF0->field_28], 1); + sub_8106E78(gDexCategoryNamePtrs[gUnknown_203ACF0->field_28], 1); } else { - sub_8106E78(gUnknown_8452344[gUnknown_203ACF0->field_28], 0); + sub_8106E78(gDexCategoryNamePtrs[gUnknown_203ACF0->field_28], 0); sub_8104EC0(0, sub_8106AF8(gUnknown_203ACF0->field_2B), sub_8106AF8(gUnknown_203ACF0->field_2A - 1), 160, 2); } CopyWindowToVram(0, 2); diff --git a/src/pokemon.c b/src/pokemon.c index 9f5a6967e..99fe39709 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1603,6 +1603,7 @@ static const u16 sHMMoves[] = MOVE_ROCK_SMASH, MOVE_WATERFALL, MOVE_DIVE, 0xFFFF }; +#if defined(FIRERED) static const u16 sDeoxysBaseStats[] = { 50, // Hp @@ -1612,6 +1613,17 @@ static const u16 sDeoxysBaseStats[] = 180, // Sp.Attack 20, // Sp.Defense }; +#elif defined LEAFGREEN +static const u16 sDeoxysBaseStats[] = +{ + 50, // Hp + 70, // Attack + 160, // Defense + 90, // Speed + 70, // Sp.Attack + 160, // Sp.Defense +}; +#endif const u16 gLinkPlayerFacilityClasses[] = { diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c new file mode 100644 index 000000000..6d4652f35 --- /dev/null +++ b/src/post_battle_event_funcs.c @@ -0,0 +1,59 @@ +#include "global.h" +#include "script_pokemon_util_80A0058.h" +#include "event_data.h" +#include "credits.h" +#include "overworld.h" +#include "hall_of_fame.h" +#include "load_save.h" +#include "constants/flags.h" +#include "constants/spawn_points.h" + +bool8 Special_HallOfFame(void) +{ + bool8 ribbonState; + bool8 *r7; + int i; + bool8 gaveAtLeastOneRibbon; + sp000_heal_pokemon(); + if (FlagGet(FLAG_SYS_GAME_CLEAR) == TRUE) + { + gHasHallOfFameRecords = TRUE; + } + else + { + gHasHallOfFameRecords = FALSE; + FlagSet(FLAG_SYS_GAME_CLEAR); + } + if (GetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME) == 0) + { + SetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME, (gSaveBlock2Ptr->playTimeHours << 16) | (gSaveBlock2Ptr->playTimeMinutes << 8) | gSaveBlock2Ptr->playTimeSeconds); + } + sub_804C1AC(); + sub_8055738(SPAWN_PALLET_TOWN); + gaveAtLeastOneRibbon = FALSE; + for (i = 0, r7 = &ribbonState; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES) && !GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_EGG)) + { + if (!GetMonData(&gPlayerParty[i], MON_DATA_CHAMPION_RIBBON)) + { + *r7 = TRUE; + SetMonData(&gPlayerParty[i], MON_DATA_CHAMPION_RIBBON, &ribbonState); + gaveAtLeastOneRibbon = TRUE; + } + } + } + if (gaveAtLeastOneRibbon == TRUE) + { + IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS); + FlagSet(FLAG_SYS_RIBBON_GET); + } + SetMainCallback2(CB2_DoHallOfFameScreen); + return FALSE; +} + +bool8 sp0C8_whiteout_maybe(void) +{ + SetMainCallback2(CB2_WhiteOut); + return FALSE; +} diff --git a/src/quest_log.c b/src/quest_log.c index 6b25150f3..970071a0f 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -179,9 +179,9 @@ static void sub_8113A1C(u16); static void sub_811381C(void); static bool8 sub_8113A44(u16, const u16 *); static u16 *QuestLog_SkipCommand(u16 *, u16 **); -static void sub_8113ABC(u16 *); -static bool8 sub_8113AE8(u16 *); -static bool8 sub_8113B44(u16 *); +static void sub_8113ABC(const u16 *); +static bool8 sub_8113AE8(const u16 *); +static bool8 sub_8113B44(const u16 *); static void sub_8113B88(void); static void sub_8113B94(u16); static void sub_8113BD8(void); @@ -2831,19 +2831,24 @@ static u16 *QuestLog_SkipCommand(u16 *curPtr, u16 **prevPtr_p) return sQuestLogEventCmdSizes[idx] + (sQuestLogEventCmdSizes[idx] - 4) * cnt + (void *)curPtr; } -static void sub_8113ABC(u16 *a0) +static void sub_8113ABC(const u16 *a0) { - u8 *r2 = (u8 *)(a0 + 2); + const u8 *r2 = (const u8 *)(a0 + 2); if ((a0[0] & 0xFFF) != 35) gUnknown_203B04A = 0; else gUnknown_203B04A = r2[1] + 1; } -#ifdef NONMATCHING -static bool8 sub_8113AE8(u16 *a0) +static bool8 sub_8113AE8(const u16 *a0) { - if (a0 == NULL || a0[1] > sQuestLogIdx) +#ifndef NONMATCHING + register const u16 *r0 asm("r0") = a0; +#else + const u16 *r0 = a0; +#endif + + if (r0 == NULL || r0[1] > sQuestLogIdx) return FALSE; sQuestLogScriptParsingCBs[a0[0] & 0xFFF](a0); @@ -2853,60 +2858,8 @@ static bool8 sub_8113AE8(u16 *a0) gUnknown_203B044.unk_2 = 1; return TRUE; } -#else -NAKED -static bool8 sub_8113AE8(u16 *a0) -{ - asm_unified("\tpush {r4,lr}\n" - "\tadds r4, r0, 0\n" - "\tcmp r0, 0\n" - "\tbeq _08113AFA\n" - "\tldr r1, _08113B00 @ =sQuestLogIdx\n" - "\tldrh r0, [r0, 0x2]\n" - "\tldrh r1, [r1]\n" - "\tcmp r0, r1\n" - "\tbls _08113B04\n" - "_08113AFA:\n" - "\tmovs r0, 0\n" - "\tb _08113B32\n" - "\t.align 2, 0\n" - "_08113B00: .4byte sQuestLogIdx\n" - "_08113B04:\n" - "\tldr r2, _08113B38 @ =sQuestLogScriptParsingCBs\n" - "\tldrh r1, [r4]\n" - "\tldr r0, _08113B3C @ =0x00000fff\n" - "\tands r0, r1\n" - "\tlsls r0, 2\n" - "\tadds r0, r2\n" - "\tldr r1, [r0]\n" - "\tadds r0, r4, 0\n" - "\tbl _call_via_r1\n" - "\tldr r2, _08113B40 @ =gUnknown_203B044\n" - "\tldrh r1, [r4]\n" - "\tstrb r1, [r2]\n" - "\tmovs r0, 0xF0\n" - "\tlsls r0, 8\n" - "\tands r0, r1\n" - "\tlsrs r0, 12\n" - "\tstrb r0, [r2, 0x1]\n" - "\tcmp r0, 0\n" - "\tbeq _08113B30\n" - "\tmovs r0, 0x1\n" - "\tstrh r0, [r2, 0x2]\n" - "_08113B30:\n" - "\tmovs r0, 0x1\n" - "_08113B32:\n" - "\tpop {r4}\n" - "\tpop {r1}\n" - "\tbx r1\n" - "\t.align 2, 0\n" - "_08113B38: .4byte sQuestLogScriptParsingCBs\n" - "_08113B3C: .4byte 0x00000fff\n" - "_08113B40: .4byte gUnknown_203B044"); -} -#endif -static bool8 sub_8113B44(u16 *a0) +static bool8 sub_8113B44(const u16 *a0) { if (gUnknown_203B044.unk_2 == 0) return FALSE; diff --git a/src/scrcmd.c b/src/scrcmd.c index 6a5d61227..a88655e17 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -105,7 +105,7 @@ bool8 ScrCmd_special(struct ScriptContext *ctx) if (specialPtr < gSpecialsEnd) (*specialPtr)(); else - AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c", 241); + AGB_ASSERT_EX(0, ABSPATH("scrcmd.c"), 241); return FALSE; } @@ -116,7 +116,7 @@ bool8 ScrCmd_specialvar(struct ScriptContext *ctx) if (specialPtr < gSpecialsEnd) *varPtr = (*specialPtr)(); else - AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c", 263); + AGB_ASSERT_EX(0, ABSPATH("scrcmd.c"), 263); return FALSE; } diff --git a/src/script_menu.c b/src/script_menu.c index b3826322b..4ebd0f8f8 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -316,11 +316,19 @@ static const struct MenuAction sScriptMultiChoiceMenu_BikeShop[] = { }; static const struct MenuAction sScriptMultiChoiceMenu_GameCornerPokemonPrizes[] = { +#if defined(FIRERED) { gText_Abra_180Coins }, { gText_Clefairy_500Coins }, { gText_Dratini_2800Coins }, { gText_Scyther_5500Coins }, { gText_Porygon_9999Coins }, +#elif defined(LEAFGREEN) + { gText_Abra_120Coins }, + { gText_Clefairy_750Coins }, + { gText_Pinsir_2500Coins }, + { gText_Dratini_4600Coins }, + { gText_Porygon_6500Coins }, +#endif { gText_NoThanks_2 } }; diff --git a/src/slot_machine.c b/src/slot_machine.c index 903f14d45..a6515e9f7 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -213,9 +213,15 @@ static const u16 gUnknown_8464994[] = INCBIN_U16("graphics/slot_machine/unk_8464 static const u16 gUnknown_84649B4[] = INCBIN_U16("graphics/slot_machine/unk_84649b4.gbapal"); static const u16 gUnknown_84649D4[] = INCBIN_U16("graphics/slot_machine/unk_84649d4.gbapal"); static const u16 gUnknown_84649F4[] = INCBIN_U16("graphics/slot_machine/unk_84649f4.gbapal"); +#if defined(FIRERED) static const u32 gUnknown_8464A14[] = INCBIN_U32("graphics/slot_machine/unk_8464a14.4bpp.lz"); -static const u16 gUnknown_846504C[] = INCBIN_U16("graphics/slot_machine/unk_846504c.gbapal"); +static const u16 gUnknown_846504C[] = INCBIN_U16("graphics/slot_machine/unk_846506c.gbapal"); static const u32 gUnknown_846506C[] = INCBIN_U32("graphics/slot_machine/unk_846506c.4bpp.lz"); +#elif defined(LEAFGREEN) +static const u32 gUnknown_8464A14[] = INCBIN_U32("graphics/slot_machine/unk_lg_8464434.4bpp.lz"); +static const u16 gUnknown_846504C[] = INCBIN_U16("graphics/slot_machine/unk_lg_8464a3c.gbapal"); +static const u32 gUnknown_846506C[] = INCBIN_U32("graphics/slot_machine/unk_lg_8464a3c.4bpp.lz"); +#endif static const u16 gUnknown_8465524[] = INCBIN_U16("graphics/slot_machine/unk_8465524.gbapal"); static const u32 gUnknown_8465544[] = INCBIN_U32("graphics/slot_machine/unk_8465544.4bpp.lz"); @@ -236,6 +242,7 @@ static const struct SpritePalette gUnknown_84655C8[] = { {NULL} }; +#if defined(FIRERED) static const u16 gUnknown_8465608[] = { 2, 2, @@ -245,6 +252,17 @@ static const u16 gUnknown_8465608[] = { 4, 3 }; +#elif defined(LEAFGREEN) +static const u16 gUnknown_8465608[] = { + 2, + 2, + 0, + 3, + 2, + 1, + 1 +}; +#endif static const u16 gUnknown_8465616[] = { 0x0120, 0x011f, 0x011e, 0x011d, 0x011c, 0x011b, 0x011a, 0x0119, 0x0118, 0x0117, 0x0116, 0x0115, 0x0114, 0x0113, 0x0112, 0x0111, @@ -517,6 +535,7 @@ bool8 (*const gUnknown_84658F0[])(u8 *, struct SlotMachineSetupTaskData *) = { sub_8141764 }; +#if defined(FIRERED) static const u16 gUnknown_8465930[] = INCBIN_U16("graphics/slot_machine/unk_8465930.gbapal"); static const u16 gUnknown_8465950[] = INCBIN_U16("graphics/slot_machine/unk_8465950.gbapal"); static const u16 gUnknown_8465970[] = INCBIN_U16("graphics/slot_machine/unk_8465970.gbapal"); @@ -526,12 +545,28 @@ static const u32 gUnknown_84659D0[] = INCBIN_U32("graphics/slot_machine/unk_8465 static const u32 gUnknown_84661D4[] = INCBIN_U32("graphics/slot_machine/unk_84661d4.bin.lz"); static const u16 gUnknown_84664BC[] = INCBIN_U16("graphics/slot_machine/unk_84664bc.gbapal"); static const u16 gUnknown_84664DC[] = INCBIN_U16("graphics/slot_machine/unk_84664dc.gbapal","graphics/slot_machine/unk_84664fc.gbapal", "graphics/slot_machine/unk_846651c.gbapal"); +#elif defined(LEAFGREEN) +static const u16 gUnknown_8465930[] = INCBIN_U16("graphics/slot_machine/unk_lg_84652bc.gbapal"); +static const u16 gUnknown_8465950[] = INCBIN_U16("graphics/slot_machine/unk_lg_84652dc.gbapal"); +static const u16 gUnknown_8465970[] = INCBIN_U16("graphics/slot_machine/unk_lg_84652fc.gbapal"); +static const u16 gUnknown_8465990[] = INCBIN_U16("graphics/slot_machine/unk_lg_846531c.gbapal"); +static const u16 gUnknown_84659B0[] = INCBIN_U16("graphics/slot_machine/unk_lg_846533c.gbapal"); +static const u32 gUnknown_84659D0[] = INCBIN_U32("graphics/slot_machine/unk_lg_846535c.4bpp.lz"); +static const u32 gUnknown_84661D4[] = INCBIN_U32("graphics/slot_machine/unk_lg_8465ab8.bin.lz"); +static const u16 gUnknown_84664BC[] = INCBIN_U16("graphics/slot_machine/unk_lg_8465d9c.gbapal"); +static const u16 gUnknown_84664DC[] = INCBIN_U16("graphics/slot_machine/unk_lg_8465dbc.gbapal","graphics/slot_machine/unk_lg_8465ddc.gbapal", "graphics/slot_machine/unk_lg_8465dfc.gbapal"); +#endif static const u32 gUnknown_846653C[] = INCBIN_U32("graphics/slot_machine/unk_846653c.4bpp.lz"); static const u16 gUnknown_84665C0[] = INCBIN_U16("graphics/slot_machine/unk_84665c0.gbapal"); static const u16 gUnknown_84665E0[] = INCBIN_U16("graphics/slot_machine/unk_84665e0.gbapal"); static const u16 gUnknown_8466600[] = INCBIN_U16("graphics/slot_machine/unk_8466600.gbapal"); +#if defined(FIRERED) static const u32 gUnknown_8466620[] = INCBIN_U32("graphics/slot_machine/unk_8466620.4bpp.lz"); static const u32 gUnknown_8466998[] = INCBIN_U32("graphics/slot_machine/unk_8466998.bin.lz"); +#elif defined(LEAFGREEN) +static const u32 gUnknown_8466620[] = INCBIN_U32("graphics/slot_machine/unk_lg_8465f00.4bpp.lz"); +static const u32 gUnknown_8466998[] = INCBIN_U32("graphics/slot_machine/unk_lg_8466278.bin.lz"); +#endif static const struct BgTemplate gUnknown_8466B10[] = { { diff --git a/src/string_util.c b/src/string_util.c index d5b5202df..ccef95f71 100644 --- a/src/string_util.c +++ b/src/string_util.c @@ -405,37 +405,65 @@ static u8 *ExpandPlaceholder_RivalName(void) static u8 *ExpandPlaceholder_Version(void) { +#if defined(FIRERED) return gExpandedPlaceholder_Ruby; +#elif defined(LEAFGREEN) + return gExpandedPlaceholder_Sapphire; +#endif } static u8 *ExpandPlaceholder_Magma(void) { +#if defined(FIRERED) return gExpandedPlaceholder_Magma; +#elif defined(LEAFGREEN) + return gExpandedPlaceholder_Aqua; +#endif } static u8 *ExpandPlaceholder_Aqua(void) { +#if defined(FIRERED) return gExpandedPlaceholder_Aqua; +#elif defined(LEAFGREEN) + return gExpandedPlaceholder_Magma; +#endif } static u8 *ExpandPlaceholder_Maxie(void) { +#if defined(FIRERED) return gExpandedPlaceholder_Maxie; +#elif defined(LEAFGREEN) + return gExpandedPlaceholder_Archie; +#endif } static u8 *ExpandPlaceholder_Archie(void) { +#if defined(FIRERED) return gExpandedPlaceholder_Archie; +#elif defined(LEAFGREEN) + return gExpandedPlaceholder_Maxie; +#endif } static u8 *ExpandPlaceholder_Groudon(void) { +#if defined(FIRERED) return gExpandedPlaceholder_Groudon; +#elif defined(LEAFGREEN) + return gExpandedPlaceholder_Kyogre; +#endif } static u8 *ExpandPlaceholder_Kyogre(void) { +#if defined(FIRERED) return gExpandedPlaceholder_Kyogre; +#elif defined(LEAFGREEN) + return gExpandedPlaceholder_Groudon; +#endif } u8 *GetExpandedPlaceholder(u32 id) diff --git a/src/title_screen.c b/src/title_screen.c index 2d6b6cf15..af78893b9 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -54,12 +54,13 @@ static void SetGpuRegsForTitleScreenRun(void); static void SetTitleScreenScene_Restart(s16 * data); static void SetTitleScreenScene_Cry(s16 * data); static void Task_TitleScreen_SlideWin0(u8 taskId); -static void Task_TitleScreen_PaletteSomething(u8 taskId); +static void Task_TitleScreen_BlinkPressStart(u8 taskId); static void SignalEndTitleScreenPaletteSomethingTask(void); static void UpdateScanlineEffectRegBuffer(s16 a0); static void ScheduleStopScanlineEffect(void); static void LoadMainTitleScreenPalsAndResetBgs(void); static void CB2_FadeOutTransitionToSaveClearScreen(void); +static void SpriteCallback_TitleScreenFlameOrLeaf(struct Sprite * sprite); static void CB2_FadeOutTransitionToBerryFix(void); static void LoadSpriteGfxAndPals(void); static void Task_FlameOrLeafSpawner(u8 taskId); @@ -74,13 +75,23 @@ static void SpriteCallback_Slash(struct Sprite * sprite); // bg3 static const u8 sBorderBgTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83BF58C.4bpp.lz"); +#if defined(FIRERED) static const u8 sBorderBgMap[] = INCBIN_U8("data/graphics/title_screen/unk_83BF5A8.bin.lz"); +#elif defined(LEAFGREEN) +static const u8 sBorderBgMap[] = INCBIN_U8("data/graphics/title_screen/lg_border_bg.bin.lz"); +#endif //sprites -static const u8 sSlashSpriteTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83bf64c.4bpp.lz"); +static const u32 sSlashSpriteTiles[] = INCBIN_U32("data/graphics/title_screen/unk_83bf64c.4bpp.lz"); +#if defined(FIRERED) static const u16 sSlashSpritePals[] = INCBIN_U16("data/graphics/title_screen/unk_83bf77c.gbapal"); -static const u8 sFireSpriteTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83bf79c.4bpp.lz"); -static const u8 sBlankFireSpriteTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83bfa14.4bpp.lz"); +static const u32 sFireSpriteTiles[] = INCBIN_U32("data/graphics/title_screen/unk_83bf79c.4bpp.lz"); +static const u32 sBlankFireSpriteTiles[] = INCBIN_U32("data/graphics/title_screen/unk_83bfa14.4bpp.lz"); +#elif defined(LEAFGREEN) +static const u16 sSlashSpritePals[] = INCBIN_U16("data/graphics/title_screen/unk_lg_83bf764.gbapal"); +static const u32 sLeafSpriteTiles[] = INCBIN_U32("data/graphics/title_screen/unk_lg_83bf784.4bpp.lz"); +static const u32 sBlankLeafSpriteTiles[] = INCBIN_U32("data/graphics/title_screen/unk_lg_83bf89c.4bpp.lz"); +#endif static const struct OamData sOamData_FlameOrLeaf = { .objMode = ST_OAM_OBJ_NORMAL, @@ -91,6 +102,7 @@ static const struct OamData sOamData_FlameOrLeaf = { .paletteNum = 0 }; +#if defined(FIRERED) static const union AnimCmd sSpriteAnims_FlameOrLeaf_0[] = { ANIMCMD_FRAME(0x00, 3), ANIMCMD_FRAME(0x04, 6), @@ -118,6 +130,27 @@ static const union AnimCmd *const sSpriteAnimTable_FlameOrLeaf[] = { sSpriteAnims_FlameOrLeaf_1 }; +#elif defined(LEAFGREEN) +static const union AnimCmd sSpriteAnims_FlameOrLeaf_0[] = { + ANIMCMD_FRAME(0x00, 8), + ANIMCMD_FRAME(0x04, 8), + ANIMCMD_FRAME(0x08, 8), + ANIMCMD_FRAME(0x0c, 8), + ANIMCMD_FRAME(0x10, 8), + ANIMCMD_FRAME(0x14, 8), + ANIMCMD_FRAME(0x18, 8), + ANIMCMD_FRAME(0x1c, 8), + ANIMCMD_FRAME(0x20, 8), + ANIMCMD_FRAME(0x24, 8), + ANIMCMD_FRAME(0x28, 8), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_FlameOrLeaf[] = { + sSpriteAnims_FlameOrLeaf_0 +}; +#endif + static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State1 = { .tileTag = 0, .paletteTag = 0, @@ -128,6 +161,7 @@ static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State1 = { .callback = SpriteCallbackDummy }; +#if defined(FIRERED) static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State0 = { .tileTag = 1, .paletteTag = 0, @@ -137,8 +171,25 @@ static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State0 = { .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; +#elif defined(LEAFGREEN) +static const struct OamData sOamData_LG_83BF950 = { + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), + .priority = 3 +}; + +static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State0 = { + .tileTag = 1, + .paletteTag = 0, + .oam = &sOamData_LG_83BF950, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; +#endif -static const struct OamData sOamData_UnknownTemptySprite = { +static const struct OamData sOamData_UnknownEmptySprite = { .objMode = ST_OAM_OBJ_NORMAL, .shape = ST_OAM_V_RECTANGLE, .size = ST_OAM_SIZE_3, @@ -150,7 +201,7 @@ static const struct OamData sOamData_UnknownTemptySprite = { static const struct SpriteTemplate sUnknownEmptySprite = { .tileTag = 2, .paletteTag = 2, - .oam = &sOamData_UnknownTemptySprite, + .oam = &sOamData_UnknownEmptySprite, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -221,23 +272,39 @@ static void (*const sSceneFuncs[])(s16 * data) = { SetTitleScreenScene_Cry }; +#if defined(FIRERED) +static const struct CompressedSpriteSheet sSpriteSheets[] = { + {sFireSpriteTiles, 0x500, 0}, + {sBlankFireSpriteTiles, 0x500, 1}, + {gGraphics_TitleScreen_BlankObjTiles, 0x400, 2}, + {sSlashSpriteTiles, 0x800, 3} +}; +#elif defined(LEAFGREEN) static const struct CompressedSpriteSheet sSpriteSheets[] = { - {(const void *)sFireSpriteTiles, 0x500, 0}, - {(const void *)sBlankFireSpriteTiles, 0x500, 1}, - {(const void *)gGraphics_TitleScreen_BlankObjTiles, 0x400, 2}, - {(const void *)sSlashSpriteTiles, 0x800, 3} + {sLeafSpriteTiles, 0x580, 0}, + {sBlankLeafSpriteTiles, 0x100, 1}, + {gGraphics_TitleScreen_BlankObjTiles, 0x400, 2}, + {sSlashSpriteTiles, 0x800, 3} }; +#endif static const struct SpritePalette sSpritePals[] = { {sSlashSpritePals, 0}, - {gGraphics_TitleScreen_FirePals, 2}, + {gGraphics_TitleScreen_FireOrLeafPals, 2}, {} }; +#if defined(FIRERED) static const u8 gUnknown_83BFBD4[] = { 0x04, 0x10, 0x1a, 0x20, 0x30, 0xc8, 0xd8, 0xe0, 0xe8, 0x3c, 0x4c, 0x5c, 0x6c, 0x80, 0x90 }; +#elif defined(LEAFGREEN) +static const u16 gUnknown_LG_83BFA10[] = { + 40, 80, 110, 60, 90, 70, 100, 50 +}; +#endif + void CB2_InitTitleScreen(void) { switch (gMain.state) @@ -263,12 +330,12 @@ void CB2_InitTitleScreen(void) sTitleScreenTimerTaskId = 0xFF; break; case 1: - LoadPalette(gGraphics_TitleScreen_PokemonFireRedLogoPals, 0, 0x1A0); - DecompressAndCopyTileDataToVram(0, gGraphics_TitleScreen_PokemonFireRedLogoTiles, 0, 0, 0); - DecompressAndCopyTileDataToVram(0, gGraphics_TitleScreen_PokemonFireRedLogoMap, 0, 0, 1); - LoadPalette(gGraphics_TitleScreen_CharizardPals, 0xD0, 0x20); - DecompressAndCopyTileDataToVram(1, gGraphics_TitleScreen_CharizardTiles, 0, 0, 0); - DecompressAndCopyTileDataToVram(1, gGraphics_TitleScreen_CharizardMap, 0, 0, 1); + LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, 0, 0x1A0); + DecompressAndCopyTileDataToVram(0, gGraphics_TitleScreen_GameTitleLogoTiles, 0, 0, 0); + DecompressAndCopyTileDataToVram(0, gGraphics_TitleScreen_GameTitleLogoMap, 0, 0, 1); + LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, 0xD0, 0x20); + DecompressAndCopyTileDataToVram(1, gGraphics_TitleScreen_BoxArtMonTiles, 0, 0, 0); + DecompressAndCopyTileDataToVram(1, gGraphics_TitleScreen_BoxArtMonMap, 0, 0, 1); LoadPalette(gGraphics_TitleScreen_BackgroundPals, 0xF0, 0x20); DecompressAndCopyTileDataToVram(2, gGraphics_TitleScreen_CopyrightPressStartTiles, 0, 0, 0); DecompressAndCopyTileDataToVram(2, gGraphics_TitleScreen_CopyrightPressStartMap, 0, 0, 1); @@ -486,7 +553,7 @@ static void SetTitleScreenScene_FadeIn(s16 * data) BlendPalettes(r4, 0x10, RGB(30, 30, 31)); BeginNormalPaletteFade(r4, 1, 0x10, 0x00, RGB(30, 30, 31)); ShowBg(0); - CpuCopy16(gGraphics_TitleScreen_CharizardPals, gPlttBufferUnfaded + 0xD0, 0x20); + CpuCopy16(gGraphics_TitleScreen_BoxArtMonPals, gPlttBufferUnfaded + 0xD0, 0x20); sub_80717A8(0x2000, 1, 0x0F, 0x00, RGB(30, 30, 31), 0, 0); data[1]++; } @@ -509,7 +576,7 @@ static void SetTitleScreenScene_Run(s16 * data) { case 0: HelpSystem_SetSomeVariable2(1); - CreateTask(Task_TitleScreen_PaletteSomething, 0); + CreateTask(Task_TitleScreen_BlinkPressStart, 0); CreateTask(Task_FlameOrLeafSpawner, 5); SetGpuRegsForTitleScreenRun(); data[6] = CreateSlashSprite(); @@ -569,7 +636,7 @@ static void SetTitleScreenScene_Restart(s16 * data) case 2: if (IsNotWaitingForBGMStop() && !gPaletteFade.active) { - DestroyTask(FindTaskIdByFunc(Task_TitleScreen_PaletteSomething)); + DestroyTask(FindTaskIdByFunc(Task_TitleScreen_BlinkPressStart)); data[2] = 0; data[1]++; } @@ -578,7 +645,7 @@ static void SetTitleScreenScene_Restart(s16 * data) data[2]++; if (data[2] >= 20) { - DestroyTask(FindTaskIdByFunc(Task_TitleScreen_PaletteSomething)); + DestroyTask(FindTaskIdByFunc(Task_TitleScreen_BlinkPressStart)); data[1]++; } break; @@ -692,7 +759,7 @@ static void Task_TitleScreen_SlideWin0(u8 taskId) } } -static void Task_TitleScreen_PaletteSomething(u8 taskId) +static void Task_TitleScreen_BlinkPressStart(u8 taskId) { s16 * data = gTasks[taskId].data; s32 i; @@ -738,7 +805,7 @@ static void Task_TitleScreen_PaletteSomething(u8 taskId) static void SignalEndTitleScreenPaletteSomethingTask(void) { - u8 taskId = FindTaskIdByFunc(Task_TitleScreen_PaletteSomething); + u8 taskId = FindTaskIdByFunc(Task_TitleScreen_BlinkPressStart); gTasks[taskId].data[15] = TRUE; } @@ -796,8 +863,8 @@ static void LoadMainTitleScreenPalsAndResetBgs(void) sub_8071898(); ResetPaletteFadeControl(); - LoadPalette(gGraphics_TitleScreen_PokemonFireRedLogoPals, 0x00, 0x1A0); - LoadPalette(gGraphics_TitleScreen_CharizardPals, 0xD0, 0x20); + LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, 0x00, 0x1A0); + LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, 0xD0, 0x20); LoadPalette(gGraphics_TitleScreen_BackgroundPals, 0xF0, 0x20); LoadPalette(gGraphics_TitleScreen_BackgroundPals, 0xE0, 0x20); ResetBgPositions(); @@ -876,6 +943,7 @@ static void SpriteCallback_TitleScreenFlameOrLeaf(struct Sprite * sprite) #endif } +#if defined(FIRERED) static bool32 CreateFlameOrLeafSprite(s32 x, s32 y, s32 xspeed, s32 yspeed, bool32 templateId) { u8 spriteId; @@ -951,6 +1019,88 @@ static void Task_FlameOrLeafSpawner(u8 taskId) } } +#elif defined(LEAFGREEN) + +static void CreateFlameOrLeafSprite(s32 y0, s32 x1, s32 y1) +{ + u8 spriteId = CreateSprite(&sSpriteTemplate_FlameOrLeaf_State1, 0xF0, y0, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[0] = 0xF00; + gSprites[spriteId].data[1] = x1; + gSprites[spriteId].data[2] = y0 << 4; + gSprites[spriteId].data[3] = y1; + gSprites[spriteId].callback = SpriteCallback_TitleScreenFlameOrLeaf; + } +} + +static void SpriteCallback_LG_8079800(struct Sprite * sprite) +{ + sprite->pos1.x -= 7; + if (sprite->pos1.x < -16) + { + sprite->pos1.x = 0x100; + sprite->data[7]++; + if (sprite->data[7] >= NELEMS(gUnknown_LG_83BFA10)) + sprite->data[7] = 0; + sprite->pos1.y = gUnknown_LG_83BFA10[sprite->data[7]]; + } +} + +static void sub_LG_8079844(void) +{ + int i; + u8 spriteId; + for (i = 0; i < 4; i++) + { + spriteId = CreateSprite(&sSpriteTemplate_FlameOrLeaf_State0, 0x100 + 0x28 * i, gUnknown_LG_83BFA10[i], 0xFF); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[7] = i; + gSprites[spriteId].callback = SpriteCallback_LG_8079800; + } + } +} + +static void Task_FlameOrLeafSpawner(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + s32 rval; + s32 r6; + s32 r4; + s32 r0; + + switch (data[0]) + { + case 0: + sub_LG_8079844(); + TitleScreen_srand(taskId, 3, 30840); + data[0]++; + break; + case 1: + data[1]++; + if (data[1] >= data[2]) + { + data[1] = 0; + data[2] = (TitleScreen_rand(taskId, 3) % 6) + 6; + rval = TitleScreen_rand(taskId, 3) % 30; + r6 = 16; + if (rval >= 6) + { + r6 = 48; + if (rval < 12) + r6 = 24; + } + r4 = (TitleScreen_rand(taskId, 3) % 4) - 2; + r0 = (TitleScreen_rand(taskId, 3) % 88) + 32; + CreateFlameOrLeafSprite(r0, r6, r4); + } + break; + } +} + +#endif //FRLG + static void TitleScreen_srand(u8 taskId, u8 field, u16 seed) { SetWordTaskArg(taskId, field, seed); @@ -979,7 +1129,7 @@ static void SetPalOnOrCreateBlankSprite(bool32 mode) if (mode) { palIdx = IndexOfSpritePaletteTag(2); - LoadPalette(gGraphics_TitleScreen_FirePals, palIdx * 16 + 0x100, 0x20); + LoadPalette(gGraphics_TitleScreen_FireOrLeafPals, palIdx * 16 + 0x100, 0x20); } else CreateBlankSprite(); diff --git a/src/trade.c b/src/trade.c index f52950d82..2f48928ec 100644 --- a/src/trade.c +++ b/src/trade.c @@ -365,41 +365,58 @@ static const u8 sTradeMonSpriteCoords[][2] = { {0x17, 0x12}, }; -// No idea if a 4D array is correct -static const u8 gUnknown_8261E5A[][2][6][2] = { +static const u8 gUnknown_8261E5A[][2][2] = { { - { - {0x05, 0x04}, - {0x0c, 0x04}, - {0x05, 0x09}, - {0x0c, 0x09}, - {0x05, 0x0e}, - {0x0c, 0x0e} - }, { - {0x14, 0x04}, - {0x1b, 0x04}, - {0x14, 0x09}, - {0x1b, 0x09}, - {0x14, 0x0e}, - {0x1b, 0x0e} - } - }, { - { - {0x01, 0x03}, - {0x08, 0x03}, - {0x01, 0x08}, - {0x08, 0x08}, - {0x01, 0x0d}, - {0x08, 0x0d} - }, { - {0x10, 0x03}, - {0x17, 0x03}, - {0x10, 0x08}, - {0x17, 0x08}, - {0x10, 0x0d}, - {0x17, 0x0d} - } - } + {0x05, 0x04}, + {0x0c, 0x04}, + }, + { + {0x05, 0x09}, + {0x0c, 0x09}, + }, + { + {0x05, 0x0e}, + {0x0c, 0x0e} + }, + { + {0x14, 0x04}, + {0x1b, 0x04}, + }, + { + {0x14, 0x09}, + {0x1b, 0x09}, + }, + { + {0x14, 0x0e}, + {0x1b, 0x0e}, + }, +}; + +static const u8 gUnknown_8261E72[][2][2] = { + { + {0x01, 0x03}, + {0x08, 0x03}, + }, + { + {0x01, 0x08}, + {0x08, 0x08}, + }, + { + {0x01, 0x0d}, + {0x08, 0x0d} + }, + { + {0x10, 0x03}, + {0x17, 0x03}, + }, + { + {0x10, 0x08}, + {0x17, 0x08}, + }, + { + {0x10, 0x0d}, + {0x17, 0x0d}, + }, }; static const u8 sTradeUnknownSpriteCoords[][4] = { @@ -725,8 +742,6 @@ void CB2_ReturnFromLinkTrade(void) SetMainCallback2(sub_804C728); } -#ifdef NONMATCHING -// See note on case 12 below static void sub_804C728(void) { int i; @@ -734,6 +749,12 @@ static void sub_804C728(void) u8 id; s32 width; u32 xPos; +#ifndef NONMATCHING + register u32 r0 asm("r0"); +#else + u32 r0; +#endif + u8 *name; switch (gMain.state) { @@ -879,11 +900,11 @@ static void sub_804C728(void) break; case 8: LoadHeldItemIcons(); - DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 0); + DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 0); gMain.state++; break; case 9: - DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 1); + DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 1); gMain.state++; break; case 10: @@ -908,14 +929,10 @@ static void sub_804C728(void) temp.tileTag += i; CreateSprite(&temp, xPos + sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][1], 1); } - - /* - * These three lines are a pain to match due to register alloc and - * pointer arithmetic misbehavior. - */ id = GetMultiplayerId(); - id ^= 1; - width = GetStringWidth(1, gLinkPlayers[id].name, 0); + r0 = (id ^ 1) * sizeof(*gLinkPlayers); + name = gLinkPlayers->name; + width = GetStringWidth(1, name + r0, 0); xPos = (56 - width) / 2; for (i = 0; i < 3; i++) { @@ -1000,921 +1017,7 @@ static void sub_804C728(void) BuildOamBuffer(); UpdatePaletteFade(); } -#else -NAKED -static void sub_804C728(void) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r8\n" - "\tpush {r7}\n" - "\tsub sp, 0x28\n" - "\tldr r1, _0804C74C @ =gMain\n" - "\tmovs r2, 0x87\n" - "\tlsls r2, 3\n" - "\tadds r0, r1, r2\n" - "\tldrb r0, [r0]\n" - "\tadds r3, r1, 0\n" - "\tcmp r0, 0x16\n" - "\tbls _0804C742\n" - "\tb _0804CEE6\n" - "_0804C742:\n" - "\tlsls r0, 2\n" - "\tldr r1, _0804C750 @ =_0804C754\n" - "\tadds r0, r1\n" - "\tldr r0, [r0]\n" - "\tmov pc, r0\n" - "\t.align 2, 0\n" - "_0804C74C: .4byte gMain\n" - "_0804C750: .4byte _0804C754\n" - "\t.align 2, 0\n" - "_0804C754:\n" - "\t.4byte _0804C7B0\n" - "\t.4byte _0804C7FC\n" - "\t.4byte _0804C8C8\n" - "\t.4byte _0804C8F4\n" - "\t.4byte _0804C950\n" - "\t.4byte _0804C9B0\n" - "\t.4byte _0804C9F0\n" - "\t.4byte _0804CA10\n" - "\t.4byte _0804CB50\n" - "\t.4byte _0804CB78\n" - "\t.4byte _0804CB9C\n" - "\t.4byte _0804CC30\n" - "\t.4byte _0804CC3E\n" - "\t.4byte _0804CD10\n" - "\t.4byte _0804CDE0\n" - "\t.4byte _0804CE20\n" - "\t.4byte _0804CE3A\n" - "\t.4byte _0804CE48\n" - "\t.4byte _0804CE5C\n" - "\t.4byte _0804CE7C\n" - "\t.4byte _0804CE9C\n" - "\t.4byte _0804CEB0\n" - "\t.4byte _0804CED0\n" - "_0804C7B0:\n" - "\tldr r4, _0804C7E8 @ =sTradeMenuResourcesPtr\n" - "\tldr r0, _0804C7EC @ =0x000010f0\n" - "\tbl AllocZeroed\n" - "\tstr r0, [r4]\n" - "\tbl sub_804C600\n" - "\tldr r4, _0804C7F0 @ =sSpriteTextTileBuffer\n" - "\tmovs r0, 0xE0\n" - "\tlsls r0, 4\n" - "\tbl AllocZeroed\n" - "\tstr r0, [r4]\n" - "\tmovs r6, 0\n" - "\tldr r2, _0804C7F4 @ =sSpriteTextTilePtrs\n" - "_0804C7CE:\n" - "\tlsls r1, r6, 8\n" - "\tldr r0, [r4]\n" - "\tadds r0, r1\n" - "\tstm r2!, {r0}\n" - "\tadds r6, 0x1\n" - "\tcmp r6, 0xD\n" - "\tble _0804C7CE\n" - "\tldr r1, _0804C7F8 @ =gMain\n" - "\tmovs r3, 0x87\n" - "\tlsls r3, 3\n" - "\tadds r1, r3\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804C7E8: .4byte sTradeMenuResourcesPtr\n" - "_0804C7EC: .4byte 0x000010f0\n" - "_0804C7F0: .4byte sSpriteTextTileBuffer\n" - "_0804C7F4: .4byte sSpriteTextTilePtrs\n" - "_0804C7F8: .4byte gMain\n" - "_0804C7FC:\n" - "\tldr r2, _0804C864 @ =gPaletteFade\n" - "\tldrb r1, [r2, 0x8]\n" - "\tmovs r0, 0x7F\n" - "\tands r0, r1\n" - "\tstrb r0, [r2, 0x8]\n" - "\tmovs r6, 0\n" - "\tmovs r4, 0\n" - "_0804C80A:\n" - "\tmovs r0, 0x64\n" - "\tmuls r0, r6\n" - "\tldr r1, _0804C868 @ =gEnemyParty\n" - "\tadds r0, r1\n" - "\tstr r4, [sp]\n" - "\tstr r4, [sp, 0x4]\n" - "\tstr r4, [sp, 0x8]\n" - "\tstr r4, [sp, 0xC]\n" - "\tmovs r1, 0\n" - "\tmovs r2, 0\n" - "\tmovs r3, 0x20\n" - "\tbl CreateMon\n" - "\tadds r6, 0x1\n" - "\tcmp r6, 0x5\n" - "\tble _0804C80A\n" - "\tmovs r0, 0\n" - "\tbl PrintTradeErrorOrStatusMessage\n" - "\tmovs r0, 0\n" - "\tbl ShowBg\n" - "\tldr r0, _0804C86C @ =gReceivedRemoteLinkPlayers\n" - "\tldrb r2, [r0]\n" - "\tcmp r2, 0\n" - "\tbne _0804C8B4\n" - "\tldr r1, _0804C870 @ =gLinkType\n" - "\tldr r5, _0804C874 @ =0x00001122\n" - "\tadds r0, r5, 0\n" - "\tstrh r0, [r1]\n" - "\tldr r0, _0804C878 @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r0]\n" - "\tadds r0, 0xA8\n" - "\tstrb r2, [r0]\n" - "\tldr r0, _0804C87C @ =gWirelessCommType\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbeq _0804C880\n" - "\tbl sub_800B1F4\n" - "\tbl OpenLink\n" - "\tbl sub_80FBB20\n" - "\tb _0804C892\n" - "\t.align 2, 0\n" - "_0804C864: .4byte gPaletteFade\n" - "_0804C868: .4byte gEnemyParty\n" - "_0804C86C: .4byte gReceivedRemoteLinkPlayers\n" - "_0804C870: .4byte gLinkType\n" - "_0804C874: .4byte 0x00001122\n" - "_0804C878: .4byte sTradeMenuResourcesPtr\n" - "_0804C87C: .4byte gWirelessCommType\n" - "_0804C880:\n" - "\tbl OpenLink\n" - "\tldr r1, _0804C8A8 @ =gMain\n" - "\tmovs r7, 0x87\n" - "\tlsls r7, 3\n" - "\tadds r1, r7\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tstrb r0, [r1]\n" - "_0804C892:\n" - "\tldr r0, _0804C8AC @ =gWirelessCommType\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbeq _0804C89C\n" - "\tb _0804CEE6\n" - "_0804C89C:\n" - "\tldr r0, _0804C8B0 @ =sub_8081A90\n" - "\tmovs r1, 0x1\n" - "\tbl CreateTask\n" - "\tb _0804CEE6\n" - "\t.align 2, 0\n" - "_0804C8A8: .4byte gMain\n" - "_0804C8AC: .4byte gWirelessCommType\n" - "_0804C8B0: .4byte sub_8081A90\n" - "_0804C8B4:\n" - "\tldr r0, _0804C8C4 @ =gMain\n" - "\tmovs r1, 0x87\n" - "\tlsls r1, 3\n" - "\tadds r0, r1\n" - "\tmovs r1, 0x4\n" - "\tstrb r1, [r0]\n" - "\tb _0804CEE6\n" - "\t.align 2, 0\n" - "_0804C8C4: .4byte gMain\n" - "_0804C8C8:\n" - "\tldr r2, _0804C8F0 @ =sTradeMenuResourcesPtr\n" - "\tldr r1, [r2]\n" - "\tadds r1, 0xA8\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tstrb r0, [r1]\n" - "\tldr r0, [r2]\n" - "\tadds r1, r0, 0\n" - "\tadds r1, 0xA8\n" - "\tldrb r0, [r1]\n" - "\tcmp r0, 0xB\n" - "\tbhi _0804C8E2\n" - "\tb _0804CEE6\n" - "_0804C8E2:\n" - "\tmovs r0, 0\n" - "\tstrb r0, [r1]\n" - "\tmovs r2, 0x87\n" - "\tlsls r2, 3\n" - "\tadds r1, r3, r2\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804C8F0: .4byte sTradeMenuResourcesPtr\n" - "_0804C8F4:\n" - "\tbl GetLinkPlayerCount_2\n" - "\tadds r4, r0, 0\n" - "\tbl GetSavedPlayerCount\n" - "\tlsls r4, 24\n" - "\tlsls r0, 24\n" - "\tcmp r4, r0\n" - "\tbcs _0804C908\n" - "\tb _0804CEE6\n" - "_0804C908:\n" - "\tbl IsLinkMaster\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbeq _0804C940\n" - "\tldr r0, _0804C938 @ =sTradeMenuResourcesPtr\n" - "\tldr r1, [r0]\n" - "\tadds r1, 0xA8\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tstrb r0, [r1]\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tcmp r0, 0x1E\n" - "\tbhi _0804C928\n" - "\tb _0804CEE6\n" - "_0804C928:\n" - "\tbl CheckShouldAdvanceLinkState\n" - "\tldr r1, _0804C93C @ =gMain\n" - "\tmovs r3, 0x87\n" - "\tlsls r3, 3\n" - "\tadds r1, r3\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804C938: .4byte sTradeMenuResourcesPtr\n" - "_0804C93C: .4byte gMain\n" - "_0804C940:\n" - "\tldr r1, _0804C94C @ =gMain\n" - "\tmovs r5, 0x87\n" - "\tlsls r5, 3\n" - "\tadds r1, r5\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804C94C: .4byte gMain\n" - "_0804C950:\n" - "\tldr r0, _0804C9A0 @ =gReceivedRemoteLinkPlayers\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x1\n" - "\tbeq _0804C95A\n" - "\tb _0804CEE6\n" - "_0804C95A:\n" - "\tbl IsLinkPlayerDataExchangeComplete\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tcmp r0, 0x1\n" - "\tbeq _0804C968\n" - "\tb _0804CEE6\n" - "_0804C968:\n" - "\tbl sub_80FBB4C\n" - "\tbl CalculatePlayerPartyCount\n" - "\tldr r1, _0804C9A4 @ =gMain\n" - "\tmovs r7, 0x87\n" - "\tlsls r7, 3\n" - "\tadds r1, r7\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tmovs r2, 0\n" - "\tstrb r0, [r1]\n" - "\tldr r0, _0804C9A8 @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r0]\n" - "\tadds r0, 0xA8\n" - "\tstrb r2, [r0]\n" - "\tldr r0, _0804C9AC @ =gWirelessCommType\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbne _0804C992\n" - "\tb _0804CEE6\n" - "_0804C992:\n" - "\tmovs r0, 0x1\n" - "\tbl sub_80FA484\n" - "\tbl sub_800AB9C\n" - "\tb _0804CEE6\n" - "\t.align 2, 0\n" - "_0804C9A0: .4byte gReceivedRemoteLinkPlayers\n" - "_0804C9A4: .4byte gMain\n" - "_0804C9A8: .4byte sTradeMenuResourcesPtr\n" - "_0804C9AC: .4byte gWirelessCommType\n" - "_0804C9B0:\n" - "\tldr r0, _0804C9E0 @ =gWirelessCommType\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbeq _0804C9E8\n" - "\tbl IsLinkRfuTaskFinished\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbne _0804C9C4\n" - "\tb _0804CEE6\n" - "_0804C9C4:\n" - "\tldr r1, _0804C9E4 @ =gMain\n" - "\tmovs r0, 0x87\n" - "\tlsls r0, 3\n" - "\tadds r1, r0\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tstrb r0, [r1]\n" - "\tbl LoadWirelessStatusIndicatorSpriteGfx\n" - "\tmovs r0, 0\n" - "\tmovs r1, 0\n" - "\tbl CreateWirelessStatusIndicatorSprite\n" - "\tb _0804CEE6\n" - "\t.align 2, 0\n" - "_0804C9E0: .4byte gWirelessCommType\n" - "_0804C9E4: .4byte gMain\n" - "_0804C9E8:\n" - "\tmovs r2, 0x87\n" - "\tlsls r2, 3\n" - "\tadds r1, r3, r2\n" - "\tb _0804CEC2\n" - "_0804C9F0:\n" - "\tbl shedinja_maker_maybe\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbne _0804C9FC\n" - "\tb _0804CEE6\n" - "_0804C9FC:\n" - "\tbl sub_804F9D8\n" - "\tldr r1, _0804CA0C @ =gMain\n" - "\tmovs r3, 0x87\n" - "\tlsls r3, 3\n" - "\tadds r1, r3\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804CA0C: .4byte gMain\n" - "_0804CA10:\n" - "\tbl CalculateEnemyPartyCount\n" - "\tmovs r0, 0\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x50\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tldr r2, _0804CB2C @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r2]\n" - "\tldr r1, _0804CB30 @ =gPlayerPartyCount\n" - "\tldrb r1, [r1]\n" - "\tadds r0, 0x36\n" - "\tstrb r1, [r0]\n" - "\tldr r0, [r2]\n" - "\tldr r1, _0804CB34 @ =gEnemyPartyCount\n" - "\tldrb r1, [r1]\n" - "\tadds r0, 0x37\n" - "\tstrb r1, [r0]\n" - "\tmovs r6, 0\n" - "\tldr r0, [r2]\n" - "\tadds r0, 0x36\n" - "\tldrb r0, [r0]\n" - "\tcmp r6, r0\n" - "\tbge _0804CAA8\n" - "\tmov r8, r2\n" - "\tldr r7, _0804CB38 @ =sTradeMonSpriteCoords\n" - "_0804CA4A:\n" - "\tmovs r0, 0x64\n" - "\tadds r4, r6, 0\n" - "\tmuls r4, r0\n" - "\tldr r0, _0804CB3C @ =gPlayerParty\n" - "\tadds r4, r0\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0x41\n" - "\tbl GetMonData\n" - "\tadds r5, r0, 0\n" - "\tlsls r5, 16\n" - "\tlsrs r5, 16\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0\n" - "\tbl GetMonData\n" - "\tldrb r2, [r7]\n" - "\tlsls r2, 19\n" - "\tmovs r1, 0xE0\n" - "\tlsls r1, 12\n" - "\tadds r2, r1\n" - "\tasrs r2, 16\n" - "\tldrb r3, [r7, 0x1]\n" - "\tlsls r3, 19\n" - "\tldr r1, _0804CB40 @ =0xfff40000\n" - "\tadds r3, r1\n" - "\tasrs r3, 16\n" - "\tmovs r1, 0x1\n" - "\tstr r1, [sp]\n" - "\tstr r0, [sp, 0x4]\n" - "\tstr r1, [sp, 0x8]\n" - "\tadds r0, r5, 0\n" - "\tldr r1, _0804CB44 @ =SpriteCB_MonIcon\n" - "\tbl CreateMonIcon\n" - "\tmov r2, r8\n" - "\tldr r1, [r2]\n" - "\tadds r1, 0x28\n" - "\tadds r1, r6\n" - "\tstrb r0, [r1]\n" - "\tadds r7, 0x2\n" - "\tadds r6, 0x1\n" - "\tldr r0, [r2]\n" - "\tadds r0, 0x36\n" - "\tldrb r0, [r0]\n" - "\tcmp r6, r0\n" - "\tblt _0804CA4A\n" - "_0804CAA8:\n" - "\tmovs r6, 0\n" - "\tldr r1, _0804CB2C @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r1]\n" - "\tadds r0, 0x37\n" - "\tldrb r0, [r0]\n" - "\tcmp r6, r0\n" - "\tbge _0804CB20\n" - "\tldr r0, _0804CB38 @ =sTradeMonSpriteCoords\n" - "\tmov r8, r1\n" - "\tadds r7, r0, 0\n" - "\tadds r7, 0xC\n" - "_0804CABE:\n" - "\tmovs r0, 0x64\n" - "\tadds r4, r6, 0\n" - "\tmuls r4, r0\n" - "\tldr r0, _0804CB48 @ =gEnemyParty\n" - "\tadds r4, r0\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0x41\n" - "\tmovs r2, 0\n" - "\tbl GetMonData\n" - "\tadds r5, r0, 0\n" - "\tlsls r5, 16\n" - "\tlsrs r5, 16\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0\n" - "\tbl GetMonData\n" - "\tldrb r2, [r7]\n" - "\tlsls r2, 19\n" - "\tmovs r3, 0xE0\n" - "\tlsls r3, 12\n" - "\tadds r2, r3\n" - "\tasrs r2, 16\n" - "\tldrb r3, [r7, 0x1]\n" - "\tlsls r3, 19\n" - "\tldr r1, _0804CB40 @ =0xfff40000\n" - "\tadds r3, r1\n" - "\tasrs r3, 16\n" - "\tmovs r1, 0x1\n" - "\tstr r1, [sp]\n" - "\tstr r0, [sp, 0x4]\n" - "\tmovs r0, 0\n" - "\tstr r0, [sp, 0x8]\n" - "\tadds r0, r5, 0\n" - "\tldr r1, _0804CB44 @ =SpriteCB_MonIcon\n" - "\tbl CreateMonIcon\n" - "\tmov r2, r8\n" - "\tldr r1, [r2]\n" - "\tadds r1, 0x2E\n" - "\tadds r1, r6\n" - "\tstrb r0, [r1]\n" - "\tadds r7, 0x2\n" - "\tadds r6, 0x1\n" - "\tldr r0, [r2]\n" - "\tadds r0, 0x37\n" - "\tldrb r0, [r0]\n" - "\tcmp r6, r0\n" - "\tblt _0804CABE\n" - "_0804CB20:\n" - "\tldr r1, _0804CB4C @ =gMain\n" - "\tmovs r3, 0x87\n" - "\tlsls r3, 3\n" - "\tadds r1, r3\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804CB2C: .4byte sTradeMenuResourcesPtr\n" - "_0804CB30: .4byte gPlayerPartyCount\n" - "_0804CB34: .4byte gEnemyPartyCount\n" - "_0804CB38: .4byte sTradeMonSpriteCoords\n" - "_0804CB3C: .4byte gPlayerParty\n" - "_0804CB40: .4byte 0xfff40000\n" - "_0804CB44: .4byte SpriteCB_MonIcon\n" - "_0804CB48: .4byte gEnemyParty\n" - "_0804CB4C: .4byte gMain\n" - "_0804CB50:\n" - "\tbl LoadHeldItemIcons\n" - "\tldr r0, _0804CB70 @ =sTradeMenuResourcesPtr\n" - "\tldr r1, [r0]\n" - "\tadds r0, r1, 0\n" - "\tadds r0, 0x36\n" - "\tadds r1, 0x28\n" - "\tmovs r2, 0\n" - "\tbl DrawHeldItemIconsForTrade\n" - "\tldr r1, _0804CB74 @ =gMain\n" - "\tmovs r5, 0x87\n" - "\tlsls r5, 3\n" - "\tadds r1, r5\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804CB70: .4byte sTradeMenuResourcesPtr\n" - "_0804CB74: .4byte gMain\n" - "_0804CB78:\n" - "\tldr r0, _0804CB94 @ =sTradeMenuResourcesPtr\n" - "\tldr r1, [r0]\n" - "\tadds r0, r1, 0\n" - "\tadds r0, 0x36\n" - "\tadds r1, 0x28\n" - "\tmovs r2, 0x1\n" - "\tbl DrawHeldItemIconsForTrade\n" - "\tldr r1, _0804CB98 @ =gMain\n" - "\tmovs r7, 0x87\n" - "\tlsls r7, 3\n" - "\tadds r1, r7\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804CB94: .4byte sTradeMenuResourcesPtr\n" - "_0804CB98: .4byte gMain\n" - "_0804CB9C:\n" - "\tldr r0, _0804CC14 @ =gSaveBlock2Ptr\n" - "\tldr r0, [r0]\n" - "\tldr r6, _0804CC18 @ =sSpriteTextTilePtrs\n" - "\tldr r1, [r6]\n" - "\tldr r5, _0804CC1C @ =gDecompressionBuffer\n" - "\tstr r5, [sp]\n" - "\tmovs r4, 0x3\n" - "\tstr r4, [sp, 0x4]\n" - "\tmovs r2, 0\n" - "\tmovs r3, 0\n" - "\tbl PSS_RenderTextToVramViaBuffer\n" - "\tbl GetMultiplayerId\n" - "\tlsls r0, 24\n" - "\tmovs r1, 0x80\n" - "\tlsls r1, 17\n" - "\teors r1, r0\n" - "\tlsrs r1, 24\n" - "\tlsls r0, r1, 3\n" - "\tsubs r0, r1\n" - "\tlsls r0, 2\n" - "\tldr r1, _0804CC20 @ =gLinkPlayers + 8\n" - "\tadds r0, r1\n" - "\tldr r1, [r6, 0xC]\n" - "\tstr r5, [sp]\n" - "\tstr r4, [sp, 0x4]\n" - "\tmovs r2, 0\n" - "\tmovs r3, 0\n" - "\tbl PSS_RenderTextToVramViaBuffer\n" - "\tldr r4, _0804CC24 @ =sTradeUITextPtrs\n" - "\tldr r0, [r4]\n" - "\tldr r1, [r6, 0x18]\n" - "\tstr r5, [sp]\n" - "\tmovs r2, 0x2\n" - "\tstr r2, [sp, 0x4]\n" - "\tmovs r2, 0\n" - "\tmovs r3, 0\n" - "\tbl PSS_RenderTextToVramViaBuffer\n" - "\tldr r0, [r4, 0x4]\n" - "\tldr r1, [r6, 0x20]\n" - "\tmovs r2, 0x18\n" - "\tbl RenderTextToVramViaBuffer\n" - "\tldr r1, _0804CC28 @ =gMain\n" - "\tmovs r0, 0x87\n" - "\tlsls r0, 3\n" - "\tadds r1, r0\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tmovs r2, 0\n" - "\tstrb r0, [r1]\n" - "\tldr r0, _0804CC2C @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r0]\n" - "\tadds r0, 0xA8\n" - "\tstrb r2, [r0]\n" - "\tb _0804CEE6\n" - "\t.align 2, 0\n" - "_0804CC14: .4byte gSaveBlock2Ptr\n" - "_0804CC18: .4byte sSpriteTextTilePtrs\n" - "_0804CC1C: .4byte gDecompressionBuffer\n" - "_0804CC20: .4byte gLinkPlayers + 8\n" - "_0804CC24: .4byte sTradeUITextPtrs\n" - "_0804CC28: .4byte gMain\n" - "_0804CC2C: .4byte sTradeMenuResourcesPtr\n" - "_0804CC30:\n" - "\tbl sub_804F610\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbne _0804CC3C\n" - "\tb _0804CEE6\n" - "_0804CC3C:\n" - "\tb _0804CEBA\n" - "_0804CC3E:\n" - "\tldr r0, _0804CCFC @ =gSaveBlock2Ptr\n" - "\tldr r1, [r0]\n" - "\tmovs r0, 0x1\n" - "\tmovs r2, 0\n" - "\tbl GetStringWidth\n" - "\tadds r1, r0, 0\n" - "\tmovs r0, 0x38\n" - "\tsubs r0, r1\n" - "\tlsrs r1, r0, 31\n" - "\tadds r0, r1\n" - "\tmovs r6, 0\n" - "\tadd r5, sp, 0x10\n" - "\tldr r3, _0804CD00 @ =sTradeUnknownSpriteCoords\n" - "\tmov r8, r3\n" - "\tasrs r0, 1\n" - "\tldrb r7, [r3, 0x4]\n" - "\tadds r4, r0, r7\n" - "_0804CC62:\n" - "\tadd r1, sp, 0x10\n" - "\tldr r0, _0804CD04 @ =sSpriteTemplate_Text\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tldrh r0, [r5]\n" - "\tadds r0, r6\n" - "\tstrh r0, [r5]\n" - "\tlsls r1, r4, 16\n" - "\tasrs r1, 16\n" - "\tadd r0, sp, 0x10\n" - "\tmov r3, r8\n" - "\tldrb r2, [r3, 0x5]\n" - "\tmovs r3, 0x1\n" - "\tbl CreateSprite\n" - "\tadds r4, 0x20\n" - "\tadds r6, 0x1\n" - "\tcmp r6, 0x2\n" - "\tble _0804CC62\n" - "\tbl GetMultiplayerId\n" - "\tlsls r0, 24\n" - "\tmovs r1, 0x80\n" - "\tlsls r1, 17\n" - "\teors r1, r0\n" - "\tlsrs r1, 24\n" - "\tlsls r0, r1, 3\n" - "\tsubs r0, r1\n" - "\tlsls r0, 2\n" - "\tldr r1, _0804CD08 @ =gLinkPlayers + 8\n" - "\tadds r1, r0, r1\n" - "\tmovs r0, 0x1\n" - "\tmovs r2, 0\n" - "\tbl GetStringWidth\n" - "\tadds r1, r0, 0\n" - "\tmovs r0, 0x38\n" - "\tsubs r0, r1\n" - "\tlsrs r1, r0, 31\n" - "\tadds r0, r1\n" - "\tmovs r6, 0\n" - "\tadd r5, sp, 0x10\n" - "\tldr r7, _0804CD00 @ =sTradeUnknownSpriteCoords\n" - "\tmov r8, r7\n" - "\tasrs r0, 1\n" - "\tmov r1, r8\n" - "\tldrb r1, [r1, 0x6]\n" - "\tadds r4, r0, r1\n" - "_0804CCC6:\n" - "\tadd r1, sp, 0x10\n" - "\tldr r0, _0804CD04 @ =sSpriteTemplate_Text\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tadds r0, r6, 0x3\n" - "\tldrh r1, [r5]\n" - "\tadds r0, r1\n" - "\tstrh r0, [r5]\n" - "\tlsls r1, r4, 16\n" - "\tasrs r1, 16\n" - "\tadd r0, sp, 0x10\n" - "\tmov r3, r8\n" - "\tldrb r2, [r3, 0x7]\n" - "\tmovs r3, 0x1\n" - "\tbl CreateSprite\n" - "\tadds r4, 0x20\n" - "\tadds r6, 0x1\n" - "\tcmp r6, 0x2\n" - "\tble _0804CCC6\n" - "\tldr r1, _0804CD0C @ =gMain\n" - "\tmovs r5, 0x87\n" - "\tlsls r5, 3\n" - "\tadds r1, r5\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804CCFC: .4byte gSaveBlock2Ptr\n" - "_0804CD00: .4byte sTradeUnknownSpriteCoords\n" - "_0804CD04: .4byte sSpriteTemplate_Text\n" - "_0804CD08: .4byte gLinkPlayers + 8\n" - "_0804CD0C: .4byte gMain\n" - "_0804CD10:\n" - "\tldr r4, _0804CDCC @ =sSpriteTemplate_Text\n" - "\tadd r1, sp, 0x10\n" - "\tadds r0, r4, 0\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tldm r0!, {r2,r5,r7}\n" - "\tstm r1!, {r2,r5,r7}\n" - "\tadd r1, sp, 0x10\n" - "\tadds r0, r1, 0\n" - "\tldrh r0, [r0]\n" - "\tadds r0, 0x6\n" - "\tstrh r0, [r1]\n" - "\tadds r0, r1, 0\n" - "\tmovs r1, 0xD7\n" - "\tmovs r2, 0x97\n" - "\tmovs r3, 0x1\n" - "\tbl CreateSprite\n" - "\tadd r0, sp, 0x10\n" - "\tldm r4!, {r3,r5,r7}\n" - "\tstm r0!, {r3,r5,r7}\n" - "\tldm r4!, {r1-r3}\n" - "\tstm r0!, {r1-r3}\n" - "\tadd r1, sp, 0x10\n" - "\tadds r0, r1, 0\n" - "\tldrh r0, [r0]\n" - "\tadds r0, 0x7\n" - "\tstrh r0, [r1]\n" - "\tadds r0, r1, 0\n" - "\tmovs r1, 0xF7\n" - "\tmovs r2, 0x97\n" - "\tmovs r3, 0x1\n" - "\tbl CreateSprite\n" - "\tmovs r6, 0\n" - "\tadd r4, sp, 0x10\n" - "\tmovs r5, 0xC0\n" - "\tlsls r5, 13\n" - "_0804CD5C:\n" - "\tadd r1, sp, 0x10\n" - "\tldr r0, _0804CDCC @ =sSpriteTemplate_Text\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tadds r0, r6, 0\n" - "\tadds r0, 0x8\n" - "\tldrh r7, [r4]\n" - "\tadds r0, r7\n" - "\tstrh r0, [r4]\n" - "\tasrs r1, r5, 16\n" - "\tadd r0, sp, 0x10\n" - "\tmovs r2, 0x96\n" - "\tmovs r3, 0x1\n" - "\tbl CreateSprite\n" - "\tmovs r0, 0x80\n" - "\tlsls r0, 14\n" - "\tadds r5, r0\n" - "\tadds r6, 0x1\n" - "\tcmp r6, 0x5\n" - "\tble _0804CD5C\n" - "\tldr r0, _0804CDD0 @ =sSpriteTemplate_TradeButtons\n" - "\tldr r2, _0804CDD4 @ =sTradeMonSpriteCoords\n" - "\tldrb r1, [r2]\n" - "\tlsls r1, 19\n" - "\tmovs r3, 0x80\n" - "\tlsls r3, 14\n" - "\tadds r1, r3\n" - "\tasrs r1, 16\n" - "\tldrb r2, [r2, 0x1]\n" - "\tlsls r2, 3\n" - "\tmovs r3, 0x2\n" - "\tbl CreateSprite\n" - "\tldr r2, _0804CDD8 @ =sTradeMenuResourcesPtr\n" - "\tldr r1, [r2]\n" - "\tadds r1, 0x34\n" - "\tmovs r3, 0\n" - "\tstrb r0, [r1]\n" - "\tldr r0, [r2]\n" - "\tadds r0, 0x35\n" - "\tstrb r3, [r0]\n" - "\tldr r1, _0804CDDC @ =gMain\n" - "\tmovs r5, 0x87\n" - "\tlsls r5, 3\n" - "\tadds r1, r5\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tstrb r0, [r1]\n" - "\tmovs r0, 0\n" - "\tbl rbox_fill_rectangle\n" - "\tb _0804CEE6\n" - "\t.align 2, 0\n" - "_0804CDCC: .4byte sSpriteTemplate_Text\n" - "_0804CDD0: .4byte sSpriteTemplate_TradeButtons\n" - "_0804CDD4: .4byte sTradeMonSpriteCoords\n" - "_0804CDD8: .4byte sTradeMenuResourcesPtr\n" - "_0804CDDC: .4byte gMain\n" - "_0804CDE0:\n" - "\tmovs r0, 0\n" - "\tbl sub_804F748\n" - "\tmovs r0, 0\n" - "\tbl sub_804F020\n" - "\tldr r2, _0804CE14 @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r2]\n" - "\tmovs r1, 0\n" - "\tstrb r1, [r0]\n" - "\tldr r0, [r2]\n" - "\tstrb r1, [r0, 0x1]\n" - "\tbl sub_804D764\n" - "\tldr r1, _0804CE18 @ =gMain\n" - "\tmovs r7, 0x87\n" - "\tlsls r7, 3\n" - "\tadds r1, r7\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tstrb r0, [r1]\n" - "\tldr r0, _0804CE1C @ =0x00000111\n" - "\tbl PlayBGM\n" - "\tb _0804CEE6\n" - "\t.align 2, 0\n" - "_0804CE14: .4byte sTradeMenuResourcesPtr\n" - "_0804CE18: .4byte gMain\n" - "_0804CE1C: .4byte 0x00000111\n" - "_0804CE20:\n" - "\tmovs r0, 0x1\n" - "\tbl sub_804F748\n" - "\tmovs r0, 0x1\n" - "\tbl sub_804F020\n" - "\tldr r1, _0804CE44 @ =gMain\n" - "\tmovs r0, 0x87\n" - "\tlsls r0, 3\n" - "\tadds r1, r0\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tstrb r0, [r1]\n" - "_0804CE3A:\n" - "\tmovs r0, 0\n" - "\tbl sub_804D694\n" - "\tb _0804CEBA\n" - "\t.align 2, 0\n" - "_0804CE44: .4byte gMain\n" - "_0804CE48:\n" - "\tmovs r0, 0x1\n" - "\tbl sub_804D694\n" - "\tldr r1, _0804CE58 @ =gMain\n" - "\tmovs r3, 0x87\n" - "\tlsls r3, 3\n" - "\tadds r1, r3\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804CE58: .4byte gMain\n" - "_0804CE5C:\n" - "\tmovs r0, 0x1\n" - "\tnegs r0, r0\n" - "\tmovs r1, 0\n" - "\tstr r1, [sp]\n" - "\tmovs r2, 0x10\n" - "\tmovs r3, 0\n" - "\tbl BeginNormalPaletteFade\n" - "\tldr r1, _0804CE78 @ =gMain\n" - "\tmovs r5, 0x87\n" - "\tlsls r5, 3\n" - "\tadds r1, r5\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804CE78: .4byte gMain\n" - "_0804CE7C:\n" - "\tmovs r1, 0x82\n" - "\tlsls r1, 5\n" - "\tmovs r0, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x2\n" - "\tbl sub_804D694\n" - "\tldr r1, _0804CE98 @ =gMain\n" - "\tmovs r7, 0x87\n" - "\tlsls r7, 3\n" - "\tadds r1, r7\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804CE98: .4byte gMain\n" - "_0804CE9C:\n" - "\tmovs r0, 0\n" - "\tbl sub_804F890\n" - "\tldr r1, _0804CEAC @ =gMain\n" - "\tmovs r0, 0x87\n" - "\tlsls r0, 3\n" - "\tadds r1, r0\n" - "\tb _0804CEC2\n" - "\t.align 2, 0\n" - "_0804CEAC: .4byte gMain\n" - "_0804CEB0:\n" - "\tmovs r0, 0x1\n" - "\tbl sub_804F890\n" - "\tbl sub_804F964\n" - "_0804CEBA:\n" - "\tldr r1, _0804CECC @ =gMain\n" - "\tmovs r2, 0x87\n" - "\tlsls r2, 3\n" - "\tadds r1, r2\n" - "_0804CEC2:\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tstrb r0, [r1]\n" - "\tb _0804CEE6\n" - "\t.align 2, 0\n" - "_0804CECC: .4byte gMain\n" - "_0804CED0:\n" - "\tldr r0, _0804CF08 @ =gPaletteFade\n" - "\tldrb r1, [r0, 0x7]\n" - "\tmovs r0, 0x80\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbne _0804CEE6\n" - "\tldr r0, _0804CF0C @ =sub_804DFF0\n" - "\tstr r0, [r3]\n" - "\tldr r0, _0804CF10 @ =sub_804D638\n" - "\tbl SetMainCallback2\n" - "_0804CEE6:\n" - "\tbl RunTextPrinters\n" - "\tbl RunTasks\n" - "\tbl AnimateSprites\n" - "\tbl BuildOamBuffer\n" - "\tbl UpdatePaletteFade\n" - "\tadd sp, 0x28\n" - "\tpop {r3}\n" - "\tmov r8, r3\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_0804CF08: .4byte gPaletteFade\n" - "_0804CF0C: .4byte sub_804DFF0\n" - "_0804CF10: .4byte sub_804D638"); -} -#endif //NONMATCHING -#ifdef NONMATCHING -// Nonmatching behaviour is the same as the function above void sub_804CF14(void) { int i; @@ -1922,6 +1025,12 @@ void sub_804CF14(void) u8 id; s32 width; u32 xPos; +#ifndef NONMATCHING + register u32 r0 asm("r0"); +#else + u32 r0; +#endif + u8 *name; switch (gMain.state) { @@ -1989,11 +1098,11 @@ void sub_804CF14(void) break; case 8: LoadHeldItemIcons(); - DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 0); + DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 0); gMain.state++; break; case 9: - DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 1); + DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 1); gMain.state++; break; case 10: @@ -2020,14 +1129,10 @@ void sub_804CF14(void) temp.tileTag += i; CreateSprite(&temp, xPos + sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][1], 1); } - - /* - * These three lines are a pain to match due to register alloc and - * pointer arithmetic misbehavior. - */ id = GetMultiplayerId(); - id ^= 1; - width = GetStringWidth(1, gLinkPlayers[id].name, 0); + r0 = (id ^ 1) * sizeof(*gLinkPlayers); + name = gLinkPlayers->name; + width = GetStringWidth(1, name + r0, 0); xPos = (56 - width) / 2; for (i = 0; i < 3; i++) { @@ -2102,692 +1207,6 @@ void sub_804CF14(void) BuildOamBuffer(); UpdatePaletteFade(); } -#else -NAKED -void sub_804CF14(void) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r8\n" - "\tpush {r7}\n" - "\tsub sp, 0x24\n" - "\tldr r1, _0804CF38 @ =gMain\n" - "\tmovs r2, 0x87\n" - "\tlsls r2, 3\n" - "\tadds r0, r1, r2\n" - "\tldrb r0, [r0]\n" - "\tadds r2, r1, 0\n" - "\tcmp r0, 0x16\n" - "\tbls _0804CF2E\n" - "\tb _0804D4D2\n" - "_0804CF2E:\n" - "\tlsls r0, 2\n" - "\tldr r1, _0804CF3C @ =_0804CF40\n" - "\tadds r0, r1\n" - "\tldr r0, [r0]\n" - "\tmov pc, r0\n" - "\t.align 2, 0\n" - "_0804CF38: .4byte gMain\n" - "_0804CF3C: .4byte _0804CF40\n" - "\t.align 2, 0\n" - "_0804CF40:\n" - "\t.4byte _0804CF9C\n" - "\t.4byte _0804CFB0\n" - "\t.4byte _0804CFB8\n" - "\t.4byte _0804CFC0\n" - "\t.4byte _0804CFC8\n" - "\t.4byte _0804CFDC\n" - "\t.4byte _0804D004\n" - "\t.4byte _0804D00C\n" - "\t.4byte _0804D150\n" - "\t.4byte _0804D178\n" - "\t.4byte _0804D19C\n" - "\t.4byte _0804D230\n" - "\t.4byte _0804D24C\n" - "\t.4byte _0804D320\n" - "\t.4byte _0804D4D2\n" - "\t.4byte _0804D4D2\n" - "\t.4byte _0804D414\n" - "\t.4byte _0804D41C\n" - "\t.4byte _0804D444\n" - "\t.4byte _0804D480\n" - "\t.4byte _0804D4A0\n" - "\t.4byte _0804D4A8\n" - "\t.4byte _0804D4C0\n" - "_0804CF9C:\n" - "\tbl sub_804C600\n" - "\tldr r1, _0804CFAC @ =gMain\n" - "\tmovs r3, 0x87\n" - "\tlsls r3, 3\n" - "\tadds r1, r3\n" - "\tb _0804D4B4\n" - "\t.align 2, 0\n" - "_0804CFAC: .4byte gMain\n" - "_0804CFB0:\n" - "\tmovs r5, 0x87\n" - "\tlsls r5, 3\n" - "\tadds r1, r2, r5\n" - "\tb _0804D200\n" - "_0804CFB8:\n" - "\tmovs r7, 0x87\n" - "\tlsls r7, 3\n" - "\tadds r1, r2, r7\n" - "\tb _0804D4B4\n" - "_0804CFC0:\n" - "\tmovs r0, 0x87\n" - "\tlsls r0, 3\n" - "\tadds r1, r2, r0\n" - "\tb _0804D4B4\n" - "_0804CFC8:\n" - "\tbl CalculatePlayerPartyCount\n" - "\tldr r1, _0804CFD8 @ =gMain\n" - "\tmovs r2, 0x87\n" - "\tlsls r2, 3\n" - "\tadds r1, r2\n" - "\tb _0804D4B4\n" - "\t.align 2, 0\n" - "_0804CFD8: .4byte gMain\n" - "_0804CFDC:\n" - "\tldr r0, _0804CFFC @ =gWirelessCommType\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbeq _0804CFF0\n" - "\tbl LoadWirelessStatusIndicatorSpriteGfx\n" - "\tmovs r0, 0\n" - "\tmovs r1, 0\n" - "\tbl CreateWirelessStatusIndicatorSprite\n" - "_0804CFF0:\n" - "\tldr r1, _0804D000 @ =gMain\n" - "\tmovs r3, 0x87\n" - "\tlsls r3, 3\n" - "\tadds r1, r3\n" - "\tb _0804D4B4\n" - "\t.align 2, 0\n" - "_0804CFFC: .4byte gWirelessCommType\n" - "_0804D000: .4byte gMain\n" - "_0804D004:\n" - "\tmovs r5, 0x87\n" - "\tlsls r5, 3\n" - "\tadds r1, r2, r5\n" - "\tb _0804D4B4\n" - "_0804D00C:\n" - "\tbl CalculateEnemyPartyCount\n" - "\tldr r4, _0804D12C @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r4]\n" - "\tldr r1, _0804D130 @ =gPlayerPartyCount\n" - "\tldrb r1, [r1]\n" - "\tadds r0, 0x36\n" - "\tstrb r1, [r0]\n" - "\tldr r0, [r4]\n" - "\tldr r1, _0804D134 @ =gEnemyPartyCount\n" - "\tldrb r1, [r1]\n" - "\tadds r0, 0x37\n" - "\tstrb r1, [r0]\n" - "\tmovs r0, 0\n" - "\tbl ClearWindowTilemap\n" - "\tmovs r0, 0\n" - "\tbl sub_804F020\n" - "\tmovs r0, 0x1\n" - "\tbl sub_804F020\n" - "\tmovs r6, 0\n" - "\tldr r0, [r4]\n" - "\tadds r0, 0x36\n" - "\tldrb r0, [r0]\n" - "\tcmp r6, r0\n" - "\tbge _0804D0A8\n" - "\tmov r8, r4\n" - "\tldr r7, _0804D138 @ =sTradeMonSpriteCoords\n" - "_0804D048:\n" - "\tmovs r0, 0x64\n" - "\tadds r4, r6, 0\n" - "\tmuls r4, r0\n" - "\tldr r0, _0804D13C @ =gPlayerParty\n" - "\tadds r4, r0\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0x41\n" - "\tmovs r2, 0\n" - "\tbl GetMonData\n" - "\tadds r5, r0, 0\n" - "\tlsls r5, 16\n" - "\tlsrs r5, 16\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0\n" - "\tbl GetMonData\n" - "\tldrb r2, [r7]\n" - "\tlsls r2, 19\n" - "\tmovs r1, 0xE0\n" - "\tlsls r1, 12\n" - "\tadds r2, r1\n" - "\tasrs r2, 16\n" - "\tldrb r3, [r7, 0x1]\n" - "\tlsls r3, 19\n" - "\tldr r1, _0804D140 @ =0xfff40000\n" - "\tadds r3, r1\n" - "\tasrs r3, 16\n" - "\tmovs r1, 0x1\n" - "\tstr r1, [sp]\n" - "\tstr r0, [sp, 0x4]\n" - "\tstr r1, [sp, 0x8]\n" - "\tadds r0, r5, 0\n" - "\tldr r1, _0804D144 @ =SpriteCB_MonIcon\n" - "\tbl CreateMonIcon\n" - "\tmov r2, r8\n" - "\tldr r1, [r2]\n" - "\tadds r1, 0x28\n" - "\tadds r1, r6\n" - "\tstrb r0, [r1]\n" - "\tadds r7, 0x2\n" - "\tadds r6, 0x1\n" - "\tldr r0, [r2]\n" - "\tadds r0, 0x36\n" - "\tldrb r0, [r0]\n" - "\tcmp r6, r0\n" - "\tblt _0804D048\n" - "_0804D0A8:\n" - "\tmovs r6, 0\n" - "\tldr r1, _0804D12C @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r1]\n" - "\tadds r0, 0x37\n" - "\tldrb r0, [r0]\n" - "\tcmp r6, r0\n" - "\tbge _0804D120\n" - "\tldr r0, _0804D138 @ =sTradeMonSpriteCoords\n" - "\tmov r8, r1\n" - "\tadds r7, r0, 0\n" - "\tadds r7, 0xC\n" - "_0804D0BE:\n" - "\tmovs r0, 0x64\n" - "\tadds r4, r6, 0\n" - "\tmuls r4, r0\n" - "\tldr r0, _0804D148 @ =gEnemyParty\n" - "\tadds r4, r0\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0x41\n" - "\tmovs r2, 0\n" - "\tbl GetMonData\n" - "\tadds r5, r0, 0\n" - "\tlsls r5, 16\n" - "\tlsrs r5, 16\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0\n" - "\tbl GetMonData\n" - "\tldrb r2, [r7]\n" - "\tlsls r2, 19\n" - "\tmovs r3, 0xE0\n" - "\tlsls r3, 12\n" - "\tadds r2, r3\n" - "\tasrs r2, 16\n" - "\tldrb r3, [r7, 0x1]\n" - "\tlsls r3, 19\n" - "\tldr r1, _0804D140 @ =0xfff40000\n" - "\tadds r3, r1\n" - "\tasrs r3, 16\n" - "\tmovs r1, 0x1\n" - "\tstr r1, [sp]\n" - "\tstr r0, [sp, 0x4]\n" - "\tmovs r0, 0\n" - "\tstr r0, [sp, 0x8]\n" - "\tadds r0, r5, 0\n" - "\tldr r1, _0804D144 @ =SpriteCB_MonIcon\n" - "\tbl CreateMonIcon\n" - "\tmov r2, r8\n" - "\tldr r1, [r2]\n" - "\tadds r1, 0x2E\n" - "\tadds r1, r6\n" - "\tstrb r0, [r1]\n" - "\tadds r7, 0x2\n" - "\tadds r6, 0x1\n" - "\tldr r0, [r2]\n" - "\tadds r0, 0x37\n" - "\tldrb r0, [r0]\n" - "\tcmp r6, r0\n" - "\tblt _0804D0BE\n" - "_0804D120:\n" - "\tldr r1, _0804D14C @ =gMain\n" - "\tmovs r3, 0x87\n" - "\tlsls r3, 3\n" - "\tadds r1, r3\n" - "\tb _0804D4B4\n" - "\t.align 2, 0\n" - "_0804D12C: .4byte sTradeMenuResourcesPtr\n" - "_0804D130: .4byte gPlayerPartyCount\n" - "_0804D134: .4byte gEnemyPartyCount\n" - "_0804D138: .4byte sTradeMonSpriteCoords\n" - "_0804D13C: .4byte gPlayerParty\n" - "_0804D140: .4byte 0xfff40000\n" - "_0804D144: .4byte SpriteCB_MonIcon\n" - "_0804D148: .4byte gEnemyParty\n" - "_0804D14C: .4byte gMain\n" - "_0804D150:\n" - "\tbl LoadHeldItemIcons\n" - "\tldr r0, _0804D170 @ =sTradeMenuResourcesPtr\n" - "\tldr r1, [r0]\n" - "\tadds r0, r1, 0\n" - "\tadds r0, 0x36\n" - "\tadds r1, 0x28\n" - "\tmovs r2, 0\n" - "\tbl DrawHeldItemIconsForTrade\n" - "\tldr r1, _0804D174 @ =gMain\n" - "\tmovs r5, 0x87\n" - "\tlsls r5, 3\n" - "\tadds r1, r5\n" - "\tb _0804D4B4\n" - "\t.align 2, 0\n" - "_0804D170: .4byte sTradeMenuResourcesPtr\n" - "_0804D174: .4byte gMain\n" - "_0804D178:\n" - "\tldr r0, _0804D194 @ =sTradeMenuResourcesPtr\n" - "\tldr r1, [r0]\n" - "\tadds r0, r1, 0\n" - "\tadds r0, 0x36\n" - "\tadds r1, 0x28\n" - "\tmovs r2, 0x1\n" - "\tbl DrawHeldItemIconsForTrade\n" - "\tldr r1, _0804D198 @ =gMain\n" - "\tmovs r7, 0x87\n" - "\tlsls r7, 3\n" - "\tadds r1, r7\n" - "\tb _0804D4B4\n" - "\t.align 2, 0\n" - "_0804D194: .4byte sTradeMenuResourcesPtr\n" - "_0804D198: .4byte gMain\n" - "_0804D19C:\n" - "\tldr r0, _0804D214 @ =gSaveBlock2Ptr\n" - "\tldr r0, [r0]\n" - "\tldr r6, _0804D218 @ =sSpriteTextTilePtrs\n" - "\tldr r1, [r6]\n" - "\tldr r5, _0804D21C @ =gDecompressionBuffer\n" - "\tstr r5, [sp]\n" - "\tmovs r4, 0x3\n" - "\tstr r4, [sp, 0x4]\n" - "\tmovs r2, 0\n" - "\tmovs r3, 0\n" - "\tbl PSS_RenderTextToVramViaBuffer\n" - "\tbl GetMultiplayerId\n" - "\tlsls r0, 24\n" - "\tmovs r1, 0x80\n" - "\tlsls r1, 17\n" - "\teors r1, r0\n" - "\tlsrs r1, 24\n" - "\tlsls r0, r1, 3\n" - "\tsubs r0, r1\n" - "\tlsls r0, 2\n" - "\tldr r1, _0804D220 @ =gLinkPlayers + 8\n" - "\tadds r0, r1\n" - "\tldr r1, [r6, 0xC]\n" - "\tstr r5, [sp]\n" - "\tstr r4, [sp, 0x4]\n" - "\tmovs r2, 0\n" - "\tmovs r3, 0\n" - "\tbl PSS_RenderTextToVramViaBuffer\n" - "\tldr r4, _0804D224 @ =sTradeUITextPtrs\n" - "\tldr r0, [r4]\n" - "\tldr r1, [r6, 0x18]\n" - "\tstr r5, [sp]\n" - "\tmovs r2, 0x2\n" - "\tstr r2, [sp, 0x4]\n" - "\tmovs r2, 0\n" - "\tmovs r3, 0\n" - "\tbl PSS_RenderTextToVramViaBuffer\n" - "\tldr r0, [r4, 0x4]\n" - "\tldr r1, [r6, 0x20]\n" - "\tmovs r2, 0x18\n" - "\tbl RenderTextToVramViaBuffer\n" - "\tldr r1, _0804D228 @ =gMain\n" - "\tmovs r0, 0x87\n" - "\tlsls r0, 3\n" - "\tadds r1, r0\n" - "_0804D200:\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tmovs r2, 0\n" - "\tstrb r0, [r1]\n" - "\tldr r0, _0804D22C @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r0]\n" - "\tadds r0, 0xA8\n" - "\tstrb r2, [r0]\n" - "\tb _0804D4D2\n" - "\t.align 2, 0\n" - "_0804D214: .4byte gSaveBlock2Ptr\n" - "_0804D218: .4byte sSpriteTextTilePtrs\n" - "_0804D21C: .4byte gDecompressionBuffer\n" - "_0804D220: .4byte gLinkPlayers + 8\n" - "_0804D224: .4byte sTradeUITextPtrs\n" - "_0804D228: .4byte gMain\n" - "_0804D22C: .4byte sTradeMenuResourcesPtr\n" - "_0804D230:\n" - "\tbl sub_804F610\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbne _0804D23C\n" - "\tb _0804D4D2\n" - "_0804D23C:\n" - "\tldr r1, _0804D248 @ =gMain\n" - "\tmovs r2, 0x87\n" - "\tlsls r2, 3\n" - "\tadds r1, r2\n" - "\tb _0804D4B4\n" - "\t.align 2, 0\n" - "_0804D248: .4byte gMain\n" - "_0804D24C:\n" - "\tldr r0, _0804D30C @ =gSaveBlock2Ptr\n" - "\tldr r1, [r0]\n" - "\tmovs r0, 0x1\n" - "\tmovs r2, 0\n" - "\tbl GetStringWidth\n" - "\tadds r1, r0, 0\n" - "\tmovs r0, 0x38\n" - "\tsubs r0, r1\n" - "\tlsrs r1, r0, 31\n" - "\tadds r0, r1\n" - "\tmovs r6, 0\n" - "\tadd r5, sp, 0xC\n" - "\tldr r3, _0804D310 @ =sTradeUnknownSpriteCoords\n" - "\tmov r8, r3\n" - "\tasrs r0, 1\n" - "\tldrb r7, [r3, 0x4]\n" - "\tadds r4, r0, r7\n" - "_0804D270:\n" - "\tadd r1, sp, 0xC\n" - "\tldr r0, _0804D314 @ =sSpriteTemplate_Text\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tldrh r0, [r5]\n" - "\tadds r0, r6\n" - "\tstrh r0, [r5]\n" - "\tlsls r1, r4, 16\n" - "\tasrs r1, 16\n" - "\tadd r0, sp, 0xC\n" - "\tmov r3, r8\n" - "\tldrb r2, [r3, 0x5]\n" - "\tmovs r3, 0x1\n" - "\tbl CreateSprite\n" - "\tadds r4, 0x20\n" - "\tadds r6, 0x1\n" - "\tcmp r6, 0x2\n" - "\tble _0804D270\n" - "\tbl GetMultiplayerId\n" - "\tlsls r0, 24\n" - "\tmovs r1, 0x80\n" - "\tlsls r1, 17\n" - "\teors r1, r0\n" - "\tlsrs r1, 24\n" - "\tlsls r0, r1, 3\n" - "\tsubs r0, r1\n" - "\tlsls r0, 2\n" - "\tldr r1, _0804D318 @ =gLinkPlayers + 8\n" - "\tadds r1, r0, r1\n" - "\tmovs r0, 0x1\n" - "\tmovs r2, 0\n" - "\tbl GetStringWidth\n" - "\tadds r1, r0, 0\n" - "\tmovs r0, 0x38\n" - "\tsubs r0, r1\n" - "\tlsrs r1, r0, 31\n" - "\tadds r0, r1\n" - "\tmovs r6, 0\n" - "\tadd r5, sp, 0xC\n" - "\tldr r7, _0804D310 @ =sTradeUnknownSpriteCoords\n" - "\tmov r8, r7\n" - "\tasrs r0, 1\n" - "\tmov r1, r8\n" - "\tldrb r1, [r1, 0x6]\n" - "\tadds r4, r0, r1\n" - "_0804D2D4:\n" - "\tadd r1, sp, 0xC\n" - "\tldr r0, _0804D314 @ =sSpriteTemplate_Text\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tadds r0, r6, 0x3\n" - "\tldrh r1, [r5]\n" - "\tadds r0, r1\n" - "\tstrh r0, [r5]\n" - "\tlsls r1, r4, 16\n" - "\tasrs r1, 16\n" - "\tadd r0, sp, 0xC\n" - "\tmov r3, r8\n" - "\tldrb r2, [r3, 0x7]\n" - "\tmovs r3, 0x1\n" - "\tbl CreateSprite\n" - "\tadds r4, 0x20\n" - "\tadds r6, 0x1\n" - "\tcmp r6, 0x2\n" - "\tble _0804D2D4\n" - "\tldr r1, _0804D31C @ =gMain\n" - "\tmovs r5, 0x87\n" - "\tlsls r5, 3\n" - "\tadds r1, r5\n" - "\tb _0804D4B4\n" - "\t.align 2, 0\n" - "_0804D30C: .4byte gSaveBlock2Ptr\n" - "_0804D310: .4byte sTradeUnknownSpriteCoords\n" - "_0804D314: .4byte sSpriteTemplate_Text\n" - "_0804D318: .4byte gLinkPlayers + 8\n" - "_0804D31C: .4byte gMain\n" - "_0804D320:\n" - "\tldr r4, _0804D3B0 @ =sSpriteTemplate_Text\n" - "\tadd r1, sp, 0xC\n" - "\tadds r0, r4, 0\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tldm r0!, {r2,r5,r7}\n" - "\tstm r1!, {r2,r5,r7}\n" - "\tadd r1, sp, 0xC\n" - "\tadds r0, r1, 0\n" - "\tldrh r0, [r0]\n" - "\tadds r0, 0x6\n" - "\tstrh r0, [r1]\n" - "\tadds r0, r1, 0\n" - "\tmovs r1, 0xD7\n" - "\tmovs r2, 0x97\n" - "\tmovs r3, 0x1\n" - "\tbl CreateSprite\n" - "\tadd r0, sp, 0xC\n" - "\tldm r4!, {r3,r5,r7}\n" - "\tstm r0!, {r3,r5,r7}\n" - "\tldm r4!, {r1-r3}\n" - "\tstm r0!, {r1-r3}\n" - "\tadd r1, sp, 0xC\n" - "\tadds r0, r1, 0\n" - "\tldrh r0, [r0]\n" - "\tadds r0, 0x7\n" - "\tstrh r0, [r1]\n" - "\tadds r0, r1, 0\n" - "\tmovs r1, 0xF7\n" - "\tmovs r2, 0x97\n" - "\tmovs r3, 0x1\n" - "\tbl CreateSprite\n" - "\tmovs r6, 0\n" - "\tadd r4, sp, 0xC\n" - "\tmovs r5, 0xC0\n" - "\tlsls r5, 13\n" - "_0804D36C:\n" - "\tadd r1, sp, 0xC\n" - "\tldr r0, _0804D3B0 @ =sSpriteTemplate_Text\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tldm r0!, {r2,r3,r7}\n" - "\tstm r1!, {r2,r3,r7}\n" - "\tadds r0, r6, 0\n" - "\tadds r0, 0x8\n" - "\tldrh r7, [r4]\n" - "\tadds r0, r7\n" - "\tstrh r0, [r4]\n" - "\tasrs r1, r5, 16\n" - "\tadd r0, sp, 0xC\n" - "\tmovs r2, 0x96\n" - "\tmovs r3, 0x1\n" - "\tbl CreateSprite\n" - "\tmovs r0, 0x80\n" - "\tlsls r0, 14\n" - "\tadds r5, r0\n" - "\tadds r6, 0x1\n" - "\tcmp r6, 0x5\n" - "\tble _0804D36C\n" - "\tldr r4, _0804D3B4 @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r4]\n" - "\tadds r0, 0x35\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x5\n" - "\tbhi _0804D3B8\n" - "\tbl GetLastViewedMonIndex\n" - "\tldr r1, [r4]\n" - "\tb _0804D3C0\n" - "\t.align 2, 0\n" - "_0804D3B0: .4byte sSpriteTemplate_Text\n" - "_0804D3B4: .4byte sTradeMenuResourcesPtr\n" - "_0804D3B8:\n" - "\tbl GetLastViewedMonIndex\n" - "\tldr r1, [r4]\n" - "\tadds r0, 0x6\n" - "_0804D3C0:\n" - "\tadds r1, 0x35\n" - "\tstrb r0, [r1]\n" - "\tldr r0, _0804D404 @ =sSpriteTemplate_TradeButtons\n" - "\tldr r3, _0804D408 @ =sTradeMonSpriteCoords\n" - "\tldr r4, _0804D40C @ =sTradeMenuResourcesPtr\n" - "\tldr r1, [r4]\n" - "\tadds r1, 0x35\n" - "\tldrb r2, [r1]\n" - "\tlsls r2, 1\n" - "\tadds r1, r2, r3\n" - "\tldrb r1, [r1]\n" - "\tlsls r1, 19\n" - "\tmovs r5, 0x80\n" - "\tlsls r5, 14\n" - "\tadds r1, r5\n" - "\tasrs r1, 16\n" - "\tadds r3, 0x1\n" - "\tadds r2, r3\n" - "\tldrb r2, [r2]\n" - "\tlsls r2, 3\n" - "\tmovs r3, 0x2\n" - "\tbl CreateSprite\n" - "\tldr r1, [r4]\n" - "\tadds r1, 0x34\n" - "\tstrb r0, [r1]\n" - "\tldr r0, _0804D410 @ =gMain\n" - "\tmovs r7, 0x87\n" - "\tlsls r7, 3\n" - "\tadds r0, r7\n" - "\tmovs r1, 0x10\n" - "\tstrb r1, [r0]\n" - "\tb _0804D4D2\n" - "\t.align 2, 0\n" - "_0804D404: .4byte sSpriteTemplate_TradeButtons\n" - "_0804D408: .4byte sTradeMonSpriteCoords\n" - "_0804D40C: .4byte sTradeMenuResourcesPtr\n" - "_0804D410: .4byte gMain\n" - "_0804D414:\n" - "\tmovs r0, 0\n" - "\tbl sub_804D694\n" - "\tb _0804D4AC\n" - "_0804D41C:\n" - "\tmovs r0, 0x1\n" - "\tbl sub_804D694\n" - "\tldr r2, _0804D43C @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r2]\n" - "\tmovs r1, 0\n" - "\tstrb r1, [r0]\n" - "\tldr r0, [r2]\n" - "\tstrb r1, [r0, 0x1]\n" - "\tbl sub_804D764\n" - "\tldr r1, _0804D440 @ =gMain\n" - "\tmovs r2, 0x87\n" - "\tlsls r2, 3\n" - "\tadds r1, r2\n" - "\tb _0804D4B4\n" - "\t.align 2, 0\n" - "_0804D43C: .4byte sTradeMenuResourcesPtr\n" - "_0804D440: .4byte gMain\n" - "_0804D444:\n" - "\tldr r2, _0804D478 @ =gPaletteFade\n" - "\tldrb r1, [r2, 0x8]\n" - "\tmovs r0, 0x7F\n" - "\tands r0, r1\n" - "\tstrb r0, [r2, 0x8]\n" - "\tmovs r4, 0x1\n" - "\tnegs r4, r4\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0x10\n" - "\tmovs r2, 0\n" - "\tbl BlendPalettes\n" - "\tmovs r0, 0\n" - "\tstr r0, [sp]\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0\n" - "\tmovs r2, 0x10\n" - "\tmovs r3, 0\n" - "\tbl BeginNormalPaletteFade\n" - "\tldr r1, _0804D47C @ =gMain\n" - "\tmovs r3, 0x87\n" - "\tlsls r3, 3\n" - "\tadds r1, r3\n" - "\tb _0804D4B4\n" - "\t.align 2, 0\n" - "_0804D478: .4byte gPaletteFade\n" - "_0804D47C: .4byte gMain\n" - "_0804D480:\n" - "\tmovs r1, 0x82\n" - "\tlsls r1, 5\n" - "\tmovs r0, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x2\n" - "\tbl sub_804D694\n" - "\tldr r1, _0804D49C @ =gMain\n" - "\tmovs r5, 0x87\n" - "\tlsls r5, 3\n" - "\tadds r1, r5\n" - "\tb _0804D4B4\n" - "\t.align 2, 0\n" - "_0804D49C: .4byte gMain\n" - "_0804D4A0:\n" - "\tmovs r7, 0x87\n" - "\tlsls r7, 3\n" - "\tadds r1, r2, r7\n" - "\tb _0804D4B4\n" - "_0804D4A8:\n" - "\tbl sub_804F964\n" - "_0804D4AC:\n" - "\tldr r1, _0804D4BC @ =gMain\n" - "\tmovs r0, 0x87\n" - "\tlsls r0, 3\n" - "\tadds r1, r0\n" - "_0804D4B4:\n" - "\tldrb r0, [r1]\n" - "\tadds r0, 0x1\n" - "\tstrb r0, [r1]\n" - "\tb _0804D4D2\n" - "\t.align 2, 0\n" - "_0804D4BC: .4byte gMain\n" - "_0804D4C0:\n" - "\tldr r0, _0804D4F0 @ =gPaletteFade\n" - "\tldrb r1, [r0, 0x7]\n" - "\tmovs r0, 0x80\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbne _0804D4D2\n" - "\tldr r0, _0804D4F4 @ =sub_804D638\n" - "\tbl SetMainCallback2\n" - "_0804D4D2:\n" - "\tbl RunTasks\n" - "\tbl AnimateSprites\n" - "\tbl BuildOamBuffer\n" - "\tbl UpdatePaletteFade\n" - "\tadd sp, 0x24\n" - "\tpop {r3}\n" - "\tmov r8, r3\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_0804D4F0: .4byte gPaletteFade\n" - "_0804D4F4: .4byte sub_804D638"); -} -#endif //NONMATCHING static void sub_804D4F8(void) { @@ -3926,78 +2345,28 @@ static void sub_804F08C(u8 whichParty, u8 monIdx, u8 a2, u8 a3, u8 a4, u8 a5) sTradeMenuResourcesPtr->tilemapBuffer[(a3 - 1) * 32 + a2 + 1] = r2; } -#ifdef NONMATCHING -// Instruction swap when setting r5 and r4 static void sub_804F284(u8 whichParty) { s32 i; for (i = 0; i < sTradeMenuResourcesPtr->partyCounts[whichParty]; i++) { + const u8 (*r5)[2]; + const u8 (*r4)[2]; + u32 r0 = 3 * whichParty; + const u8 (*r1)[2][2] = gUnknown_8261E5A; + r5 = r1[r0]; + r4 = gUnknown_8261E72[r0]; + sub_804F08C( whichParty, i, - gUnknown_8261E5A[0][whichParty][i][0], - gUnknown_8261E5A[0][whichParty][i][1], - gUnknown_8261E5A[1][whichParty][i][0], - gUnknown_8261E5A[1][whichParty][i][1] + r5[i][0], + r5[i][1], + r4[i][0], + r4[i][1] ); } } -#else -NAKED -static void sub_804F284(u8 whichParty) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tsub sp, 0x8\n" - "\tlsls r0, 24\n" - "\tlsrs r6, r0, 24\n" - "\tmovs r7, 0\n" - "\tldr r0, _0804F2DC @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r0]\n" - "\tadds r0, 0x36\n" - "\tadds r0, r6\n" - "\tldrb r0, [r0]\n" - "\tcmp r7, r0\n" - "\tbge _0804F2D4\n" - "\tlsls r0, r6, 1\n" - "\tadds r0, r6\n" - "\tldr r1, _0804F2E0 @ =gUnknown_8261E5A\n" - "\tlsls r0, 2\n" - "\tadds r5, r0, r1\n" - "\tldr r1, _0804F2E4 @ =gUnknown_8261E5A+24\n" - "\tadds r4, r0, r1\n" - "_0804F2AA:\n" - "\tlsls r1, r7, 24\n" - "\tlsrs r1, 24\n" - "\tldrb r2, [r5]\n" - "\tldrb r3, [r5, 0x1]\n" - "\tldrb r0, [r4]\n" - "\tstr r0, [sp]\n" - "\tldrb r0, [r4, 0x1]\n" - "\tstr r0, [sp, 0x4]\n" - "\tadds r0, r6, 0\n" - "\tbl sub_804F08C\n" - "\tadds r5, 0x2\n" - "\tadds r4, 0x2\n" - "\tadds r7, 0x1\n" - "\tldr r0, _0804F2DC @ =sTradeMenuResourcesPtr\n" - "\tldr r0, [r0]\n" - "\tadds r0, 0x36\n" - "\tadds r0, r6\n" - "\tldrb r0, [r0]\n" - "\tcmp r7, r0\n" - "\tblt _0804F2AA\n" - "_0804F2D4:\n" - "\tadd sp, 0x8\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_0804F2DC: .4byte sTradeMenuResourcesPtr\n" - "_0804F2E0: .4byte gUnknown_8261E5A\n" - "_0804F2E4: .4byte gUnknown_8261E5A+24"); -} -#endif //NONMATCHING static void sub_804F2E8(u8 whichParty) { diff --git a/src/trainer_card.c b/src/trainer_card.c index 766935244..e4778f5ed 100644 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -528,7 +528,7 @@ static void Task_TrainerCard(u8 taskId) PutTrainerCardWindow(1); sTrainerCardDataPtr->var_7BCE = FALSE; } - + if (JOY_NEW(A_BUTTON)) { HelpSystem_SetSomeVariable2(11); @@ -748,13 +748,13 @@ static u8 GetTrainerStarCount(struct TrainerCard *trainerCard) if (trainerCard->hofDebutHours != 0 || trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0) stars++; - + if (trainerCard->caughtAllHoenn) stars++; - + if (trainerCard->battleTowerStraightWins > 49) stars++; - + if (trainerCard->hasAllPaintings) stars++; @@ -765,7 +765,7 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType) { u32 playTime; u8 i; - + trainerCard->gender = gSaveBlock2Ptr->playerGender; trainerCard->playTimeHours = gSaveBlock2Ptr->playTimeHours; trainerCard->playTimeMinutes = gSaveBlock2Ptr->playTimeMinutes; @@ -793,12 +793,12 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType) trainerCard->linkBattleWins = GetCappedGameStat(GAME_STAT_LINK_BATTLE_WINS, 9999); trainerCard->linkBattleLosses = GetCappedGameStat(GAME_STAT_LINK_BATTLE_LOSSES, 9999); trainerCard->pokemonTrades = GetCappedGameStat(GAME_STAT_POKEMON_TRADES, 0xFFFF); - + trainerCard->battleTowerWins = 0; trainerCard->battleTowerStraightWins = 0; trainerCard->contestsWithFriends = 0; trainerCard->pokeblocksWithFriends = 0; - + trainerCard->hasAllPaintings = FALSE; trainerCard->money = GetMoney(&gSaveBlock1Ptr->money); @@ -817,10 +817,10 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType) trainerCard->stars = 0; if (trainerCard->hofDebutHours != 0 || (trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0)) trainerCard->stars = cardType; - + if (HasAllKantoMons()) trainerCard->stars++; - + if (HasAllMons()) trainerCard->stars++; } @@ -829,46 +829,46 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType) void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard) { u8 id = 0; - - trainerCard->version = VERSION_FIRE_RED; + + trainerCard->version = GAME_VERSION; SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD); if (GetCardType() != CARD_TYPE_FRLG) return; - + trainerCard->stars = id; if (trainerCard->hofDebutHours != 0 || trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0) trainerCard->stars = 1; - + trainerCard->caughtAllHoenn = HasAllKantoMons(); trainerCard->hasAllMons = HasAllMons(); trainerCard->berriesPicked = gSaveBlock2Ptr->berryPick.berriesPicked; trainerCard->jumpsInRow = gSaveBlock2Ptr->pokeJump.jumpsInRow; - + trainerCard->berryCrushPoints = GetCappedGameStat(GAME_STAT_BERRY_CRUSH_POINTS, 0xFFFF); trainerCard->unionRoomNum = GetCappedGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES, 0xFFFF); trainerCard->var_4C = TRUE; - + if (trainerCard->caughtAllHoenn) trainerCard->stars++; - + if (trainerCard->hasAllMons) trainerCard->stars++; - + if (trainerCard->berriesPicked >= 200 && trainerCard->jumpsInRow >= 200) trainerCard->stars++; - + id = ((u16)trainerCard->trainerId) % 8; if (trainerCard->gender == FEMALE) trainerCard->var_4F = sLinkTrainerCardFacilityClasses[1][id]; else trainerCard->var_4F = sLinkTrainerCardFacilityClasses[0][id]; - + trainerCard->var_50[0] = VarGet(VAR_HOF_BRAG_STATE); trainerCard->var_50[1] = VarGet(VAR_EGG_BRAG_STATE); trainerCard->var_50[2] = VarGet(VAR_LINK_WIN_BRAG_STATE); - + trainerCard->var_4E = VarGet(VAR_TRAINER_CARD_MON_ICON_TINT_IDX); - + trainerCard->monSpecies[0] = MailSpeciesToIconSpecies(VarGet(VAR_TRAINER_CARD_MON_ICON_1)); trainerCard->monSpecies[1] = MailSpeciesToIconSpecies(VarGet(VAR_TRAINER_CARD_MON_ICON_2)); trainerCard->monSpecies[2] = MailSpeciesToIconSpecies(VarGet(VAR_TRAINER_CARD_MON_ICON_3)); @@ -881,7 +881,7 @@ static void SetDataFromTrainerCard(void) { u32 badgeFlag; u8 i; - + sTrainerCardDataPtr->hasPokedex = FALSE; sTrainerCardDataPtr->hasHofResult = FALSE; sTrainerCardDataPtr->hasLinkResults = FALSE; @@ -889,19 +889,19 @@ static void SetDataFromTrainerCard(void) sTrainerCardDataPtr->var_E = FALSE; sTrainerCardDataPtr->var_F = FALSE; sTrainerCardDataPtr->hasTrades = FALSE; - + memset(&sTrainerCardDataPtr->hasBadge, FALSE, BADGE_COUNT); if (sTrainerCardDataPtr->trainerCard.hasPokedex) sTrainerCardDataPtr->hasPokedex++; - + if (sTrainerCardDataPtr->trainerCard.hofDebutHours != 0 || sTrainerCardDataPtr->trainerCard.hofDebutMinutes != 0 || sTrainerCardDataPtr->trainerCard.hofDebutSeconds != 0) sTrainerCardDataPtr->hasHofResult++; - + if (sTrainerCardDataPtr->trainerCard.linkBattleWins != 0 || sTrainerCardDataPtr->trainerCard.linkBattleLosses != 0) sTrainerCardDataPtr->hasLinkResults++; - + if (sTrainerCardDataPtr->trainerCard.pokemonTrades != 0) sTrainerCardDataPtr->hasTrades++; @@ -937,7 +937,7 @@ static void sub_8089BD8(u16 arg0) if (quotient <= 4) quotient = 0; - + sTrainerCardDataPtr->var_456 = quotient; SetGpuReg(REG_OFFSET_BLDY, sTrainerCardDataPtr->var_456); SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(sTrainerCardDataPtr->var_7BCC, 160 - sTrainerCardDataPtr->var_7BCC)); @@ -1042,7 +1042,7 @@ static bool8 PrintAllOnCardPage1(void) sTrainerCardDataPtr->printState++; return FALSE; } - + static bool8 PrintStringsOnCardPage2(void) { switch (sTrainerCardDataPtr->printState) @@ -1093,7 +1093,7 @@ static void PrintNameOnCard(void) { u8 buffer[2][32]; u8* txtPtr; - + txtPtr = StringCopy(buffer[0], gText_TrainerCardName); txtPtr = buffer[1]; StringCopy(txtPtr, sTrainerCardDataPtr->trainerCard.playerName); @@ -1101,12 +1101,12 @@ static void PrintNameOnCard(void) StringAppend(buffer[0], txtPtr); AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardPlayerNameXPositions[sTrainerCardDataPtr->cardType], sTrainerCardPlayerNameYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer[0]); } - + static void PrintIdOnCard(void) { u8 buffer[32]; u8* txtPtr; - + txtPtr = StringCopy(buffer, gText_TrainerCardIDNo); ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.trainerId, STR_CONV_MODE_LEADING_ZEROS, 5); AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardIdXPositions[sTrainerCardDataPtr->cardType], sTrainerCardIdYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer); @@ -1146,7 +1146,7 @@ static void PrintPokedexOnCard(void) { u8 buffer[10]; u8 x; - + if (FlagGet(FLAG_SYS_POKEDEX_GET)) { ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.caughtMonsCount, 0, 3); @@ -1183,22 +1183,22 @@ static void PrintTimeOnCard(void) if (hours > 999) hours = 999; - + if (minutes > 59) minutes = 59; - + FillWindowPixelRect(1, PIXEL_FILL(0), sTrainerCardTimeHoursXPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], 50, 12); if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD) AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 88, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardTime); else AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 89, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardTime); - + ConvertIntToDecimalStringN(buffer, hours, STR_CONV_MODE_RIGHT_ALIGN, 3); AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeHoursXPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer); AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeHoursYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors[sTrainerCardDataPtr->var_7], TEXT_SPEED_FF, gText_Colon2); - + ConvertIntToDecimalStringN(buffer, minutes, STR_CONV_MODE_LEADING_ZEROS, 2); AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeMinutesXPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer); } @@ -1209,13 +1209,13 @@ static void PrintProfilePhraseOnCard(void) { AddTextPrinterParameterized3(1, 2, 10, sTrainerCardProfilePhraseXPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[0]); - + AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->var_19[0], 0) + 16, sTrainerCardProfilePhraseXPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[1]); - + AddTextPrinterParameterized3(1, 2, 10, sTrainerCardProfilePhraseYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[2]); - + AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->var_19[2], 0) + 16, sTrainerCardProfilePhraseYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[3]); } @@ -1234,7 +1234,7 @@ static void PrintNameOnCard2(void) static void sub_808A4FC(void) { u8 x; - + if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG) { AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sUnknown_83CD93C[sTrainerCardDataPtr->cardType], @@ -1243,7 +1243,7 @@ static void sub_808A4FC(void) else { x = sUnknown_83CD93C[sTrainerCardDataPtr->cardType] - GetStringWidth(sTrainerCardFontIds[1], sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], GetFontAttribute(sTrainerCardFontIds[1], FONTATTR_LETTER_SPACING)); - + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, sUnknown_83CD93E[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME]); } @@ -1253,7 +1253,7 @@ static void PrintHofTimeOnCard(void) { u8 buffer[10]; u8* txtPtr; - + if (sTrainerCardDataPtr->hasHofResult) { ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.hofDebutHours, STR_CONV_MODE_RIGHT_ALIGN, 3); @@ -1279,7 +1279,7 @@ static void PrintHofDebutStringOnCard(void) static void PrintLinkResultsNumsOnCard(void) { u8 buffer[30]; - + if (sTrainerCardDataPtr->hasLinkResults) { StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_RECORD], sLinkTrainerCardRecordStrings[sTrainerCardDataPtr->cardType]); @@ -1378,7 +1378,6 @@ static void TrainerCard_PrintPokemonIconsOnCard(void) } } - static void sub_808AB10(void) { u8 i; @@ -1398,7 +1397,7 @@ static void sub_808AB10(void) TintPalette_SepiaTone(sTrainerCardDataPtr->monIconPals, 96); break; } - + LoadPalette(sTrainerCardDataPtr->monIconPals, 80, 192); for (i = 0; i < 6; i++) { @@ -1410,7 +1409,7 @@ static void sub_808ABE0(void) { u8 i; u8 buffer[4]; - + memcpy(buffer, sUnknown_83CD958, sizeof(sUnknown_83CD958)); if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG && sTrainerCardDataPtr->trainerCard.var_4C == 1) { @@ -1479,7 +1478,7 @@ static bool8 SetTrainerCardBgsAndPals(void) FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 32, 32); return TRUE; } - + sTrainerCardDataPtr->bgPalLoadState++; return FALSE; } @@ -1499,7 +1498,7 @@ static void LoadTrainerCardTilemap2(const u16* ptr) dst[32 * i + j] = ptr[0]; } } - + CopyBgTilemapBufferToVram(2); } @@ -1518,7 +1517,7 @@ static void LoadTrainerCardTilemap0(const u16* ptr) dst[32 * i + j] = ptr[0]; } } - + CopyBgTilemapBufferToVram(0); } @@ -1543,7 +1542,7 @@ static void TrainerCard_PrintStarsAndBadgesOnCard(void) } } } - + CopyBgTilemapBufferToVram(3); } @@ -1556,13 +1555,13 @@ static void sub_808B090(void) FillBgTilemapBufferRect(3, 141, 26, 9, 1, 1, 1); FillBgTilemapBufferRect(3, 157, 26, 10, 1, 1, 1); } - + if (sTrainerCardDataPtr->trainerCard.berryCrushPoints) { FillBgTilemapBufferRect(3, 141, 21, 13, 1, 1, 1); FillBgTilemapBufferRect(3, 157, 21, 14, 1, 1, 1); } - + if (sTrainerCardDataPtr->trainerCard.unionRoomNum) { FillBgTilemapBufferRect(3, 141, 27, 11, 1, 1, 1); @@ -1577,7 +1576,7 @@ static void sub_808B090(void) FillBgTilemapBufferRect(3, 157, 26, 10, 1, 1, 0); } } - + CopyBgTilemapBufferToVram(3); } @@ -1629,7 +1628,7 @@ static bool8 sub_808B254(struct Task* task) { gScanlineEffectRegBuffers[1][i] = 0; } - + task->data[0]++; return FALSE; } @@ -1647,7 +1646,7 @@ static bool8 sub_808B294(struct Task* task) sTrainerCardDataPtr->var_7BCC = task->data[1]; sub_8089BD8(task->data[1]); - + r7 = task->data[1]; r9 = 160 - r7; r4 = r9 - r7; @@ -1663,7 +1662,7 @@ static bool8 sub_808B294(struct Task* task) { gScanlineEffectRegBuffers[0][i] = -i; } - + for (; i < (s16)r9; i++) { var = r6 >> 16; @@ -1671,13 +1670,13 @@ static bool8 sub_808B294(struct Task* task) r5 -= r10; gScanlineEffectRegBuffers[0][i] = var; } - + var = var_24 >> 16; for (; i < 160; i++) { gScanlineEffectRegBuffers[0][i] = var; } - + sTrainerCardDataPtr->allowDMACopy = TRUE; if (task->data[1] >= 77) task->data[0]++; @@ -1749,7 +1748,7 @@ static bool8 sub_808B4D8(struct Task* task) LoadTrainerCardTilemap0(&sTrainerCardDataPtr->var_4BC); TrainerCard_PrintStarsAndBadgesOnCard(); } - + PutTrainerCardWindow(1); sTrainerCardDataPtr->var_8 ^= 1; task->data[0]++; @@ -1771,7 +1770,7 @@ static bool8 sub_808B540(struct Task* task) sTrainerCardDataPtr->var_7BCC = task->data[1]; sub_8089BD8(task->data[1]); - + r7 = task->data[1]; r9 = 160 - r7; r4 = r9 - r7; @@ -1795,13 +1794,13 @@ static bool8 sub_808B540(struct Task* task) r5 += r10; gScanlineEffectRegBuffers[0][i] = var; } - + var = var_24 >> 16; for (; i < 160; i++) { gScanlineEffectRegBuffers[0][i] = var; } - + sTrainerCardDataPtr->allowDMACopy = TRUE; if (task->data[1] <= 0) task->data[0]++; @@ -1826,7 +1825,7 @@ void ShowPlayerTrainerCard(void (*callback)(void)) sTrainerCardDataPtr->isLink = TRUE; else sTrainerCardDataPtr->isLink = FALSE; - + sTrainerCardDataPtr->language = GAME_LANGUAGE; TrainerCard_GenerateCardForLinkPlayer(&sTrainerCardDataPtr->trainerCard); SetMainCallback2(CB2_InitTrainerCard); @@ -1855,7 +1854,7 @@ static void sub_808B774(void) sTrainerCardDataPtr->cardType = CARD_TYPE_EMERALD; else sTrainerCardDataPtr->cardType = CARD_TYPE_FRLG; - + for (i = 0; i < 4; i++) { CopyEasyChatWord(sTrainerCardDataPtr->var_19[i], sTrainerCardDataPtr->trainerCard.var_28[i]); @@ -1883,7 +1882,7 @@ static u8 GetCardType(void) static void sub_808B838(void) { u8 val = sLinkTrainerCardFrontPics[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender]; - + if (InUnionRoom() == TRUE && gReceivedRemoteLinkPlayers == 1) { val = sTrainerCardDataPtr->trainerCard.var_4F; @@ -1929,4 +1928,3 @@ static void Unref_InitTrainerCardLink2(void (*callback)(void)) ShowTrainerCardInLink(CARD_TYPE_FRLG, callback); SetMainCallback2(CB2_InitTrainerCard); } - diff --git a/src/trainer_tower.c b/src/trainer_tower.c index dd00bf854..5d1b3fc62 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -431,7 +431,7 @@ static const u8 sKnockoutChallengeMonIdxs[][3] = { {0x01, 0x04, 0x05} }; -extern const struct Unk_203F458_Header gUnknown_84827AC; +extern const struct EReaderTrainerHillSetSubstruct gUnknown_84827AC; extern const struct TrainerTowerFloor *const gUnknown_84827B4[][8]; void sub_815D9E8(void) @@ -513,7 +513,6 @@ void sub_815DC40(u8 *dest, u8 opponentIdx) TT_ConvertEasyChatMessageToString(sTrainerTowerOpponent->speechLose2, dest); } -#ifdef NONMATCHING static void sub_815DC8C(void) // fakematching { u32 whichTimer = gSaveBlock1Ptr->unkArrayIdx; @@ -527,98 +526,26 @@ static void sub_815DC8C(void) // fakematching else { struct UnkStruct_203F458 * r0_ = sTrainerTowerState; - const struct Unk_203F458_Header * r1 = &gUnknown_84827AC; -// *r0_ = *r1; - memcpy(&r0_->unk_0004.floorIdx, r1, sizeof(struct Unk_203F458_Header)); -// sTrainerTowerState->unk_0004.floorIdx = gUnknown_84827AC; + const struct EReaderTrainerHillSetSubstruct * r1 = &gUnknown_84827AC; + memcpy(&r0_->unk_0004, r1, sizeof(struct EReaderTrainerHillSetSubstruct)); r7 = gUnknown_84827B4[whichTimer]; for (r4 = 0; r4 < 8; r4++) { - void * r0 = sTrainerTowerState; - r0 = r4 * sizeof(struct TrainerTowerFloor) + r0; + #ifndef NONMATCHING + void * r5; + register void * r0 asm("r0") = sTrainerTowerState; + r5 = (void *)(r4 * sizeof(struct TrainerTowerFloor)); + r0 = r5 + (uintptr_t)r0; r0 += offsetof(struct UnkStruct_203F458, unk_0004.floors); memcpy(r0, r7[r4], sizeof(struct TrainerTowerFloor)); -// r0[r4] = *r7[r4]; + #else + memcpy(&sTrainerTowerState->unk_0004.floors[r4], r7[r4], sizeof(struct TrainerTowerFloor)); + #endif } - sTrainerTowerState->unk_0004.unk4 = CalcByteArraySum((void *)sTrainerTowerState->unk_0004.floors, sizeof(sTrainerTowerState->unk_0004.floors)); + sTrainerTowerState->unk_0004.checksum = CalcByteArraySum((void *)sTrainerTowerState->unk_0004.floors, sizeof(sTrainerTowerState->unk_0004.floors)); ValidateOrResetCurTrainerTowerRecord(); } } -#else -NAKED -static void sub_815DC8C(void) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tldr r0, _0815DCBC @ =gSaveBlock1Ptr\n" - "\tldr r0, [r0]\n" - "\tldr r1, _0815DCC0 @ =0x00003d34\n" - "\tadds r0, r1\n" - "\tldr r5, [r0]\n" - "\tldr r4, _0815DCC4 @ =sTrainerTowerState\n" - "\tldr r0, _0815DCC8 @ =0x00001f0c\n" - "\tbl AllocZeroed\n" - "\tstr r0, [r4]\n" - "\tldr r1, _0815DCCC @ =gMapHeader\n" - "\tldrb r1, [r1, 0x12]\n" - "\tsubs r1, 0x2A\n" - "\tstrb r1, [r0]\n" - "\tbl sub_815D834\n" - "\tcmp r0, 0x1\n" - "\tbne _0815DCD0\n" - "\tldr r0, [r4]\n" - "\tadds r0, 0x4\n" - "\tbl CEReaderTool_LoadTrainerTower\n" - "\tb _0815DD18\n" - "\t.align 2, 0\n" - "_0815DCBC: .4byte gSaveBlock1Ptr\n" - "_0815DCC0: .4byte 0x00003d34\n" - "_0815DCC4: .4byte sTrainerTowerState\n" - "_0815DCC8: .4byte 0x00001f0c\n" - "_0815DCCC: .4byte gMapHeader\n" - "_0815DCD0:\n" - "\tldr r0, [r4]\n" - "\tldr r1, _0815DD20 @ =gUnknown_84827AC\n" - "\tadds r0, 0x4\n" - "\tmovs r2, 0x8\n" - "\tbl memcpy\n" - "\tlsls r1, r5, 5\n" - "\tldr r0, _0815DD24 @ =gUnknown_84827B4\n" - "\tadds r7, r1, r0\n" - "\tmovs r5, 0\n" - "\tmovs r4, 0x7\n" - "_0815DCE6:\n" - "\tldr r6, _0815DD28 @ =sTrainerTowerState\n" - "\tldr r0, [r6]\n" - "\tadds r0, r5, r0\n" - "\tadds r0, 0xC\n" - "\tldm r7!, {r1}\n" - "\tmovs r2, 0xF8\n" - "\tlsls r2, 2\n" - "\tbl memcpy\n" - "\tmovs r0, 0xF8\n" - "\tlsls r0, 2\n" - "\tadds r5, r0\n" - "\tsubs r4, 0x1\n" - "\tcmp r4, 0\n" - "\tbge _0815DCE6\n" - "\tldr r0, [r6]\n" - "\tadds r0, 0xC\n" - "\tmovs r1, 0xF8\n" - "\tlsls r1, 5\n" - "\tbl CalcByteArraySum\n" - "\tldr r1, [r6]\n" - "\tstr r0, [r1, 0x8]\n" - "\tbl ValidateOrResetCurTrainerTowerRecord\n" - "_0815DD18:\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_0815DD20: .4byte gUnknown_84827AC\n" - "_0815DD24: .4byte gUnknown_84827B4\n" - "_0815DD28: .4byte sTrainerTowerState"); -} -#endif // NONMATCHING static void sub_815DD2C(void) { diff --git a/src/vs_seeker.c b/src/vs_seeker.c index 23eaafd2f..46a0649d7 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -11,6 +11,7 @@ #include "script.h" #include "event_object_lock.h" #include "field_specials.h" +#include "item.h" #include "item_menu.h" #include "field_effect.h" #include "script_movement.h" @@ -27,6 +28,7 @@ #include "constants/object_events.h" #include "constants/trainers.h" #include "constants/maps.h" +#include "constants/items.h" typedef enum { |