Merge remote-tracking branch 'RHH/pokemon_expansion' into PE-Ultima-Forms

# Conflicts:
#	src/pokemon_icon.c
This commit is contained in:
Eduardo Quezada D'Ottone 2020-11-10 19:37:02 -03:00
commit caf6253ba3
18 changed files with 375 additions and 282 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

View File

@ -93,8 +93,11 @@ extern const union AnimCmd *const gUnknown_082FF70C[];
extern const struct MonCoords gMonFrontPicCoords[]; extern const struct MonCoords gMonFrontPicCoords[];
extern const struct MonCoords gMonBackPicCoords[]; extern const struct MonCoords gMonBackPicCoords[];
extern const struct CompressedSpriteSheet gMonBackPicTable[]; extern const struct CompressedSpriteSheet gMonBackPicTable[];
extern const struct CompressedSpriteSheet gMonBackPicTableFemale[];
extern const struct CompressedSpritePalette gMonPaletteTable[]; extern const struct CompressedSpritePalette gMonPaletteTable[];
extern const struct CompressedSpritePalette gMonPaletteTableFemale[];
extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
extern const struct CompressedSpritePalette gMonShinyPaletteTableFemale[];
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
extern const struct MonCoords gTrainerFrontPicCoords[]; extern const struct MonCoords gTrainerFrontPicCoords[];
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
@ -108,6 +111,8 @@ extern const u8 gEnemyMonElevation[NUM_SPECIES];
extern const union AnimCmd *const *const gMonFrontAnimsPtrTable[]; extern const union AnimCmd *const *const gMonFrontAnimsPtrTable[];
extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const struct CompressedSpriteSheet gMonFrontPicTableFemale[];
extern const bool8 SpeciesHasGenderDifference[NUM_SPECIES];
extern const struct Trainer gTrainers[]; extern const struct Trainer gTrainers[];
extern const u8 gTrainerClassNames[][13]; extern const u8 gTrainerClassNames[][13];

View File

@ -170,6 +170,7 @@ extern const u32 gMonFrontPic_Gyarados[];
extern const u32 gMonFrontPic_Lapras[]; extern const u32 gMonFrontPic_Lapras[];
extern const u32 gMonFrontPic_Ditto[]; extern const u32 gMonFrontPic_Ditto[];
extern const u32 gMonFrontPic_Eevee[]; extern const u32 gMonFrontPic_Eevee[];
extern const u32 gMonFrontPic_EeveeF[];
extern const u32 gMonFrontPic_Vaporeon[]; extern const u32 gMonFrontPic_Vaporeon[];
extern const u32 gMonFrontPic_Jolteon[]; extern const u32 gMonFrontPic_Jolteon[];
extern const u32 gMonFrontPic_Flareon[]; extern const u32 gMonFrontPic_Flareon[];
@ -1175,6 +1176,7 @@ extern const u32 gMonBackPic_Gyarados[];
extern const u32 gMonBackPic_Lapras[]; extern const u32 gMonBackPic_Lapras[];
extern const u32 gMonBackPic_Ditto[]; extern const u32 gMonBackPic_Ditto[];
extern const u32 gMonBackPic_Eevee[]; extern const u32 gMonBackPic_Eevee[];
extern const u32 gMonBackPic_EeveeF[];
extern const u32 gMonBackPic_Vaporeon[]; extern const u32 gMonBackPic_Vaporeon[];
extern const u32 gMonBackPic_Jolteon[]; extern const u32 gMonBackPic_Jolteon[];
extern const u32 gMonBackPic_Flareon[]; extern const u32 gMonBackPic_Flareon[];

View File

@ -2,8 +2,9 @@
#define GUARD_POKEMON_ICON_H #define GUARD_POKEMON_ICON_H
extern const u8 gMonIconPaletteIndices[]; extern const u8 gMonIconPaletteIndices[];
extern const u8 gMonIconPaletteIndicesFemale[];
const u8 *GetMonIconTiles(u16 species, bool32); const u8 *GetMonIconTiles(u16 species, bool32, u32 personality);
void sub_80D304C(u16 offset); void sub_80D304C(u16 offset);
u8 GetValidMonIconPalIndex(u16 species); u8 GetValidMonIconPalIndex(u16 species);
const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);

View File

@ -300,6 +300,11 @@ const union AnimCmd *const gUnknown_082FF70C[] =
#define TRAINER_BACK_PAL(trainerPic, pal) [TRAINER_BACK_PIC_##trainerPic] = {pal, TRAINER_BACK_PIC_##trainerPic} #define TRAINER_BACK_PAL(trainerPic, pal) [TRAINER_BACK_PIC_##trainerPic] = {pal, TRAINER_BACK_PIC_##trainerPic}
const bool8 SpeciesHasGenderDifference[NUM_SPECIES] =
{
[SPECIES_EEVEE] = TRUE,
};
#include "data/pokemon_graphics/front_pic_coordinates.h" #include "data/pokemon_graphics/front_pic_coordinates.h"
#include "data/pokemon_graphics/back_pic_coordinates.h" #include "data/pokemon_graphics/back_pic_coordinates.h"

View File

@ -133,6 +133,7 @@ const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/anim_f
const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/anim_front.4bpp.lz"); const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/anim_front.4bpp.lz");
const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/anim_front.4bpp.lz"); const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/anim_front.4bpp.lz");
const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/anim_front.4bpp.lz"); const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/anim_front.4bpp.lz");
const u32 gMonFrontPic_EeveeF[] = INCBIN_U32("graphics/pokemon/eevee/anim_frontf.4bpp.lz");
const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/anim_front.4bpp.lz");
const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/anim_front.4bpp.lz");
const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/anim_front.4bpp.lz");
@ -1141,6 +1142,7 @@ const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/back.4b
const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/back.4bpp.lz"); const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/back.4bpp.lz");
const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/back.4bpp.lz"); const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/back.4bpp.lz");
const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/back.4bpp.lz"); const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/back.4bpp.lz");
const u32 gMonBackPic_EeveeF[] = INCBIN_U32("graphics/pokemon/eevee/backf.4bpp.lz");
const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/back.4bpp.lz"); const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/back.4bpp.lz");
const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/back.4bpp.lz"); const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/back.4bpp.lz");
const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/back.4bpp.lz"); const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/back.4bpp.lz");

View File

@ -18831,7 +18831,7 @@ const struct BaseStats gBaseStats[] =
.catchRate = 220, .catchRate = 220,
.expYield = 74, .expYield = 74,
.evYield_SpAttack = 1, .evYield_SpAttack = 1,
.genderRatio = MON_MALE, .genderRatio = PERCENT_FEMALE(87.5),
.eggCycles = 20, .eggCycles = 20,
.friendship = 70, .friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW, .growthRate = GROWTH_MEDIUM_SLOW,
@ -18860,7 +18860,7 @@ const struct BaseStats gBaseStats[] =
.catchRate = 65, .catchRate = 65,
.expYield = 177, .expYield = 177,
.evYield_SpAttack = 2, .evYield_SpAttack = 2,
.genderRatio = MON_MALE, .genderRatio = PERCENT_FEMALE(87.5),
.eggCycles = 20, .eggCycles = 20,
.friendship = 70, .friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW, .growthRate = GROWTH_MEDIUM_SLOW,

View File

@ -1126,3 +1126,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] =
SPECIES_SPRITE(EGG, gMonFrontPic_Egg), SPECIES_SPRITE(EGG, gMonFrontPic_Egg),
}; };
const struct CompressedSpriteSheet gMonBackPicTableFemale[] =
{
SPECIES_SPRITE(EEVEE, gMonBackPic_EeveeF),
};

View File

@ -1126,3 +1126,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] =
SPECIES_SPRITE(EGG, gMonFrontPic_Egg), SPECIES_SPRITE(EGG, gMonFrontPic_Egg),
}; };
const struct CompressedSpriteSheet gMonFrontPicTableFemale[] =
{
SPECIES_SPRITE(EEVEE, gMonFrontPic_EeveeF),
};

View File

@ -1126,3 +1126,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] =
SPECIES_PAL(EGG, gMonPalette_Egg), SPECIES_PAL(EGG, gMonPalette_Egg),
}; };
const struct CompressedSpritePalette gMonPaletteTableFemale[] =
{
SPECIES_PAL(EEVEE, gMonPalette_Eevee),
};

