Base form check

This commit is contained in:
Eduardo Quezada 2022-10-10 20:29:12 -03:00
parent 790afb9460
commit ee03065904
16 changed files with 986 additions and 44 deletions

View file

@ -42,6 +42,7 @@ u16 GetHoennPokedexCount(u8);
u8 DisplayCaughtMonDexPage(u16 dexNum, u32 otId, u32 personality);
s8 GetSetPokedexSeenFlag(u16 species, u8 caseID);
s8 GetSetPokedexCaughtFlag(u16 nationalDexNo, u8 caseID);
u16 GetPokedexFlagFirstSeen(u16 nationalDexNo);
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
u16 CreateMonSpriteFromNationalDexNumber(u16, s16, s16, u16);
bool16 HasAllHoennMons(void);

View file

@ -409,6 +409,7 @@ extern const u16 gUnionRoomFacilityClasses[];
extern const struct SpriteTemplate gBattlerSpriteTemplates[];
extern const s8 gNatureStatTable[][5];
extern const u32 sExpCandyExperienceTable[];
extern const u16 gBaseFormSpeciesIdTable[NATIONAL_DEX_COUNT + 1];
void ZeroBoxMonData(struct BoxPokemon *boxMon);
void ZeroMonData(struct Pokemon *mon);
@ -550,7 +551,7 @@ void BattleAnimateBackSprite(struct Sprite *sprite, u16 species);
u8 GetOpposingLinkMultiBattlerId(bool8 rightSide, u8 multiplayerId);
u16 FacilityClassToPicIndex(u16 facilityClass);
u16 PlayerGenderToFrontTrainerPicId(u8 playerGender);
void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality);
void HandleSetPokedexFlag(u16 species, u8 caseId, u32 personality);
const u8 *GetTrainerClassNameFromId(u16 trainerId);
const u8 *GetTrainerNameFromId(u16 trainerId);
bool8 HasTwoFramesAnimation(u16 species);

View file

@ -3584,7 +3584,7 @@ static void DoBattleIntro(void)
| BATTLE_TYPE_RECORDED_LINK
| BATTLE_TYPE_TRAINER_HILL)))
{
HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality);
HandleSetPokedexFlag(gBattleMons[gActiveBattler].species, FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality);
}
}

View file

@ -5944,7 +5944,7 @@ static void Cmd_switchinanim(void)
| BATTLE_TYPE_RECORDED_LINK
| BATTLE_TYPE_TRAINER_HILL
| BATTLE_TYPE_FRONTIER)))
HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality);
HandleSetPokedexFlag(gBattleMons[gActiveBattler].species, FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality);
gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]);
@ -14238,7 +14238,7 @@ static void Cmd_trysetcaughtmondexflags(void)
}
else
{
HandleSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_CAUGHT, personality);
HandleSetPokedexFlag(species, FLAG_SET_CAUGHT, personality);
gBattlescriptCurrInstr += 5;
}
}

View file

