diff --git a/graphics/pokemon/mimikyu/back_busted.png b/graphics/pokemon/mimikyu/back_busted.png new file mode 100644 index 0000000000..732fe12341 Binary files /dev/null and b/graphics/pokemon/mimikyu/back_busted.png differ diff --git a/graphics/pokemon/mimikyu/front_busted.png b/graphics/pokemon/mimikyu/front_busted.png new file mode 100644 index 0000000000..c9c36c1f4e Binary files /dev/null and b/graphics/pokemon/mimikyu/front_busted.png differ diff --git a/graphics/pokemon/mimikyu/icon_busted.png b/graphics/pokemon/mimikyu/icon_busted.png new file mode 100644 index 0000000000..9a1cf38c4a Binary files /dev/null and b/graphics/pokemon/mimikyu/icon_busted.png differ diff --git a/graphics/pokemon/mimikyu/normal_busted.pal b/graphics/pokemon/mimikyu/normal_busted.pal new file mode 100644 index 0000000000..9866373341 --- /dev/null +++ b/graphics/pokemon/mimikyu/normal_busted.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +152 208 160 +96 88 56 +16 16 16 +240 224 168 +64 64 64 +176 168 120 +224 136 0 +72 48 24 +176 120 64 +128 88 48 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/mimikyu/shiny_busted.pal b/graphics/pokemon/mimikyu/shiny_busted.pal new file mode 100644 index 0000000000..8e78d55f76 --- /dev/null +++ b/graphics/pokemon/mimikyu/shiny_busted.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +152 208 160 +128 96 80 +16 16 16 +216 216 192 +56 56 72 +168 160 144 +112 128 128 +72 64 48 +152 128 104 +96 88 72 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/include/constants/species.h b/include/constants/species.h index 486140035c..6bca617af4 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -908,8 +908,9 @@ #define SPECIES_HOOPA_UNBOUND 898 #define SPECIES_MINIOR_CORE 899 #define SPECIES_WISHIWASHI_SCHOOL 900 +#define SPECIES_MIMIKYU_BUSTED 901 -#define SPECIES_EGG 901 +#define SPECIES_EGG 902 #define NUM_SPECIES SPECIES_EGG // Unown forms, not actual species diff --git a/include/graphics.h b/include/graphics.h index 489c9c9a85..8b30f17e15 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3705,6 +3705,10 @@ extern const u32 gMonFrontPic_KyuremWhite[]; extern const u32 gMonBackPic_KyuremWhite[]; extern const u32 gMonPalette_KyuremWhite[]; extern const u32 gMonShinyPalette_KyuremWhite[]; +extern const u32 gMonFrontPic_MimikyuBusted[]; +extern const u32 gMonBackPic_MimikyuBusted[]; +extern const u32 gMonPalette_MimikyuBusted[]; +extern const u32 gMonShinyPalette_MimikyuBusted[]; extern const u8 gMonIcon_QuestionMark[]; extern const u8 gMonIcon_Bulbasaur[]; @@ -4637,6 +4641,7 @@ extern const u8 gMonIcon_MiniorCore[]; extern const u8 gMonIcon_WishiwashiSchool[]; extern const u8 gMonIcon_KyuremBlack[]; extern const u8 gMonIcon_KyuremWhite[]; +extern const u8 gMonIcon_MimikyuBusted[]; extern const u8 gMonFootprint_QuestionMark[]; extern const u8 gMonFootprint_Bulbasaur[]; diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index ab20dc3c09..c0697da920 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -3668,6 +3668,10 @@ const u32 gMonFrontPic_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/anim_ const u32 gMonBackPic_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/back_white.4bpp.lz"); const u32 gMonPalette_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/normal_white.gbapal.lz"); const u32 gMonShinyPalette_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/shiny_white.gbapal.lz"); +const u32 gMonFrontPic_MimikyuBusted[] = INCBIN_U32("graphics/pokemon/mimikyu/front_busted.4bpp.lz"); +const u32 gMonBackPic_MimikyuBusted[] = INCBIN_U32("graphics/pokemon/mimikyu/back_busted.4bpp.lz"); +const u32 gMonPalette_MimikyuBusted[] = INCBIN_U32("graphics/pokemon/mimikyu/normal_busted.gbapal.lz"); +const u32 gMonShinyPalette_MimikyuBusted[] = INCBIN_U32("graphics/pokemon/mimikyu/shiny_busted.gbapal.lz"); const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/icon.4bpp"); const u8 gMonIcon_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/icon.4bpp"); @@ -4600,6 +4604,7 @@ const u8 gMonIcon_MiniorCore[] = INCBIN_U8("graphics/pokemon/minior/icon_core.4b const u8 gMonIcon_WishiwashiSchool[] = INCBIN_U8("graphics/pokemon/wishiwashi/icon_school.4bpp"); const u8 gMonIcon_KyuremBlack[] = INCBIN_U8("graphics/pokemon/kyurem/icon_black.4bpp"); const u8 gMonIcon_KyuremWhite[] = INCBIN_U8("graphics/pokemon/kyurem/icon_white.4bpp"); +const u8 gMonIcon_MimikyuBusted[] = INCBIN_U8("graphics/pokemon/mimikyu/icon_busted.4bpp"); const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/footprint.1bpp"); const u8 gMonFootprint_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/footprint.1bpp"); diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index fc09539d2a..a0308fc7f7 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -22476,4 +22476,29 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SCHOOLING, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, }, + + [SPECIES_MIMIKYU_BUSTED] = + { + .baseHP = 55, + .baseAttack = 90, + .baseDefense = 80, + .baseSpeed = 96, + .baseSpAttack = 50, + .baseSpDefense = 105, + .type1 = TYPE_GHOST, + .type2 = TYPE_FAIRY, + .catchRate = 45, + .expYield = 167, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item2 = ITEM_NONE, // ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .abilities = {ABILITY_DISGUISE, ABILITY_NONE}, + .bodyColor = BODY_COLOR_YELLOW, + }, }; diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h index 264d6c7b17..879cce2c85 100644 --- a/src/data/pokemon/level_up_learnset_pointers.h +++ b/src/data/pokemon/level_up_learnset_pointers.h @@ -904,4 +904,5 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_HOOPA_UNBOUND] = sHoopaLevelUpLearnset, [SPECIES_MINIOR_CORE] = sMiniorLevelUpLearnset, [SPECIES_WISHIWASHI_SCHOOL] = sWishiwashiLevelUpLearnset, + [SPECIES_MIMIKYU_BUSTED] = sMimikyuLevelUpLearnset, }; diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index 94cde813e2..2813774170 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -4589,4 +4589,9 @@ const struct MonCoords gMonBackPicCoords[] = .size = 0x66, .y_offset = 0x3, }, + [SPECIES_MIMIKYU_BUSTED] = + { + .size = 0x77, + .y_offset = 0xF + }, }; diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index dae54c3046..ba1b0d8cdb 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -905,6 +905,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(WISHIWASHI_SCHOOL, gMonBackPic_WishiwashiSchool), SPECIES_SPRITE(KYUREM_BLACK, gMonBackPic_KyuremBlack), SPECIES_SPRITE(KYUREM_WHITE, gMonBackPic_KyuremWhite), + SPECIES_SPRITE(MIMIKYU_BUSTED, gMonBackPic_MimikyuBusted), SPECIES_SPRITE(UNOWN_A, gMonBackPic_UnownA), SPECIES_SPRITE(UNOWN_B, gMonBackPic_UnownB), diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 77438983bd..e1e92486bf 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -8386,6 +8386,12 @@ static const union AnimCmd sAnim_KYUREM_WHITE_1[] = ANIMCMD_END, }; +static const union AnimCmd sAnim_MIMIKYU_BUSTED_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + static const union AnimCmd *const sAnims_NONE[] ={ sAnim_GeneralFrame0, sAnim_NONE_1, @@ -13071,6 +13077,11 @@ static const union AnimCmd *const sAnims_KYUREM_WHITE[] ={ sAnim_KYUREM_WHITE_1, }; +static const union AnimCmd *const sAnims_MIMIKYU_BUSTED[] ={ + sAnim_GeneralFrame0, + sAnim_MIMIKYU_BUSTED_1, +}; + #define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name #define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims @@ -13978,5 +13989,6 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(WISHIWASHI_SCHOOL), ANIM_CMD(KYUREM_BLACK), ANIM_CMD(KYUREM_WHITE), + ANIM_CMD(MIMIKYU_BUSTED), }; diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index 40359a9519..f84990ca94 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -4589,4 +4589,9 @@ const struct MonCoords gMonFrontPicCoords[] = .size = 0x87, .y_offset = 0x0, }, + [SPECIES_MIMIKYU_BUSTED] = + { + .size = 0x45, + .y_offset = 0x0C, + }, }; diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index 62874427ff..89e743b948 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -905,6 +905,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(WISHIWASHI_SCHOOL, gMonFrontPic_WishiwashiSchool), SPECIES_SPRITE(KYUREM_BLACK, gMonFrontPic_KyuremBlack), SPECIES_SPRITE(KYUREM_WHITE, gMonFrontPic_KyuremWhite), + SPECIES_SPRITE(MIMIKYU_BUSTED, gMonFrontPic_MimikyuBusted), SPECIES_SPRITE(UNOWN_A, gMonFrontPic_UnownA), SPECIES_SPRITE(UNOWN_B, gMonFrontPic_UnownB), diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index ade16329b8..0410bf0d5f 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -905,6 +905,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(WISHIWASHI_SCHOOL, gMonPalette_WishiwashiSchool), SPECIES_PAL(KYUREM_BLACK, gMonPalette_KyuremBlack), SPECIES_PAL(KYUREM_WHITE, gMonPalette_KyuremWhite), + SPECIES_PAL(MIMIKYU_BUSTED, gMonPalette_MimikyuBusted), SPECIES_PAL(UNOWN_A, gMonPalette_Unown), SPECIES_PAL(UNOWN_B, gMonPalette_Unown), diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index b7d336b01e..3fe905c996 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -905,6 +905,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(WISHIWASHI_SCHOOL, gMonShinyPalette_WishiwashiSchool), SPECIES_SHINY_PAL(KYUREM_BLACK, gMonShinyPalette_KyuremBlack), SPECIES_SHINY_PAL(KYUREM_WHITE, gMonShinyPalette_KyuremWhite), + SPECIES_SHINY_PAL(MIMIKYU_BUSTED, gMonShinyPalette_MimikyuBusted), SPECIES_SHINY_PAL(UNOWN_A, gMonShinyPalette_Unown), SPECIES_SHINY_PAL(UNOWN_B, gMonShinyPalette_Unown), diff --git a/src/data/text/species_names.h b/src/data/text/species_names.h index 0a55851b63..79f8b0274f 100644 --- a/src/data/text/species_names.h +++ b/src/data/text/species_names.h @@ -903,4 +903,5 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_HOOPA_UNBOUND] = _("Hoopa"), [SPECIES_MINIOR_CORE] = _("Minior"), [SPECIES_WISHIWASHI_SCHOOL] = _("Wishiwashi"), + [SPECIES_MIMIKYU_BUSTED] = _("Mimikyu"), }; diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 624fc7a5b5..d4eff9ac10 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -927,6 +927,7 @@ const u8 *const gMonIconTable[] = [SPECIES_WISHIWASHI_SCHOOL] = gMonIcon_WishiwashiSchool, [SPECIES_KYUREM_BLACK] = gMonIcon_KyuremBlack, [SPECIES_KYUREM_WHITE] = gMonIcon_KyuremWhite, + [SPECIES_MIMIKYU_BUSTED] = gMonIcon_MimikyuBusted, [SPECIES_UNOWN_A] = gMonIcon_UnownA, [SPECIES_UNOWN_B] = gMonIcon_UnownB, [SPECIES_UNOWN_C] = gMonIcon_UnownC, @@ -1860,6 +1861,7 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_WISHIWASHI_SCHOOL] = 0, [SPECIES_KYUREM_BLACK] = 0, [SPECIES_KYUREM_WHITE] = 0, + [SPECIES_MIMIKYU_BUSTED] = 1, [SPECIES_UNOWN_A ... SPECIES_UNOWN_QMARK] = 0, [SPECIES_EGG] = 1, };