From c6d4cadab97d27b97388bd3a0ca61cb4a21580e2 Mon Sep 17 00:00:00 2001 From: Eduardo Alvaro Quezada D'Ottone Date: Wed, 1 Jul 2020 23:39:05 -0400 Subject: [PATCH] =?UTF-8?q?Created=20Not=20showing=20dex=20entries=20until?= =?UTF-8?q?=20getting=20the=20Pok=C3=A9dex=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...g-dex-entries-until-getting-the-Pokédex.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Not-showing-dex-entries-until-getting-the-Pokédex.md diff --git a/Not-showing-dex-entries-until-getting-the-Pokédex.md b/Not-showing-dex-entries-until-getting-the-Pokédex.md new file mode 100644 index 0000000..90ca7a2 --- /dev/null +++ b/Not-showing-dex-entries-until-getting-the-Pokédex.md @@ -0,0 +1,38 @@ +_Credit to Jaizu_ + +In Generation 3, you normally can't catch Pokémon without getting the Pokédex first. Because of this, it assumes that if you catch a Pokémon, you **must** have the Pokédex, so it shows the entry. + +With this change, if you catch a Pokémon without having the Pokédex, it won't show their entry. It will still register them, for when you do get the Dex. + +Open [src/battle_script_commands.c](../blob/master/src/battle_script_commands.c). Find `Cmd_trysetcaughtmondexflags` and add the following `else if` in between the existing `if` and `else`: +```c + else if (!FlagGet(FLAG_SYS_POKEDEX_GET)) + { + HandleSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_CAUGHT, personality); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); + } +``` +So in the end it ends up like this: + +```c +static void Cmd_trysetcaughtmondexflags(void) +{ + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetCatchingBattler()]], MON_DATA_SPECIES, NULL); + u32 personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetCatchingBattler()]], MON_DATA_PERSONALITY, NULL); + + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT)) + { + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); + } + else if (!FlagGet(FLAG_SYS_POKEDEX_GET)) + { + HandleSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_CAUGHT, personality); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); + } + else + { + HandleSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_CAUGHT, personality); + gBattlescriptCurrInstr += 5; + } +} +``` \ No newline at end of file