@ -964,7 +964,7 @@ static void Task_ShowWinnerMonBanner(u8 taskId)
static void Task_SetSeenWinnerMon(u8 taskId)
{
int i, nationalDexNum;
int i;
if (JOY_NEW(A_BUTTON))
{
@ -972,8 +972,7 @@ static void Task_SetSeenWinnerMon(u8 taskId)
{
for (i = 0; i < CONTESTANT_COUNT; i++)
{
nationalDexNum = SpeciesToNationalPokedexNum(gContestMons[i].species);
GetSetPokedexFlag(nationalDexNum, FLAG_SET_SEEN);
GetSetPokedexSeenFlag(gContestMons[i].species, FLAG_SET_SEEN);
}
}

View file

@ -0,0 +1,920 @@
#define NATIONAL_DEX_TO_SPECIES(species) [NATIONAL_DEX_##species] = SPECIES_##species
const u16 gBaseFormSpeciesIdTable[NATIONAL_DEX_COUNT + 1] =
{
NATIONAL_DEX_TO_SPECIES(NONE),
// Kanto
NATIONAL_DEX_TO_SPECIES(BULBASAUR),
NATIONAL_DEX_TO_SPECIES(IVYSAUR),
NATIONAL_DEX_TO_SPECIES(VENUSAUR),
NATIONAL_DEX_TO_SPECIES(CHARMANDER),
NATIONAL_DEX_TO_SPECIES(CHARMELEON),
NATIONAL_DEX_TO_SPECIES(CHARIZARD),
NATIONAL_DEX_TO_SPECIES(SQUIRTLE),
NATIONAL_DEX_TO_SPECIES(WARTORTLE),
NATIONAL_DEX_TO_SPECIES(BLASTOISE),
NATIONAL_DEX_TO_SPECIES(CATERPIE),
NATIONAL_DEX_TO_SPECIES(METAPOD),
NATIONAL_DEX_TO_SPECIES(BUTTERFREE),
NATIONAL_DEX_TO_SPECIES(WEEDLE),
NATIONAL_DEX_TO_SPECIES(KAKUNA),
NATIONAL_DEX_TO_SPECIES(BEEDRILL),
NATIONAL_DEX_TO_SPECIES(PIDGEY),
NATIONAL_DEX_TO_SPECIES(PIDGEOTTO),
NATIONAL_DEX_TO_SPECIES(PIDGEOT),
NATIONAL_DEX_TO_SPECIES(RATTATA),
NATIONAL_DEX_TO_SPECIES(RATICATE),
NATIONAL_DEX_TO_SPECIES(SPEAROW),
NATIONAL_DEX_TO_SPECIES(FEAROW),
NATIONAL_DEX_TO_SPECIES(EKANS),
NATIONAL_DEX_TO_SPECIES(ARBOK),
NATIONAL_DEX_TO_SPECIES(PIKACHU),
NATIONAL_DEX_TO_SPECIES(RAICHU),
NATIONAL_DEX_TO_SPECIES(SANDSHREW),
NATIONAL_DEX_TO_SPECIES(SANDSLASH),
NATIONAL_DEX_TO_SPECIES(NIDORAN_F),
NATIONAL_DEX_TO_SPECIES(NIDORINA),
NATIONAL_DEX_TO_SPECIES(NIDOQUEEN),
NATIONAL_DEX_TO_SPECIES(NIDORAN_M),
NATIONAL_DEX_TO_SPECIES(NIDORINO),
NATIONAL_DEX_TO_SPECIES(NIDOKING),
NATIONAL_DEX_TO_SPECIES(CLEFAIRY),
NATIONAL_DEX_TO_SPECIES(CLEFABLE),
NATIONAL_DEX_TO_SPECIES(VULPIX),
NATIONAL_DEX_TO_SPECIES(NINETALES),
NATIONAL_DEX_TO_SPECIES(JIGGLYPUFF),
NATIONAL_DEX_TO_SPECIES(WIGGLYTUFF),
NATIONAL_DEX_TO_SPECIES(ZUBAT),
NATIONAL_DEX_TO_SPECIES(GOLBAT),
NATIONAL_DEX_TO_SPECIES(ODDISH),
NATIONAL_DEX_TO_SPECIES(GLOOM),
NATIONAL_DEX_TO_SPECIES(VILEPLUME),
NATIONAL_DEX_TO_SPECIES(PARAS),
NATIONAL_DEX_TO_SPECIES(PARASECT),
NATIONAL_DEX_TO_SPECIES(VENONAT),
NATIONAL_DEX_TO_SPECIES(VENOMOTH),
NATIONAL_DEX_TO_SPECIES(DIGLETT),
NATIONAL_DEX_TO_SPECIES(DUGTRIO),
NATIONAL_DEX_TO_SPECIES(MEOWTH),
NATIONAL_DEX_TO_SPECIES(PERSIAN),
NATIONAL_DEX_TO_SPECIES(PSYDUCK),
NATIONAL_DEX_TO_SPECIES(GOLDUCK),
NATIONAL_DEX_TO_SPECIES(MANKEY),
NATIONAL_DEX_TO_SPECIES(PRIMEAPE),
NATIONAL_DEX_TO_SPECIES(GROWLITHE),
NATIONAL_DEX_TO_SPECIES(ARCANINE),
NATIONAL_DEX_TO_SPECIES(POLIWAG),
NATIONAL_DEX_TO_SPECIES(POLIWHIRL),
NATIONAL_DEX_TO_SPECIES(POLIWRATH),
NATIONAL_DEX_TO_SPECIES(ABRA),
NATIONAL_DEX_TO_SPECIES(KADABRA),
NATIONAL_DEX_TO_SPECIES(ALAKAZAM),
NATIONAL_DEX_TO_SPECIES(MACHOP),
NATIONAL_DEX_TO_SPECIES(MACHOKE),
NATIONAL_DEX_TO_SPECIES(MACHAMP),
NATIONAL_DEX_TO_SPECIES(BELLSPROUT),
NATIONAL_DEX_TO_SPECIES(WEEPINBELL),
NATIONAL_DEX_TO_SPECIES(VICTREEBEL),
NATIONAL_DEX_TO_SPECIES(TENTACOOL),
NATIONAL_DEX_TO_SPECIES(TENTACRUEL),
NATIONAL_DEX_TO_SPECIES(GEODUDE),
NATIONAL_DEX_TO_SPECIES(GRAVELER),
NATIONAL_DEX_TO_SPECIES(GOLEM),
NATIONAL_DEX_TO_SPECIES(PONYTA),
NATIONAL_DEX_TO_SPECIES(RAPIDASH),
NATIONAL_DEX_TO_SPECIES(SLOWPOKE),
NATIONAL_DEX_TO_SPECIES(SLOWBRO),
NATIONAL_DEX_TO_SPECIES(MAGNEMITE),
NATIONAL_DEX_TO_SPECIES(MAGNETON),
NATIONAL_DEX_TO_SPECIES(FARFETCHD),
NATIONAL_DEX_TO_SPECIES(DODUO),
NATIONAL_DEX_TO_SPECIES(DODRIO),
NATIONAL_DEX_TO_SPECIES(SEEL),
NATIONAL_DEX_TO_SPECIES(DEWGONG),
NATIONAL_DEX_TO_SPECIES(GRIMER),
NATIONAL_DEX_TO_SPECIES(MUK),
NATIONAL_DEX_TO_SPECIES(SHELLDER),
NATIONAL_DEX_TO_SPECIES(CLOYSTER),
NATIONAL_DEX_TO_SPECIES(GASTLY),
NATIONAL_DEX_TO_SPECIES(HAUNTER),
NATIONAL_DEX_TO_SPECIES(GENGAR),
NATIONAL_DEX_TO_SPECIES(ONIX),
NATIONAL_DEX_TO_SPECIES(DROWZEE),
NATIONAL_DEX_TO_SPECIES(HYPNO),
NATIONAL_DEX_TO_SPECIES(KRABBY),
NATIONAL_DEX_TO_SPECIES(KINGLER),
NATIONAL_DEX_TO_SPECIES(VOLTORB),
NATIONAL_DEX_TO_SPECIES(ELECTRODE),
NATIONAL_DEX_TO_SPECIES(EXEGGCUTE),
NATIONAL_DEX_TO_SPECIES(EXEGGUTOR),
NATIONAL_DEX_TO_SPECIES(CUBONE),
NATIONAL_DEX_TO_SPECIES(MAROWAK),
NATIONAL_DEX_TO_SPECIES(HITMONLEE),
NATIONAL_DEX_TO_SPECIES(HITMONCHAN),
NATIONAL_DEX_TO_SPECIES(LICKITUNG),
NATIONAL_DEX_TO_SPECIES(KOFFING),
NATIONAL_DEX_TO_SPECIES(WEEZING),
NATIONAL_DEX_TO_SPECIES(RHYHORN),
NATIONAL_DEX_TO_SPECIES(RHYDON),
NATIONAL_DEX_TO_SPECIES(CHANSEY),
NATIONAL_DEX_TO_SPECIES(TANGELA),
NATIONAL_DEX_TO_SPECIES(KANGASKHAN),
NATIONAL_DEX_TO_SPECIES(HORSEA),
NATIONAL_DEX_TO_SPECIES(SEADRA),
NATIONAL_DEX_TO_SPECIES(GOLDEEN),
NATIONAL_DEX_TO_SPECIES(SEAKING),
NATIONAL_DEX_TO_SPECIES(STARYU),
NATIONAL_DEX_TO_SPECIES(STARMIE),
NATIONAL_DEX_TO_SPECIES(MR_MIME),
NATIONAL_DEX_TO_SPECIES(SCYTHER),
NATIONAL_DEX_TO_SPECIES(JYNX),
NATIONAL_DEX_TO_SPECIES(ELECTABUZZ),
NATIONAL_DEX_TO_SPECIES(MAGMAR),
NATIONAL_DEX_TO_SPECIES(PINSIR),
NATIONAL_DEX_TO_SPECIES(TAUROS),
NATIONAL_DEX_TO_SPECIES(MAGIKARP),
NATIONAL_DEX_TO_SPECIES(GYARADOS),
NATIONAL_DEX_TO_SPECIES(LAPRAS),
NATIONAL_DEX_TO_SPECIES(DITTO),
NATIONAL_DEX_TO_SPECIES(EEVEE),
NATIONAL_DEX_TO_SPECIES(VAPOREON),
NATIONAL_DEX_TO_SPECIES(JOLTEON),
NATIONAL_DEX_TO_SPECIES(FLAREON),
NATIONAL_DEX_TO_SPECIES(PORYGON),
NATIONAL_DEX_TO_SPECIES(OMANYTE),
NATIONAL_DEX_TO_SPECIES(OMASTAR),
NATIONAL_DEX_TO_SPECIES(KABUTO),
NATIONAL_DEX_TO_SPECIES(KABUTOPS),
NATIONAL_DEX_TO_SPECIES(AERODACTYL),
NATIONAL_DEX_TO_SPECIES(SNORLAX),
NATIONAL_DEX_TO_SPECIES(ARTICUNO),
NATIONAL_DEX_TO_SPECIES(ZAPDOS),
NATIONAL_DEX_TO_SPECIES(MOLTRES),
NATIONAL_DEX_TO_SPECIES(DRATINI),
NATIONAL_DEX_TO_SPECIES(DRAGONAIR),
NATIONAL_DEX_TO_SPECIES(DRAGONITE),
NATIONAL_DEX_TO_SPECIES(MEWTWO),
NATIONAL_DEX_TO_SPECIES(MEW),
// Johto
NATIONAL_DEX_TO_SPECIES(CHIKORITA),
NATIONAL_DEX_TO_SPECIES(BAYLEEF),
NATIONAL_DEX_TO_SPECIES(MEGANIUM),
NATIONAL_DEX_TO_SPECIES(CYNDAQUIL),
NATIONAL_DEX_TO_SPECIES(QUILAVA),
NATIONAL_DEX_TO_SPECIES(TYPHLOSION),
NATIONAL_DEX_TO_SPECIES(TOTODILE),
NATIONAL_DEX_TO_SPECIES(CROCONAW),
NATIONAL_DEX_TO_SPECIES(FERALIGATR),
NATIONAL_DEX_TO_SPECIES(SENTRET),
NATIONAL_DEX_TO_SPECIES(FURRET),
NATIONAL_DEX_TO_SPECIES(HOOTHOOT),
NATIONAL_DEX_TO_SPECIES(NOCTOWL),
NATIONAL_DEX_TO_SPECIES(LEDYBA),
NATIONAL_DEX_TO_SPECIES(LEDIAN),
NATIONAL_DEX_TO_SPECIES(SPINARAK),
NATIONAL_DEX_TO_SPECIES(ARIADOS),
NATIONAL_DEX_TO_SPECIES(CROBAT),
NATIONAL_DEX_TO_SPECIES(CHINCHOU),
NATIONAL_DEX_TO_SPECIES(LANTURN),
NATIONAL_DEX_TO_SPECIES(PICHU),
NATIONAL_DEX_TO_SPECIES(CLEFFA),
NATIONAL_DEX_TO_SPECIES(IGGLYBUFF),
NATIONAL_DEX_TO_SPECIES(TOGEPI),
NATIONAL_DEX_TO_SPECIES(TOGETIC),
NATIONAL_DEX_TO_SPECIES(NATU),
NATIONAL_DEX_TO_SPECIES(XATU),
NATIONAL_DEX_TO_SPECIES(MAREEP),
NATIONAL_DEX_TO_SPECIES(FLAAFFY),
NATIONAL_DEX_TO_SPECIES(AMPHAROS),
NATIONAL_DEX_TO_SPECIES(BELLOSSOM),
NATIONAL_DEX_TO_SPECIES(MARILL),
NATIONAL_DEX_TO_SPECIES(AZUMARILL),
NATIONAL_DEX_TO_SPECIES(SUDOWOODO),
NATIONAL_DEX_TO_SPECIES(POLITOED),
NATIONAL_DEX_TO_SPECIES(HOPPIP),
NATIONAL_DEX_TO_SPECIES(SKIPLOOM),
NATIONAL_DEX_TO_SPECIES(JUMPLUFF),
NATIONAL_DEX_TO_SPECIES(AIPOM),
NATIONAL_DEX_TO_SPECIES(SUNKERN),
NATIONAL_DEX_TO_SPECIES(SUNFLORA),
NATIONAL_DEX_TO_SPECIES(YANMA),
NATIONAL_DEX_TO_SPECIES(WOOPER),
NATIONAL_DEX_TO_SPECIES(QUAGSIRE),
NATIONAL_DEX_TO_SPECIES(ESPEON),
NATIONAL_DEX_TO_SPECIES(UMBREON),
NATIONAL_DEX_TO_SPECIES(MURKROW),
NATIONAL_DEX_TO_SPECIES(SLOWKING),
NATIONAL_DEX_TO_SPECIES(MISDREAVUS),
NATIONAL_DEX_TO_SPECIES(UNOWN),
NATIONAL_DEX_TO_SPECIES(WOBBUFFET),
NATIONAL_DEX_TO_SPECIES(GIRAFARIG),
NATIONAL_DEX_TO_SPECIES(PINECO),
NATIONAL_DEX_TO_SPECIES(FORRETRESS),
NATIONAL_DEX_TO_SPECIES(DUNSPARCE),
NATIONAL_DEX_TO_SPECIES(GLIGAR),
NATIONAL_DEX_TO_SPECIES(STEELIX),
NATIONAL_DEX_TO_SPECIES(SNUBBULL),
NATIONAL_DEX_TO_SPECIES(GRANBULL),
NATIONAL_DEX_TO_SPECIES(QWILFISH),
NATIONAL_DEX_TO_SPECIES(SCIZOR),
NATIONAL_DEX_TO_SPECIES(SHUCKLE),
NATIONAL_DEX_TO_SPECIES(HERACROSS),
NATIONAL_DEX_TO_SPECIES(SNEASEL),
NATIONAL_DEX_TO_SPECIES(TEDDIURSA),
NATIONAL_DEX_TO_SPECIES(URSARING),
NATIONAL_DEX_TO_SPECIES(SLUGMA),
NATIONAL_DEX_TO_SPECIES(MAGCARGO),
NATIONAL_DEX_TO_SPECIES(SWINUB),
NATIONAL_DEX_TO_SPECIES(PILOSWINE),
NATIONAL_DEX_TO_SPECIES(CORSOLA),
NATIONAL_DEX_TO_SPECIES(REMORAID),
NATIONAL_DEX_TO_SPECIES(OCTILLERY),
NATIONAL_DEX_TO_SPECIES(DELIBIRD),
NATIONAL_DEX_TO_SPECIES(MANTINE),
NATIONAL_DEX_TO_SPECIES(SKARMORY),
NATIONAL_DEX_TO_SPECIES(HOUNDOUR),
NATIONAL_DEX_TO_SPECIES(HOUNDOOM),
NATIONAL_DEX_TO_SPECIES(KINGDRA),
NATIONAL_DEX_TO_SPECIES(PHANPY),
NATIONAL_DEX_TO_SPECIES(DONPHAN),
NATIONAL_DEX_TO_SPECIES(PORYGON2),
NATIONAL_DEX_TO_SPECIES(STANTLER),
NATIONAL_DEX_TO_SPECIES(SMEARGLE),
NATIONAL_DEX_TO_SPECIES(TYROGUE),
NATIONAL_DEX_TO_SPECIES(HITMONTOP),
NATIONAL_DEX_TO_SPECIES(SMOOCHUM),
NATIONAL_DEX_TO_SPECIES(ELEKID),
NATIONAL_DEX_TO_SPECIES(MAGBY),
NATIONAL_DEX_TO_SPECIES(MILTANK),
NATIONAL_DEX_TO_SPECIES(BLISSEY),
NATIONAL_DEX_TO_SPECIES(RAIKOU),
NATIONAL_DEX_TO_SPECIES(ENTEI),
NATIONAL_DEX_TO_SPECIES(SUICUNE),
NATIONAL_DEX_TO_SPECIES(LARVITAR),
NATIONAL_DEX_TO_SPECIES(PUPITAR),
NATIONAL_DEX_TO_SPECIES(TYRANITAR),
NATIONAL_DEX_TO_SPECIES(LUGIA),
NATIONAL_DEX_TO_SPECIES(HO_OH),
NATIONAL_DEX_TO_SPECIES(CELEBI),
// Hoenn
NATIONAL_DEX_TO_SPECIES(TREECKO),
NATIONAL_DEX_TO_SPECIES(GROVYLE),
NATIONAL_DEX_TO_SPECIES(SCEPTILE),
NATIONAL_DEX_TO_SPECIES(TORCHIC),
NATIONAL_DEX_TO_SPECIES(COMBUSKEN),
NATIONAL_DEX_TO_SPECIES(BLAZIKEN),
NATIONAL_DEX_TO_SPECIES(MUDKIP),
NATIONAL_DEX_TO_SPECIES(MARSHTOMP),
NATIONAL_DEX_TO_SPECIES(SWAMPERT),
NATIONAL_DEX_TO_SPECIES(POOCHYENA),
NATIONAL_DEX_TO_SPECIES(MIGHTYENA),
NATIONAL_DEX_TO_SPECIES(ZIGZAGOON),
NATIONAL_DEX_TO_SPECIES(LINOONE),
NATIONAL_DEX_TO_SPECIES(WURMPLE),
NATIONAL_DEX_TO_SPECIES(SILCOON),
NATIONAL_DEX_TO_SPECIES(BEAUTIFLY),
NATIONAL_DEX_TO_SPECIES(CASCOON),
NATIONAL_DEX_TO_SPECIES(DUSTOX),
NATIONAL_DEX_TO_SPECIES(LOTAD),
NATIONAL_DEX_TO_SPECIES(LOMBRE),
NATIONAL_DEX_TO_SPECIES(LUDICOLO),
NATIONAL_DEX_TO_SPECIES(SEEDOT),
NATIONAL_DEX_TO_SPECIES(NUZLEAF),
NATIONAL_DEX_TO_SPECIES(SHIFTRY),
NATIONAL_DEX_TO_SPECIES(TAILLOW),
NATIONAL_DEX_TO_SPECIES(SWELLOW),
NATIONAL_DEX_TO_SPECIES(WINGULL),
NATIONAL_DEX_TO_SPECIES(PELIPPER),
NATIONAL_DEX_TO_SPECIES(RALTS),
NATIONAL_DEX_TO_SPECIES(KIRLIA),
NATIONAL_DEX_TO_SPECIES(GARDEVOIR),
NATIONAL_DEX_TO_SPECIES(SURSKIT),
NATIONAL_DEX_TO_SPECIES(MASQUERAIN),
NATIONAL_DEX_TO_SPECIES(SHROOMISH),
NATIONAL_DEX_TO_SPECIES(BRELOOM),
NATIONAL_DEX_TO_SPECIES(SLAKOTH),
NATIONAL_DEX_TO_SPECIES(VIGOROTH),
NATIONAL_DEX_TO_SPECIES(SLAKING),
NATIONAL_DEX_TO_SPECIES(NINCADA),
NATIONAL_DEX_TO_SPECIES(NINJASK),
NATIONAL_DEX_TO_SPECIES(SHEDINJA),
NATIONAL_DEX_TO_SPECIES(WHISMUR),
NATIONAL_DEX_TO_SPECIES(LOUDRED),
NATIONAL_DEX_TO_SPECIES(EXPLOUD),
NATIONAL_DEX_TO_SPECIES(MAKUHITA),
NATIONAL_DEX_TO_SPECIES(HARIYAMA),
NATIONAL_DEX_TO_SPECIES(AZURILL),
NATIONAL_DEX_TO_SPECIES(NOSEPASS),
NATIONAL_DEX_TO_SPECIES(SKITTY),
NATIONAL_DEX_TO_SPECIES(DELCATTY),
NATIONAL_DEX_TO_SPECIES(SABLEYE),
NATIONAL_DEX_TO_SPECIES(MAWILE),
NATIONAL_DEX_TO_SPECIES(ARON),
NATIONAL_DEX_TO_SPECIES(LAIRON),
NATIONAL_DEX_TO_SPECIES(AGGRON),
NATIONAL_DEX_TO_SPECIES(MEDITITE),
NATIONAL_DEX_TO_SPECIES(MEDICHAM),
NATIONAL_DEX_TO_SPECIES(ELECTRIKE),
NATIONAL_DEX_TO_SPECIES(MANECTRIC),
NATIONAL_DEX_TO_SPECIES(PLUSLE),
NATIONAL_DEX_TO_SPECIES(MINUN),
NATIONAL_DEX_TO_SPECIES(VOLBEAT),
NATIONAL_DEX_TO_SPECIES(ILLUMISE),
NATIONAL_DEX_TO_SPECIES(ROSELIA),
NATIONAL_DEX_TO_SPECIES(GULPIN),
NATIONAL_DEX_TO_SPECIES(SWALOT),
NATIONAL_DEX_TO_SPECIES(CARVANHA),
NATIONAL_DEX_TO_SPECIES(SHARPEDO),
NATIONAL_DEX_TO_SPECIES(WAILMER),
NATIONAL_DEX_TO_SPECIES(WAILORD),
NATIONAL_DEX_TO_SPECIES(NUMEL),
NATIONAL_DEX_TO_SPECIES(CAMERUPT),
NATIONAL_DEX_TO_SPECIES(TORKOAL),
NATIONAL_DEX_TO_SPECIES(SPOINK),
NATIONAL_DEX_TO_SPECIES(GRUMPIG),
NATIONAL_DEX_TO_SPECIES(SPINDA),
NATIONAL_DEX_TO_SPECIES(TRAPINCH),
NATIONAL_DEX_TO_SPECIES(VIBRAVA),
NATIONAL_DEX_TO_SPECIES(FLYGON),
NATIONAL_DEX_TO_SPECIES(CACNEA),
NATIONAL_DEX_TO_SPECIES(CACTURNE),
NATIONAL_DEX_TO_SPECIES(SWABLU),
NATIONAL_DEX_TO_SPECIES(ALTARIA),
NATIONAL_DEX_TO_SPECIES(ZANGOOSE),
NATIONAL_DEX_TO_SPECIES(SEVIPER),
NATIONAL_DEX_TO_SPECIES(LUNATONE),
NATIONAL_DEX_TO_SPECIES(SOLROCK),
NATIONAL_DEX_TO_SPECIES(BARBOACH),
NATIONAL_DEX_TO_SPECIES(WHISCASH),
NATIONAL_DEX_TO_SPECIES(CORPHISH),
NATIONAL_DEX_TO_SPECIES(CRAWDAUNT),
NATIONAL_DEX_TO_SPECIES(BALTOY),
NATIONAL_DEX_TO_SPECIES(CLAYDOL),
NATIONAL_DEX_TO_SPECIES(LILEEP),
NATIONAL_DEX_TO_SPECIES(CRADILY),
NATIONAL_DEX_TO_SPECIES(ANORITH),
NATIONAL_DEX_TO_SPECIES(ARMALDO),
NATIONAL_DEX_TO_SPECIES(FEEBAS),
NATIONAL_DEX_TO_SPECIES(MILOTIC),
NATIONAL_DEX_TO_SPECIES(CASTFORM),
NATIONAL_DEX_TO_SPECIES(KECLEON),
NATIONAL_DEX_TO_SPECIES(SHUPPET),
NATIONAL_DEX_TO_SPECIES(BANETTE),
NATIONAL_DEX_TO_SPECIES(DUSKULL),
NATIONAL_DEX_TO_SPECIES(DUSCLOPS),
NATIONAL_DEX_TO_SPECIES(TROPIUS),
NATIONAL_DEX_TO_SPECIES(CHIMECHO),
NATIONAL_DEX_TO_SPECIES(ABSOL),
NATIONAL_DEX_TO_SPECIES(WYNAUT),
NATIONAL_DEX_TO_SPECIES(SNORUNT),
NATIONAL_DEX_TO_SPECIES(GLALIE),
NATIONAL_DEX_TO_SPECIES(SPHEAL),
NATIONAL_DEX_TO_SPECIES(SEALEO),
NATIONAL_DEX_TO_SPECIES(WALREIN),
NATIONAL_DEX_TO_SPECIES(CLAMPERL),
NATIONAL_DEX_TO_SPECIES(HUNTAIL),
NATIONAL_DEX_TO_SPECIES(GOREBYSS),
NATIONAL_DEX_TO_SPECIES(RELICANTH),
NATIONAL_DEX_TO_SPECIES(LUVDISC),
NATIONAL_DEX_TO_SPECIES(BAGON),
NATIONAL_DEX_TO_SPECIES(SHELGON),
NATIONAL_DEX_TO_SPECIES(SALAMENCE),
NATIONAL_DEX_TO_SPECIES(BELDUM),
NATIONAL_DEX_TO_SPECIES(METANG),
NATIONAL_DEX_TO_SPECIES(METAGROSS),
NATIONAL_DEX_TO_SPECIES(REGIROCK),
NATIONAL_DEX_TO_SPECIES(REGICE),
NATIONAL_DEX_TO_SPECIES(REGISTEEL),
NATIONAL_DEX_TO_SPECIES(LATIAS),
NATIONAL_DEX_TO_SPECIES(LATIOS),
NATIONAL_DEX_TO_SPECIES(KYOGRE),
NATIONAL_DEX_TO_SPECIES(GROUDON),
NATIONAL_DEX_TO_SPECIES(RAYQUAZA),
NATIONAL_DEX_TO_SPECIES(JIRACHI),
NATIONAL_DEX_TO_SPECIES(DEOXYS),
// Sinnoh
NATIONAL_DEX_TO_SPECIES(TURTWIG),
NATIONAL_DEX_TO_SPECIES(GROTLE),
NATIONAL_DEX_TO_SPECIES(TORTERRA),
NATIONAL_DEX_TO_SPECIES(CHIMCHAR),
NATIONAL_DEX_TO_SPECIES(MONFERNO),
NATIONAL_DEX_TO_SPECIES(INFERNAPE),
NATIONAL_DEX_TO_SPECIES(PIPLUP),
NATIONAL_DEX_TO_SPECIES(PRINPLUP),
NATIONAL_DEX_TO_SPECIES(EMPOLEON),
NATIONAL_DEX_TO_SPECIES(STARLY),
NATIONAL_DEX_TO_SPECIES(STARAVIA),
NATIONAL_DEX_TO_SPECIES(STARAPTOR),
NATIONAL_DEX_TO_SPECIES(BIDOOF),
NATIONAL_DEX_TO_SPECIES(BIBAREL),
NATIONAL_DEX_TO_SPECIES(KRICKETOT),
NATIONAL_DEX_TO_SPECIES(KRICKETUNE),
NATIONAL_DEX_TO_SPECIES(SHINX),
NATIONAL_DEX_TO_SPECIES(LUXIO),
NATIONAL_DEX_TO_SPECIES(LUXRAY),
NATIONAL_DEX_TO_SPECIES(BUDEW),
NATIONAL_DEX_TO_SPECIES(ROSERADE),
NATIONAL_DEX_TO_SPECIES(CRANIDOS),
NATIONAL_DEX_TO_SPECIES(RAMPARDOS),
NATIONAL_DEX_TO_SPECIES(SHIELDON),
NATIONAL_DEX_TO_SPECIES(BASTIODON),
NATIONAL_DEX_TO_SPECIES(BURMY),
NATIONAL_DEX_TO_SPECIES(WORMADAM),
NATIONAL_DEX_TO_SPECIES(MOTHIM),
NATIONAL_DEX_TO_SPECIES(COMBEE),
NATIONAL_DEX_TO_SPECIES(VESPIQUEN),
NATIONAL_DEX_TO_SPECIES(PACHIRISU),
NATIONAL_DEX_TO_SPECIES(BUIZEL),
NATIONAL_DEX_TO_SPECIES(FLOATZEL),
NATIONAL_DEX_TO_SPECIES(CHERUBI),
NATIONAL_DEX_TO_SPECIES(CHERRIM),
NATIONAL_DEX_TO_SPECIES(SHELLOS),
NATIONAL_DEX_TO_SPECIES(GASTRODON),
NATIONAL_DEX_TO_SPECIES(AMBIPOM),
NATIONAL_DEX_TO_SPECIES(DRIFLOON),
NATIONAL_DEX_TO_SPECIES(DRIFBLIM),
NATIONAL_DEX_TO_SPECIES(BUNEARY),
NATIONAL_DEX_TO_SPECIES(LOPUNNY),
NATIONAL_DEX_TO_SPECIES(MISMAGIUS),
NATIONAL_DEX_TO_SPECIES(HONCHKROW),
NATIONAL_DEX_TO_SPECIES(GLAMEOW),
NATIONAL_DEX_TO_SPECIES(PURUGLY),
NATIONAL_DEX_TO_SPECIES(CHINGLING),
NATIONAL_DEX_TO_SPECIES(STUNKY),
NATIONAL_DEX_TO_SPECIES(SKUNTANK),
NATIONAL_DEX_TO_SPECIES(BRONZOR),
NATIONAL_DEX_TO_SPECIES(BRONZONG),
NATIONAL_DEX_TO_SPECIES(BONSLY),
NATIONAL_DEX_TO_SPECIES(MIME_JR),
NATIONAL_DEX_TO_SPECIES(HAPPINY),
NATIONAL_DEX_TO_SPECIES(CHATOT),
NATIONAL_DEX_TO_SPECIES(SPIRITOMB),
NATIONAL_DEX_TO_SPECIES(GIBLE),
NATIONAL_DEX_TO_SPECIES(GABITE),
NATIONAL_DEX_TO_SPECIES(GARCHOMP),
NATIONAL_DEX_TO_SPECIES(MUNCHLAX),
NATIONAL_DEX_TO_SPECIES(RIOLU),
NATIONAL_DEX_TO_SPECIES(LUCARIO),
NATIONAL_DEX_TO_SPECIES(HIPPOPOTAS),
NATIONAL_DEX_TO_SPECIES(HIPPOWDON),
NATIONAL_DEX_TO_SPECIES(SKORUPI),
NATIONAL_DEX_TO_SPECIES(DRAPION),
NATIONAL_DEX_TO_SPECIES(CROAGUNK),
NATIONAL_DEX_TO_SPECIES(TOXICROAK),
NATIONAL_DEX_TO_SPECIES(CARNIVINE),
NATIONAL_DEX_TO_SPECIES(FINNEON),
NATIONAL_DEX_TO_SPECIES(LUMINEON),
NATIONAL_DEX_TO_SPECIES(MANTYKE),
NATIONAL_DEX_TO_SPECIES(SNOVER),
NATIONAL_DEX_TO_SPECIES(ABOMASNOW),
NATIONAL_DEX_TO_SPECIES(WEAVILE),
NATIONAL_DEX_TO_SPECIES(MAGNEZONE),
NATIONAL_DEX_TO_SPECIES(LICKILICKY),
NATIONAL_DEX_TO_SPECIES(RHYPERIOR),
NATIONAL_DEX_TO_SPECIES(TANGROWTH),
NATIONAL_DEX_TO_SPECIES(ELECTIVIRE),
NATIONAL_DEX_TO_SPECIES(MAGMORTAR),
NATIONAL_DEX_TO_SPECIES(TOGEKISS),
NATIONAL_DEX_TO_SPECIES(YANMEGA),
NATIONAL_DEX_TO_SPECIES(LEAFEON),
NATIONAL_DEX_TO_SPECIES(GLACEON),
NATIONAL_DEX_TO_SPECIES(GLISCOR),
NATIONAL_DEX_TO_SPECIES(MAMOSWINE),
NATIONAL_DEX_TO_SPECIES(PORYGON_Z),
NATIONAL_DEX_TO_SPECIES(GALLADE),
NATIONAL_DEX_TO_SPECIES(PROBOPASS),
NATIONAL_DEX_TO_SPECIES(DUSKNOIR),
NATIONAL_DEX_TO_SPECIES(FROSLASS),
NATIONAL_DEX_TO_SPECIES(ROTOM),
NATIONAL_DEX_TO_SPECIES(UXIE),
NATIONAL_DEX_TO_SPECIES(MESPRIT),
NATIONAL_DEX_TO_SPECIES(AZELF),
NATIONAL_DEX_TO_SPECIES(DIALGA),
NATIONAL_DEX_TO_SPECIES(PALKIA),
NATIONAL_DEX_TO_SPECIES(HEATRAN),
NATIONAL_DEX_TO_SPECIES(REGIGIGAS),
NATIONAL_DEX_TO_SPECIES(GIRATINA),
NATIONAL_DEX_TO_SPECIES(CRESSELIA),
NATIONAL_DEX_TO_SPECIES(PHIONE),
NATIONAL_DEX_TO_SPECIES(MANAPHY),
NATIONAL_DEX_TO_SPECIES(DARKRAI),
NATIONAL_DEX_TO_SPECIES(SHAYMIN),
NATIONAL_DEX_TO_SPECIES(ARCEUS),
// Unova
NATIONAL_DEX_TO_SPECIES(VICTINI),
NATIONAL_DEX_TO_SPECIES(SNIVY),
NATIONAL_DEX_TO_SPECIES(SERVINE),
NATIONAL_DEX_TO_SPECIES(SERPERIOR),
NATIONAL_DEX_TO_SPECIES(TEPIG),
NATIONAL_DEX_TO_SPECIES(PIGNITE),
NATIONAL_DEX_TO_SPECIES(EMBOAR),
NATIONAL_DEX_TO_SPECIES(OSHAWOTT),
NATIONAL_DEX_TO_SPECIES(DEWOTT),
NATIONAL_DEX_TO_SPECIES(SAMUROTT),
NATIONAL_DEX_TO_SPECIES(PATRAT),
NATIONAL_DEX_TO_SPECIES(WATCHOG),
NATIONAL_DEX_TO_SPECIES(LILLIPUP),
NATIONAL_DEX_TO_SPECIES(HERDIER),
NATIONAL_DEX_TO_SPECIES(STOUTLAND),
NATIONAL_DEX_TO_SPECIES(PURRLOIN),
NATIONAL_DEX_TO_SPECIES(LIEPARD),
NATIONAL_DEX_TO_SPECIES(PANSAGE),
NATIONAL_DEX_TO_SPECIES(SIMISAGE),
NATIONAL_DEX_TO_SPECIES(PANSEAR),
NATIONAL_DEX_TO_SPECIES(SIMISEAR),
NATIONAL_DEX_TO_SPECIES(PANPOUR),
NATIONAL_DEX_TO_SPECIES(SIMIPOUR),
NATIONAL_DEX_TO_SPECIES(MUNNA),
NATIONAL_DEX_TO_SPECIES(MUSHARNA),
NATIONAL_DEX_TO_SPECIES(PIDOVE),
NATIONAL_DEX_TO_SPECIES(TRANQUILL),
NATIONAL_DEX_TO_SPECIES(UNFEZANT),
NATIONAL_DEX_TO_SPECIES(BLITZLE),
NATIONAL_DEX_TO_SPECIES(ZEBSTRIKA),
NATIONAL_DEX_TO_SPECIES(ROGGENROLA),
NATIONAL_DEX_TO_SPECIES(BOLDORE),
NATIONAL_DEX_TO_SPECIES(GIGALITH),
NATIONAL_DEX_TO_SPECIES(WOOBAT),
NATIONAL_DEX_TO_SPECIES(SWOOBAT),
NATIONAL_DEX_TO_SPECIES(DRILBUR),
NATIONAL_DEX_TO_SPECIES(EXCADRILL),
NATIONAL_DEX_TO_SPECIES(AUDINO),
NATIONAL_DEX_TO_SPECIES(TIMBURR),
NATIONAL_DEX_TO_SPECIES(GURDURR),
NATIONAL_DEX_TO_SPECIES(CONKELDURR),
NATIONAL_DEX_TO_SPECIES(TYMPOLE),
NATIONAL_DEX_TO_SPECIES(PALPITOAD),
NATIONAL_DEX_TO_SPECIES(SEISMITOAD),
NATIONAL_DEX_TO_SPECIES(THROH),
NATIONAL_DEX_TO_SPECIES(SAWK),
NATIONAL_DEX_TO_SPECIES(SEWADDLE),
NATIONAL_DEX_TO_SPECIES(SWADLOON),
NATIONAL_DEX_TO_SPECIES(LEAVANNY),
NATIONAL_DEX_TO_SPECIES(VENIPEDE),
NATIONAL_DEX_TO_SPECIES(WHIRLIPEDE),
NATIONAL_DEX_TO_SPECIES(SCOLIPEDE),
NATIONAL_DEX_TO_SPECIES(COTTONEE),
NATIONAL_DEX_TO_SPECIES(WHIMSICOTT),
NATIONAL_DEX_TO_SPECIES(PETILIL),
NATIONAL_DEX_TO_SPECIES(LILLIGANT),
NATIONAL_DEX_TO_SPECIES(BASCULIN),
NATIONAL_DEX_TO_SPECIES(SANDILE),
NATIONAL_DEX_TO_SPECIES(KROKOROK),
NATIONAL_DEX_TO_SPECIES(KROOKODILE),
NATIONAL_DEX_TO_SPECIES(DARUMAKA),
NATIONAL_DEX_TO_SPECIES(DARMANITAN),
NATIONAL_DEX_TO_SPECIES(MARACTUS),
NATIONAL_DEX_TO_SPECIES(DWEBBLE),
NATIONAL_DEX_TO_SPECIES(CRUSTLE),
NATIONAL_DEX_TO_SPECIES(SCRAGGY),
NATIONAL_DEX_TO_SPECIES(SCRAFTY),
NATIONAL_DEX_TO_SPECIES(SIGILYPH),
NATIONAL_DEX_TO_SPECIES(YAMASK),
NATIONAL_DEX_TO_SPECIES(COFAGRIGUS),
NATIONAL_DEX_TO_SPECIES(TIRTOUGA),
NATIONAL_DEX_TO_SPECIES(CARRACOSTA),
NATIONAL_DEX_TO_SPECIES(ARCHEN),
NATIONAL_DEX_TO_SPECIES(ARCHEOPS),
NATIONAL_DEX_TO_SPECIES(TRUBBISH),
NATIONAL_DEX_TO_SPECIES(GARBODOR),
NATIONAL_DEX_TO_SPECIES(ZORUA),
NATIONAL_DEX_TO_SPECIES(ZOROARK),
NATIONAL_DEX_TO_SPECIES(MINCCINO),
NATIONAL_DEX_TO_SPECIES(CINCCINO),
NATIONAL_DEX_TO_SPECIES(GOTHITA),
NATIONAL_DEX_TO_SPECIES(GOTHORITA),
NATIONAL_DEX_TO_SPECIES(GOTHITELLE),
NATIONAL_DEX_TO_SPECIES(SOLOSIS),
NATIONAL_DEX_TO_SPECIES(DUOSION),
NATIONAL_DEX_TO_SPECIES(REUNICLUS),
NATIONAL_DEX_TO_SPECIES(DUCKLETT),
NATIONAL_DEX_TO_SPECIES(SWANNA),
NATIONAL_DEX_TO_SPECIES(VANILLITE),
NATIONAL_DEX_TO_SPECIES(VANILLISH),
NATIONAL_DEX_TO_SPECIES(VANILLUXE),
NATIONAL_DEX_TO_SPECIES(DEERLING),
NATIONAL_DEX_TO_SPECIES(SAWSBUCK),
NATIONAL_DEX_TO_SPECIES(EMOLGA),
NATIONAL_DEX_TO_SPECIES(KARRABLAST),
NATIONAL_DEX_TO_SPECIES(ESCAVALIER),
NATIONAL_DEX_TO_SPECIES(FOONGUS),
NATIONAL_DEX_TO_SPECIES(AMOONGUSS),
NATIONAL_DEX_TO_SPECIES(FRILLISH),
NATIONAL_DEX_TO_SPECIES(JELLICENT),
NATIONAL_DEX_TO_SPECIES(ALOMOMOLA),
NATIONAL_DEX_TO_SPECIES(JOLTIK),
NATIONAL_DEX_TO_SPECIES(GALVANTULA),
NATIONAL_DEX_TO_SPECIES(FERROSEED),
NATIONAL_DEX_TO_SPECIES(FERROTHORN),
NATIONAL_DEX_TO_SPECIES(KLINK),
NATIONAL_DEX_TO_SPECIES(KLANG),
NATIONAL_DEX_TO_SPECIES(KLINKLANG),
NATIONAL_DEX_TO_SPECIES(TYNAMO),
NATIONAL_DEX_TO_SPECIES(EELEKTRIK),
NATIONAL_DEX_TO_SPECIES(EELEKTROSS),
NATIONAL_DEX_TO_SPECIES(ELGYEM),
NATIONAL_DEX_TO_SPECIES(BEHEEYEM),
NATIONAL_DEX_TO_SPECIES(LITWICK),
NATIONAL_DEX_TO_SPECIES(LAMPENT),
NATIONAL_DEX_TO_SPECIES(CHANDELURE),
NATIONAL_DEX_TO_SPECIES(AXEW),
NATIONAL_DEX_TO_SPECIES(FRAXURE),
NATIONAL_DEX_TO_SPECIES(HAXORUS),
NATIONAL_DEX_TO_SPECIES(CUBCHOO),
NATIONAL_DEX_TO_SPECIES(BEARTIC),
NATIONAL_DEX_TO_SPECIES(CRYOGONAL),
NATIONAL_DEX_TO_SPECIES(SHELMET),
NATIONAL_DEX_TO_SPECIES(ACCELGOR),
NATIONAL_DEX_TO_SPECIES(STUNFISK),
NATIONAL_DEX_TO_SPECIES(MIENFOO),
NATIONAL_DEX_TO_SPECIES(MIENSHAO),
NATIONAL_DEX_TO_SPECIES(DRUDDIGON),
NATIONAL_DEX_TO_SPECIES(GOLETT),
NATIONAL_DEX_TO_SPECIES(GOLURK),
NATIONAL_DEX_TO_SPECIES(PAWNIARD),
NATIONAL_DEX_TO_SPECIES(BISHARP),
NATIONAL_DEX_TO_SPECIES(BOUFFALANT),
NATIONAL_DEX_TO_SPECIES(RUFFLET),
NATIONAL_DEX_TO_SPECIES(BRAVIARY),
NATIONAL_DEX_TO_SPECIES(VULLABY),
NATIONAL_DEX_TO_SPECIES(MANDIBUZZ),
NATIONAL_DEX_TO_SPECIES(HEATMOR),
NATIONAL_DEX_TO_SPECIES(DURANT),
NATIONAL_DEX_TO_SPECIES(DEINO),
NATIONAL_DEX_TO_SPECIES(ZWEILOUS),
NATIONAL_DEX_TO_SPECIES(HYDREIGON),
NATIONAL_DEX_TO_SPECIES(LARVESTA),
NATIONAL_DEX_TO_SPECIES(VOLCARONA),
NATIONAL_DEX_TO_SPECIES(COBALION),
NATIONAL_DEX_TO_SPECIES(TERRAKION),
NATIONAL_DEX_TO_SPECIES(VIRIZION),
NATIONAL_DEX_TO_SPECIES(TORNADUS),
NATIONAL_DEX_TO_SPECIES(THUNDURUS),
NATIONAL_DEX_TO_SPECIES(RESHIRAM),
NATIONAL_DEX_TO_SPECIES(ZEKROM),
NATIONAL_DEX_TO_SPECIES(LANDORUS),
NATIONAL_DEX_TO_SPECIES(KYUREM),
NATIONAL_DEX_TO_SPECIES(KELDEO),
NATIONAL_DEX_TO_SPECIES(MELOETTA),
NATIONAL_DEX_TO_SPECIES(GENESECT),
// Kalos
NATIONAL_DEX_TO_SPECIES(CHESPIN),
NATIONAL_DEX_TO_SPECIES(QUILLADIN),
NATIONAL_DEX_TO_SPECIES(CHESNAUGHT),
NATIONAL_DEX_TO_SPECIES(FENNEKIN),
NATIONAL_DEX_TO_SPECIES(BRAIXEN),
NATIONAL_DEX_TO_SPECIES(DELPHOX),
NATIONAL_DEX_TO_SPECIES(FROAKIE),
NATIONAL_DEX_TO_SPECIES(FROGADIER),
NATIONAL_DEX_TO_SPECIES(GRENINJA),
NATIONAL_DEX_TO_SPECIES(BUNNELBY),
NATIONAL_DEX_TO_SPECIES(DIGGERSBY),
NATIONAL_DEX_TO_SPECIES(FLETCHLING),
NATIONAL_DEX_TO_SPECIES(FLETCHINDER),
NATIONAL_DEX_TO_SPECIES(TALONFLAME),
NATIONAL_DEX_TO_SPECIES(SCATTERBUG),
NATIONAL_DEX_TO_SPECIES(SPEWPA),
NATIONAL_DEX_TO_SPECIES(VIVILLON),
NATIONAL_DEX_TO_SPECIES(LITLEO),
NATIONAL_DEX_TO_SPECIES(PYROAR),
NATIONAL_DEX_TO_SPECIES(FLABEBE),
NATIONAL_DEX_TO_SPECIES(FLOETTE),
NATIONAL_DEX_TO_SPECIES(FLORGES),
NATIONAL_DEX_TO_SPECIES(SKIDDO),
NATIONAL_DEX_TO_SPECIES(GOGOAT),
NATIONAL_DEX_TO_SPECIES(PANCHAM),
NATIONAL_DEX_TO_SPECIES(PANGORO),
NATIONAL_DEX_TO_SPECIES(FURFROU),
NATIONAL_DEX_TO_SPECIES(ESPURR),
NATIONAL_DEX_TO_SPECIES(MEOWSTIC),
NATIONAL_DEX_TO_SPECIES(HONEDGE),
NATIONAL_DEX_TO_SPECIES(DOUBLADE),
NATIONAL_DEX_TO_SPECIES(AEGISLASH),
NATIONAL_DEX_TO_SPECIES(SPRITZEE),
NATIONAL_DEX_TO_SPECIES(AROMATISSE),
NATIONAL_DEX_TO_SPECIES(SWIRLIX),
NATIONAL_DEX_TO_SPECIES(SLURPUFF),
NATIONAL_DEX_TO_SPECIES(INKAY),
NATIONAL_DEX_TO_SPECIES(MALAMAR),
NATIONAL_DEX_TO_SPECIES(BINACLE),
NATIONAL_DEX_TO_SPECIES(BARBARACLE),
NATIONAL_DEX_TO_SPECIES(SKRELP),
NATIONAL_DEX_TO_SPECIES(DRAGALGE),
NATIONAL_DEX_TO_SPECIES(CLAUNCHER),
NATIONAL_DEX_TO_SPECIES(CLAWITZER),
NATIONAL_DEX_TO_SPECIES(HELIOPTILE),
NATIONAL_DEX_TO_SPECIES(HELIOLISK),
NATIONAL_DEX_TO_SPECIES(TYRUNT),
NATIONAL_DEX_TO_SPECIES(TYRANTRUM),
NATIONAL_DEX_TO_SPECIES(AMAURA),
NATIONAL_DEX_TO_SPECIES(AURORUS),
NATIONAL_DEX_TO_SPECIES(SYLVEON),
NATIONAL_DEX_TO_SPECIES(HAWLUCHA),
NATIONAL_DEX_TO_SPECIES(DEDENNE),
NATIONAL_DEX_TO_SPECIES(CARBINK),
NATIONAL_DEX_TO_SPECIES(GOOMY),
NATIONAL_DEX_TO_SPECIES(SLIGGOO),
NATIONAL_DEX_TO_SPECIES(GOODRA),
NATIONAL_DEX_TO_SPECIES(KLEFKI),
NATIONAL_DEX_TO_SPECIES(PHANTUMP),
NATIONAL_DEX_TO_SPECIES(TREVENANT),
NATIONAL_DEX_TO_SPECIES(PUMPKABOO),
NATIONAL_DEX_TO_SPECIES(GOURGEIST),
NATIONAL_DEX_TO_SPECIES(BERGMITE),
NATIONAL_DEX_TO_SPECIES(AVALUGG),
NATIONAL_DEX_TO_SPECIES(NOIBAT),
NATIONAL_DEX_TO_SPECIES(NOIVERN),
NATIONAL_DEX_TO_SPECIES(XERNEAS),
NATIONAL_DEX_TO_SPECIES(YVELTAL),
NATIONAL_DEX_TO_SPECIES(ZYGARDE),
NATIONAL_DEX_TO_SPECIES(DIANCIE),
NATIONAL_DEX_TO_SPECIES(HOOPA),
NATIONAL_DEX_TO_SPECIES(VOLCANION),
// Alola
NATIONAL_DEX_TO_SPECIES(ROWLET),
NATIONAL_DEX_TO_SPECIES(DARTRIX),
NATIONAL_DEX_TO_SPECIES(DECIDUEYE),
NATIONAL_DEX_TO_SPECIES(LITTEN),
NATIONAL_DEX_TO_SPECIES(TORRACAT),
NATIONAL_DEX_TO_SPECIES(INCINEROAR),
NATIONAL_DEX_TO_SPECIES(POPPLIO),
NATIONAL_DEX_TO_SPECIES(BRIONNE),
NATIONAL_DEX_TO_SPECIES(PRIMARINA),
NATIONAL_DEX_TO_SPECIES(PIKIPEK),
NATIONAL_DEX_TO_SPECIES(TRUMBEAK),
NATIONAL_DEX_TO_SPECIES(TOUCANNON),
NATIONAL_DEX_TO_SPECIES(YUNGOOS),
NATIONAL_DEX_TO_SPECIES(GUMSHOOS),
NATIONAL_DEX_TO_SPECIES(GRUBBIN),
NATIONAL_DEX_TO_SPECIES(CHARJABUG),
NATIONAL_DEX_TO_SPECIES(VIKAVOLT),
NATIONAL_DEX_TO_SPECIES(CRABRAWLER),
NATIONAL_DEX_TO_SPECIES(CRABOMINABLE),
NATIONAL_DEX_TO_SPECIES(ORICORIO),
NATIONAL_DEX_TO_SPECIES(CUTIEFLY),
NATIONAL_DEX_TO_SPECIES(RIBOMBEE),
NATIONAL_DEX_TO_SPECIES(ROCKRUFF),
NATIONAL_DEX_TO_SPECIES(LYCANROC),
NATIONAL_DEX_TO_SPECIES(WISHIWASHI),
NATIONAL_DEX_TO_SPECIES(MAREANIE),
NATIONAL_DEX_TO_SPECIES(TOXAPEX),
NATIONAL_DEX_TO_SPECIES(MUDBRAY),
NATIONAL_DEX_TO_SPECIES(MUDSDALE),
NATIONAL_DEX_TO_SPECIES(DEWPIDER),
NATIONAL_DEX_TO_SPECIES(ARAQUANID),
NATIONAL_DEX_TO_SPECIES(FOMANTIS),
NATIONAL_DEX_TO_SPECIES(LURANTIS),
NATIONAL_DEX_TO_SPECIES(MORELULL),
NATIONAL_DEX_TO_SPECIES(SHIINOTIC),
NATIONAL_DEX_TO_SPECIES(SALANDIT),
NATIONAL_DEX_TO_SPECIES(SALAZZLE),
NATIONAL_DEX_TO_SPECIES(STUFFUL),
NATIONAL_DEX_TO_SPECIES(BEWEAR),
NATIONAL_DEX_TO_SPECIES(BOUNSWEET),
NATIONAL_DEX_TO_SPECIES(STEENEE),
NATIONAL_DEX_TO_SPECIES(TSAREENA),
NATIONAL_DEX_TO_SPECIES(COMFEY),
NATIONAL_DEX_TO_SPECIES(ORANGURU),
NATIONAL_DEX_TO_SPECIES(PASSIMIAN),
NATIONAL_DEX_TO_SPECIES(WIMPOD),
NATIONAL_DEX_TO_SPECIES(GOLISOPOD),
NATIONAL_DEX_TO_SPECIES(SANDYGAST),
NATIONAL_DEX_TO_SPECIES(PALOSSAND),
NATIONAL_DEX_TO_SPECIES(PYUKUMUKU),
NATIONAL_DEX_TO_SPECIES(TYPE_NULL),
NATIONAL_DEX_TO_SPECIES(SILVALLY),
NATIONAL_DEX_TO_SPECIES(MINIOR),
NATIONAL_DEX_TO_SPECIES(KOMALA),
NATIONAL_DEX_TO_SPECIES(TURTONATOR),
NATIONAL_DEX_TO_SPECIES(TOGEDEMARU),
NATIONAL_DEX_TO_SPECIES(MIMIKYU),
NATIONAL_DEX_TO_SPECIES(BRUXISH),
NATIONAL_DEX_TO_SPECIES(DRAMPA),
NATIONAL_DEX_TO_SPECIES(DHELMISE),
NATIONAL_DEX_TO_SPECIES(JANGMO_O),
NATIONAL_DEX_TO_SPECIES(HAKAMO_O),
NATIONAL_DEX_TO_SPECIES(KOMMO_O),
NATIONAL_DEX_TO_SPECIES(TAPU_KOKO),
NATIONAL_DEX_TO_SPECIES(TAPU_LELE),
NATIONAL_DEX_TO_SPECIES(TAPU_BULU),
NATIONAL_DEX_TO_SPECIES(TAPU_FINI),
NATIONAL_DEX_TO_SPECIES(COSMOG),
NATIONAL_DEX_TO_SPECIES(COSMOEM),
NATIONAL_DEX_TO_SPECIES(SOLGALEO),
NATIONAL_DEX_TO_SPECIES(LUNALA),
NATIONAL_DEX_TO_SPECIES(NIHILEGO),
NATIONAL_DEX_TO_SPECIES(BUZZWOLE),
NATIONAL_DEX_TO_SPECIES(PHEROMOSA),
NATIONAL_DEX_TO_SPECIES(XURKITREE),
NATIONAL_DEX_TO_SPECIES(CELESTEELA),
NATIONAL_DEX_TO_SPECIES(KARTANA),
NATIONAL_DEX_TO_SPECIES(GUZZLORD),
NATIONAL_DEX_TO_SPECIES(NECROZMA),
NATIONAL_DEX_TO_SPECIES(MAGEARNA),
NATIONAL_DEX_TO_SPECIES(MARSHADOW),
NATIONAL_DEX_TO_SPECIES(POIPOLE),
NATIONAL_DEX_TO_SPECIES(NAGANADEL),
NATIONAL_DEX_TO_SPECIES(STAKATAKA),
NATIONAL_DEX_TO_SPECIES(BLACEPHALON),
NATIONAL_DEX_TO_SPECIES(ZERAORA),
// Unknown
NATIONAL_DEX_TO_SPECIES(MELTAN),
NATIONAL_DEX_TO_SPECIES(MELMETAL),
// Galar
NATIONAL_DEX_TO_SPECIES(GROOKEY),
NATIONAL_DEX_TO_SPECIES(THWACKEY),
NATIONAL_DEX_TO_SPECIES(RILLABOOM),
NATIONAL_DEX_TO_SPECIES(SCORBUNNY),
NATIONAL_DEX_TO_SPECIES(RABOOT),
NATIONAL_DEX_TO_SPECIES(CINDERACE),
NATIONAL_DEX_TO_SPECIES(SOBBLE),
NATIONAL_DEX_TO_SPECIES(DRIZZILE),
NATIONAL_DEX_TO_SPECIES(INTELEON),
NATIONAL_DEX_TO_SPECIES(SKWOVET),
NATIONAL_DEX_TO_SPECIES(GREEDENT),
NATIONAL_DEX_TO_SPECIES(ROOKIDEE),
NATIONAL_DEX_TO_SPECIES(CORVISQUIRE),
NATIONAL_DEX_TO_SPECIES(CORVIKNIGHT),
NATIONAL_DEX_TO_SPECIES(BLIPBUG),
NATIONAL_DEX_TO_SPECIES(DOTTLER),
NATIONAL_DEX_TO_SPECIES(ORBEETLE),
NATIONAL_DEX_TO_SPECIES(NICKIT),
NATIONAL_DEX_TO_SPECIES(THIEVUL),
NATIONAL_DEX_TO_SPECIES(GOSSIFLEUR),
NATIONAL_DEX_TO_SPECIES(ELDEGOSS),
NATIONAL_DEX_TO_SPECIES(WOOLOO),
NATIONAL_DEX_TO_SPECIES(DUBWOOL),
NATIONAL_DEX_TO_SPECIES(CHEWTLE),
NATIONAL_DEX_TO_SPECIES(DREDNAW),
NATIONAL_DEX_TO_SPECIES(YAMPER),
NATIONAL_DEX_TO_SPECIES(BOLTUND),
NATIONAL_DEX_TO_SPECIES(ROLYCOLY),
NATIONAL_DEX_TO_SPECIES(CARKOL),
NATIONAL_DEX_TO_SPECIES(COALOSSAL),
NATIONAL_DEX_TO_SPECIES(APPLIN),
NATIONAL_DEX_TO_SPECIES(FLAPPLE),
NATIONAL_DEX_TO_SPECIES(APPLETUN),
NATIONAL_DEX_TO_SPECIES(SILICOBRA),
NATIONAL_DEX_TO_SPECIES(SANDACONDA),
NATIONAL_DEX_TO_SPECIES(CRAMORANT),
NATIONAL_DEX_TO_SPECIES(ARROKUDA),
NATIONAL_DEX_TO_SPECIES(BARRASKEWDA),
NATIONAL_DEX_TO_SPECIES(TOXEL),
NATIONAL_DEX_TO_SPECIES(TOXTRICITY),
NATIONAL_DEX_TO_SPECIES(SIZZLIPEDE),
NATIONAL_DEX_TO_SPECIES(CENTISKORCH),
NATIONAL_DEX_TO_SPECIES(CLOBBOPUS),
NATIONAL_DEX_TO_SPECIES(GRAPPLOCT),
NATIONAL_DEX_TO_SPECIES(SINISTEA),
NATIONAL_DEX_TO_SPECIES(POLTEAGEIST),
NATIONAL_DEX_TO_SPECIES(HATENNA),
NATIONAL_DEX_TO_SPECIES(HATTREM),
NATIONAL_DEX_TO_SPECIES(HATTERENE),
NATIONAL_DEX_TO_SPECIES(IMPIDIMP),
NATIONAL_DEX_TO_SPECIES(MORGREM),
NATIONAL_DEX_TO_SPECIES(GRIMMSNARL),
NATIONAL_DEX_TO_SPECIES(OBSTAGOON),
NATIONAL_DEX_TO_SPECIES(PERRSERKER),
NATIONAL_DEX_TO_SPECIES(CURSOLA),
NATIONAL_DEX_TO_SPECIES(SIRFETCHD),
NATIONAL_DEX_TO_SPECIES(MR_RIME),
NATIONAL_DEX_TO_SPECIES(RUNERIGUS),
NATIONAL_DEX_TO_SPECIES(MILCERY),
NATIONAL_DEX_TO_SPECIES(ALCREMIE),
NATIONAL_DEX_TO_SPECIES(FALINKS),
NATIONAL_DEX_TO_SPECIES(PINCURCHIN),
NATIONAL_DEX_TO_SPECIES(SNOM),
NATIONAL_DEX_TO_SPECIES(FROSMOTH),
NATIONAL_DEX_TO_SPECIES(STONJOURNER),
NATIONAL_DEX_TO_SPECIES(EISCUE),
NATIONAL_DEX_TO_SPECIES(INDEEDEE),
NATIONAL_DEX_TO_SPECIES(MORPEKO),
NATIONAL_DEX_TO_SPECIES(CUFANT),
NATIONAL_DEX_TO_SPECIES(COPPERAJAH),
NATIONAL_DEX_TO_SPECIES(DRACOZOLT),
NATIONAL_DEX_TO_SPECIES(ARCTOZOLT),
NATIONAL_DEX_TO_SPECIES(DRACOVISH),
NATIONAL_DEX_TO_SPECIES(ARCTOVISH),
NATIONAL_DEX_TO_SPECIES(DURALUDON),
NATIONAL_DEX_TO_SPECIES(DREEPY),
NATIONAL_DEX_TO_SPECIES(DRAKLOAK),
NATIONAL_DEX_TO_SPECIES(DRAGAPULT),
NATIONAL_DEX_TO_SPECIES(ZACIAN),
NATIONAL_DEX_TO_SPECIES(ZAMAZENTA),
NATIONAL_DEX_TO_SPECIES(ETERNATUS),
NATIONAL_DEX_TO_SPECIES(KUBFU),
NATIONAL_DEX_TO_SPECIES(URSHIFU),
NATIONAL_DEX_TO_SPECIES(ZARUDE),
NATIONAL_DEX_TO_SPECIES(REGIELEKI),
NATIONAL_DEX_TO_SPECIES(REGIDRAGO),
NATIONAL_DEX_TO_SPECIES(GLASTRIER),
NATIONAL_DEX_TO_SPECIES(SPECTRIER),
NATIONAL_DEX_TO_SPECIES(CALYREX),
NATIONAL_DEX_TO_SPECIES(WYRDEER),
NATIONAL_DEX_TO_SPECIES(KLEAVOR),
NATIONAL_DEX_TO_SPECIES(URSALUNA),
NATIONAL_DEX_TO_SPECIES(BASCULEGION),
NATIONAL_DEX_TO_SPECIES(SNEASLER),
NATIONAL_DEX_TO_SPECIES(OVERQWIL),
NATIONAL_DEX_TO_SPECIES(ENAMORUS),
};

View file

@ -1467,7 +1467,7 @@ static void DebugAction_Flags_SetPokedexFlags(u8 taskId)
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
GetSetPokedexCaughtFlag(i + 1, FLAG_SET_CAUGHT);
for (i = 0; i < NUM_SPECIES; i++)
GetSetPokedexFlag(i + 1, FLAG_SET_SEEN);
GetSetPokedexSeenFlag(i + 1, FLAG_SET_SEEN);
Debug_DestroyMenu_Full(taskId);
ScriptContext_Enable();
}
@ -2625,7 +2625,6 @@ static void DebugAction_Give_Pokemon_Move(u8 taskId)
}
static void DebugAction_Give_Pokemon_ComplexCreateMon(u8 taskId) //https://github.com/ghoulslash/pokeemerald/tree/custom-givemon
{
u16 nationalDexNum;
int sentToPc;
struct Pokemon mon;
u8 i;
@ -2719,13 +2718,12 @@ static void DebugAction_Give_Pokemon_ComplexCreateMon(u8 taskId) //https://githu
}
//Pokedex entry
nationalDexNum = SpeciesToNationalPokedexNum(species);
switch(sentToPc)
{
case MON_GIVEN_TO_PARTY:
case MON_GIVEN_TO_PC:
GetSetPokedexFlag(nationalDexNum, FLAG_SET_SEEN);
GetSetPokedexCaughtFlag(nationalDexNum, FLAG_SET_CAUGHT);
GetSetPokedexSeenFlag(species, FLAG_SET_SEEN);
GetSetPokedexCaughtFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_CAUGHT);
break;
case MON_CANT_GIVE:
break;