View File

@ -1126,3 +1126,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] =
SPECIES_SHINY_PAL(EGG, gMonPalette_Egg), SPECIES_SHINY_PAL(EGG, gMonPalette_Egg),
}; };
const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] =
{
SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee),
};

View File

@ -95,6 +95,13 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32
} }
else if (species > NUM_SPECIES) // is species unknown? draw the ? icon else if (species > NUM_SPECIES) // is species unknown? draw the ? icon
LZ77UnCompWram(gMonFrontPicTable[0].data, dest); LZ77UnCompWram(gMonFrontPicTable[0].data, dest);
else if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE)
{
if (isFrontPic)
LZ77UnCompWram(gMonFrontPicTableFemale[species].data, dest);
else
LZ77UnCompWram(gMonBackPicTableFemale[species].data, dest);
}
else else
LZ77UnCompWram(src->data, dest); LZ77UnCompWram(src->data, dest);
@ -311,6 +318,13 @@ void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s
} }
else if (species > NUM_SPECIES) // is species unknown? draw the ? icon else if (species > NUM_SPECIES) // is species unknown? draw the ? icon
LZ77UnCompWram(gMonFrontPicTable[0].data, dest); LZ77UnCompWram(gMonFrontPicTable[0].data, dest);
else if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE)
{
if (isFrontPic)
LZ77UnCompWram(gMonFrontPicTableFemale[species].data, dest);
else
LZ77UnCompWram(gMonBackPicTableFemale[species].data, dest);
}
else else
LZ77UnCompWram(src->data, dest); LZ77UnCompWram(src->data, dest);
@ -363,6 +377,13 @@ void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src
} }
else if (species > NUM_SPECIES) // is species unknown? draw the ? icon else if (species > NUM_SPECIES) // is species unknown? draw the ? icon
LZ77UnCompWram(gMonFrontPicTable[0].data, dest); LZ77UnCompWram(gMonFrontPicTable[0].data, dest);
else if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE)
{
if (isFrontPic)
LZ77UnCompWram(gMonFrontPicTableFemale[species].data, dest);
else
LZ77UnCompWram(gMonBackPicTableFemale[species].data, dest);
}
else else
LZ77UnCompWram(src->data, dest); LZ77UnCompWram(src->data, dest);

View File

@ -4600,7 +4600,7 @@ static u32 GetPokedexMonPersonality(u16 species)
} }
else else
{ {
return 0; return 0xFF; //Changed from 0 to make it so the Pokédex shows the default mon pics instead of the female versions.
} }
} }

View File

@ -7033,9 +7033,19 @@ const u32 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 p
shinyValue = HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality); shinyValue = HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality);
if (shinyValue < SHINY_ODDS) if (shinyValue < SHINY_ODDS)
return gMonShinyPaletteTable[species].data; {
if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE)
return gMonShinyPaletteTableFemale[species].data;
else
return gMonShinyPaletteTable[species].data;
}
else else
return gMonPaletteTable[species].data; {
if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE)
return gMonPaletteTableFemale[species].data;
else
return gMonPaletteTable[species].data;
}
} }
const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *mon) const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *mon)
@ -7052,9 +7062,19 @@ const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u
shinyValue = HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality); shinyValue = HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality);
if (shinyValue < SHINY_ODDS) if (shinyValue < SHINY_ODDS)
return &gMonShinyPaletteTable[species]; {
if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE)
return &gMonShinyPaletteTableFemale[species];
else
return &gMonShinyPaletteTable[species];
}
else else
return &gMonPaletteTable[species]; {
if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE)
return &gMonPaletteTableFemale[species];
else
return &gMonPaletteTable[species];
}
} }
bool32 IsHMMove2(u16 move) bool32 IsHMMove2(u16 move)

View File

