diff --git a/graphics/pokemon/deoxys/anim_front_attack.png b/graphics/pokemon/deoxys/anim_front_attack.png new file mode 100644 index 000000000..f731109ae Binary files /dev/null and b/graphics/pokemon/deoxys/anim_front_attack.png differ diff --git a/graphics/pokemon/deoxys/anim_front_defense.png b/graphics/pokemon/deoxys/anim_front_defense.png new file mode 100644 index 000000000..ee4259be5 Binary files /dev/null and b/graphics/pokemon/deoxys/anim_front_defense.png differ diff --git a/graphics/pokemon/deoxys/anim_front_speed.png b/graphics/pokemon/deoxys/anim_front_speed.png new file mode 100644 index 000000000..c6f490d2f Binary files /dev/null and b/graphics/pokemon/deoxys/anim_front_speed.png differ diff --git a/graphics/pokemon/deoxys/back_attack.png b/graphics/pokemon/deoxys/back_attack.png new file mode 100644 index 000000000..14da9a37f Binary files /dev/null and b/graphics/pokemon/deoxys/back_attack.png differ diff --git a/graphics/pokemon/deoxys/back_defense.png b/graphics/pokemon/deoxys/back_defense.png new file mode 100644 index 000000000..3dbba1a7a Binary files /dev/null and b/graphics/pokemon/deoxys/back_defense.png differ diff --git a/graphics/pokemon/deoxys/back_speed.png b/graphics/pokemon/deoxys/back_speed.png new file mode 100644 index 000000000..80ccd4f99 Binary files /dev/null and b/graphics/pokemon/deoxys/back_speed.png differ diff --git a/graphics/pokemon/deoxys/front_attack.png b/graphics/pokemon/deoxys/front_attack.png new file mode 100644 index 000000000..c61f3adb9 Binary files /dev/null and b/graphics/pokemon/deoxys/front_attack.png differ diff --git a/graphics/pokemon/deoxys/front_defense.png b/graphics/pokemon/deoxys/front_defense.png new file mode 100644 index 000000000..7cd7365bc Binary files /dev/null and b/graphics/pokemon/deoxys/front_defense.png differ diff --git a/graphics/pokemon/deoxys/front_speed.png b/graphics/pokemon/deoxys/front_speed.png new file mode 100644 index 000000000..922acc0b2 Binary files /dev/null and b/graphics/pokemon/deoxys/front_speed.png differ diff --git a/graphics/pokemon/deoxys/icon_attack.png b/graphics/pokemon/deoxys/icon_attack.png new file mode 100644 index 000000000..ae34130ee Binary files /dev/null and b/graphics/pokemon/deoxys/icon_attack.png differ diff --git a/graphics/pokemon/deoxys/icon_defense.png b/graphics/pokemon/deoxys/icon_defense.png new file mode 100644 index 000000000..8c423d14b Binary files /dev/null and b/graphics/pokemon/deoxys/icon_defense.png differ diff --git a/graphics/pokemon/deoxys/icon_speed.png b/graphics/pokemon/deoxys/icon_speed.png new file mode 100644 index 000000000..674b93a9c Binary files /dev/null and b/graphics/pokemon/deoxys/icon_speed.png differ diff --git a/graphics/pokemon/deoxys/normal_attack.pal b/graphics/pokemon/deoxys/normal_attack.pal new file mode 100644 index 000000000..a478fcd11 --- /dev/null +++ b/graphics/pokemon/deoxys/normal_attack.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +248 160 176 +64 40 32 +224 112 64 +160 80 56 +24 24 24 +128 192 192 +72 144 160 +152 112 144 +48 80 96 +96 64 112 +248 248 248 +192 192 208 +88 80 80 +120 120 112 +96 64 48 +168 88 56 diff --git a/graphics/pokemon/deoxys/normal_defense.pal b/graphics/pokemon/deoxys/normal_defense.pal new file mode 100644 index 000000000..b2b609f25 --- /dev/null +++ b/graphics/pokemon/deoxys/normal_defense.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +248 160 176 +64 40 32 +160 80 56 +224 112 64 +96 64 48 +240 176 144 +128 192 192 +72 144 160 +48 80 96 +152 112 144 +24 24 24 +248 248 248 +192 192 208 +96 64 112 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/deoxys/normal_speed.pal b/graphics/pokemon/deoxys/normal_speed.pal new file mode 100644 index 000000000..c3dcd2101 --- /dev/null +++ b/graphics/pokemon/deoxys/normal_speed.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +248 160 176 +48 80 96 +72 144 160 +128 192 192 +64 40 32 +224 112 64 +24 24 24 +160 80 56 +192 192 208 +152 112 144 +248 248 248 +96 64 112 +88 80 80 +120 120 112 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/deoxys/shiny_attack.pal b/graphics/pokemon/deoxys/shiny_attack.pal new file mode 100644 index 000000000..482fda5b7 --- /dev/null +++ b/graphics/pokemon/deoxys/shiny_attack.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +248 160 176 +112 96 16 +248 232 64 +168 168 56 +24 24 24 +112 208 168 +72 160 112 +96 120 192 +56 96 88 +104 8 152 +248 248 248 +192 192 208 +80 80 80 +120 120 112 +96 64 48 +168 88 56 diff --git a/graphics/pokemon/deoxys/shiny_defense.pal b/graphics/pokemon/deoxys/shiny_defense.pal new file mode 100644 index 000000000..c1f34410a --- /dev/null +++ b/graphics/pokemon/deoxys/shiny_defense.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +248 160 176 +112 96 16 +168 168 56 +248 232 64 +96 64 48 +248 248 216 +112 208 168 +72 160 112 +56 96 88 +96 120 192 +24 24 24 +248 248 248 +192 192 208 +104 8 152 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/deoxys/shiny_speed.pal b/graphics/pokemon/deoxys/shiny_speed.pal new file mode 100644 index 000000000..cf9916ec9 --- /dev/null +++ b/graphics/pokemon/deoxys/shiny_speed.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +248 160 176 +56 96 88 +72 160 112 +112 208 168 +112 96 16 +248 232 64 +24 24 24 +168 168 56 +192 192 208 +96 120 192 +248 248 248 +104 8 152 +80 80 80 +120 120 112 +0 0 0 +0 0 0 diff --git a/include/constants/species.h b/include/constants/species.h index 203fad678..89098e6b6 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -913,8 +913,11 @@ #define SPECIES_LYCANROC_DUSK 903 #define SPECIES_ZYGARDE_10 904 #define SPECIES_ZYGARDE_COMPLETE 905 +#define SPECIES_DEOXYS_ATTACK 906 +#define SPECIES_DEOXYS_DEFENSE 907 +#define SPECIES_DEOXYS_SPEED 908 -#define SPECIES_EGG 906 +#define SPECIES_EGG 909 #define NUM_SPECIES SPECIES_EGG // Unown forms, not actual species diff --git a/include/graphics.h b/include/graphics.h index 3ad49f884..a997c7efc 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3725,6 +3725,18 @@ extern const u32 gMonFrontPic_ZygardeComplete[]; extern const u32 gMonBackPic_ZygardeComplete[]; extern const u32 gMonPalette_ZygardeComplete[]; extern const u32 gMonShinyPalette_ZygardeComplete[]; +extern const u32 gMonFrontPic_DeoxysAttack[]; +extern const u32 gMonBackPic_DeoxysAttack[]; +extern const u32 gMonPalette_DeoxysAttack[]; +extern const u32 gMonShinyPalette_DeoxysAttack[]; +extern const u32 gMonFrontPic_DeoxysDefense[]; +extern const u32 gMonBackPic_DeoxysDefense[]; +extern const u32 gMonPalette_DeoxysDefense[]; +extern const u32 gMonShinyPalette_DeoxysDefense[]; +extern const u32 gMonFrontPic_DeoxysSpeed[]; +extern const u32 gMonBackPic_DeoxysSpeed[]; +extern const u32 gMonPalette_DeoxysSpeed[]; +extern const u32 gMonShinyPalette_DeoxysSpeed[]; extern const u8 gMonIcon_QuestionMark[]; extern const u8 gMonIcon_Bulbasaur[]; @@ -4662,6 +4674,9 @@ extern const u8 gMonIcon_LycanrocMidnight[]; extern const u8 gMonIcon_LycanrocDusk[]; extern const u8 gMonIcon_Zygarde10[]; extern const u8 gMonIcon_ZygardeComplete[]; +extern const u8 gMonIcon_DeoxysAttack[]; +extern const u8 gMonIcon_DeoxysDefense[]; +extern const u8 gMonIcon_DeoxysSpeed[]; extern const u8 gMonFootprint_QuestionMark[]; extern const u8 gMonFootprint_Bulbasaur[]; diff --git a/sound/cry_tables.inc b/sound/cry_tables.inc index dabd9ce5b..b5fdd0737 100644 --- a/sound/cry_tables.inc +++ b/sound/cry_tables.inc @@ -910,6 +910,9 @@ gCryTable:: @ 869DCF4 cry_not Cry_Lycanroc_Dusk cry_not Cry_Zygarde_10 cry_not Cry_Zygarde_Complete + cry Cry_Deoxys_Attack + cry Cry_Deoxys_Defense + cry Cry_Deoxys_Speed .align 2 gCryTable2:: @ 869EF24 @@ -1822,3 +1825,6 @@ gCryTable2:: @ 869EF24 cry2_not Cry_Lycanroc_Dusk cry2_not Cry_Zygarde_10 cry2_not Cry_Zygarde_Complete + cry2 Cry_Deoxys_Attack + cry2 Cry_Deoxys_Defense + cry2 Cry_Deoxys_Speed diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc index 63c7e65a1..302abd16d 100644 --- a/sound/direct_sound_data.inc +++ b/sound/direct_sound_data.inc @@ -4014,6 +4014,18 @@ Cry_Zygarde_10:: Cry_Zygarde_Complete:: .incbin "sound/direct_sound_samples/cries/cry_not_zygarde_complete.bin" + .align 2 +Cry_Deoxys_Attack:: + .incbin "sound/direct_sound_samples/cries/cry_deoxys.bin" + + .align 2 +Cry_Deoxys_Defense:: + .incbin "sound/direct_sound_samples/cries/cry_deoxys.bin" + + .align 2 +Cry_Deoxys_Speed:: + .incbin "sound/direct_sound_samples/cries/cry_deoxys.bin" + .align 2 DirectSoundWaveData_register_noise:: .incbin "sound/direct_sound_samples/register_noise.bin" diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index f189828b9..b17a8bce1 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -3688,6 +3688,18 @@ const u32 gMonFrontPic_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/ const u32 gMonBackPic_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/back_complete.4bpp.lz"); const u32 gMonPalette_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/normal_complete.gbapal.lz"); const u32 gMonShinyPalette_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/shiny_complete.gbapal.lz"); +const u32 gMonFrontPic_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/anim_front_attack.4bpp.lz"); +const u32 gMonBackPic_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/back_attack.4bpp.lz"); +const u32 gMonPalette_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/normal_attack.gbapal.lz"); +const u32 gMonShinyPalette_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/shiny_attack.gbapal.lz"); +const u32 gMonFrontPic_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/anim_front_defense.4bpp.lz"); +const u32 gMonBackPic_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/back_defense.4bpp.lz"); +const u32 gMonPalette_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/normal_defense.gbapal.lz"); +const u32 gMonShinyPalette_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/shiny_defense.gbapal.lz"); +const u32 gMonFrontPic_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/anim_front_speed.4bpp.lz"); +const u32 gMonBackPic_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/back_speed.4bpp.lz"); +const u32 gMonPalette_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/normal_speed.gbapal.lz"); +const u32 gMonShinyPalette_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/shiny_speed.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"); @@ -4625,6 +4637,9 @@ const u8 gMonIcon_LycanrocMidnight[] = INCBIN_U8("graphics/pokemon/lycanroc/icon const u8 gMonIcon_LycanrocDusk[] = INCBIN_U8("graphics/pokemon/lycanroc/icon_dusk.4bpp"); const u8 gMonIcon_Zygarde10[] = INCBIN_U8("graphics/pokemon/zygarde/icon_10pc.4bpp"); const u8 gMonIcon_ZygardeComplete[] = INCBIN_U8("graphics/pokemon/zygarde/icon_complete.4bpp"); +const u8 gMonIcon_DeoxysAttack[] = INCBIN_U8("graphics/pokemon/deoxys/icon_attack.4bpp"); +const u8 gMonIcon_DeoxysDefense[] = INCBIN_U8("graphics/pokemon/deoxys/icon_defense.4bpp"); +const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/deoxys/icon_speed.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 2dca94a4a..a7eec5556 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -22891,4 +22891,78 @@ const struct BaseStats gBaseStats[] = .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, }, + + [SPECIES_DEOXYS_ATTACK] = + { + .baseHP = 50, + .baseAttack = 180, + .baseDefense = 20, + .baseSpeed = 150, + .baseSpAttack = 180, + .baseSpDefense = 20, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 270, + .evYield_Attack = 2, + .evYield_SpAttack = 1, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_DEOXYS_DEFENSE] = + { + .baseHP = 50, + .baseAttack = 70, + .baseDefense = 160, + .baseSpeed = 90, + .baseSpAttack = 70, + .baseSpDefense = 160, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 270, + .evYield_Defense = 2, + .evYield_SpDefense = 1, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_DEOXYS_SPEED] = + { + .baseHP = 50, + .baseAttack = 95, + .baseDefense = 90, + .baseSpeed = 180, + .baseSpAttack = 95, + .baseSpDefense = 90, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 270, + .evYield_Speed = 3, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, }; diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h index 6b97b8281..e371d7422 100644 --- a/src/data/pokemon/level_up_learnset_pointers.h +++ b/src/data/pokemon/level_up_learnset_pointers.h @@ -909,4 +909,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_LYCANROC_DUSK] = sLycanrocDuskLevelUpLearnset, [SPECIES_ZYGARDE_10] = sZygardeLevelUpLearnset, [SPECIES_ZYGARDE_COMPLETE] = sZygardeLevelUpLearnset, + [SPECIES_DEOXYS_ATTACK] = sDeoxysAttackLevelUpLearnset, + [SPECIES_DEOXYS_DEFENSE] = sDeoxysDefenseLevelUpLearnset, + [SPECIES_DEOXYS_SPEED] = sDeoxysSpeedLevelUpLearnset, }; diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index 3f5491c62..5bc79d3bf 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -16940,3 +16940,59 @@ static const struct LevelUpMove sLycanrocDuskLevelUpLearnset[] = { //LEVEL_UP_MOVE(48, MOVE_STONE_EDGE), LEVEL_UP_END }; + +static const struct LevelUpMove sDeoxysAttackLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(13, MOVE_TELEPORT), + LEVEL_UP_MOVE(19, MOVE_TAUNT), + LEVEL_UP_MOVE(25, MOVE_PURSUIT), + LEVEL_UP_MOVE(31, MOVE_PSYCHIC), + LEVEL_UP_MOVE(37, MOVE_SUPERPOWER), + //LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + //LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(55, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(61, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(67, MOVE_PSYCHO_BOOST), + LEVEL_UP_MOVE(73, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDeoxysDefenseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(13, MOVE_TELEPORT), + LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(25, MOVE_SPIKES), + LEVEL_UP_MOVE(31, MOVE_PSYCHIC), + LEVEL_UP_MOVE(37, MOVE_SNATCH), + //LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + //LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(55, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(55, MOVE_AMNESIA), + LEVEL_UP_MOVE(61, MOVE_RECOVER), + LEVEL_UP_MOVE(67, MOVE_PSYCHO_BOOST), + LEVEL_UP_MOVE(73, MOVE_COUNTER), + LEVEL_UP_MOVE(73, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(13, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(25, MOVE_PURSUIT), + LEVEL_UP_MOVE(31, MOVE_PSYCHIC), + LEVEL_UP_MOVE(37, MOVE_SWIFT), + //LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + //LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(55, MOVE_AGILITY), + LEVEL_UP_MOVE(61, MOVE_RECOVER), + LEVEL_UP_MOVE(67, MOVE_PSYCHO_BOOST), + LEVEL_UP_MOVE(73, MOVE_EXTREME_SPEED), + LEVEL_UP_END +}; diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index a65da06af..681322f6c 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -4624,4 +4624,19 @@ const struct MonCoords gMonBackPicCoords[] = .size = 0x88, .y_offset = 4, }, + [SPECIES_DEOXYS_ATTACK] = + { + .size = 0x87, + .y_offset = 6, + }, + [SPECIES_DEOXYS_DEFENSE] = + { + .size = 0x87, + .y_offset = 9, + }, + [SPECIES_DEOXYS_SPEED] = + { + .size = 0x87, + .y_offset = 6, + }, }; diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index 1cbcffb9f..14c8a29f8 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -910,6 +910,9 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(LYCANROC_DUSK, gMonBackPic_LycanrocDusk), SPECIES_SPRITE(ZYGARDE_10, gMonBackPic_Zygarde10), SPECIES_SPRITE(ZYGARDE_COMPLETE, gMonBackPic_ZygardeComplete), + SPECIES_SPRITE(DEOXYS_ATTACK, gMonBackPic_DeoxysAttack), + SPECIES_SPRITE(DEOXYS_DEFENSE, gMonBackPic_DeoxysDefense), + SPECIES_SPRITE(DEOXYS_SPEED, gMonBackPic_DeoxysSpeed), 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 640fb9bf8..8e971c523 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -8416,6 +8416,24 @@ static const union AnimCmd sAnim_ZYGARDE_COMPLETE_1[] = ANIMCMD_END, }; +static const union AnimCmd sAnim_DEOXYS_ATTACK_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_DEFENSE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_SPEED_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + static const union AnimCmd *const sAnims_NONE[] ={ sAnim_GeneralFrame0, sAnim_NONE_1, @@ -13126,6 +13144,21 @@ static const union AnimCmd *const sAnims_ZYGARDE_COMPLETE[] ={ sAnim_ZYGARDE_COMPLETE_1, }; +static const union AnimCmd *const sAnims_DEOXYS_ATTACK[] ={ + sAnim_GeneralFrame0, + sAnim_DEOXYS_ATTACK_1, +}; + +static const union AnimCmd *const sAnims_DEOXYS_DEFENSE[] ={ + sAnim_GeneralFrame0, + sAnim_DEOXYS_DEFENSE_1, +}; + +static const union AnimCmd *const sAnims_DEOXYS_SPEED[] ={ + sAnim_GeneralFrame0, + sAnim_DEOXYS_SPEED_1, +}; + #define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name #define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims @@ -14038,6 +14071,9 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(LYCANROC_DUSK), ANIM_CMD(ZYGARDE_10), ANIM_CMD(ZYGARDE_COMPLETE), + ANIM_CMD(DEOXYS_ATTACK), + ANIM_CMD(DEOXYS_DEFENSE), + ANIM_CMD(DEOXYS_SPEED), }; #undef ANIM_CMD diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index cf0e88129..2c0c798b8 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -4624,4 +4624,19 @@ const struct MonCoords gMonFrontPicCoords[] = .size = 0x55, .y_offset = 0, }, + [SPECIES_DEOXYS_ATTACK] = + { + .size = 0x88, + .y_offset = 0, + }, + [SPECIES_DEOXYS_DEFENSE] = + { + .size = 0x88, + .y_offset = 0, + }, + [SPECIES_DEOXYS_SPEED] = + { + .size = 0x88, + .y_offset = 0, + }, }; diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index 480133434..a3466ebe9 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -910,6 +910,9 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(LYCANROC_DUSK, gMonFrontPic_LycanrocDusk), SPECIES_SPRITE(ZYGARDE_10, gMonFrontPic_Zygarde10), SPECIES_SPRITE(ZYGARDE_COMPLETE, gMonFrontPic_ZygardeComplete), + SPECIES_SPRITE(DEOXYS_ATTACK, gMonFrontPic_DeoxysAttack), + SPECIES_SPRITE(DEOXYS_DEFENSE, gMonFrontPic_DeoxysDefense), + SPECIES_SPRITE(DEOXYS_SPEED, gMonFrontPic_DeoxysSpeed), 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 0d92de828..bb490ea38 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -910,6 +910,9 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(LYCANROC_DUSK, gMonPalette_LycanrocDusk), SPECIES_PAL(ZYGARDE_10, gMonPalette_Zygarde10), SPECIES_PAL(ZYGARDE_COMPLETE, gMonPalette_ZygardeComplete), + SPECIES_PAL(DEOXYS_ATTACK, gMonPalette_DeoxysAttack), + SPECIES_PAL(DEOXYS_DEFENSE, gMonPalette_DeoxysDefense), + SPECIES_PAL(DEOXYS_SPEED, gMonPalette_DeoxysSpeed), 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 b2915545e..2713581e9 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -910,6 +910,9 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(LYCANROC_DUSK, gMonShinyPalette_LycanrocDusk), SPECIES_SHINY_PAL(ZYGARDE_10, gMonShinyPalette_Zygarde10), SPECIES_SHINY_PAL(ZYGARDE_COMPLETE, gMonShinyPalette_ZygardeComplete), + SPECIES_SHINY_PAL(DEOXYS_ATTACK, gMonShinyPalette_DeoxysAttack), + SPECIES_SHINY_PAL(DEOXYS_DEFENSE, gMonShinyPalette_DeoxysDefense), + SPECIES_SHINY_PAL(DEOXYS_SPEED, gMonShinyPalette_DeoxysSpeed), 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 206637c85..1fe950bc6 100644 --- a/src/data/text/species_names.h +++ b/src/data/text/species_names.h @@ -908,4 +908,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_LYCANROC_DUSK] = _("Lycanroc"), [SPECIES_ZYGARDE_10] = _("Zygarde"), [SPECIES_ZYGARDE_COMPLETE] = _("Zygarde"), + [SPECIES_DEOXYS_ATTACK] = _("Deoxys"), + [SPECIES_DEOXYS_DEFENSE] = _("Deoxys"), + [SPECIES_DEOXYS_SPEED] = _("Deoxys"), }; diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 18c1bf78b..8efecfaf9 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -931,6 +931,9 @@ const u8 *const gMonIconTable[] = [SPECIES_LYCANROC_DUSK] = gMonIcon_LycanrocDusk, [SPECIES_ZYGARDE_10] = gMonIcon_Zygarde10, [SPECIES_ZYGARDE_COMPLETE] = gMonIcon_ZygardeComplete, + [SPECIES_DEOXYS_ATTACK] = gMonIcon_DeoxysAttack, + [SPECIES_DEOXYS_DEFENSE] = gMonIcon_DeoxysDefense, + [SPECIES_DEOXYS_SPEED] = gMonIcon_DeoxysSpeed, [SPECIES_UNOWN_A] = gMonIcon_UnownA, [SPECIES_UNOWN_B] = gMonIcon_UnownB, [SPECIES_UNOWN_C] = gMonIcon_UnownC,