View file

@ -5515,7 +5515,7 @@ static u16 GetRandomUnlockedEasyChatPokemon(void)
for (i = 0; i < numWords; i++)
{
u16 dexNum = SpeciesToNationalPokedexNum(*species);
if (GetSetPokedexFlag(dexNum, FLAG_GET_SEEN))
if (GetPokedexFlagFirstSeen(dexNum) ? TRUE : FALSE)
{
if (index)
index--;
@ -5779,10 +5779,10 @@ static bool8 IsEasyChatIndexAndGroupUnlocked(u16 wordIndex, u8 groupId)
switch (groupId)
{
case EC_GROUP_POKEMON:
return GetSetPokedexFlag(SpeciesToNationalPokedexNum(wordIndex), FLAG_GET_SEEN);
return GetPokedexFlagFirstSeen(SpeciesToNationalPokedexNum(wordIndex) ? TRUE : FALSE);
case EC_GROUP_POKEMON_NATIONAL:
if (IsRestrictedWordSpecies(wordIndex))
GetSetPokedexFlag(SpeciesToNationalPokedexNum(wordIndex), FLAG_GET_SEEN);
GetPokedexFlagFirstSeen(SpeciesToNationalPokedexNum(wordIndex) ? TRUE : FALSE);
return TRUE;
case EC_GROUP_MOVE_1:
case EC_GROUP_MOVE_2:

View file

@ -372,7 +372,7 @@ static void AddHatchedMonToParty(u8 id)
GetSpeciesName(name, species);
SetMonData(mon, MON_DATA_NICKNAME, name);
GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_SEEN);
GetSetPokedexSeenFlag(species, FLAG_SET_SEEN);
GetSetPokedexCaughtFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_CAUGHT);
GetMonNickname2(mon, gStringVar1);

View file

@ -583,7 +583,7 @@ static void CreateShedinja(u16 preEvoSpecies, struct Pokemon *mon)
CalculateMonStats(&gPlayerParty[gPlayerPartyCount]);
CalculatePlayerPartyCount();
GetSetPokedexFlag(SpeciesToNationalPokedexNum(gEvolutionTable[preEvoSpecies][1].targetSpecies), FLAG_SET_SEEN);
GetSetPokedexSeenFlag(gEvolutionTable[preEvoSpecies][1].targetSpecies, FLAG_SET_SEEN);
GetSetPokedexCaughtFlag(SpeciesToNationalPokedexNum(gEvolutionTable[preEvoSpecies][1].targetSpecies), FLAG_SET_CAUGHT);
if (GetMonData(shedinja, MON_DATA_SPECIES) == SPECIES_SHEDINJA
@ -775,7 +775,7 @@ static void Task_EvolutionScene(u8 taskId)
SetMonData(mon, MON_DATA_SPECIES, (void *)(&gTasks[taskId].tPostEvoSpecies));
CalculateMonStats(mon);
EvolutionRenameMon(mon, gTasks[taskId].tPreEvoSpecies, gTasks[taskId].tPostEvoSpecies);
GetSetPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskId].tPostEvoSpecies), FLAG_SET_SEEN);
GetSetPokedexSeenFlag(gTasks[taskId].tPostEvoSpecies, FLAG_SET_SEEN);
GetSetPokedexCaughtFlag(SpeciesToNationalPokedexNum(gTasks[taskId].tPostEvoSpecies), FLAG_SET_CAUGHT);
IncrementGameStat(GAME_STAT_EVOLVED_POKEMON);
}
@ -1195,7 +1195,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
SetMonData(mon, MON_DATA_SPECIES, (&gTasks[taskId].tPostEvoSpecies));
CalculateMonStats(mon);
EvolutionRenameMon(mon, gTasks[taskId].tPreEvoSpecies, gTasks[taskId].tPostEvoSpecies);
GetSetPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskId].tPostEvoSpecies), FLAG_SET_SEEN);
GetSetPokedexSeenFlag(gTasks[taskId].tPostEvoSpecies, FLAG_SET_SEEN);
GetSetPokedexCaughtFlag(SpeciesToNationalPokedexNum(gTasks[taskId].tPostEvoSpecies), FLAG_SET_CAUGHT);
IncrementGameStat(GAME_STAT_EVOLVED_POKEMON);
}