@ -4,6 +4,7 @@
#include "palette.h" #include "palette.h"
#include "pokemon_icon.h" #include "pokemon_icon.h"
#include "sprite.h" #include "sprite.h"
#include "data.h"
#define POKE_ICON_BASE_PAL_TAG 56000 #define POKE_ICON_BASE_PAL_TAG 56000
@ -518,162 +519,162 @@ const u8 *const gMonIconTable[] =
[SPECIES_DARKRAI] = gMonIcon_Darkrai, [SPECIES_DARKRAI] = gMonIcon_Darkrai,
[SPECIES_SHAYMIN] = gMonIcon_Shaymin, [SPECIES_SHAYMIN] = gMonIcon_Shaymin,
[SPECIES_ARCEUS] = gMonIcon_Arceus, [SPECIES_ARCEUS] = gMonIcon_Arceus,
[SPECIES_VICTINI] = gMonIcon_Victini, [SPECIES_VICTINI] = gMonIcon_Victini,
[SPECIES_SNIVY] = gMonIcon_Snivy, [SPECIES_SNIVY] = gMonIcon_Snivy,
[SPECIES_SERVINE] = gMonIcon_Servine, [SPECIES_SERVINE] = gMonIcon_Servine,
[SPECIES_SERPERIOR] = gMonIcon_Serperior, [SPECIES_SERPERIOR] = gMonIcon_Serperior,
[SPECIES_TEPIG] = gMonIcon_Tepig, [SPECIES_TEPIG] = gMonIcon_Tepig,
[SPECIES_PIGNITE] = gMonIcon_Pignite, [SPECIES_PIGNITE] = gMonIcon_Pignite,
[SPECIES_EMBOAR] = gMonIcon_Emboar, [SPECIES_EMBOAR] = gMonIcon_Emboar,
[SPECIES_OSHAWOTT] = gMonIcon_Oshawott, [SPECIES_OSHAWOTT] = gMonIcon_Oshawott,
[SPECIES_DEWOTT] = gMonIcon_Dewott, [SPECIES_DEWOTT] = gMonIcon_Dewott,
[SPECIES_SAMUROTT] = gMonIcon_Samurott, [SPECIES_SAMUROTT] = gMonIcon_Samurott,
[SPECIES_PATRAT] = gMonIcon_Patrat, [SPECIES_PATRAT] = gMonIcon_Patrat,
[SPECIES_WATCHOG] = gMonIcon_Watchog, [SPECIES_WATCHOG] = gMonIcon_Watchog,
[SPECIES_LILLIPUP] = gMonIcon_Lillipup, [SPECIES_LILLIPUP] = gMonIcon_Lillipup,
[SPECIES_HERDIER] = gMonIcon_Herdier, [SPECIES_HERDIER] = gMonIcon_Herdier,
[SPECIES_STOUTLAND] = gMonIcon_Stoutland, [SPECIES_STOUTLAND] = gMonIcon_Stoutland,
[SPECIES_PURRLOIN] = gMonIcon_Purrloin, [SPECIES_PURRLOIN] = gMonIcon_Purrloin,
[SPECIES_LIEPARD] = gMonIcon_Liepard, [SPECIES_LIEPARD] = gMonIcon_Liepard,
[SPECIES_PANSAGE] = gMonIcon_Pansage, [SPECIES_PANSAGE] = gMonIcon_Pansage,
[SPECIES_SIMISAGE] = gMonIcon_Simisage, [SPECIES_SIMISAGE] = gMonIcon_Simisage,
[SPECIES_PANSEAR] = gMonIcon_Pansear, [SPECIES_PANSEAR] = gMonIcon_Pansear,
[SPECIES_SIMISEAR] = gMonIcon_Simisear, [SPECIES_SIMISEAR] = gMonIcon_Simisear,
[SPECIES_PANPOUR] = gMonIcon_Panpour, [SPECIES_PANPOUR] = gMonIcon_Panpour,
[SPECIES_SIMIPOUR] = gMonIcon_Simipour, [SPECIES_SIMIPOUR] = gMonIcon_Simipour,
[SPECIES_MUNNA] = gMonIcon_Munna, [SPECIES_MUNNA] = gMonIcon_Munna,
[SPECIES_MUSHARNA] = gMonIcon_Musharna, [SPECIES_MUSHARNA] = gMonIcon_Musharna,
[SPECIES_PIDOVE] = gMonIcon_Pidove, [SPECIES_PIDOVE] = gMonIcon_Pidove,
[SPECIES_TRANQUILL] = gMonIcon_Tranquill, [SPECIES_TRANQUILL] = gMonIcon_Tranquill,
[SPECIES_UNFEZANT] = gMonIcon_Unfezant, [SPECIES_UNFEZANT] = gMonIcon_Unfezant,
[SPECIES_BLITZLE] = gMonIcon_Blitzle, [SPECIES_BLITZLE] = gMonIcon_Blitzle,
[SPECIES_ZEBSTRIKA] = gMonIcon_Zebstrika, [SPECIES_ZEBSTRIKA] = gMonIcon_Zebstrika,
[SPECIES_ROGGENROLA] = gMonIcon_Roggenrola, [SPECIES_ROGGENROLA] = gMonIcon_Roggenrola,
[SPECIES_BOLDORE] = gMonIcon_Boldore, [SPECIES_BOLDORE] = gMonIcon_Boldore,
[SPECIES_GIGALITH] = gMonIcon_Gigalith, [SPECIES_GIGALITH] = gMonIcon_Gigalith,
[SPECIES_WOOBAT] = gMonIcon_Woobat, [SPECIES_WOOBAT] = gMonIcon_Woobat,
[SPECIES_SWOOBAT] = gMonIcon_Swoobat, [SPECIES_SWOOBAT] = gMonIcon_Swoobat,
[SPECIES_DRILBUR] = gMonIcon_Drilbur, [SPECIES_DRILBUR] = gMonIcon_Drilbur,
[SPECIES_EXCADRILL] = gMonIcon_Excadrill, [SPECIES_EXCADRILL] = gMonIcon_Excadrill,
[SPECIES_AUDINO] = gMonIcon_Audino, [SPECIES_AUDINO] = gMonIcon_Audino,
[SPECIES_TIMBURR] = gMonIcon_Timburr, [SPECIES_TIMBURR] = gMonIcon_Timburr,
[SPECIES_GURDURR] = gMonIcon_Gurdurr, [SPECIES_GURDURR] = gMonIcon_Gurdurr,
[SPECIES_CONKELDURR] = gMonIcon_Conkeldurr, [SPECIES_CONKELDURR] = gMonIcon_Conkeldurr,
[SPECIES_TYMPOLE] = gMonIcon_Tympole, [SPECIES_TYMPOLE] = gMonIcon_Tympole,
[SPECIES_PALPITOAD] = gMonIcon_Palpitoad, [SPECIES_PALPITOAD] = gMonIcon_Palpitoad,
[SPECIES_SEISMITOAD] = gMonIcon_Seismitoad, [SPECIES_SEISMITOAD] = gMonIcon_Seismitoad,
[SPECIES_THROH] = gMonIcon_Throh, [SPECIES_THROH] = gMonIcon_Throh,
[SPECIES_SAWK] = gMonIcon_Sawk, [SPECIES_SAWK] = gMonIcon_Sawk,
[SPECIES_SEWADDLE] = gMonIcon_Sewaddle, [SPECIES_SEWADDLE] = gMonIcon_Sewaddle,
[SPECIES_SWADLOON] = gMonIcon_Swadloon, [SPECIES_SWADLOON] = gMonIcon_Swadloon,
[SPECIES_LEAVANNY] = gMonIcon_Leavanny, [SPECIES_LEAVANNY] = gMonIcon_Leavanny,
[SPECIES_VENIPEDE] = gMonIcon_Venipede, [SPECIES_VENIPEDE] = gMonIcon_Venipede,
[SPECIES_WHIRLIPEDE] = gMonIcon_Whirlipede, [SPECIES_WHIRLIPEDE] = gMonIcon_Whirlipede,
[SPECIES_SCOLIPEDE] = gMonIcon_Scolipede, [SPECIES_SCOLIPEDE] = gMonIcon_Scolipede,
[SPECIES_COTTONEE] = gMonIcon_Cottonee, [SPECIES_COTTONEE] = gMonIcon_Cottonee,
[SPECIES_WHIMSICOTT] = gMonIcon_Whimsicott, [SPECIES_WHIMSICOTT] = gMonIcon_Whimsicott,
[SPECIES_PETILIL] = gMonIcon_Petilil, [SPECIES_PETILIL] = gMonIcon_Petilil,
[SPECIES_LILLIGANT] = gMonIcon_Lilligant, [SPECIES_LILLIGANT] = gMonIcon_Lilligant,
[SPECIES_BASCULIN] = gMonIcon_Basculin, [SPECIES_BASCULIN] = gMonIcon_Basculin,
[SPECIES_SANDILE] = gMonIcon_Sandile, [SPECIES_SANDILE] = gMonIcon_Sandile,
[SPECIES_KROKOROK] = gMonIcon_Krokorok, [SPECIES_KROKOROK] = gMonIcon_Krokorok,
[SPECIES_KROOKODILE] = gMonIcon_Krookodile, [SPECIES_KROOKODILE] = gMonIcon_Krookodile,
[SPECIES_DARUMAKA] = gMonIcon_Darumaka, [SPECIES_DARUMAKA] = gMonIcon_Darumaka,
[SPECIES_DARMANITAN] = gMonIcon_Darmanitan, [SPECIES_DARMANITAN] = gMonIcon_Darmanitan,
[SPECIES_MARACTUS] = gMonIcon_Maractus, [SPECIES_MARACTUS] = gMonIcon_Maractus,
[SPECIES_DWEBBLE] = gMonIcon_Dwebble, [SPECIES_DWEBBLE] = gMonIcon_Dwebble,
[SPECIES_CRUSTLE] = gMonIcon_Crustle, [SPECIES_CRUSTLE] = gMonIcon_Crustle,
[SPECIES_SCRAGGY] = gMonIcon_Scraggy, [SPECIES_SCRAGGY] = gMonIcon_Scraggy,
[SPECIES_SCRAFTY] = gMonIcon_Scrafty, [SPECIES_SCRAFTY] = gMonIcon_Scrafty,
[SPECIES_SIGILYPH] = gMonIcon_Sigilyph, [SPECIES_SIGILYPH] = gMonIcon_Sigilyph,
[SPECIES_YAMASK] = gMonIcon_Yamask, [SPECIES_YAMASK] = gMonIcon_Yamask,
[SPECIES_COFAGRIGUS] = gMonIcon_Cofagrigus, [SPECIES_COFAGRIGUS] = gMonIcon_Cofagrigus,
[SPECIES_TIRTOUGA] = gMonIcon_Tirtouga, [SPECIES_TIRTOUGA] = gMonIcon_Tirtouga,
[SPECIES_CARRACOSTA] = gMonIcon_Carracosta, [SPECIES_CARRACOSTA] = gMonIcon_Carracosta,
[SPECIES_ARCHEN] = gMonIcon_Archen, [SPECIES_ARCHEN] = gMonIcon_Archen,
[SPECIES_ARCHEOPS] = gMonIcon_Archeops, [SPECIES_ARCHEOPS] = gMonIcon_Archeops,
[SPECIES_TRUBBISH] = gMonIcon_Trubbish, [SPECIES_TRUBBISH] = gMonIcon_Trubbish,
[SPECIES_GARBODOR] = gMonIcon_Garbodor, [SPECIES_GARBODOR] = gMonIcon_Garbodor,
[SPECIES_ZORUA] = gMonIcon_Zorua, [SPECIES_ZORUA] = gMonIcon_Zorua,
[SPECIES_ZOROARK] = gMonIcon_Zoroark, [SPECIES_ZOROARK] = gMonIcon_Zoroark,
[SPECIES_MINCCINO] = gMonIcon_Minccino, [SPECIES_MINCCINO] = gMonIcon_Minccino,
[SPECIES_CINCCINO] = gMonIcon_Cinccino, [SPECIES_CINCCINO] = gMonIcon_Cinccino,
[SPECIES_GOTHITA] = gMonIcon_Gothita, [SPECIES_GOTHITA] = gMonIcon_Gothita,
[SPECIES_GOTHORITA] = gMonIcon_Gothorita, [SPECIES_GOTHORITA] = gMonIcon_Gothorita,
[SPECIES_GOTHITELLE] = gMonIcon_Gothitelle, [SPECIES_GOTHITELLE] = gMonIcon_Gothitelle,
[SPECIES_SOLOSIS] = gMonIcon_Solosis, [SPECIES_SOLOSIS] = gMonIcon_Solosis,
[SPECIES_DUOSION] = gMonIcon_Duosion, [SPECIES_DUOSION] = gMonIcon_Duosion,
[SPECIES_REUNICLUS] = gMonIcon_Reuniclus, [SPECIES_REUNICLUS] = gMonIcon_Reuniclus,
[SPECIES_DUCKLETT] = gMonIcon_Ducklett, [SPECIES_DUCKLETT] = gMonIcon_Ducklett,
[SPECIES_SWANNA] = gMonIcon_Swanna, [SPECIES_SWANNA] = gMonIcon_Swanna,
[SPECIES_VANILLITE] = gMonIcon_Vanillite, [SPECIES_VANILLITE] = gMonIcon_Vanillite,
[SPECIES_VANILLISH] = gMonIcon_Vanillish, [SPECIES_VANILLISH] = gMonIcon_Vanillish,
[SPECIES_VANILLUXE] = gMonIcon_Vanilluxe, [SPECIES_VANILLUXE] = gMonIcon_Vanilluxe,
[SPECIES_DEERLING] = gMonIcon_Deerling, [SPECIES_DEERLING] = gMonIcon_Deerling,
[SPECIES_SAWSBUCK] = gMonIcon_Sawsbuck, [SPECIES_SAWSBUCK] = gMonIcon_Sawsbuck,
[SPECIES_EMOLGA] = gMonIcon_Emolga, [SPECIES_EMOLGA] = gMonIcon_Emolga,
[SPECIES_KARRABLAST] = gMonIcon_Karrablast, [SPECIES_KARRABLAST] = gMonIcon_Karrablast,
[SPECIES_ESCAVALIER] = gMonIcon_Escavalier, [SPECIES_ESCAVALIER] = gMonIcon_Escavalier,
[SPECIES_FOONGUS] = gMonIcon_Foongus, [SPECIES_FOONGUS] = gMonIcon_Foongus,
[SPECIES_AMOONGUSS] = gMonIcon_Amoonguss, [SPECIES_AMOONGUSS] = gMonIcon_Amoonguss,
[SPECIES_FRILLISH] = gMonIcon_Frillish, [SPECIES_FRILLISH] = gMonIcon_Frillish,
[SPECIES_JELLICENT] = gMonIcon_Jellicent, [SPECIES_JELLICENT] = gMonIcon_Jellicent,
[SPECIES_ALOMOMOLA] = gMonIcon_Alomomola, [SPECIES_ALOMOMOLA] = gMonIcon_Alomomola,
[SPECIES_JOLTIK] = gMonIcon_Joltik, [SPECIES_JOLTIK] = gMonIcon_Joltik,
[SPECIES_GALVANTULA] = gMonIcon_Galvantula, [SPECIES_GALVANTULA] = gMonIcon_Galvantula,
[SPECIES_FERROSEED] = gMonIcon_Ferroseed, [SPECIES_FERROSEED] = gMonIcon_Ferroseed,
[SPECIES_FERROTHORN] = gMonIcon_Ferrothorn, [SPECIES_FERROTHORN] = gMonIcon_Ferrothorn,
[SPECIES_KLINK] = gMonIcon_Klink, [SPECIES_KLINK] = gMonIcon_Klink,
[SPECIES_KLANG] = gMonIcon_Klang, [SPECIES_KLANG] = gMonIcon_Klang,
[SPECIES_KLINKLANG] = gMonIcon_Klinklang, [SPECIES_KLINKLANG] = gMonIcon_Klinklang,
[SPECIES_TYNAMO] = gMonIcon_Tynamo, [SPECIES_TYNAMO] = gMonIcon_Tynamo,
[SPECIES_EELEKTRIK] = gMonIcon_Eelektrik, [SPECIES_EELEKTRIK] = gMonIcon_Eelektrik,
[SPECIES_EELEKTROSS] = gMonIcon_Eelektross, [SPECIES_EELEKTROSS] = gMonIcon_Eelektross,
[SPECIES_ELGYEM] = gMonIcon_Elgyem, [SPECIES_ELGYEM] = gMonIcon_Elgyem,
[SPECIES_BEHEEYEM] = gMonIcon_Beheeyem, [SPECIES_BEHEEYEM] = gMonIcon_Beheeyem,
[SPECIES_LITWICK] = gMonIcon_Litwick, [SPECIES_LITWICK] = gMonIcon_Litwick,
[SPECIES_LAMPENT] = gMonIcon_Lampent, [SPECIES_LAMPENT] = gMonIcon_Lampent,
[SPECIES_CHANDELURE] = gMonIcon_Chandelure, [SPECIES_CHANDELURE] = gMonIcon_Chandelure,
[SPECIES_AXEW] = gMonIcon_Axew, [SPECIES_AXEW] = gMonIcon_Axew,
[SPECIES_FRAXURE] = gMonIcon_Fraxure, [SPECIES_FRAXURE] = gMonIcon_Fraxure,
[SPECIES_HAXORUS] = gMonIcon_Haxorus, [SPECIES_HAXORUS] = gMonIcon_Haxorus,
[SPECIES_CUBCHOO] = gMonIcon_Cubchoo, [SPECIES_CUBCHOO] = gMonIcon_Cubchoo,
[SPECIES_BEARTIC] = gMonIcon_Beartic, [SPECIES_BEARTIC] = gMonIcon_Beartic,
[SPECIES_CRYOGONAL] = gMonIcon_Cryogonal, [SPECIES_CRYOGONAL] = gMonIcon_Cryogonal,
[SPECIES_SHELMET] = gMonIcon_Shelmet, [SPECIES_SHELMET] = gMonIcon_Shelmet,
[SPECIES_ACCELGOR] = gMonIcon_Accelgor, [SPECIES_ACCELGOR] = gMonIcon_Accelgor,
[SPECIES_STUNFISK] = gMonIcon_Stunfisk, [SPECIES_STUNFISK] = gMonIcon_Stunfisk,
[SPECIES_MIENFOO] = gMonIcon_Mienfoo, [SPECIES_MIENFOO] = gMonIcon_Mienfoo,
[SPECIES_MIENSHAO] = gMonIcon_Mienshao, [SPECIES_MIENSHAO] = gMonIcon_Mienshao,
[SPECIES_DRUDDIGON] = gMonIcon_Druddigon, [SPECIES_DRUDDIGON] = gMonIcon_Druddigon,
[SPECIES_GOLETT] = gMonIcon_Golett, [SPECIES_GOLETT] = gMonIcon_Golett,
[SPECIES_GOLURK] = gMonIcon_Golurk, [SPECIES_GOLURK] = gMonIcon_Golurk,
[SPECIES_PAWNIARD] = gMonIcon_Pawniard, [SPECIES_PAWNIARD] = gMonIcon_Pawniard,
[SPECIES_BISHARP] = gMonIcon_Bisharp, [SPECIES_BISHARP] = gMonIcon_Bisharp,
[SPECIES_BOUFFALANT] = gMonIcon_Bouffalant, [SPECIES_BOUFFALANT] = gMonIcon_Bouffalant,
[SPECIES_RUFFLET] = gMonIcon_Rufflet, [SPECIES_RUFFLET] = gMonIcon_Rufflet,
[SPECIES_BRAVIARY] = gMonIcon_Braviary, [SPECIES_BRAVIARY] = gMonIcon_Braviary,
[SPECIES_VULLABY] = gMonIcon_Vullaby, [SPECIES_VULLABY] = gMonIcon_Vullaby,
[SPECIES_MANDIBUZZ] = gMonIcon_Mandibuzz, [SPECIES_MANDIBUZZ] = gMonIcon_Mandibuzz,
[SPECIES_HEATMOR] = gMonIcon_Heatmor, [SPECIES_HEATMOR] = gMonIcon_Heatmor,
[SPECIES_DURANT] = gMonIcon_Durant, [SPECIES_DURANT] = gMonIcon_Durant,
[SPECIES_DEINO] = gMonIcon_Deino, [SPECIES_DEINO] = gMonIcon_Deino,
[SPECIES_ZWEILOUS] = gMonIcon_Zweilous, [SPECIES_ZWEILOUS] = gMonIcon_Zweilous,
[SPECIES_HYDREIGON] = gMonIcon_Hydreigon, [SPECIES_HYDREIGON] = gMonIcon_Hydreigon,
[SPECIES_LARVESTA] = gMonIcon_Larvesta, [SPECIES_LARVESTA] = gMonIcon_Larvesta,
[SPECIES_VOLCARONA] = gMonIcon_Volcarona, [SPECIES_VOLCARONA] = gMonIcon_Volcarona,
[SPECIES_COBALION] = gMonIcon_Cobalion, [SPECIES_COBALION] = gMonIcon_Cobalion,
[SPECIES_TERRAKION] = gMonIcon_Terrakion, [SPECIES_TERRAKION] = gMonIcon_Terrakion,
[SPECIES_VIRIZION] = gMonIcon_Virizion, [SPECIES_VIRIZION] = gMonIcon_Virizion,
[SPECIES_TORNADUS] = gMonIcon_Tornadus, [SPECIES_TORNADUS] = gMonIcon_Tornadus,
[SPECIES_THUNDURUS] = gMonIcon_Thundurus, [SPECIES_THUNDURUS] = gMonIcon_Thundurus,
[SPECIES_RESHIRAM] = gMonIcon_Reshiram, [SPECIES_RESHIRAM] = gMonIcon_Reshiram,
[SPECIES_ZEKROM] = gMonIcon_Zekrom, [SPECIES_ZEKROM] = gMonIcon_Zekrom,
[SPECIES_LANDORUS] = gMonIcon_Landorus, [SPECIES_LANDORUS] = gMonIcon_Landorus,
[SPECIES_KYUREM] = gMonIcon_Kyurem, [SPECIES_KYUREM] = gMonIcon_Kyurem,
[SPECIES_KELDEO] = gMonIcon_Keldeo, [SPECIES_KELDEO] = gMonIcon_Keldeo,
[SPECIES_MELOETTA] = gMonIcon_Meloetta, [SPECIES_MELOETTA] = gMonIcon_Meloetta,
[SPECIES_GENESECT] = gMonIcon_Genesect, [SPECIES_GENESECT] = gMonIcon_Genesect,
[SPECIES_CHESPIN] = gMonIcon_Chespin, [SPECIES_CHESPIN] = gMonIcon_Chespin,
[SPECIES_QUILLADIN] = gMonIcon_Quilladin, [SPECIES_QUILLADIN] = gMonIcon_Quilladin,
[SPECIES_CHESNAUGHT] = gMonIcon_Chesnaught, [SPECIES_CHESNAUGHT] = gMonIcon_Chesnaught,
@ -746,94 +747,94 @@ const u8 *const gMonIconTable[] =
[SPECIES_DIANCIE] = gMonIcon_Diancie, [SPECIES_DIANCIE] = gMonIcon_Diancie,
[SPECIES_HOOPA] = gMonIcon_Hoopa, [SPECIES_HOOPA] = gMonIcon_Hoopa,
[SPECIES_VOLCANION] = gMonIcon_Volcanion, [SPECIES_VOLCANION] = gMonIcon_Volcanion,
[SPECIES_ROWLET] = gMonIcon_Rowlet, [SPECIES_ROWLET] = gMonIcon_Rowlet,
[SPECIES_DARTRIX] = gMonIcon_Dartrix, [SPECIES_DARTRIX] = gMonIcon_Dartrix,
[SPECIES_DECIDUEYE] = gMonIcon_Decidueye, [SPECIES_DECIDUEYE] = gMonIcon_Decidueye,
[SPECIES_LITTEN] = gMonIcon_Litten, [SPECIES_LITTEN] = gMonIcon_Litten,
[SPECIES_TORRACAT] = gMonIcon_Torracat, [SPECIES_TORRACAT] = gMonIcon_Torracat,
[SPECIES_INCINEROAR] = gMonIcon_Incineroar, [SPECIES_INCINEROAR] = gMonIcon_Incineroar,
[SPECIES_POPPLIO] = gMonIcon_Popplio, [SPECIES_POPPLIO] = gMonIcon_Popplio,
[SPECIES_BRIONNE] = gMonIcon_Brionne, [SPECIES_BRIONNE] = gMonIcon_Brionne,
[SPECIES_PRIMARINA] = gMonIcon_Primarina, [SPECIES_PRIMARINA] = gMonIcon_Primarina,
[SPECIES_PIKIPEK] = gMonIcon_Pikipek, [SPECIES_PIKIPEK] = gMonIcon_Pikipek,
[SPECIES_TRUMBEAK] = gMonIcon_Trumbeak, [SPECIES_TRUMBEAK] = gMonIcon_Trumbeak,
[SPECIES_TOUCANNON] = gMonIcon_Toucannon, [SPECIES_TOUCANNON] = gMonIcon_Toucannon,
[SPECIES_YUNGOOS] = gMonIcon_Yungoos, [SPECIES_YUNGOOS] = gMonIcon_Yungoos,
[SPECIES_GUMSHOOS] = gMonIcon_Gumshoos, [SPECIES_GUMSHOOS] = gMonIcon_Gumshoos,
[SPECIES_GRUBBIN] = gMonIcon_Grubbin, [SPECIES_GRUBBIN] = gMonIcon_Grubbin,
[SPECIES_CHARJABUG] = gMonIcon_Charjabug, [SPECIES_CHARJABUG] = gMonIcon_Charjabug,
[SPECIES_VIKAVOLT] = gMonIcon_Vikavolt, [SPECIES_VIKAVOLT] = gMonIcon_Vikavolt,
[SPECIES_CRABRAWLER] = gMonIcon_Crabrawler, [SPECIES_CRABRAWLER] = gMonIcon_Crabrawler,
[SPECIES_CRABOMINABLE] = gMonIcon_Crabominable, [SPECIES_CRABOMINABLE] = gMonIcon_Crabominable,
[SPECIES_ORICORIO] = gMonIcon_Oricorio, [SPECIES_ORICORIO] = gMonIcon_Oricorio,
[SPECIES_CUTIEFLY] = gMonIcon_Cutiefly, [SPECIES_CUTIEFLY] = gMonIcon_Cutiefly,
[SPECIES_RIBOMBEE] = gMonIcon_Ribombee, [SPECIES_RIBOMBEE] = gMonIcon_Ribombee,
[SPECIES_ROCKRUFF] = gMonIcon_Rockruff, [SPECIES_ROCKRUFF] = gMonIcon_Rockruff,
[SPECIES_LYCANROC] = gMonIcon_Lycanroc, [SPECIES_LYCANROC] = gMonIcon_Lycanroc,
[SPECIES_WISHIWASHI] = gMonIcon_Wishiwashi, [SPECIES_WISHIWASHI] = gMonIcon_Wishiwashi,
[SPECIES_MAREANIE] = gMonIcon_Mareanie, [SPECIES_MAREANIE] = gMonIcon_Mareanie,
[SPECIES_TOXAPEX] = gMonIcon_Toxapex, [SPECIES_TOXAPEX] = gMonIcon_Toxapex,
[SPECIES_MUDBRAY] = gMonIcon_Mudbray, [SPECIES_MUDBRAY] = gMonIcon_Mudbray,
[SPECIES_MUDSDALE] = gMonIcon_Mudsdale, [SPECIES_MUDSDALE] = gMonIcon_Mudsdale,
[SPECIES_DEWPIDER] = gMonIcon_Dewpider, [SPECIES_DEWPIDER] = gMonIcon_Dewpider,
[SPECIES_ARAQUANID] = gMonIcon_Araquanid, [SPECIES_ARAQUANID] = gMonIcon_Araquanid,
[SPECIES_FOMANTIS] = gMonIcon_Fomantis, [SPECIES_FOMANTIS] = gMonIcon_Fomantis,
[SPECIES_LURANTIS] = gMonIcon_Lurantis, [SPECIES_LURANTIS] = gMonIcon_Lurantis,
[SPECIES_MORELULL] = gMonIcon_Morelull, [SPECIES_MORELULL] = gMonIcon_Morelull,
[SPECIES_SHIINOTIC] = gMonIcon_Shiinotic, [SPECIES_SHIINOTIC] = gMonIcon_Shiinotic,
[SPECIES_SALANDIT] = gMonIcon_Salandit, [SPECIES_SALANDIT] = gMonIcon_Salandit,
[SPECIES_SALAZZLE] = gMonIcon_Salazzle, [SPECIES_SALAZZLE] = gMonIcon_Salazzle,
[SPECIES_STUFFUL] = gMonIcon_Stufful, [SPECIES_STUFFUL] = gMonIcon_Stufful,
[SPECIES_BEWEAR] = gMonIcon_Bewear, [SPECIES_BEWEAR] = gMonIcon_Bewear,
[SPECIES_BOUNSWEET] = gMonIcon_Bounsweet, [SPECIES_BOUNSWEET] = gMonIcon_Bounsweet,
[SPECIES_STEENEE] = gMonIcon_Steenee, [SPECIES_STEENEE] = gMonIcon_Steenee,
[SPECIES_TSAREENA] = gMonIcon_Tsareena, [SPECIES_TSAREENA] = gMonIcon_Tsareena,
[SPECIES_COMFEY] = gMonIcon_Comfey, [SPECIES_COMFEY] = gMonIcon_Comfey,
[SPECIES_ORANGURU] = gMonIcon_Oranguru, [SPECIES_ORANGURU] = gMonIcon_Oranguru,
[SPECIES_PASSIMIAN] = gMonIcon_Passimian, [SPECIES_PASSIMIAN] = gMonIcon_Passimian,
[SPECIES_WIMPOD] = gMonIcon_Wimpod, [SPECIES_WIMPOD] = gMonIcon_Wimpod,
[SPECIES_GOLISOPOD] = gMonIcon_Golisopod, [SPECIES_GOLISOPOD] = gMonIcon_Golisopod,
[SPECIES_SANDYGAST] = gMonIcon_Sandygast, [SPECIES_SANDYGAST] = gMonIcon_Sandygast,
[SPECIES_PALOSSAND] = gMonIcon_Palossand, [SPECIES_PALOSSAND] = gMonIcon_Palossand,
[SPECIES_PYUKUMUKU] = gMonIcon_Pyukumuku, [SPECIES_PYUKUMUKU] = gMonIcon_Pyukumuku,
[SPECIES_TYPE_NULL] = gMonIcon_Type_null, [SPECIES_TYPE_NULL] = gMonIcon_Type_null,
[SPECIES_SILVALLY] = gMonIcon_Silvally, [SPECIES_SILVALLY] = gMonIcon_Silvally,
[SPECIES_MINIOR] = gMonIcon_Minior, [SPECIES_MINIOR] = gMonIcon_Minior,
[SPECIES_KOMALA] = gMonIcon_Komala, [SPECIES_KOMALA] = gMonIcon_Komala,
[SPECIES_TURTONATOR] = gMonIcon_Turtonator, [SPECIES_TURTONATOR] = gMonIcon_Turtonator,
[SPECIES_TOGEDEMARU] = gMonIcon_Togedemaru, [SPECIES_TOGEDEMARU] = gMonIcon_Togedemaru,
[SPECIES_MIMIKYU] = gMonIcon_Mimikyu, [SPECIES_MIMIKYU] = gMonIcon_Mimikyu,
[SPECIES_BRUXISH] = gMonIcon_Bruxish, [SPECIES_BRUXISH] = gMonIcon_Bruxish,
[SPECIES_DRAMPA] = gMonIcon_Drampa, [SPECIES_DRAMPA] = gMonIcon_Drampa,
[SPECIES_DHELMISE] = gMonIcon_Dhelmise, [SPECIES_DHELMISE] = gMonIcon_Dhelmise,
[SPECIES_JANGMO_O] = gMonIcon_Jangmo_o, [SPECIES_JANGMO_O] = gMonIcon_Jangmo_o,
[SPECIES_HAKAMO_O] = gMonIcon_Hakamo_o, [SPECIES_HAKAMO_O] = gMonIcon_Hakamo_o,
[SPECIES_KOMMO_O] = gMonIcon_Kommo_o, [SPECIES_KOMMO_O] = gMonIcon_Kommo_o,
[SPECIES_TAPU_KOKO] = gMonIcon_Tapu_koko, [SPECIES_TAPU_KOKO] = gMonIcon_Tapu_koko,
[SPECIES_TAPU_LELE] = gMonIcon_Tapu_lele, [SPECIES_TAPU_LELE] = gMonIcon_Tapu_lele,
[SPECIES_TAPU_BULU] = gMonIcon_Tapu_bulu, [SPECIES_TAPU_BULU] = gMonIcon_Tapu_bulu,
[SPECIES_TAPU_FINI] = gMonIcon_Tapu_fini, [SPECIES_TAPU_FINI] = gMonIcon_Tapu_fini,
[SPECIES_COSMOG] = gMonIcon_Cosmog, [SPECIES_COSMOG] = gMonIcon_Cosmog,
[SPECIES_COSMOEM] = gMonIcon_Cosmoem, [SPECIES_COSMOEM] = gMonIcon_Cosmoem,
[SPECIES_SOLGALEO] = gMonIcon_Solgaleo, [SPECIES_SOLGALEO] = gMonIcon_Solgaleo,
[SPECIES_LUNALA] = gMonIcon_Lunala, [SPECIES_LUNALA] = gMonIcon_Lunala,
[SPECIES_NIHILEGO] = gMonIcon_Nihilego, [SPECIES_NIHILEGO] = gMonIcon_Nihilego,
[SPECIES_BUZZWOLE] = gMonIcon_Buzzwole, [SPECIES_BUZZWOLE] = gMonIcon_Buzzwole,
[SPECIES_PHEROMOSA] = gMonIcon_Pheromosa, [SPECIES_PHEROMOSA] = gMonIcon_Pheromosa,
[SPECIES_XURKITREE] = gMonIcon_Xurkitree, [SPECIES_XURKITREE] = gMonIcon_Xurkitree,
[SPECIES_CELESTEELA] = gMonIcon_Celesteela, [SPECIES_CELESTEELA] = gMonIcon_Celesteela,
[SPECIES_KARTANA] = gMonIcon_Kartana, [SPECIES_KARTANA] = gMonIcon_Kartana,
[SPECIES_GUZZLORD] = gMonIcon_Guzzlord, [SPECIES_GUZZLORD] = gMonIcon_Guzzlord,
[SPECIES_NECROZMA] = gMonIcon_Necrozma, [SPECIES_NECROZMA] = gMonIcon_Necrozma,
[SPECIES_MAGEARNA] = gMonIcon_Magearna, [SPECIES_MAGEARNA] = gMonIcon_Magearna,
[SPECIES_MARSHADOW] = gMonIcon_Marshadow, [SPECIES_MARSHADOW] = gMonIcon_Marshadow,
[SPECIES_POIPOLE] = gMonIcon_Poipole, [SPECIES_POIPOLE] = gMonIcon_Poipole,
[SPECIES_NAGANADEL] = gMonIcon_Naganadel, [SPECIES_NAGANADEL] = gMonIcon_Naganadel,
[SPECIES_STAKATAKA] = gMonIcon_Stakataka, [SPECIES_STAKATAKA] = gMonIcon_Stakataka,
[SPECIES_BLACEPHALON] = gMonIcon_Blacephalon, [SPECIES_BLACEPHALON] = gMonIcon_Blacephalon,
[SPECIES_ZERAORA] = gMonIcon_Zeraora, [SPECIES_ZERAORA] = gMonIcon_Zeraora,
[SPECIES_MELTAN] = gMonIcon_Meltan, [SPECIES_MELTAN] = gMonIcon_Meltan,
[SPECIES_MELMETAL] = gMonIcon_Melmetal, [SPECIES_MELMETAL] = gMonIcon_Melmetal,
[SPECIES_VENUSAUR_MEGA] = gMonIcon_MegaVenusaur, [SPECIES_VENUSAUR_MEGA] = gMonIcon_MegaVenusaur,
[SPECIES_CHARIZARD_MEGA_X] = gMonIcon_MegaCharizardX, [SPECIES_CHARIZARD_MEGA_X] = gMonIcon_MegaCharizardX,
[SPECIES_CHARIZARD_MEGA_Y] = gMonIcon_MegaCharizardY, [SPECIES_CHARIZARD_MEGA_Y] = gMonIcon_MegaCharizardY,
@ -980,7 +981,7 @@ const u8 *const gMonIconTable[] =
[SPECIES_ARCEUS_DRAGON] = gMonIcon_Arceus, [SPECIES_ARCEUS_DRAGON] = gMonIcon_Arceus,
[SPECIES_ARCEUS_DARK] = gMonIcon_Arceus, [SPECIES_ARCEUS_DARK] = gMonIcon_Arceus,
[SPECIES_ARCEUS_FAIRY] = gMonIcon_Arceus, [SPECIES_ARCEUS_FAIRY] = gMonIcon_Arceus,
[SPECIES_BASCULIN_BLUE_STRIPED] = gMonIcon_BasculinBlueStriped, [SPECIES_BASCULIN_BLUE_STRIPED] = gMonIcon_BasculinBlueStriped,
[SPECIES_DARMANITAN_ZEN_MODE] = gMonIcon_DarmanitanZenMode, [SPECIES_DARMANITAN_ZEN_MODE] = gMonIcon_DarmanitanZenMode,
[SPECIES_DEERLING_SUMMER] = gMonIcon_DeerlingSummer, [SPECIES_DEERLING_SUMMER] = gMonIcon_DeerlingSummer,
[SPECIES_DEERLING_AUTUMN] = gMonIcon_DeerlingAutumn, [SPECIES_DEERLING_AUTUMN] = gMonIcon_DeerlingAutumn,
@ -995,10 +996,10 @@ const u8 *const gMonIconTable[] =
[SPECIES_KYUREM_BLACK] = gMonIcon_KyuremBlack, [SPECIES_KYUREM_BLACK] = gMonIcon_KyuremBlack,
[SPECIES_KELDEO_RESOLUTE] = gMonIcon_KeldeoResolute, [SPECIES_KELDEO_RESOLUTE] = gMonIcon_KeldeoResolute,
[SPECIES_MELOETTA_PIROUETTE] = gMonIcon_MeloettaPirouette, [SPECIES_MELOETTA_PIROUETTE] = gMonIcon_MeloettaPirouette,
[SPECIES_GENESECT_DOUSE_DRIVE] = gMonIcon_Genesect, [SPECIES_GENESECT_DOUSE_DRIVE] = gMonIcon_Genesect,
[SPECIES_GENESECT_SHOCK_DRIVE] = gMonIcon_Genesect, [SPECIES_GENESECT_SHOCK_DRIVE] = gMonIcon_Genesect,
[SPECIES_GENESECT_BURN_DRIVE] = gMonIcon_Genesect, [SPECIES_GENESECT_BURN_DRIVE] = gMonIcon_Genesect,
[SPECIES_GENESECT_CHILL_DRIVE] = gMonIcon_Genesect, [SPECIES_GENESECT_CHILL_DRIVE] = gMonIcon_Genesect,
[SPECIES_GRENINJA_BATTLE_BOND] = gMonIcon_Greninja, [SPECIES_GRENINJA_BATTLE_BOND] = gMonIcon_Greninja,
[SPECIES_GRENINJA_ASH] = gMonIcon_GreninjaAsh, [SPECIES_GRENINJA_ASH] = gMonIcon_GreninjaAsh,
[SPECIES_VIVILLON_POLAR] = gMonIcon_VivillonPolar, [SPECIES_VIVILLON_POLAR] = gMonIcon_VivillonPolar,
@ -1056,10 +1057,10 @@ const u8 *const gMonIconTable[] =
[SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = gMonIcon_Zygarde, [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = gMonIcon_Zygarde,
[SPECIES_ZYGARDE_COMPLETE] = gMonIcon_ZygardeComplete, [SPECIES_ZYGARDE_COMPLETE] = gMonIcon_ZygardeComplete,
[SPECIES_HOOPA_UNBOUND] = gMonIcon_HoopaUnbound, [SPECIES_HOOPA_UNBOUND] = gMonIcon_HoopaUnbound,
[SPECIES_ORICORIO_POM_POM] = gMonIcon_OricorioPomPom, [SPECIES_ORICORIO_POM_POM] = gMonIcon_OricorioPomPom,
[SPECIES_ORICORIO_PA_U] = gMonIcon_OricorioPau, [SPECIES_ORICORIO_PA_U] = gMonIcon_OricorioPau,
[SPECIES_ORICORIO_SENSU] = gMonIcon_OricorioSensu, [SPECIES_ORICORIO_SENSU] = gMonIcon_OricorioSensu,
[SPECIES_ROCKRUFF_OWN_TEMPO] = gMonIcon_Rockruff, [SPECIES_ROCKRUFF_OWN_TEMPO] = gMonIcon_Rockruff,
[SPECIES_LYCANROC_MIDNIGHT] = gMonIcon_LycanrocMidnight, [SPECIES_LYCANROC_MIDNIGHT] = gMonIcon_LycanrocMidnight,
[SPECIES_LYCANROC_DUSK] = gMonIcon_LycanrocDusk, [SPECIES_LYCANROC_DUSK] = gMonIcon_LycanrocDusk,
[SPECIES_WISHIWASHI_SCHOOL] = gMonIcon_WishiwashiSchool, [SPECIES_WISHIWASHI_SCHOOL] = gMonIcon_WishiwashiSchool,
@ -1080,12 +1081,12 @@ const u8 *const gMonIconTable[] =
[SPECIES_SILVALLY_DRAGON] = gMonIcon_Silvally, [SPECIES_SILVALLY_DRAGON] = gMonIcon_Silvally,
[SPECIES_SILVALLY_DARK] = gMonIcon_Silvally, [SPECIES_SILVALLY_DARK] = gMonIcon_Silvally,
[SPECIES_SILVALLY_FAIRY] = gMonIcon_Silvally, [SPECIES_SILVALLY_FAIRY] = gMonIcon_Silvally,
[SPECIES_MINIOR_METEOR_ORANGE] = gMonIcon_Minior, [SPECIES_MINIOR_METEOR_ORANGE] = gMonIcon_Minior,
[SPECIES_MINIOR_METEOR_YELLOW] = gMonIcon_Minior, [SPECIES_MINIOR_METEOR_YELLOW] = gMonIcon_Minior,
[SPECIES_MINIOR_METEOR_GREEN] = gMonIcon_Minior, [SPECIES_MINIOR_METEOR_GREEN] = gMonIcon_Minior,
[SPECIES_MINIOR_METEOR_BLUE] = gMonIcon_Minior, [SPECIES_MINIOR_METEOR_BLUE] = gMonIcon_Minior,
[SPECIES_MINIOR_METEOR_INDIGO] = gMonIcon_Minior, [SPECIES_MINIOR_METEOR_INDIGO] = gMonIcon_Minior,
[SPECIES_MINIOR_METEOR_VIOLET] = gMonIcon_Minior, [SPECIES_MINIOR_METEOR_VIOLET] = gMonIcon_Minior,
[SPECIES_MINIOR_CORE_RED] = gMonIcon_MiniorCoreRed, [SPECIES_MINIOR_CORE_RED] = gMonIcon_MiniorCoreRed,
[SPECIES_MINIOR_CORE_ORANGE] = gMonIcon_MiniorCoreOrange, [SPECIES_MINIOR_CORE_ORANGE] = gMonIcon_MiniorCoreOrange,
[SPECIES_MINIOR_CORE_YELLOW] = gMonIcon_MiniorCoreYellow, [SPECIES_MINIOR_CORE_YELLOW] = gMonIcon_MiniorCoreYellow,
@ -1101,6 +1102,11 @@ const u8 *const gMonIconTable[] =
[SPECIES_EGG] = gMonIcon_Egg, [SPECIES_EGG] = gMonIcon_Egg,
}; };
const u8 *const gMonIconTableFemale[] =
{
[SPECIES_EEVEE] = gMonIcon_Eevee,
};
const u8 gMonIconPaletteIndices[] = const u8 gMonIconPaletteIndices[] =
{ {
[SPECIES_BULBASAUR] = 4, [SPECIES_BULBASAUR] = 4,
@ -2029,7 +2035,7 @@ const u8 gMonIconPaletteIndices[] =
[SPECIES_ARCEUS_DRAGON] = 1, [SPECIES_ARCEUS_DRAGON] = 1,
[SPECIES_ARCEUS_DARK] = 1, [SPECIES_ARCEUS_DARK] = 1,
[SPECIES_ARCEUS_FAIRY] = 1, [SPECIES_ARCEUS_FAIRY] = 1,
[SPECIES_BASCULIN_BLUE_STRIPED] = 0, [SPECIES_BASCULIN_BLUE_STRIPED] = 0,
[SPECIES_DARMANITAN_ZEN_MODE] = 0, [SPECIES_DARMANITAN_ZEN_MODE] = 0,
[SPECIES_DEERLING_SUMMER] = 1, [SPECIES_DEERLING_SUMMER] = 1,
[SPECIES_DEERLING_AUTUMN] = 0, [SPECIES_DEERLING_AUTUMN] = 0,
@ -2044,10 +2050,10 @@ const u8 gMonIconPaletteIndices[] =
[SPECIES_KYUREM_BLACK] = 0, [SPECIES_KYUREM_BLACK] = 0,
[SPECIES_KELDEO_RESOLUTE] = 0, [SPECIES_KELDEO_RESOLUTE] = 0,
[SPECIES_MELOETTA_PIROUETTE] = 0, [SPECIES_MELOETTA_PIROUETTE] = 0,
[SPECIES_GENESECT_DOUSE_DRIVE] = 2, [SPECIES_GENESECT_DOUSE_DRIVE] = 2,
[SPECIES_GENESECT_SHOCK_DRIVE] = 2, [SPECIES_GENESECT_SHOCK_DRIVE] = 2,
[SPECIES_GENESECT_BURN_DRIVE] = 2, [SPECIES_GENESECT_BURN_DRIVE] = 2,
[SPECIES_GENESECT_CHILL_DRIVE] = 2, [SPECIES_GENESECT_CHILL_DRIVE] = 2,
[SPECIES_GRENINJA_BATTLE_BOND] = 0, [SPECIES_GRENINJA_BATTLE_BOND] = 0,
[SPECIES_GRENINJA_ASH] = 0, [SPECIES_GRENINJA_ASH] = 0,
[SPECIES_VIVILLON_POLAR] = 0, [SPECIES_VIVILLON_POLAR] = 0,
@ -2105,9 +2111,9 @@ const u8 gMonIconPaletteIndices[] =
[SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = 1, [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = 1,
[SPECIES_ZYGARDE_COMPLETE] = 1, [SPECIES_ZYGARDE_COMPLETE] = 1,
[SPECIES_HOOPA_UNBOUND] = 0, [SPECIES_HOOPA_UNBOUND] = 0,
[SPECIES_ORICORIO_POM_POM] = 1, [SPECIES_ORICORIO_POM_POM] = 1,
[SPECIES_ORICORIO_PA_U] = 1, [SPECIES_ORICORIO_PA_U] = 1,
[SPECIES_ORICORIO_SENSU] = 0, [SPECIES_ORICORIO_SENSU] = 0,
[SPECIES_ROCKRUFF_OWN_TEMPO] = 2, [SPECIES_ROCKRUFF_OWN_TEMPO] = 2,
[SPECIES_LYCANROC_MIDNIGHT] = 0, [SPECIES_LYCANROC_MIDNIGHT] = 0,
[SPECIES_LYCANROC_DUSK] = 0, [SPECIES_LYCANROC_DUSK] = 0,
@ -2144,6 +2150,11 @@ const u8 gMonIconPaletteIndices[] =
[SPECIES_EGG] = 1, [SPECIES_EGG] = 1,
}; };
const u8 gMonIconPaletteIndicesFemale[] =
{
[SPECIES_EEVEE] = 2,
};
const struct SpritePalette gMonIconPaletteTable[] = const struct SpritePalette gMonIconPaletteTable[] =
{ {
{ gMonIconPalettes[0], POKE_ICON_BASE_PAL_TAG + 0 }, { gMonIconPalettes[0], POKE_ICON_BASE_PAL_TAG + 0 },
@ -2272,6 +2283,8 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u
if (species > NUM_SPECIES) if (species > NUM_SPECIES)
iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG; iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG;
else if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE)
iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndicesFemale[species];
spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority); spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority);
@ -2293,7 +2306,7 @@ u8 sub_80D2D78(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8
.paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species], .paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species],
}; };
iconTemplate.image = GetMonIconTiles(species, extra); iconTemplate.image = GetMonIconTiles(species, extra, 0);
spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority); spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority);
UpdateMonIconFrame(&gSprites[spriteId]); UpdateMonIconFrame(&gSprites[spriteId]);
@ -2348,7 +2361,7 @@ u16 sub_80D2E84(u16 species)
const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 handleDeoxys) const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 handleDeoxys)
{ {
return GetMonIconTiles(GetIconSpecies(species, personality), handleDeoxys); return GetMonIconTiles(GetIconSpecies(species, personality), handleDeoxys, personality);
} }
void FreeAndDestroyMonIconSprite(struct Sprite *sprite) void FreeAndDestroyMonIconSprite(struct Sprite *sprite)
@ -2410,13 +2423,17 @@ void SpriteCB_MonIcon(struct Sprite *sprite)
UpdateMonIconFrame(sprite); UpdateMonIconFrame(sprite);
} }
const u8* GetMonIconTiles(u16 species, bool32 handleDeoxys) const u8* GetMonIconTiles(u16 species, bool32 handleDeoxys, u32 personality)
{ {
const u8* iconSprite = gMonIconTable[species]; const u8* iconSprite = gMonIconTable[species];
if (species == SPECIES_DEOXYS && handleDeoxys == TRUE) if (species == SPECIES_DEOXYS && handleDeoxys == TRUE)
{ {
iconSprite = (const u8*)(0x400 + (u32)iconSprite); // use the specific Deoxys form icon (Speed in this case) iconSprite = (const u8*)(0x400 + (u32)iconSprite); // use the specific Deoxys form icon (Speed in this case)
} }
else if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE)
{
iconSprite = gMonIconTableFemale[species];
}
return iconSprite; return iconSprite;
} }

