diff --git a/include/moves.h b/include/moves.h index e573784..0ae758e 100644 --- a/include/moves.h +++ b/include/moves.h @@ -717,162 +717,203 @@ #define MOVE_METEORASSAULT 0x2C6 #define MOVE_ETERNABEAM 0x2C7 #define MOVE_STEELBEAM 0x2C8 +#define MOVE_EXPANDINGFORCE 0x2C9 +#define MOVE_STEELROLLER 0x2CA +#define MOVE_SCALESHOT 0x2CB +#define MOVE_METEORBEAM 0x2CC +#define MOVE_SHELLSIDEARM 0x2CD +#define MOVE_MISTYEXPLOSION 0x2CE +#define MOVE_GRASSYGLIDE 0x2CF +#define MOVE_RISINGVOLTAGE 0x2D0 +#define MOVE_TERRAINPULSE 0x2D1 +#define MOVE_SKITTERSMACK 0x2D2 +#define MOVE_BURNINGJEALOUSY 0x2D3 +#define MOVE_LASHOUT 0x2D4 +#define MOVE_POLTERGEIST 0x2D5 +#define MOVE_CORROSIVEGAS 0x2D6 +#define MOVE_COACHING 0x2D7 +#define MOVE_FLIPTURN 0x2D8 +#define MOVE_TRIPLEAXEL 0x2D9 +#define MOVE_DUALWINGBEAT 0x2DA +#define MOVE_SCORCHINGSANDS 0x2DB +#define MOVE_JUNGLEHEALING 0x2DC +#define MOVE_WICKEDBLOW 0x2DD +#define MOVE_SURGINGSTRIKES 0x2DE +#define MOVE_FREEZINGGLARE 0x2DF +#define MOVE_THUNDEROUSKICK 0x2E0 +#define MOVE_FIERYWRATH 0x2E1 +#define MOVE_THUNDERCAGE 0x2E2 +#define MOVE_DRAGONENERGY 0x2E3 //Z-Moves -#define MOVE_BREAKNECK_BLITZ_P 0x2C9 -#define MOVE_BREAKNECK_BLITZ_S 0x2CA -#define MOVE_ALL_OUT_PUMMELING_P 0x2CB -#define MOVE_ALL_OUT_PUMMELING_S 0x2CC -#define MOVE_SUPERSONIC_SKYSTRIKE_P 0x2CD -#define MOVE_SUPERSONIC_SKYSTRIKE_S 0x2CE -#define MOVE_ACID_DOWNPOUR_P 0x2CF -#define MOVE_ACID_DOWNPOUR_S 0x2D0 -#define MOVE_TECTONIC_RAGE_P 0x2D1 -#define MOVE_TECTONIC_RAGE_S 0x2D2 -#define MOVE_CONTINENTAL_CRUSH_P 0x2D3 -#define MOVE_CONTINENTAL_CRUSH_S 0x2D4 -#define MOVE_SAVAGE_SPIN_OUT_P 0x2D5 -#define MOVE_SAVAGE_SPIN_OUT_S 0x2D6 -#define MOVE_NEVER_ENDING_NIGHTMARE_P 0x2D7 -#define MOVE_NEVER_ENDING_NIGHTMARE_S 0x2D8 -#define MOVE_CORKSCREW_CRASH_P 0x2D9 -#define MOVE_CORKSCREW_CRASH_S 0x2DA -#define MOVE_INFERNO_OVERDRIVE_P 0x2DB -#define MOVE_INFERNO_OVERDRIVE_S 0x2DC -#define MOVE_HYDRO_VORTEX_P 0x2DD -#define MOVE_HYDRO_VORTEX_S 0x2DE -#define MOVE_BLOOM_DOOM_P 0x2DF -#define MOVE_BLOOM_DOOM_S 0x2E0 -#define MOVE_GIGAVOLT_HAVOC_P 0x2E1 -#define MOVE_GIGAVOLT_HAVOC_S 0x2E2 -#define MOVE_SHATTERED_PSYCHE_P 0x2E3 -#define MOVE_SHATTERED_PSYCHE_S 0x2E4 -#define MOVE_SUBZERO_SLAMMER_P 0x2E5 -#define MOVE_SUBZERO_SLAMMER_S 0x2E6 -#define MOVE_DEVASTATING_DRAKE_P 0x2E7 -#define MOVE_DEVASTATING_DRAKE_S 0x2E8 -#define MOVE_BLACK_HOLE_ECLIPSE_P 0x2E9 -#define MOVE_BLACK_HOLE_ECLIPSE_S 0x2EA -#define MOVE_TWINKLE_TACKLE_P 0x2EB -#define MOVE_TWINKLE_TACKLE_S 0x2EC +#define MOVE_BREAKNECK_BLITZ_P 0x2E4 +#define MOVE_BREAKNECK_BLITZ_S 0x2E5 +#define MOVE_ALL_OUT_PUMMELING_P 0x2E6 +#define MOVE_ALL_OUT_PUMMELING_S 0x2E7 +#define MOVE_SUPERSONIC_SKYSTRIKE_P 0x2E8 +#define MOVE_SUPERSONIC_SKYSTRIKE_S 0x2E9 +#define MOVE_ACID_DOWNPOUR_P 0x2EA +#define MOVE_ACID_DOWNPOUR_S 0x2EB +#define MOVE_TECTONIC_RAGE_P 0x2EC +#define MOVE_TECTONIC_RAGE_S 0x2ED +#define MOVE_CONTINENTAL_CRUSH_P 0x2EE +#define MOVE_CONTINENTAL_CRUSH_S 0x2EF +#define MOVE_SAVAGE_SPIN_OUT_P 0x2F0 +#define MOVE_SAVAGE_SPIN_OUT_S 0x2F1 +#define MOVE_NEVER_ENDING_NIGHTMARE_P 0x2F2 +#define MOVE_NEVER_ENDING_NIGHTMARE_S 0x2F3 +#define MOVE_CORKSCREW_CRASH_P 0x2F4 +#define MOVE_CORKSCREW_CRASH_S 0x2F5 +#define MOVE_INFERNO_OVERDRIVE_P 0x2F6 +#define MOVE_INFERNO_OVERDRIVE_S 0x2F7 +#define MOVE_HYDRO_VORTEX_P 0x2F8 +#define MOVE_HYDRO_VORTEX_S 0x2F9 +#define MOVE_BLOOM_DOOM_P 0x2FA +#define MOVE_BLOOM_DOOM_S 0x2FB +#define MOVE_GIGAVOLT_HAVOC_P 0x2FC +#define MOVE_GIGAVOLT_HAVOC_S 0x2FD +#define MOVE_SHATTERED_PSYCHE_P 0x2FE +#define MOVE_SHATTERED_PSYCHE_S 0x2FF +#define MOVE_SUBZERO_SLAMMER_P 0x300 +#define MOVE_SUBZERO_SLAMMER_S 0x301 +#define MOVE_DEVASTATING_DRAKE_P 0x302 +#define MOVE_DEVASTATING_DRAKE_S 0x303 +#define MOVE_BLACK_HOLE_ECLIPSE_P 0x304 +#define MOVE_BLACK_HOLE_ECLIPSE_S 0x305 +#define MOVE_TWINKLE_TACKLE_P 0x306 +#define MOVE_TWINKLE_TACKLE_S 0x307 -#define MOVE_CATASTROPIKA 0x2ED -#define MOVE_10000000_VOLT_THUNDERBOLT 0x2EE -#define MOVE_STOKED_SPARKSURFER 0x2EF //Paralyze Target -#define MOVE_EXTREME_EVOBOOST 0x2F0 //Double Ancient Power -#define MOVE_PULVERIZING_PANCAKE 0x2F1 -#define MOVE_GENESIS_SUPERNOVA 0x2F2 //Sets up Psychic Terrain -#define MOVE_SINISTER_ARROW_RAID 0x2F3 -#define MOVE_MALICIOUS_MOONSAULT 0x2F4 -#define MOVE_OCEANIC_OPERETTA 0x2F5 -#define MOVE_SPLINTERED_STORMSHARDS 0x2F6 //Removes Terrain -#define MOVE_LETS_SNUGGLE_FOREVER 0x2F7 -#define MOVE_CLANGOROUS_SOULBLAZE 0x2F8 //Ancient Power -#define MOVE_GUARDIAN_OF_ALOLA 0x2F9 -#define MOVE_SEARING_SUNRAZE_SMASH 0x2FA -#define MOVE_MENACING_MOONRAZE_MAELSTROM 0x2FB -#define MOVE_LIGHT_THAT_BURNS_THE_SKY 0x2FC -#define MOVE_SOUL_STEALING_7_STAR_STRIKE 0x2FD +#define MOVE_CATASTROPIKA 0x308 +#define MOVE_10000000_VOLT_THUNDERBOLT 0x309 +#define MOVE_STOKED_SPARKSURFER 0x30A //Paralyze Target +#define MOVE_EXTREME_EVOBOOST 0x30B //Double Ancient Power +#define MOVE_PULVERIZING_PANCAKE 0x30C +#define MOVE_GENESIS_SUPERNOVA 0x30D //Sets up Psychic Terrain +#define MOVE_SINISTER_ARROW_RAID 0x30E +#define MOVE_MALICIOUS_MOONSAULT 0x30F +#define MOVE_OCEANIC_OPERETTA 0x310 +#define MOVE_SPLINTERED_STORMSHARDS 0x311 //Removes Terrain +#define MOVE_LETS_SNUGGLE_FOREVER 0x312 +#define MOVE_CLANGOROUS_SOULBLAZE 0x313 //Ancient Power +#define MOVE_GUARDIAN_OF_ALOLA 0x314 +#define MOVE_SEARING_SUNRAZE_SMASH 0x315 +#define MOVE_MENACING_MOONRAZE_MAELSTROM 0x316 +#define MOVE_LIGHT_THAT_BURNS_THE_SKY 0x317 +#define MOVE_SOUL_STEALING_7_STAR_STRIKE 0x318 #define FIRST_Z_MOVE MOVE_BREAKNECK_BLITZ_P #define LAST_Z_MOVE MOVE_SOUL_STEALING_7_STAR_STRIKE //Max Moves -#define MOVE_MAX_GUARD 0x2FE -#define MOVE_MAX_STRIKE_P 0x2FF -#define MOVE_MAX_STRIKE_S 0x300 -#define MOVE_MAX_KNUCKLE_P 0x301 -#define MOVE_MAX_KNUCKLE_S 0x302 -#define MOVE_MAX_AIRSTREAM_P 0x303 -#define MOVE_MAX_AIRSTREAM_S 0x304 -#define MOVE_MAX_OOZE_P 0x305 -#define MOVE_MAX_OOZE_S 0x306 -#define MOVE_MAX_QUAKE_P 0x307 -#define MOVE_MAX_QUAKE_S 0x308 -#define MOVE_MAX_ROCKFALL_P 0x309 -#define MOVE_MAX_ROCKFALL_S 0x30A -#define MOVE_MAX_FLUTTERBY_P 0x30B -#define MOVE_MAX_FLUTTERBY_S 0x30C -#define MOVE_MAX_PHANTASM_P 0x30D -#define MOVE_MAX_PHANTASM_S 0x30E -#define MOVE_MAX_STEELSPIKE_P 0x30F -#define MOVE_MAX_STEELSPIKE_S 0x310 -#define MOVE_MAX_FLARE_P 0x311 -#define MOVE_MAX_FLARE_S 0x312 -#define MOVE_MAX_GEYSER_P 0x313 -#define MOVE_MAX_GEYSER_S 0x314 -#define MOVE_MAX_OVERGROWTH_P 0x315 -#define MOVE_MAX_OVERGROWTH_S 0x316 -#define MOVE_MAX_LIGHTNING_P 0x317 -#define MOVE_MAX_LIGHTNING_S 0x318 -#define MOVE_MAX_MINDSTORM_P 0x319 -#define MOVE_MAX_MINDSTORM_S 0x31A -#define MOVE_MAX_HAILSTORM_P 0x31B -#define MOVE_MAX_HAILSTORM_S 0x31C -#define MOVE_MAX_WYRMWIND_P 0x31D -#define MOVE_MAX_WYRMWIND_S 0x31E -#define MOVE_MAX_DARKNESS_P 0x31F -#define MOVE_MAX_DARKNESS_S 0x320 -#define MOVE_MAX_STARFALL_P 0x321 -#define MOVE_MAX_STARFALL_S 0x322 -#define MOVE_G_MAX_WILDFIRE_P 0x323 -#define MOVE_G_MAX_WILDFIRE_S 0x324 -#define MOVE_G_MAX_BEFUDDLE_P 0x325 -#define MOVE_G_MAX_BEFUDDLE_S 0x326 -#define MOVE_G_MAX_VOLT_CRASH_P 0x327 -#define MOVE_G_MAX_VOLT_CRASH_S 0x328 -#define MOVE_G_MAX_GOLD_RUSH_P 0x329 -#define MOVE_G_MAX_GOLD_RUSH_S 0x32A -#define MOVE_G_MAX_CHI_STRIKE_P 0x32B -#define MOVE_G_MAX_CHI_STRIKE_S 0x32C -#define MOVE_G_MAX_TERROR_P 0x32D -#define MOVE_G_MAX_TERROR_S 0x32E -#define MOVE_G_MAX_FOAM_BURST_P 0x32F -#define MOVE_G_MAX_FOAM_BURST_S 0x330 -#define MOVE_G_MAX_RESONANCE_P 0x331 -#define MOVE_G_MAX_RESONANCE_S 0x332 -#define MOVE_G_MAX_CUDDLE_P 0x333 -#define MOVE_G_MAX_CUDDLE_S 0x334 -#define MOVE_G_MAX_REPLENISH_P 0x335 -#define MOVE_G_MAX_REPLENISH_S 0x336 -#define MOVE_G_MAX_MALODOR_P 0x337 -#define MOVE_G_MAX_MALODOR_S 0x338 -#define MOVE_G_MAX_MELTDOWN_P 0x339 -#define MOVE_G_MAX_MELTDOWN_S 0x33A -#define MOVE_G_MAX_STONESURGE_P 0x33B -#define MOVE_G_MAX_STONESURGE_S 0x33C -#define MOVE_G_MAX_WIND_RAGE_P 0x33D -#define MOVE_G_MAX_WIND_RAGE_S 0x33E -#define MOVE_G_MAX_STUN_SHOCK_P 0x33F -#define MOVE_G_MAX_STUN_SHOCK_S 0x340 -#define MOVE_G_MAX_FINALE_P 0x341 -#define MOVE_G_MAX_FINALE_S 0x342 -#define MOVE_G_MAX_DEPLETION_P 0x343 -#define MOVE_G_MAX_DEPLETION_S 0x344 -#define MOVE_G_MAX_GRAVITAS_P 0x345 -#define MOVE_G_MAX_GRAVITAS_S 0x346 -#define MOVE_G_MAX_VOLCALITH_P 0x347 -#define MOVE_G_MAX_VOLCALITH_S 0x348 -#define MOVE_G_MAX_SANDBLAST_P 0x349 -#define MOVE_G_MAX_SANDBLAST_S 0x34A -#define MOVE_G_MAX_SNOOZE_P 0x34B -#define MOVE_G_MAX_SNOOZE_S 0x34C -#define MOVE_G_MAX_TARTNESS_P 0x34D -#define MOVE_G_MAX_TARTNESS_S 0x34E -#define MOVE_G_MAX_SWEETNESS_P 0x34F -#define MOVE_G_MAX_SWEETNESS_S 0x350 -#define MOVE_G_MAX_SMITE_P 0x351 -#define MOVE_G_MAX_SMITE_S 0x352 -#define MOVE_G_MAX_STEELSURGE_P 0x353 -#define MOVE_G_MAX_STEELSURGE_S 0x354 -#define MOVE_G_MAX_CENTIFERNO_P 0x355 -#define MOVE_G_MAX_CENTIFERNO_S 0x356 +#define MOVE_MAX_GUARD 0x319 +#define MOVE_MAX_STRIKE_P 0x31A +#define MOVE_MAX_STRIKE_S 0x31B +#define MOVE_MAX_KNUCKLE_P 0x31C +#define MOVE_MAX_KNUCKLE_S 0x31D +#define MOVE_MAX_AIRSTREAM_P 0x31E +#define MOVE_MAX_AIRSTREAM_S 0x31F +#define MOVE_MAX_OOZE_P 0x320 +#define MOVE_MAX_OOZE_S 0x321 +#define MOVE_MAX_QUAKE_P 0x322 +#define MOVE_MAX_QUAKE_S 0x323 +#define MOVE_MAX_ROCKFALL_P 0x324 +#define MOVE_MAX_ROCKFALL_S 0x325 +#define MOVE_MAX_FLUTTERBY_P 0x326 +#define MOVE_MAX_FLUTTERBY_S 0x327 +#define MOVE_MAX_PHANTASM_P 0x328 +#define MOVE_MAX_PHANTASM_S 0x329 +#define MOVE_MAX_STEELSPIKE_P 0x32A +#define MOVE_MAX_STEELSPIKE_S 0x32B +#define MOVE_MAX_FLARE_P 0x32C +#define MOVE_MAX_FLARE_S 0x32D +#define MOVE_MAX_GEYSER_P 0x32E +#define MOVE_MAX_GEYSER_S 0x32F +#define MOVE_MAX_OVERGROWTH_P 0x330 +#define MOVE_MAX_OVERGROWTH_S 0x331 +#define MOVE_MAX_LIGHTNING_P 0x332 +#define MOVE_MAX_LIGHTNING_S 0x333 +#define MOVE_MAX_MINDSTORM_P 0x334 +#define MOVE_MAX_MINDSTORM_S 0x335 +#define MOVE_MAX_HAILSTORM_P 0x336 +#define MOVE_MAX_HAILSTORM_S 0x337 +#define MOVE_MAX_WYRMWIND_P 0x338 +#define MOVE_MAX_WYRMWIND_S 0x339 +#define MOVE_MAX_DARKNESS_P 0x33A +#define MOVE_MAX_DARKNESS_S 0x33B +#define MOVE_MAX_STARFALL_P 0x33C +#define MOVE_MAX_STARFALL_S 0x33D +#define MOVE_G_MAX_VINE_LASH_P 0x33E +#define MOVE_G_MAX_VINE_LASH_S 0x33F +#define MOVE_G_MAX_WILDFIRE_P 0x340 +#define MOVE_G_MAX_WILDFIRE_S 0x341 +#define MOVE_G_MAX_CANNONADE_P 0x342 +#define MOVE_G_MAX_CANNONADE_S 0x343 +#define MOVE_G_MAX_BEFUDDLE_P 0x344 +#define MOVE_G_MAX_BEFUDDLE_S 0x345 +#define MOVE_G_MAX_VOLT_CRASH_P 0x346 +#define MOVE_G_MAX_VOLT_CRASH_S 0x347 +#define MOVE_G_MAX_GOLD_RUSH_P 0x348 +#define MOVE_G_MAX_GOLD_RUSH_S 0x349 +#define MOVE_G_MAX_CHI_STRIKE_P 0x34A +#define MOVE_G_MAX_CHI_STRIKE_S 0x34B +#define MOVE_G_MAX_TERROR_P 0x34C +#define MOVE_G_MAX_TERROR_S 0x34D +#define MOVE_G_MAX_FOAM_BURST_P 0x34E +#define MOVE_G_MAX_FOAM_BURST_S 0x34F +#define MOVE_G_MAX_RESONANCE_P 0x350 +#define MOVE_G_MAX_RESONANCE_S 0x351 +#define MOVE_G_MAX_CUDDLE_P 0x352 +#define MOVE_G_MAX_CUDDLE_S 0x353 +#define MOVE_G_MAX_REPLENISH_P 0x354 +#define MOVE_G_MAX_REPLENISH_S 0x355 +#define MOVE_G_MAX_MALODOR_P 0x356 +#define MOVE_G_MAX_MALODOR_S 0x357 +#define MOVE_G_MAX_MELTDOWN_P 0x358 +#define MOVE_G_MAX_MELTDOWN_S 0x359 +#define MOVE_G_MAX_DRUM_SOLO_P 0x35A +#define MOVE_G_MAX_DRUM_SOLO_S 0x35B +#define MOVE_G_MAX_FIREBALL_P 0x35C +#define MOVE_G_MAX_FIREBALL_S 0x35D +#define MOVE_G_MAX_HYDROSNIPE_P 0x35E +#define MOVE_G_MAX_HYDROSNIPE_S 0x35F +#define MOVE_G_MAX_WIND_RAGE_P 0x360 +#define MOVE_G_MAX_WIND_RAGE_S 0x361 +#define MOVE_G_MAX_GRAVITAS_P 0x362 +#define MOVE_G_MAX_GRAVITAS_S 0x363 +#define MOVE_G_MAX_STONESURGE_P 0x364 +#define MOVE_G_MAX_STONESURGE_S 0x365 +#define MOVE_G_MAX_VOLCALITH_P 0x366 +#define MOVE_G_MAX_VOLCALITH_S 0x367 +#define MOVE_G_MAX_TARTNESS_P 0x368 +#define MOVE_G_MAX_TARTNESS_S 0x369 +#define MOVE_G_MAX_SWEETNESS_P 0x36A +#define MOVE_G_MAX_SWEETNESS_S 0x36B +#define MOVE_G_MAX_SANDBLAST_P 0x36C +#define MOVE_G_MAX_SANDBLAST_S 0x36D +#define MOVE_G_MAX_STUN_SHOCK_P 0x36E +#define MOVE_G_MAX_STUN_SHOCK_S 0x36F +#define MOVE_G_MAX_CENTIFERNO_P 0x370 +#define MOVE_G_MAX_CENTIFERNO_S 0x371 +#define MOVE_G_MAX_SMITE_P 0x372 +#define MOVE_G_MAX_SMITE_S 0x373 +#define MOVE_G_MAX_SNOOZE_P 0x374 +#define MOVE_G_MAX_SNOOZE_S 0x375 +#define MOVE_G_MAX_FINALE_P 0x376 +#define MOVE_G_MAX_FINALE_S 0x377 +#define MOVE_G_MAX_STEELSURGE_P 0x378 +#define MOVE_G_MAX_STEELSURGE_S 0x379 +#define MOVE_G_MAX_DEPLETION_P 0x37A +#define MOVE_G_MAX_DEPLETION_S 0x37B +#define MOVE_G_MAX_ONE_BLOW_P 0x37C +#define MOVE_G_MAX_ONE_BLOW_S 0x37D +#define MOVE_G_MAX_RAPID_FLOW_P 0x37E +#define MOVE_G_MAX_RAPID_FLOW_S 0x37F #define FIRST_MAX_MOVE MOVE_MAX_GUARD #define LAST_MAX_MOVE MOVE_MAX_STARFALL_S -#define FIRST_G_MAX_MOVE MOVE_G_MAX_WILDFIRE_P -#define LAST_G_MAX_MOVE MOVE_G_MAX_CENTIFERNO_S +#define FIRST_G_MAX_MOVE MOVE_G_MAX_VINE_LASH_P +#define LAST_G_MAX_MOVE MOVE_G_MAX_RAPID_FLOW_S -#define LAST_MOVE_INDEX MOVE_G_MAX_CENTIFERNO_S -#define MOVES_COUNT (MOVE_G_MAX_CENTIFERNO_S + 1) -#define NON_Z_MOVE_COUNT (MOVE_STEELBEAM + 1) +#define LAST_MOVE_INDEX MOVE_G_MAX_RAPID_FLOW_S +#define MOVES_COUNT (MOVE_G_MAX_RAPID_FLOW_S + 1) +#define NON_Z_MOVE_COUNT (MOVE_DRAGONENERGY + 1) diff --git a/src/Habitat_Table.c b/src/Habitat_Table.c index c2f24ff..1932d15 100644 --- a/src/Habitat_Table.c +++ b/src/Habitat_Table.c @@ -1554,8 +1554,8 @@ const u16 gMountainPage14[] = const u16 gMountainPage15[] = { - SPECIES_TIRTOUGA, - SPECIES_CARRACOSTA, + SPECIES_MUNCHLAX, + SPECIES_SNORLAX, }; const u16 gMountainPage16[] = diff --git a/src/updated_code.c b/src/updated_code.c index 416f87c..6a56ff2 100644 --- a/src/updated_code.c +++ b/src/updated_code.c @@ -34,6 +34,7 @@ u8 __attribute__((long_call)) GetGenderFromSpeciesAndPersonality(u16 species, u3 u8 __attribute__((long_call)) GetUnownLetterFromPersonality(u32 personality); bool8 __attribute__((long_call)) GetSetPokedexFlag(u16 nationalNum, u8 caseID); s8 __attribute__((long_call)) DexFlagCheck(u16 nationalDexNo, u8 caseId, bool8 indexIsSpecies); +u16 __attribute__((long_call)) SpeciesToNationalPokedexNum(u16 species); void __attribute__((long_call)) break_func(); //This file's functions @@ -235,7 +236,7 @@ u16 CountSpeciesInDex(u8 caseId, bool8 whichDex) case 0: //Regional for (i = 0; i < gRegionalDexCount; ++i) { - if (DexFlagCheck(gPokedexOrder_Regional[i], caseId, FALSE)) + if (DexFlagCheck(SpeciesToNationalPokedexNum(gPokedexOrder_Regional[i]), caseId, FALSE)) count++; } break; @@ -251,24 +252,14 @@ u16 CountSpeciesInDex(u8 caseId, bool8 whichDex) return count; } -u16 GetRegionalPokedexCount(u8 caseID) +u16 GetRegionalPokedexCount(u8 caseId) { - u16 count = 0; - u16 i; + u16 i, count; - for (i = 0; i < gRegionalDexCount; ++i) + for (i = 0, count = 0; i < gRegionalDexCount; ++i) { - switch (caseID) - { - case FLAG_GET_SEEN: - if (GetSetPokedexFlag(gPokedexOrder_Regional[i], FLAG_GET_SEEN)) - count++; - break; - case FLAG_GET_CAUGHT: - if (GetSetPokedexFlag(gPokedexOrder_Regional[i], FLAG_GET_CAUGHT)) - count++; - break; - } + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gPokedexOrder_Regional[i]), caseId)) + count++; } return count; @@ -280,7 +271,20 @@ bool16 HasAllRegionalMons(void) for (i = 0; i < gRegionalDexCount; ++i) { - if (!GetSetPokedexFlag(gPokedexOrder_Regional[i], FLAG_GET_CAUGHT)) + if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(gPokedexOrder_Regional[i]), FLAG_GET_CAUGHT)) + return FALSE; + } + + return TRUE; +} + +bool16 sp1B9_SeenAllRegionalMons(void) +{ + u16 i; + + for (i = 0; i < gRegionalDexCount; ++i) + { + if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(gPokedexOrder_Regional[i]), FLAG_GET_SEEN)) return FALSE; }