View file

@ -338,9 +338,8 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx)
if (species != SPECIES_EGG)
{
u16 pokedexNum = SpeciesToNationalPokedexNum(species);
GetSetPokedexFlag(pokedexNum, FLAG_SET_SEEN);
GetSetPokedexCaughtFlag(pokedexNum, FLAG_SET_CAUGHT);
GetSetPokedexSeenFlag(species, FLAG_SET_SEEN);
GetSetPokedexCaughtFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_CAUGHT);
}
heldItem = GetMonData(&gPlayerParty[PARTY_SIZE - 1], MON_DATA_HELD_ITEM);

View file

@ -2210,7 +2210,7 @@ static void CreatePokedexList(u8 dexMode, u8 order)
{
temp_dexNum = HoennToNationalOrder(i + 1);
sPokedexView->pokedexList[i].dexNum = temp_dexNum;
sPokedexView->pokedexList[i].seen = GetSetPokedexFlag(temp_dexNum, FLAG_GET_SEEN);
sPokedexView->pokedexList[i].seen = GetPokedexFlagFirstSeen(temp_dexNum) ? TRUE : FALSE;
sPokedexView->pokedexList[i].owned = GetSetPokedexCaughtFlag(temp_dexNum, FLAG_GET_CAUGHT);
if (sPokedexView->pokedexList[i].seen)
sPokedexView->pokemonListCount = i + 1;
@ -2222,12 +2222,12 @@ static void CreatePokedexList(u8 dexMode, u8 order)
for (i = 0, r5 = 0, r10 = 0; i < temp_dexCount; i++)
{
temp_dexNum = i + 1;
if (GetSetPokedexFlag(temp_dexNum, FLAG_GET_SEEN))
if (GetPokedexFlagFirstSeen(temp_dexNum) ? TRUE : FALSE)
r10 = 1;
if (r10)
{
sPokedexView->pokedexList[r5].dexNum = temp_dexNum;
sPokedexView->pokedexList[r5].seen = GetSetPokedexFlag(temp_dexNum, FLAG_GET_SEEN);
sPokedexView->pokedexList[r5].seen = GetPokedexFlagFirstSeen(temp_dexNum) ? TRUE : FALSE;
sPokedexView->pokedexList[r5].owned = GetSetPokedexCaughtFlag(temp_dexNum, FLAG_GET_CAUGHT);
if (sPokedexView->pokedexList[r5].seen)
sPokedexView->pokemonListCount = r5 + 1;
@ -2241,7 +2241,7 @@ static void CreatePokedexList(u8 dexMode, u8 order)
{
temp_dexNum = gPokedexOrder_Alphabetical[i];
if (temp_dexNum <= NATIONAL_DEX_COUNT && (!temp_isHoennDex || NationalToHoennOrder(temp_dexNum) != 0) && GetSetPokedexFlag(temp_dexNum, FLAG_GET_SEEN))
if (temp_dexNum <= NATIONAL_DEX_COUNT && (!temp_isHoennDex || NationalToHoennOrder(temp_dexNum) != 0) && GetPokedexFlagFirstSeen(temp_dexNum) ? TRUE : FALSE)
{
sPokedexView->pokedexList[sPokedexView->pokemonListCount].dexNum = temp_dexNum;
sPokedexView->pokedexList[sPokedexView->pokemonListCount].seen = TRUE;
@ -4305,11 +4305,20 @@ u16 GetPokedexFlagFirstSeen(u16 nationalDexNo)
{
for (formId = 0; formTable[formId] != FORM_SPECIES_END; formId++)
{
if (nationalDexNo == 25)
MgbaPrintf(MGBA_LOG_INFO, "species1:%d, found:%d", formTable[formId], GetSetPokedexSeenFlag(formTable[formId], FLAG_GET_SEEN));
if (GetSetPokedexSeenFlag(formTable[formId], FLAG_GET_SEEN))
return formTable[formId];
}
}
return SPECIES_NONE;
}
else
{
if (nationalDexNo == 25)
MgbaPrintf(MGBA_LOG_INFO, "species2:%d, found:%d", gBaseFormSpeciesIdTable[nationalDexNo], GetSetPokedexSeenFlag(gBaseFormSpeciesIdTable[nationalDexNo], FLAG_GET_SEEN));
return GetSetPokedexSeenFlag(gBaseFormSpeciesIdTable[nationalDexNo], FLAG_GET_SEEN);
}
}
s8 GetSetPokedexFlag(u16 nationalDexNo, u8 caseID)
@ -4351,7 +4360,7 @@ u16 GetNationalPokedexCount(u8 caseID)
switch (caseID)
{
case FLAG_GET_SEEN:
if (GetSetPokedexFlag(i + 1, FLAG_GET_SEEN))
if (GetPokedexFlagFirstSeen(i + 1) ? TRUE : FALSE)
count++;
break;
case FLAG_GET_CAUGHT:
@ -4373,7 +4382,7 @@ u16 GetHoennPokedexCount(u8 caseID)
switch (caseID)
{
case FLAG_GET_SEEN:
if (GetSetPokedexFlag(HoennToNationalOrder(i + 1), FLAG_GET_SEEN))
if (GetPokedexFlagFirstSeen(HoennToNationalOrder(i + 1)) ? TRUE : FALSE)
count++;
break;
case FLAG_GET_CAUGHT:
@ -4395,7 +4404,7 @@ u16 GetKantoPokedexCount(u8 caseID)
switch (caseID)
{
case FLAG_GET_SEEN:
if (GetSetPokedexFlag(i + 1, FLAG_GET_SEEN))
if (GetPokedexFlagFirstSeen(i + 1) ? TRUE : FALSE)
count++;
break;
case FLAG_GET_CAUGHT:

View file

@ -1908,6 +1908,7 @@ const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] =
#include "data/pokemon/form_species_table_pointers.h"
#include "data/pokemon/form_change_tables.h"
#include "data/pokemon/form_change_table_pointers.h"
#include "data/pokemon/base_form_species_table.h"
// SPECIES_NONE are ignored in the following two tables, so decrement before accessing these arrays to get the right result
#if P_ENABLE_DEBUG == TRUE
@ -8184,15 +8185,32 @@ u16 PlayerGenderToFrontTrainerPicId(u8 playerGender)
return FacilityClassToPicIndex(FACILITY_CLASS_BRENDAN);
}
void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality)
void HandleSetPokedexFlag(u16 species, u8 caseId, u32 personality)
{
u8 getFlagCaseId = (caseId == FLAG_SET_SEEN) ? FLAG_GET_SEEN : FLAG_GET_CAUGHT;
if (!GetSetPokedexFlag(nationalNum, getFlagCaseId)) // don't set if it's already set
bool8 updateUnownSpinda = FALSE;
if (caseId == FLAG_SET_SEEN)
{
GetSetPokedexFlag(nationalNum, caseId);
if (NationalPokedexNumToSpecies(nationalNum) == SPECIES_UNOWN)
if (!GetSetPokedexSeenFlag(species, FLAG_GET_SEEN)) // don't set if it's already set
{
GetSetPokedexSeenFlag(species, caseId);
updateUnownSpinda = TRUE;
}
}
else if (caseId == FLAG_SET_CAUGHT)
{
u16 nationalNum = SpeciesToNationalPokedexNum(species);
if (!GetSetPokedexCaughtFlag(nationalNum, FLAG_GET_CAUGHT)) // don't set if it's already set
{
GetSetPokedexCaughtFlag(nationalNum, caseId);
updateUnownSpinda = TRUE;
}
}
if (updateUnownSpinda)
{
if (species == SPECIES_UNOWN)
gSaveBlock2Ptr->pokedex.unownPersonality = personality;
if (NationalPokedexNumToSpecies(nationalNum) == SPECIES_SPINDA)
if (species == SPECIES_SPINDA)
gSaveBlock2Ptr->pokedex.spindaPersonality = personality;
}
}

View file

@ -60,7 +60,6 @@ void HealPlayerParty(void)
u8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unused1, u32 unused2, u8 unused3)
{
u16 nationalDexNum;
int sentToPc;
u8 heldItem[2];
struct Pokemon mon;
@ -80,15 +79,14 @@ u8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unused1, u32 unused2, u8 u
}
sentToPc = GiveMonToPlayer(&mon);
nationalDexNum = SpeciesToNationalPokedexNum(species);
// Don't set Pokédex flag for MON_CANT_GIVE
switch(sentToPc)
{
case MON_GIVEN_TO_PARTY:
case MON_GIVEN_TO_PC:
GetSetPokedexFlag(nationalDexNum, FLAG_SET_SEEN);
GetSetPokedexCaughtFlag(nationalDexNum, FLAG_SET_CAUGHT);
GetSetPokedexSeenFlag(species, FLAG_SET_SEEN);
GetSetPokedexCaughtFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_CAUGHT);
break;
}
return sentToPc;

View file

@ -3023,8 +3023,7 @@ static void UpdatePokedexForReceivedMon(u8 partyIdx)
{
u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL);
u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
species = SpeciesToNationalPokedexNum(species);
GetSetPokedexFlag(species, FLAG_SET_SEEN);
GetSetPokedexSeenFlag(species, FLAG_SET_SEEN);
HandleSetPokedexFlag(species, FLAG_SET_CAUGHT, personality);
}
}

View file

@ -3068,7 +3068,7 @@ static u16 GetRandomDifferentSpeciesSeenByPlayer(u16 excludedSpecies)
u16 species = Random() % (NUM_SPECIES - 1) + 1;
u16 initSpecies = species;
while (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_SEEN) != TRUE || species == excludedSpecies)
while (GetPokedexFlagFirstSeen(SpeciesToNationalPokedexNum(species)) == FALSE || species == excludedSpecies)
{
if (species == SPECIES_NONE + 1)
species = NUM_SPECIES - 1;
@ -3762,7 +3762,7 @@ static void DeactivateShow(u8 showIdx)
static void DeactivateShowIfNotSeenSpecies(u16 species, u8 showIdx)
{
if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_SEEN))
if (!GetPokedexFlagFirstSeen(SpeciesToNationalPokedexNum(species)) ? TRUE : FALSE)
gSaveBlock1Ptr->tvShows[showIdx].common.active = FALSE;
}