View File

@ -5145,7 +5145,7 @@ static void sub_80CC100(struct Sprite *sprite)
sprite->pos1.y = sPSSData->field_CB4->pos1.y + sPSSData->field_CB4->pos2.y + 4; sprite->pos1.y = sPSSData->field_CB4->pos1.y + sPSSData->field_CB4->pos2.y + 4;
} }
static u16 sub_80CC124(u16 species) static u16 sub_80CC124(u16 species, u32 personality)
{ {
u16 i, var; u16 i, var;
@ -5169,7 +5169,7 @@ static u16 sub_80CC124(u16 species)
sPSSData->field_B58[i] = species; sPSSData->field_B58[i] = species;
sPSSData->field_B08[i]++; sPSSData->field_B08[i]++;
var = 16 * i; var = 16 * i;
CpuCopy32(GetMonIconTiles(species, TRUE), (void*)(OBJ_VRAM0) + var * 32, 0x200); CpuCopy32(GetMonIconTiles(species, TRUE, personality), (void*)(OBJ_VRAM0) + var * 32, 0x200);
return var; return var;
} }
@ -5197,7 +5197,7 @@ static struct Sprite *CreateMonIconSprite(u16 species, u32 personality, s16 x, s
species = GetIconSpecies(species, personality); species = GetIconSpecies(species, personality);
tempalte.paletteTag = 0xDAC0 + gMonIconPaletteIndices[species]; tempalte.paletteTag = 0xDAC0 + gMonIconPaletteIndices[species];
tileNum = sub_80CC124(species); tileNum = sub_80CC124(species, personality);
if (tileNum == 0xFFFF) if (tileNum == 0xFFFF)
return NULL; return NULL;

View File

@ -1379,7 +1379,7 @@ static void LoadMonIconGfx(void)
for (i = 0; i < PARTY_SIZE; i++) for (i = 0; i < PARTY_SIZE; i++)
{ {
if (sData->trainerCard.monSpecies[i]) if (sData->trainerCard.monSpecies[i])
LoadBgTiles(3, GetMonIconTiles(sData->trainerCard.monSpecies[i], 0), 512, 16 * i + 32); LoadBgTiles(3, GetMonIconTiles(sData->trainerCard.monSpecies[i], FALSE, 0), 512, 16 * i + 32);
} }
} }