diff --git a/graphics/pokemon/arceus/bug/icon.png b/graphics/pokemon/arceus/bug/icon.png new file mode 100644 index 0000000000..7da8ef6195 Binary files /dev/null and b/graphics/pokemon/arceus/bug/icon.png differ diff --git a/graphics/pokemon/arceus/dark/icon.png b/graphics/pokemon/arceus/dark/icon.png new file mode 100644 index 0000000000..60e728ce8a Binary files /dev/null and b/graphics/pokemon/arceus/dark/icon.png differ diff --git a/graphics/pokemon/arceus/dragon/icon.png b/graphics/pokemon/arceus/dragon/icon.png new file mode 100644 index 0000000000..a8265e3c84 Binary files /dev/null and b/graphics/pokemon/arceus/dragon/icon.png differ diff --git a/graphics/pokemon/arceus/electric/icon.png b/graphics/pokemon/arceus/electric/icon.png new file mode 100644 index 0000000000..617b1e1113 Binary files /dev/null and b/graphics/pokemon/arceus/electric/icon.png differ diff --git a/graphics/pokemon/arceus/fairy/icon.png b/graphics/pokemon/arceus/fairy/icon.png new file mode 100644 index 0000000000..3a9fbdfbd4 Binary files /dev/null and b/graphics/pokemon/arceus/fairy/icon.png differ diff --git a/graphics/pokemon/arceus/fighting/icon.png b/graphics/pokemon/arceus/fighting/icon.png new file mode 100644 index 0000000000..e4ec6068b2 Binary files /dev/null and b/graphics/pokemon/arceus/fighting/icon.png differ diff --git a/graphics/pokemon/arceus/fire/icon.png b/graphics/pokemon/arceus/fire/icon.png new file mode 100644 index 0000000000..4c67343bb6 Binary files /dev/null and b/graphics/pokemon/arceus/fire/icon.png differ diff --git a/graphics/pokemon/arceus/flying/icon.png b/graphics/pokemon/arceus/flying/icon.png new file mode 100644 index 0000000000..c882bc9dfb Binary files /dev/null and b/graphics/pokemon/arceus/flying/icon.png differ diff --git a/graphics/pokemon/arceus/ghost/icon.png b/graphics/pokemon/arceus/ghost/icon.png new file mode 100644 index 0000000000..1e9163e9f5 Binary files /dev/null and b/graphics/pokemon/arceus/ghost/icon.png differ diff --git a/graphics/pokemon/arceus/grass/icon.png b/graphics/pokemon/arceus/grass/icon.png new file mode 100644 index 0000000000..e2c72dd3b6 Binary files /dev/null and b/graphics/pokemon/arceus/grass/icon.png differ diff --git a/graphics/pokemon/arceus/ground/icon.png b/graphics/pokemon/arceus/ground/icon.png new file mode 100644 index 0000000000..dd02c5c191 Binary files /dev/null and b/graphics/pokemon/arceus/ground/icon.png differ diff --git a/graphics/pokemon/arceus/ice/icon.png b/graphics/pokemon/arceus/ice/icon.png new file mode 100644 index 0000000000..7a63a21824 Binary files /dev/null and b/graphics/pokemon/arceus/ice/icon.png differ diff --git a/graphics/pokemon/arceus/poison/icon.png b/graphics/pokemon/arceus/poison/icon.png new file mode 100644 index 0000000000..32277ba772 Binary files /dev/null and b/graphics/pokemon/arceus/poison/icon.png differ diff --git a/graphics/pokemon/arceus/psychic/icon.png b/graphics/pokemon/arceus/psychic/icon.png new file mode 100644 index 0000000000..0c556490e3 Binary files /dev/null and b/graphics/pokemon/arceus/psychic/icon.png differ diff --git a/graphics/pokemon/arceus/rock/icon.png b/graphics/pokemon/arceus/rock/icon.png new file mode 100644 index 0000000000..91d52e1957 Binary files /dev/null and b/graphics/pokemon/arceus/rock/icon.png differ diff --git a/graphics/pokemon/arceus/steel/icon.png b/graphics/pokemon/arceus/steel/icon.png new file mode 100644 index 0000000000..4013495e0d Binary files /dev/null and b/graphics/pokemon/arceus/steel/icon.png differ diff --git a/graphics/pokemon/arceus/water/icon.png b/graphics/pokemon/arceus/water/icon.png new file mode 100644 index 0000000000..546df7ecd1 Binary files /dev/null and b/graphics/pokemon/arceus/water/icon.png differ diff --git a/include/config/pokemon.h b/include/config/pokemon.h index 810640d6b5..32415e5247 100644 --- a/include/config/pokemon.h +++ b/include/config/pokemon.h @@ -36,6 +36,7 @@ #define P_SHEDINJA_BALL GEN_LATEST // Since Gen 4, Shedinja requires a Poké Ball for its evolution. In Gen 3, Shedinja inherits Nincada's Ball. #define P_KADABRA_EVERSTONE GEN_LATEST // Since Gen 4, Kadabra can evolve even when holding an Everstone. #define P_SHUCKLE_BERRY_JUICE GEN_LATEST // In Gen 2, Shuckle had a 1/16 chance of converting Berry that it's holding into Berry Juice. Enabling this will allow Shuckle to do this with an Oran Berry, which is the spiritual succesor of the Berry item. +#define P_ARCEUS_UNIQUE_FORM_ICONS GEN_LATEST // Since Gen 9, Arceus additionally changes its icon to reflect its current form. // Other settings #define P_CUSTOM_GENDER_DIFF_ICONS TRUE // If TRUE, will give more Pokémon custom icons for their female forms, i.e. Hippopotas and Hippowdon diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 1e49863235..c51f0ce2ec 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -6594,13 +6594,13 @@ const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mar #if P_FAMILY_ARCEUS const u32 gMonFrontPic_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/anim_front.4bpp.lz"); const u32 gMonBackPic_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/back.4bpp.lz"); - const u8 gMonIcon_Arceus[] = INCBIN_U8("graphics/pokemon/arceus/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Arceus[] = INCBIN_U8("graphics/pokemon/arceus/footprint.1bpp"); #endif //P_FOOTPRINTS const u32 gMonPalette_ArceusNormal[] = INCBIN_U32("graphics/pokemon/arceus/normal.gbapal.lz"); const u32 gMonShinyPalette_ArceusNormal[] = INCBIN_U32("graphics/pokemon/arceus/shiny.gbapal.lz"); + const u8 gMonIcon_ArceusNormal[] = INCBIN_U8("graphics/pokemon/arceus/icon.4bpp"); const u32 gMonPalette_ArceusFighting[] = INCBIN_U32("graphics/pokemon/arceus/fighting/normal.gbapal.lz"); const u32 gMonShinyPalette_ArceusFighting[] = INCBIN_U32("graphics/pokemon/arceus/fighting/shiny.gbapal.lz"); @@ -6652,6 +6652,26 @@ const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mar const u32 gMonPalette_ArceusFairy[] = INCBIN_U32("graphics/pokemon/arceus/fairy/normal.gbapal.lz"); const u32 gMonShinyPalette_ArceusFairy[] = INCBIN_U32("graphics/pokemon/arceus/fairy/shiny.gbapal.lz"); + +#if P_ARCEUS_UNIQUE_FORM_ICONS >= GEN_9 + const u8 gMonIcon_ArceusFighting[] = INCBIN_U8("graphics/pokemon/arceus/fighting/icon.4bpp"); + const u8 gMonIcon_ArceusFlying[] = INCBIN_U8("graphics/pokemon/arceus/flying/icon.4bpp"); + const u8 gMonIcon_ArceusPoison[] = INCBIN_U8("graphics/pokemon/arceus/poison/icon.4bpp"); + const u8 gMonIcon_ArceusGround[] = INCBIN_U8("graphics/pokemon/arceus/ground/icon.4bpp"); + const u8 gMonIcon_ArceusRock[] = INCBIN_U8("graphics/pokemon/arceus/rock/icon.4bpp"); + const u8 gMonIcon_ArceusBug[] = INCBIN_U8("graphics/pokemon/arceus/bug/icon.4bpp"); + const u8 gMonIcon_ArceusGhost[] = INCBIN_U8("graphics/pokemon/arceus/ghost/icon.4bpp"); + const u8 gMonIcon_ArceusSteel[] = INCBIN_U8("graphics/pokemon/arceus/steel/icon.4bpp"); + const u8 gMonIcon_ArceusFire[] = INCBIN_U8("graphics/pokemon/arceus/fire/icon.4bpp"); + const u8 gMonIcon_ArceusWater[] = INCBIN_U8("graphics/pokemon/arceus/water/icon.4bpp"); + const u8 gMonIcon_ArceusGrass[] = INCBIN_U8("graphics/pokemon/arceus/grass/icon.4bpp"); + const u8 gMonIcon_ArceusElectric[] = INCBIN_U8("graphics/pokemon/arceus/electric/icon.4bpp"); + const u8 gMonIcon_ArceusPsychic[] = INCBIN_U8("graphics/pokemon/arceus/psychic/icon.4bpp"); + const u8 gMonIcon_ArceusIce[] = INCBIN_U8("graphics/pokemon/arceus/ice/icon.4bpp"); + const u8 gMonIcon_ArceusDragon[] = INCBIN_U8("graphics/pokemon/arceus/dragon/icon.4bpp"); + const u8 gMonIcon_ArceusDark[] = INCBIN_U8("graphics/pokemon/arceus/dark/icon.4bpp"); + const u8 gMonIcon_ArceusFairy[] = INCBIN_U8("graphics/pokemon/arceus/fairy/icon.4bpp"); +#endif //P_ARCEUS_UNIQUE_FORM_ICONS #endif //P_FAMILY_ARCEUS #if P_FAMILY_VICTINI diff --git a/src/data/pokemon/species_info/gen_4_families.h b/src/data/pokemon/species_info/gen_4_families.h index 8cdd112e7b..d388eb13ee 100644 --- a/src/data/pokemon/species_info/gen_4_families.h +++ b/src/data/pokemon/species_info/gen_4_families.h @@ -5595,8 +5595,17 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = #else #define ARCEUS_EXP_YIELD 255 #endif +#if P_ARCEUS_UNIQUE_FORM_ICONS >= GEN_9 + #define ARCEUS_ICON(typeName, iconPal) \ + .iconSprite = gMonIcon_Arceus ##typeName, \ + .iconPalIndex = iconPal, +#else + #define ARCEUS_ICON(typeName, iconPal) \ + .iconSprite = gMonIcon_ArceusNormal, \ + .iconPalIndex = 1, +#endif -#define ARCEUS_SPECIES_INFO(type, typeName) \ +#define ARCEUS_SPECIES_INFO(type, typeName, iconPal) \ { \ .baseHP = 120, \ .baseAttack = 120, \ @@ -5637,8 +5646,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .backAnimId = BACK_ANIM_GROW_STUTTER, \ .palette = gMonPalette_Arceus ##typeName, \ .shinyPalette = gMonShinyPalette_Arceus ##typeName, \ - .iconSprite = gMonIcon_Arceus, \ - .iconPalIndex = 1, \ + ARCEUS_ICON(typeName, iconPal) \ FOOTPRINT(Arceus) \ .levelUpLearnset = sArceusLevelUpLearnset, \ .teachableLearnset = sArceusTeachableLearnset, \ @@ -5647,24 +5655,24 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .isMythical = TRUE, \ } - [SPECIES_ARCEUS_NORMAL] = ARCEUS_SPECIES_INFO(TYPE_NORMAL, Normal), - [SPECIES_ARCEUS_FIGHTING] = ARCEUS_SPECIES_INFO(TYPE_FIGHTING, Fighting), - [SPECIES_ARCEUS_FLYING] = ARCEUS_SPECIES_INFO(TYPE_FLYING, Flying), - [SPECIES_ARCEUS_POISON] = ARCEUS_SPECIES_INFO(TYPE_POISON, Poison), - [SPECIES_ARCEUS_GROUND] = ARCEUS_SPECIES_INFO(TYPE_GROUND, Ground), - [SPECIES_ARCEUS_ROCK] = ARCEUS_SPECIES_INFO(TYPE_ROCK, Rock), - [SPECIES_ARCEUS_BUG] = ARCEUS_SPECIES_INFO(TYPE_BUG, Bug), - [SPECIES_ARCEUS_GHOST] = ARCEUS_SPECIES_INFO(TYPE_GHOST, Ghost), - [SPECIES_ARCEUS_STEEL] = ARCEUS_SPECIES_INFO(TYPE_STEEL, Steel), - [SPECIES_ARCEUS_FIRE] = ARCEUS_SPECIES_INFO(TYPE_FIRE, Fire), - [SPECIES_ARCEUS_WATER] = ARCEUS_SPECIES_INFO(TYPE_WATER, Water), - [SPECIES_ARCEUS_GRASS] = ARCEUS_SPECIES_INFO(TYPE_GRASS, Grass), - [SPECIES_ARCEUS_ELECTRIC] = ARCEUS_SPECIES_INFO(TYPE_ELECTRIC, Electric), - [SPECIES_ARCEUS_PSYCHIC] = ARCEUS_SPECIES_INFO(TYPE_PSYCHIC, Psychic), - [SPECIES_ARCEUS_ICE] = ARCEUS_SPECIES_INFO(TYPE_ICE, Ice), - [SPECIES_ARCEUS_DRAGON] = ARCEUS_SPECIES_INFO(TYPE_DRAGON, Dragon), - [SPECIES_ARCEUS_DARK] = ARCEUS_SPECIES_INFO(TYPE_DARK, Dark), - [SPECIES_ARCEUS_FAIRY] = ARCEUS_SPECIES_INFO(TYPE_FAIRY, Fairy), + [SPECIES_ARCEUS_NORMAL] = ARCEUS_SPECIES_INFO(TYPE_NORMAL, Normal, 1), + [SPECIES_ARCEUS_FIGHTING] = ARCEUS_SPECIES_INFO(TYPE_FIGHTING, Fighting, 1), + [SPECIES_ARCEUS_FLYING] = ARCEUS_SPECIES_INFO(TYPE_FLYING, Flying, 2), + [SPECIES_ARCEUS_POISON] = ARCEUS_SPECIES_INFO(TYPE_POISON, Poison, 2), + [SPECIES_ARCEUS_GROUND] = ARCEUS_SPECIES_INFO(TYPE_GROUND, Ground, 1), + [SPECIES_ARCEUS_ROCK] = ARCEUS_SPECIES_INFO(TYPE_ROCK, Rock, 2), + [SPECIES_ARCEUS_BUG] = ARCEUS_SPECIES_INFO(TYPE_BUG, Bug, 1), + [SPECIES_ARCEUS_GHOST] = ARCEUS_SPECIES_INFO(TYPE_GHOST, Ghost, 2), + [SPECIES_ARCEUS_STEEL] = ARCEUS_SPECIES_INFO(TYPE_STEEL, Steel, 0), + [SPECIES_ARCEUS_FIRE] = ARCEUS_SPECIES_INFO(TYPE_FIRE, Fire, 0), + [SPECIES_ARCEUS_WATER] = ARCEUS_SPECIES_INFO(TYPE_WATER, Water, 0), + [SPECIES_ARCEUS_GRASS] = ARCEUS_SPECIES_INFO(TYPE_GRASS, Grass, 1), + [SPECIES_ARCEUS_ELECTRIC] = ARCEUS_SPECIES_INFO(TYPE_ELECTRIC, Electric, 3), + [SPECIES_ARCEUS_PSYCHIC] = ARCEUS_SPECIES_INFO(TYPE_PSYCHIC, Psychic, 1), + [SPECIES_ARCEUS_ICE] = ARCEUS_SPECIES_INFO(TYPE_ICE, Ice, 0), + [SPECIES_ARCEUS_DRAGON] = ARCEUS_SPECIES_INFO(TYPE_DRAGON, Dragon, 0), + [SPECIES_ARCEUS_DARK] = ARCEUS_SPECIES_INFO(TYPE_DARK, Dark, 0), + [SPECIES_ARCEUS_FAIRY] = ARCEUS_SPECIES_INFO(TYPE_FAIRY, Fairy, 0), #endif //P_FAMILY_ARCEUS #ifdef __INTELLISENSE__