From 3977b66c91370fff6f49ee73af564a9b18bcf252 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sun, 19 Jan 2025 22:45:26 +0100 Subject: [PATCH 01/27] Remove redundant line in Cmd_setcharge (#6053) --- src/battle_script_commands.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 42b1b86c84..554ec7b6c5 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -14146,7 +14146,6 @@ static void Cmd_setcharge(void) gDisableStructs[battler].chargeTimer = 2; else gDisableStructs[battler].chargeTimer = 0; - gBattlescriptCurrInstr++; gBattlescriptCurrInstr = cmd->nextInstr; } From 3cdcb4b282c31cf6ca6f90de3c50524ed27770f6 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 20 Jan 2025 02:14:12 -0300 Subject: [PATCH 02/27] Moved front animations frames to gSpeciesInfo (#5605) Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- src/data/pokemon/species_info.h | 5 +- .../pokemon/species_info/gen_1_families.h | 1681 +- .../pokemon/species_info/gen_2_families.h | 736 +- .../pokemon/species_info/gen_3_families.h | 1343 +- .../pokemon/species_info/gen_4_families.h | 660 +- .../pokemon/species_info/gen_5_families.h | 1317 +- .../pokemon/species_info/gen_6_families.h | 482 +- .../pokemon/species_info/gen_7_families.h | 361 +- .../pokemon/species_info/gen_8_families.h | 282 +- .../pokemon/species_info/gen_9_families.h | 250 +- .../species_info/shared_front_pic_anims.h | 448 + src/data/pokemon_graphics/front_pic_anims.h | 12826 ---------------- src/pokemon.c | 1 - 13 files changed, 6326 insertions(+), 14066 deletions(-) create mode 100644 src/data/pokemon/species_info/shared_front_pic_anims.h delete mode 100644 src/data/pokemon_graphics/front_pic_anims.h diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index 864fdc5297..226689701d 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -1,10 +1,13 @@ #include "constants/abilities.h" #include "species_info/shared_dex_text.h" +#include "species_info/shared_front_pic_anims.h" // Macros for ease of use. #define EVOLUTION(...) (const struct Evolution[]) { __VA_ARGS__, { EVOLUTIONS_END }, } +#define ANIM_FRAMES(...) (const union AnimCmd *const[]) { sAnim_GeneralFrame0, (const union AnimCmd[]) { __VA_ARGS__ ANIMCMD_END, }, } + #if P_FOOTPRINTS #define FOOTPRINT(sprite) .footprint = gMonFootprint_## sprite, #else @@ -145,7 +148,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .frontPic = gMonFrontPic_CircledQuestionMark, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_None, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CircledQuestionMark, .backPicSize = MON_COORDS_SIZE(40, 40), diff --git a/src/data/pokemon/species_info/gen_1_families.h b/src/data/pokemon/species_info/gen_1_families.h index 314b5bd73f..221b37a655 100644 --- a/src/data/pokemon/species_info/gen_1_families.h +++ b/src/data/pokemon/species_info/gen_1_families.h @@ -41,7 +41,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Bulbasaur, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 13, - .frontAnimFrames = sAnims_Bulbasaur, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Bulbasaur, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 32) : MON_COORDS_SIZE(56, 40), @@ -105,7 +109,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Ivysaur, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, - .frontAnimFrames = sAnims_Ivysaur, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Ivysaur, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), @@ -174,7 +182,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Venusaur, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Venusaur, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_ROTATE_UP_SLAM_DOWN, .backPic = gMonBackPic_Venusaur, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), @@ -250,7 +262,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_VenusaurMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_VenusaurMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_VenusaurMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -309,7 +321,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_VenusaurGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_VenusaurGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_VenusaurGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -368,7 +380,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Charmander, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, - .frontAnimFrames = sAnims_Charmander, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Charmander, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), @@ -432,7 +448,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Charmeleon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, - .frontAnimFrames = sAnims_Charmeleon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Charmeleon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), @@ -500,7 +520,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Charizard, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, - .frontAnimFrames = sAnims_Charizard, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Charizard, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), @@ -563,7 +586,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_CharizardMegaX, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_CharizardMegaX, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CharizardMegaX, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -619,7 +642,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_CharizardMegaY, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_CharizardMegaY, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CharizardMegaY, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -677,7 +700,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_CharizardGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_CharizardGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CharizardGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -736,7 +759,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Squirtle, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 11, - .frontAnimFrames = sAnims_Squirtle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_V_JUMPS_BIG, .backPic = gMonBackPic_Squirtle, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), @@ -800,7 +828,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Wartortle, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, - .frontAnimFrames = sAnims_Wartortle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Wartortle, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), @@ -868,7 +900,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Blastoise, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 4, - .frontAnimFrames = sAnims_Blastoise, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 50 : 20, .backPic = gMonBackPic_Blastoise, @@ -933,7 +970,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_BlastoiseMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_BlastoiseMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_BlastoiseMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -991,7 +1028,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_BlastoiseGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_BlastoiseGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_BlastoiseGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1050,7 +1087,16 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Caterpie, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, - .frontAnimFrames = sAnims_Caterpie, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Caterpie, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), @@ -1113,7 +1159,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Metapod, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 14, - .frontAnimFrames = sAnims_Metapod, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Metapod, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 48), @@ -1188,7 +1237,21 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Butterfree, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, - .frontAnimFrames = sAnims_Butterfree, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_SLIDE_WOBBLE : ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 12, .backPic = gMonBackPic_Butterfree, @@ -1267,7 +1330,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_ButterfreeGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_ButterfreeGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 7, .backPic = gMonBackPic_ButterfreeGmax, @@ -1327,7 +1390,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Weedle, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 13, - .frontAnimFrames = sAnims_Weedle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .frontAnimDelay = 10, .backPic = gMonBackPic_Weedle, @@ -1391,7 +1462,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Kakuna, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(24, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, - .frontAnimFrames = sAnims_Kakuna, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_GLOW_ORANGE, .frontAnimDelay = 20, .backPic = gMonBackPic_Kakuna, @@ -1467,7 +1550,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Beedrill, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 5, - .frontAnimFrames = sAnims_Beedrill, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_VIBRATE : ANIM_ZIGZAG_SLOW, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, .backPic = gMonBackPic_Beedrill, @@ -1534,7 +1625,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_BeedrillMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_BeedrillMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, .backPic = gMonBackPic_BeedrillMega, @@ -1598,7 +1689,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Pidgey, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, - .frontAnimFrames = sAnims_Pidgey, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SLIDE_SLOW : ANIM_V_STRETCH, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 16 : 0, .backPic = gMonBackPic_Pidgey, @@ -1666,7 +1761,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Pidgeotto, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 6, - .frontAnimFrames = sAnims_Pidgeotto, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_STRETCH, .frontAnimDelay = 25, .backPic = gMonBackPic_Pidgeotto, @@ -1743,7 +1844,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Pidgeot, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 2, - .frontAnimFrames = sAnims_Pidgeot, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_FRONT_FLIP : ANIM_GROW_VIBRATE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, .backPic = gMonBackPic_Pidgeot, @@ -1807,7 +1911,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PidgeotMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_PidgeotMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_PidgeotMega, @@ -1867,7 +1971,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Rattata, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 32) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 13, - .frontAnimFrames = sAnims_Rattata, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_RAPID_H_HOPS : ANIM_H_JUMPS, .backPic = gMonBackPic_Rattata, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 56), @@ -1943,7 +2052,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Raticate, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 6, - .frontAnimFrames = sAnims_Raticate, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_FIGURE_8 : ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, .backPic = gMonBackPic_Raticate, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 48), @@ -2019,7 +2141,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_RattataAlola, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_RattataAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_RattataAlola, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2082,7 +2204,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_RaticateAlola, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_RaticateAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_RaticateAlola, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -2142,7 +2264,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_RaticateAlola, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_RaticateAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_RaticateAlola, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -2211,7 +2333,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Spearow, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, - .frontAnimFrames = sAnims_Spearow, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_RISING_WOBBLE : ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Spearow, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 56), @@ -2275,7 +2402,16 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Fearow, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Fearow, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ), .frontAnimId = ANIM_FIGURE_8, .frontAnimDelay = 2, .enemyMonElevation = 6, @@ -2340,7 +2476,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Ekans, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, - .frontAnimFrames = sAnims_Ekans, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_V_STRETCH, .frontAnimDelay = 30, .backPic = gMonBackPic_Ekans, @@ -2410,7 +2553,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Arbok, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 1, - .frontAnimFrames = sAnims_Arbok, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Arbok, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), @@ -2471,7 +2618,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Pichu, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 14, - .frontAnimFrames = sAnims_Pichu, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_JUMPS_BIG, .backPic = gMonBackPic_Pichu, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), @@ -2532,7 +2685,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PichuSpikyEared, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_PichuSpikyEared, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_PichuSpikyEared, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -2602,7 +2763,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Pikachu, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Pikachu, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 60), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_FLASH_YELLOW, .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 0 : 25, .backPic = gMonBackPic_Pikachu, @@ -2682,7 +2848,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuCosplay, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuCosplay, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuCosplay, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2733,7 +2899,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuRockStar, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuRockStar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuRockStar, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2785,7 +2951,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuBelle, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuBelle, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuBelle, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2837,7 +3003,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuPopStar, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuPopStar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuPopStar, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2888,7 +3054,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuPhD, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuPhD, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuPhD, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2939,7 +3105,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuLibre, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuLibre, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuLibre, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2998,7 +3164,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuOriginal, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuOriginal, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuOriginal, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3053,7 +3219,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuHoenn, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuHoenn, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuHoenn, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3108,7 +3274,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuSinnoh, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuSinnoh, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuSinnoh, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3163,7 +3329,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuUnova, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuUnova, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuUnova, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3218,7 +3384,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuKalos, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuKalos, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuKalos, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3273,7 +3439,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuAlola, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuAlola, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3329,7 +3495,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuPartner, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuPartner, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuPartner, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3384,7 +3550,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuWorld, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuWorld, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuWorld, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3442,7 +3608,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PikachuGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_PikachuGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PikachuGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3496,7 +3662,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Pikachu, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Pikachu, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 60), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_FLASH_YELLOW, .frontAnimDelay = 25, .backPic = gMonBackPic_Pikachu, @@ -3583,7 +3754,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Raichu, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, - .frontAnimFrames = sAnims_Raichu, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Raichu, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), @@ -3656,7 +3833,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_RaichuAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_RaichuAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 4, .backPic = gMonBackPic_RaichuAlola, @@ -3724,7 +3901,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Sandshrew, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, - .frontAnimFrames = sAnims_Sandshrew, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONCAVE_FAST_SHORT, .backPic = gMonBackPic_Sandshrew, .backPicSize = MON_COORDS_SIZE(48, 40), @@ -3789,7 +3972,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Sandslash, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 6, - .frontAnimFrames = sAnims_Sandslash, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_H_SHAKE, .backPic = gMonBackPic_Sandslash, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3853,7 +4042,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_SandshrewAlola, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_SandshrewAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SandshrewAlola, .backPicSize = MON_COORDS_SIZE(56, 40), @@ -3919,7 +4108,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_SandslashAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_SandslashAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SandslashAlola, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3989,7 +4178,17 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_NidoranF, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 13, - .frontAnimFrames = sAnims_NidoranF, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .frontAnimDelay = 28, .backPic = gMonBackPic_NidoranF, @@ -4057,7 +4256,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Nidorina, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, - .frontAnimFrames = sAnims_Nidorina, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Nidorina, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 56), @@ -4131,7 +4333,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Nidoqueen, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 2, - .frontAnimFrames = sAnims_Nidoqueen, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Nidoqueen, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), @@ -4196,7 +4401,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_NidoranM, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_NidoranM, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_NidoranM, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), @@ -4263,7 +4472,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Nidorino, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, - .frontAnimFrames = sAnims_Nidorino, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 23), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SHRINK_GROW : ANIM_V_STRETCH, .backPic = gMonBackPic_Nidorino, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -4337,7 +4550,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Nidoking, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Nidoking, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE, .frontAnimDelay = 25, .backPic = gMonBackPic_Nidoking, @@ -4414,7 +4632,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Cleffa, .frontPicSize = MON_COORDS_SIZE(32, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 18, - .frontAnimFrames = sAnims_Cleffa, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Cleffa, .backPicSize = MON_COORDS_SIZE(48, 40), @@ -4484,7 +4707,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Clefairy, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, - .frontAnimFrames = sAnims_Clefairy, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Clefairy, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 40), @@ -4560,7 +4787,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Clefable, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, - .frontAnimFrames = sAnims_Clefable, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 48), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Clefable, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), @@ -4624,7 +4855,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Vulpix, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 11, - .frontAnimFrames = sAnims_Vulpix, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Vulpix, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), @@ -4690,7 +4927,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Ninetales, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Ninetales, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Ninetales, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), @@ -4754,7 +4997,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_VulpixAlola, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_VulpixAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_VulpixAlola, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4821,7 +5064,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_NinetalesAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_NinetalesAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_NinetalesAlola, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4899,7 +5142,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Igglybuff, .frontPicSize = MON_COORDS_SIZE(32, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 17, - .frontAnimFrames = sAnims_Igglybuff, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_SWING_CONCAVE_FAST, .backPic = gMonBackPic_Igglybuff, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 40), @@ -4969,7 +5218,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Jigglypuff, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 14, - .frontAnimFrames = sAnims_Jigglypuff, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, .backPic = gMonBackPic_Jigglypuff, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 48), @@ -5045,7 +5300,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Wigglytuff, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 4, - .frontAnimFrames = sAnims_Wigglytuff, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Wigglytuff, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 64), @@ -5108,7 +5369,21 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Zubat, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 16, - .frontAnimFrames = sAnims_Zubat, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 16, .backPic = gMonBackPic_Zubat, @@ -5184,7 +5459,27 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Golbat, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 7, - .frontAnimFrames = sAnims_Golbat, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .backPic = gMonBackPic_Golbat, @@ -5266,7 +5561,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Crobat, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 6, - .frontAnimFrames = sAnims_Crobat, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 9, .backPic = gMonBackPic_Crobat, @@ -5332,7 +5645,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Oddish, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Oddish, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 6), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Oddish, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), @@ -5396,7 +5717,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Gloom, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, - .frontAnimFrames = sAnims_Gloom, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 21), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Gloom, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), @@ -5480,7 +5806,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Vileplume, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 7, - .frontAnimFrames = sAnims_Vileplume, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 38), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW : ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Vileplume, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -5563,7 +5892,24 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Bellossom, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 12, - .frontAnimFrames = sAnims_Bellossom, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Bellossom, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -5633,7 +5979,24 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Paras, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Paras, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .frontAnimDelay = 10, .backPic = gMonBackPic_Paras, @@ -5704,7 +6067,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Parasect, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, - .frontAnimFrames = sAnims_Parasect, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SHAKE, .frontAnimDelay = 45, .backPic = gMonBackPic_Parasect, @@ -5772,7 +6142,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Venonat, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Venonat, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 35), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_JUMPS_H_JUMPS, .frontAnimDelay = 20, .backPic = gMonBackPic_Venonat, @@ -5842,7 +6219,30 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Venomoth, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 9, - .frontAnimFrames = sAnims_Venomoth, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ), .frontAnimId = ANIM_ZIGZAG_SLOW, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 16, .backPic = gMonBackPic_Venomoth, @@ -5918,7 +6318,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Diglett, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(32, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 17, - .frontAnimFrames = sAnims_Diglett, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .frontAnimDelay = 25, .backPic = gMonBackPic_Diglett, @@ -5984,7 +6388,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Dugtrio, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 11, - .frontAnimFrames = sAnims_Dugtrio, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE_SLOW, .frontAnimDelay = 35, .backPic = gMonBackPic_Dugtrio, @@ -6049,7 +6464,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_DiglettAlola, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 19, - .frontAnimFrames = sAnims_DiglettAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DiglettAlola, .backPicSize = MON_COORDS_SIZE(40, 48), @@ -6116,7 +6531,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_DugtrioAlola, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_DugtrioAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DugtrioAlola, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -6187,7 +6602,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Meowth, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, - .frontAnimFrames = sAnims_Meowth, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_JUMPS_SMALL, .frontAnimDelay = 40, .backPic = gMonBackPic_Meowth, @@ -6258,7 +6680,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Persian, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 4, - .frontAnimFrames = sAnims_Persian, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .frontAnimDelay = 20, .backPic = gMonBackPic_Persian, @@ -6323,7 +6748,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MeowthAlola, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_MeowthAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MeowthAlola, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6389,7 +6814,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PersianAlola, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_PersianAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PersianAlola, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6454,7 +6879,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MeowthGalar, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_MeowthGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MeowthGalar, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6518,7 +6943,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Perrserker, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Perrserker, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Perrserker, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6582,7 +7007,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MeowthGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_MeowthGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MeowthGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6642,7 +7067,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Psyduck, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 11, - .frontAnimFrames = sAnims_Psyduck, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Psyduck, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 48), @@ -6705,7 +7136,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Golduck, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 4, - .frontAnimFrames = sAnims_Golduck, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SHAKE_SLOW, .backPic = gMonBackPic_Golduck, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), @@ -6772,7 +7209,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Mankey, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, - .frontAnimFrames = sAnims_Mankey, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .frontAnimDelay = 20, .backPic = gMonBackPic_Mankey, @@ -6840,7 +7284,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Primeape, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 6, - .frontAnimFrames = sAnims_Primeape, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL : ANIM_BOUNCE_ROTATE_TO_SIDES, .backPic = gMonBackPic_Primeape, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), @@ -6903,7 +7355,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Annihilape, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Annihilape, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Annihilape, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6967,7 +7419,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Growlithe, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 9, - .frontAnimFrames = sAnims_Growlithe, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BACK_AND_LUNGE : ANIM_V_STRETCH, .frontAnimDelay = 30, .backPic = gMonBackPic_Growlithe, @@ -7032,7 +7491,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Arcanine, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Arcanine, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 38), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_VIBRATE : ANIM_V_SHAKE, .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 40 : 8, .backPic = gMonBackPic_Arcanine, @@ -7096,7 +7558,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_GrowlitheHisui, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_GrowlitheHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GrowlitheHisui, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -7160,7 +7622,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_ArcanineHisui, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_ArcanineHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ArcanineHisui, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7227,7 +7689,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Poliwag, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(64, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 19 : 13, - .frontAnimFrames = sAnims_Poliwag, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Poliwag, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(48, 32), @@ -7292,7 +7758,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Poliwhirl, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, - .frontAnimFrames = sAnims_Poliwhirl, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .frontAnimDelay = 5, .backPic = gMonBackPic_Poliwhirl, @@ -7367,7 +7839,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Poliwrath, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, - .frontAnimFrames = sAnims_Poliwrath, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Poliwrath, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -7437,7 +7912,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Politoed, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 4, - .frontAnimFrames = sAnims_Politoed, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .frontAnimDelay = 40, .backPic = gMonBackPic_Politoed, @@ -7521,7 +8003,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Abra, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 10, - .frontAnimFrames = sAnims_Abra, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_JUMPS : ANIM_H_VIBRATE, .backPic = gMonBackPic_Abra, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), @@ -7586,7 +8074,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Kadabra, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Kadabra, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Kadabra, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), @@ -7672,7 +8164,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Alakazam, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 2, - .frontAnimFrames = sAnims_Alakazam, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 54), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Alakazam, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), @@ -7748,7 +8244,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_AlakazamMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_AlakazamMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 7, .backPic = gMonBackPic_AlakazamMega, @@ -7819,7 +8315,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Machop, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, - .frontAnimFrames = sAnims_Machop, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_V_STRETCH, .backPic = gMonBackPic_Machop, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 56), @@ -7888,7 +8390,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Machoke, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 4, - .frontAnimFrames = sAnims_Machoke, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Machoke, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), @@ -7964,7 +8470,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Machamp, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, - .frontAnimFrames = sAnims_Machamp, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Machamp, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), @@ -8033,7 +8547,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MachampGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_MachampGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MachampGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -8092,7 +8606,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Bellsprout, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, - .frontAnimFrames = sAnims_Bellsprout, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_H_JUMPS, .backPic = gMonBackPic_Bellsprout, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 48), @@ -8155,7 +8673,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Weepinbell, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Weepinbell, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONVEX, .frontAnimDelay = 3, .backPic = gMonBackPic_Weepinbell, @@ -8226,7 +8752,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Victreebel, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 6, - .frontAnimFrames = sAnims_Victreebel, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Victreebel, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -8290,7 +8824,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Tentacool, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 7, - .frontAnimFrames = sAnims_Tentacool, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Tentacool, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(64, 48), @@ -8354,7 +8894,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Tentacruel, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Tentacruel, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 19), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 19), + ANIMCMD_FRAME(1, 19), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_V_SLIDE_WOBBLE, .backPic = gMonBackPic_Tentacruel, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -8439,7 +8985,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Geodude, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(64, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 19, - .frontAnimFrames = sAnims_Geodude, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 16 : 10, .backPic = gMonBackPic_Geodude, @@ -8505,7 +9055,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Graveler, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 9, - .frontAnimFrames = sAnims_Graveler, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL : ANIM_V_SHAKE, .backPic = gMonBackPic_Graveler, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 48), @@ -8570,7 +9126,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Golem, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 6, - .frontAnimFrames = sAnims_Golem, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 31), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_ROTATE_UP_SLAM_DOWN, .backPic = gMonBackPic_Golem, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(64, 48), @@ -8634,7 +9196,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_GeodudeAlola, .frontPicSize = MON_COORDS_SIZE(48, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_GeodudeAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 16, .backPic = gMonBackPic_GeodudeAlola, @@ -8701,7 +9263,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_GravelerAlola, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_GravelerAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GravelerAlola, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -8767,7 +9329,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_GolemAlola, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_GolemAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GolemAlola, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -8833,7 +9395,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Ponyta, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, - .frontAnimFrames = sAnims_Ponyta, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_GLOW_ORANGE : ANIM_V_SHAKE, .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 0 : 10, .backPic = gMonBackPic_Ponyta, @@ -8898,7 +9463,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Rapidash, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, - .frontAnimFrames = sAnims_Rapidash, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_CIRCULAR_VIBRATE : ANIM_H_SHAKE, .backPic = gMonBackPic_Rapidash, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), @@ -8961,7 +9530,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PonytaGalar, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_PonytaGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PonytaGalar, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -9026,7 +9595,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_RapidashGalar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_RapidashGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_RapidashGalar, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -9093,7 +9662,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Slowpoke, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 16, - .frontAnimFrames = sAnims_Slowpoke, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Slowpoke, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -9160,7 +9733,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Slowbro, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 4, - .frontAnimFrames = sAnims_Slowbro, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_H_STRETCH, .backPic = gMonBackPic_Slowbro, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -9225,7 +9801,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Slowking, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 64) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Slowking, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Slowking, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 64), @@ -9290,7 +9870,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_SlowbroMega, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SlowbroMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SlowbroMega, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -9348,7 +9928,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_SlowpokeGalar, .frontPicSize = MON_COORDS_SIZE(56, 32), .frontPicYOffset = 19, - .frontAnimFrames = sAnims_SlowpokeGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SlowpokeGalar, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -9415,7 +9995,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_SlowbroGalar, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_SlowbroGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SlowbroGalar, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -9480,7 +10060,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_SlowkingGalar, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SlowkingGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SlowkingGalar, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -9548,7 +10128,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Magnemite, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 24) : MON_COORDS_SIZE(48, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 21 : 20, - .frontAnimFrames = sAnims_Magnemite, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_TUMBLING_FRONT_FLIP_TWICE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 16 : 17, .backPic = gMonBackPic_Magnemite, @@ -9612,7 +10198,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Magneton, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, - .frontAnimFrames = sAnims_Magneton, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ), .frontAnimId = ANIM_FLASH_YELLOW, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, .backPic = gMonBackPic_Magneton, @@ -9684,7 +10278,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Magnezone, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Magnezone, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = 4, .backPic = gMonBackPic_Magnezone, @@ -9760,7 +10360,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Farfetchd, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 7, - .frontAnimFrames = sAnims_Farfetchd, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, .backPic = gMonBackPic_Farfetchd, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), @@ -9826,7 +10439,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_FarfetchdGalar, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_FarfetchdGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_FarfetchdGalar, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -9892,7 +10505,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Sirfetchd, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Sirfetchd, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sirfetchd, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -9957,7 +10570,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Doduo, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 7, - .frontAnimFrames = sAnims_Doduo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE_SLOW, .backPic = gMonBackPic_Doduo, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), @@ -10039,7 +10658,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Dodrio, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Dodrio, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_LUNGE_GROW : ANIM_V_STRETCH, .backPic = gMonBackPic_Dodrio, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -10118,7 +10745,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Seel, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 8, - .frontAnimFrames = sAnims_Seel, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Seel, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 40), @@ -10185,7 +10817,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Dewgong, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 2, - .frontAnimFrames = sAnims_Dewgong, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Dewgong, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), @@ -10249,7 +10885,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Grimer, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 9, - .frontAnimFrames = sAnims_Grimer, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Grimer, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 40), @@ -10315,7 +10957,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Muk, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 7, - .frontAnimFrames = sAnims_Muk, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_DEEP_V_SQUISH_AND_BOUNCE, .frontAnimDelay = 45, .backPic = gMonBackPic_Muk, @@ -10380,7 +11028,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_GrimerAlola, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_GrimerAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GrimerAlola, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -10448,7 +11096,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MukAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_MukAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MukAlola, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -10520,7 +11168,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Shellder, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 13, - .frontAnimFrames = sAnims_Shellder, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_TWIST, .frontAnimDelay = 20, .backPic = gMonBackPic_Shellder, @@ -10590,7 +11243,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Cloyster, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 3, - .frontAnimFrames = sAnims_Cloyster, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_SLIDE_WOBBLE : ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Cloyster, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -10653,7 +11311,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Gastly, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 13, - .frontAnimFrames = sAnims_Gastly, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_GLOW_BLACK : ANIM_SHRINK_GROW, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 4 : 13, .backPic = gMonBackPic_Gastly, @@ -10717,7 +11383,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Haunter, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 13, - .frontAnimFrames = sAnims_Haunter, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_FLICKER_INCREASING, .frontAnimDelay = 23, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 4 : 14, @@ -10794,7 +11466,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Gengar, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 7, - .frontAnimFrames = sAnims_Gengar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_IN_STAGES, .backPic = gMonBackPic_Gengar, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), @@ -10858,7 +11534,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_GengarMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_GengarMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GengarMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -10916,7 +11592,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_GengarGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_GengarGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GengarGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -10975,7 +11651,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Onix, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 3, - .frontAnimFrames = sAnims_Onix, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_RAPID_H_HOPS : ANIM_H_SHAKE, .backPic = gMonBackPic_Onix, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), @@ -11041,7 +11720,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Steelix, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Steelix, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_SHAKE : ANIM_V_SHAKE, .frontAnimDelay = 45, .backPic = gMonBackPic_Steelix, @@ -11119,7 +11804,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_SteelixMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SteelixMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SteelixMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -11183,7 +11868,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Drowzee, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Drowzee, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_CIRCLE_C_CLOCKWISE_SLOW : ANIM_V_STRETCH, .frontAnimDelay = 48, .backPic = gMonBackPic_Drowzee, @@ -11251,7 +11943,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Hypno, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, - .frontAnimFrames = sAnims_Hypno, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .frontAnimDelay = 40, .backPic = gMonBackPic_Hypno, @@ -11327,7 +12027,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Krabby, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 14, - .frontAnimFrames = sAnims_Krabby, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_SLIDE : ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Krabby, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 40), @@ -11391,7 +12098,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Kingler, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 8, - .frontAnimFrames = sAnims_Kingler, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 14), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_ZIGZAG_SLOW : ANIM_V_SHAKE_TWICE, .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 0 : 4, .backPic = gMonBackPic_Kingler, @@ -11457,7 +12167,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_KinglerGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_KinglerGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_KinglerGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -11524,7 +12234,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Voltorb, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 32) : MON_COORDS_SIZE(32, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 19 : 15, - .frontAnimFrames = sAnims_Voltorb, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_SWING_CONCAVE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 10 : 0, .backPic = gMonBackPic_Voltorb, @@ -11588,7 +12304,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Electrode, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, - .frontAnimFrames = sAnims_Electrode, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 34), + ANIMCMD_FRAME(1, 34), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_SHRINK_GROW_VIBRATE_SLOW, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 0, .backPic = gMonBackPic_Electrode, @@ -11652,7 +12373,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_VoltorbHisui, .frontPicSize = MON_COORDS_SIZE(32, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_VoltorbHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_VoltorbHisui, .backPicSize = MON_COORDS_SIZE(48, 32), @@ -11716,7 +12437,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_ElectrodeHisui, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_ElectrodeHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ElectrodeHisui, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -11783,7 +12504,17 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Exeggcute, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 12, - .frontAnimFrames = sAnims_Exeggcute, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Exeggcute, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 32), @@ -11857,7 +12588,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Exeggutor, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Exeggutor, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Exeggutor, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), @@ -11920,7 +12654,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_ExeggutorAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_ExeggutorAlola, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ExeggutorAlola, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -11987,7 +12721,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Cubone, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(56, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 13, - .frontAnimFrames = sAnims_Cubone, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL : ANIM_V_SQUISH_AND_BOUNCE, .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 0 : 30, .backPic = gMonBackPic_Cubone, @@ -12054,7 +12795,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Marowak, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, - .frontAnimFrames = sAnims_Marowak, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES, .backPic = gMonBackPic_Marowak, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), @@ -12114,7 +12862,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MarowakAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_MarowakAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MarowakAlola, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -12174,7 +12922,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MarowakAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_MarowakAlola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MarowakAlola, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -12247,7 +12995,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Tyrogue, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Tyrogue, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Tyrogue, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -12317,7 +13068,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Hitmonlee, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, - .frontAnimFrames = sAnims_Hitmonlee, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Hitmonlee, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 56), @@ -12382,7 +13137,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Hitmonchan, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Hitmonchan, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Hitmonchan, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 56), @@ -12448,7 +13215,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Hitmontop, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 7, - .frontAnimFrames = sAnims_Hitmontop, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 26), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_VIBRATE : ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Hitmontop, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -12513,7 +13286,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Lickitung, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, - .frontAnimFrames = sAnims_Lickitung, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE_SLOW : ANIM_V_STRETCH, .backPic = gMonBackPic_Lickitung, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 40), @@ -12578,7 +13354,17 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Lickilicky, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Lickilicky, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Lickilicky, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -12647,7 +13433,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Koffing, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, - .frontAnimFrames = sAnims_Koffing, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SHRINK_GROW : ANIM_V_SLIDE_WOBBLE_SMALL, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 14, .backPic = gMonBackPic_Koffing, @@ -12718,7 +13510,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Weezing, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 0, - .frontAnimFrames = sAnims_Weezing, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 3, .backPic = gMonBackPic_Weezing, @@ -12784,7 +13582,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_WeezingGalar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_WeezingGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 6, .backPic = gMonBackPic_WeezingGalar, @@ -12851,7 +13649,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Rhyhorn, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 12, - .frontAnimFrames = sAnims_Rhyhorn, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Rhyhorn, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), @@ -12926,7 +13730,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Rhydon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 3, - .frontAnimFrames = sAnims_Rhydon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SHRINK_GROW : ANIM_V_STRETCH, .backPic = gMonBackPic_Rhydon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), @@ -13008,7 +13815,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Rhyperior, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Rhyperior, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Rhyperior, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -13086,7 +13899,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Happiny, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Happiny, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Happiny, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -13152,7 +13969,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Chansey, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Chansey, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE_SLOW : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Chansey, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -13217,7 +14038,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Blissey, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, - .frontAnimFrames = sAnims_Blissey, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Blissey, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 32), @@ -13285,7 +14110,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Tangela, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 12, - .frontAnimFrames = sAnims_Tangela, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 40), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL : ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Tangela, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -13349,7 +14178,15 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Tangrowth, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Tangrowth, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Tangrowth, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -13423,7 +14260,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Kangaskhan, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, - .frontAnimFrames = sAnims_Kangaskhan, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Kangaskhan, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), @@ -13488,7 +14330,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_KangaskhanMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_KangaskhanMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_KangaskhanMega, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -13553,7 +14395,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Horsea, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 14, - .frontAnimFrames = sAnims_Horsea, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_TWIST : ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Horsea, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 40), @@ -13622,7 +14470,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Seadra, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 6, - .frontAnimFrames = sAnims_Seadra, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Seadra, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), @@ -13699,7 +14553,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Kingdra, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 1, - .frontAnimFrames = sAnims_Kingdra, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_CIRCLE_INTO_BG, .backPic = gMonBackPic_Kingdra, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -13764,7 +14624,17 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Goldeen, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 13, - .frontAnimFrames = sAnims_Goldeen, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONVEX : ANIM_H_SLIDE_WOBBLE, .backPic = gMonBackPic_Goldeen, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), @@ -13840,7 +14710,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Seaking, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, - .frontAnimFrames = sAnims_Seaking, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .backPic = gMonBackPic_Seaking, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), @@ -13918,7 +14794,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Staryu, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, - .frontAnimFrames = sAnims_Staryu, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_TWIST_TWICE, .backPic = gMonBackPic_Staryu, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 56), @@ -13982,7 +14864,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Starmie, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Starmie, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_TWIST, .backPic = gMonBackPic_Starmie, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 64), @@ -14054,7 +14942,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MimeJr, .frontPicSize = MON_COORDS_SIZE(32, 56), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_MimeJr, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_MimeJr, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -14123,7 +15018,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MrMime, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, - .frontAnimFrames = sAnims_MrMime, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_MrMime, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), @@ -14187,7 +15089,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MrMimeGalar, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_MrMimeGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MrMimeGalar, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -14251,7 +15153,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MrRime, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_MrRime, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MrRime, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -14319,7 +15221,16 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Scyther, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, - .frontAnimFrames = sAnims_Scyther, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_VIBRATE, .frontAnimDelay = 10, .backPic = gMonBackPic_Scyther, @@ -14400,7 +15311,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Scizor, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, - .frontAnimFrames = sAnims_Scizor, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_H_VIBRATE, .frontAnimDelay = 19, .backPic = gMonBackPic_Scizor, @@ -14475,7 +15389,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_ScizorMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_ScizorMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ScizorMega, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -14534,7 +15448,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Kleavor, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Kleavor, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Kleavor, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -14603,7 +15517,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Smoochum, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(24, 40) : MON_COORDS_SIZE(32, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 13, - .frontAnimFrames = sAnims_Smoochum, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_GROW_VIBRATE, .frontAnimDelay = 40, .backPic = gMonBackPic_Smoochum, @@ -14672,7 +15589,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Jynx, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 9, - .frontAnimFrames = sAnims_Jynx, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Jynx, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 64), @@ -14738,7 +15661,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Elekid, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, - .frontAnimFrames = sAnims_Elekid, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_FLASH_YELLOW, .backPic = gMonBackPic_Elekid, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), @@ -14804,7 +15731,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Electabuzz, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 4, - .frontAnimFrames = sAnims_Electabuzz, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_FLASH_YELLOW : ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, .backPic = gMonBackPic_Electabuzz, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 64), @@ -14875,7 +15808,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Electivire, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Electivire, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GLOW_YELLOW, .backPic = gMonBackPic_Electivire, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -14942,7 +15879,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Magby, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(32, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 11, - .frontAnimFrames = sAnims_Magby, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Magby, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 48), @@ -15007,7 +15949,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Magmar, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Magmar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Magmar, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 64), @@ -15079,7 +16024,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Magmortar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Magmortar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Magmortar, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -15147,7 +16095,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Pinsir, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, - .frontAnimFrames = sAnims_Pinsir, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_GROW_VIBRATE : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Pinsir, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), @@ -15212,7 +16166,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PinsirMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_PinsirMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 4, .backPic = gMonBackPic_PinsirMega, @@ -15278,7 +16232,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Tauros, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 5, - .frontAnimFrames = sAnims_Tauros, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .frontAnimDelay = 10, .backPic = gMonBackPic_Tauros, @@ -15342,7 +16301,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_TaurosPaldeaCombat, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_TaurosPaldea, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_TaurosPaldeaCombat, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -15406,7 +16365,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_TaurosPaldeaBlaze, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_TaurosPaldea, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_TaurosPaldeaBlaze, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -15470,7 +16429,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_TaurosPaldeaAqua, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_TaurosPaldea, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_TaurosPaldeaAqua, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -15537,7 +16496,17 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Magikarp, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 4, - .frontAnimFrames = sAnims_Magikarp, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES, .backPic = gMonBackPic_Magikarp, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), @@ -15612,7 +16581,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Gyarados, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 2, - .frontAnimFrames = sAnims_Gyarados, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, .backPic = gMonBackPic_Gyarados, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), @@ -15688,7 +16661,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_GyaradosMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_GyaradosMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 6, .backPic = gMonBackPic_GyaradosMega, @@ -15750,7 +16723,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Lapras, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 2, - .frontAnimFrames = sAnims_Lapras, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Lapras, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(56, 64), @@ -15817,7 +16793,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_LaprasGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_LaprasGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_LaprasGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -15879,7 +16855,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Ditto, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 15, - .frontAnimFrames = sAnims_Ditto, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Ditto, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(48, 32), @@ -15943,7 +16924,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Eevee, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 11, - .frontAnimFrames = sAnims_Eevee, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Eevee, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), @@ -16030,7 +17014,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_EeveeGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_EeveeGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_EeveeGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -16084,7 +17068,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Eevee, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Eevee, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Eevee, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -16159,7 +17146,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Vaporeon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 9, - .frontAnimFrames = sAnims_Vaporeon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_GLOW_BLUE, .backPic = gMonBackPic_Vaporeon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), @@ -16220,7 +17210,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Jolteon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, - .frontAnimFrames = sAnims_Jolteon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Jolteon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 56), @@ -16281,7 +17274,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Flareon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, - .frontAnimFrames = sAnims_Flareon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_V_SHAKE, .backPic = gMonBackPic_Flareon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), @@ -16343,7 +17339,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Espeon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, - .frontAnimFrames = sAnims_Espeon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Espeon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), @@ -16404,7 +17404,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Umbreon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, - .frontAnimFrames = sAnims_Umbreon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Umbreon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), @@ -16467,7 +17470,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Leafeon, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Leafeon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Leafeon, .backPicSize = MON_COORDS_SIZE(48, 64), @@ -16528,7 +17535,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Glaceon, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Glaceon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Glaceon, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -16592,7 +17603,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Sylveon, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Sylveon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Sylveon, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -16660,7 +17675,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Porygon, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 14, - .frontAnimFrames = sAnims_Porygon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Porygon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 40), @@ -16728,7 +17748,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Porygon2, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Porygon2, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 0 : 9, .backPic = gMonBackPic_Porygon2, @@ -16799,7 +17825,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_PorygonZ, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Porygon_Z, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 40), + ), .frontAnimId = ANIM_CIRCLE_C_CLOCKWISE_SLOW, .enemyMonElevation = 12, .backPic = gMonBackPic_PorygonZ, @@ -16871,7 +17902,16 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Omanyte, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 14, - .frontAnimFrames = sAnims_Omanyte, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .backPic = gMonBackPic_Omanyte, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 40), @@ -16934,7 +17974,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Omastar, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 9, - .frontAnimFrames = sAnims_Omastar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Omastar, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), @@ -17003,7 +18048,16 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Kabuto, .frontPicSize = MON_COORDS_SIZE(40, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 16, - .frontAnimFrames = sAnims_Kabuto, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .backPic = gMonBackPic_Kabuto, .backPicSize = MON_COORDS_SIZE(48, 40), @@ -17072,7 +18126,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Kabutops, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 2, - .frontAnimFrames = sAnims_Kabutops, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Kabutops, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), @@ -17135,7 +18194,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Aerodactyl, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 4, - .frontAnimFrames = sAnims_Aerodactyl, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 25), + ), .frontAnimId = ANIM_V_SLIDE_SLOW, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 7 : 9, .backPic = gMonBackPic_Aerodactyl, @@ -17200,7 +18264,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_AerodactylMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_AerodactylMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 7, .backPic = gMonBackPic_AerodactylMega, @@ -17264,7 +18328,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Munchlax, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Munchlax, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Munchlax, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -17330,7 +18398,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Snorlax, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 1, - .frontAnimFrames = sAnims_Snorlax, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_V_STRETCH, .backPic = gMonBackPic_Snorlax, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 40), @@ -17397,7 +18469,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_SnorlaxGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SnorlaxGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SnorlaxGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -17463,7 +18535,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Articuno, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 2, - .frontAnimFrames = sAnims_Articuno, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_VIBRATE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 0, .backPic = gMonBackPic_Articuno, @@ -17529,7 +18606,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_ArticunoGalar, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_ArticunoGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 10, .backPic = gMonBackPic_ArticunoGalar, @@ -17608,7 +18685,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Zapdos, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Zapdos, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_FLASH_YELLOW, .enemyMonElevation = 8, .backPic = gMonBackPic_Zapdos, @@ -17674,7 +18756,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_ZapdosGalar, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_ZapdosGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ZapdosGalar, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -17748,7 +18830,40 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Moltres, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, - .frontAnimFrames = sAnims_Moltres, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 5 : 0, .backPic = gMonBackPic_Moltres, @@ -17814,7 +18929,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MoltresGalar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_MoltresGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MoltresGalar, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -17883,7 +18998,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Dratini, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 9, - .frontAnimFrames = sAnims_Dratini, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Dratini, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), @@ -17947,7 +19066,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Dragonair, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 1, - .frontAnimFrames = sAnims_Dragonair, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Dragonair, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(40, 56), @@ -18016,7 +19140,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Dragonite, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Dragonite, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SLIDE_SLOW : ANIM_V_SHAKE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 0, .backPic = gMonBackPic_Dragonite, @@ -18086,7 +19214,10 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Mewtwo, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Mewtwo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Mewtwo, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), @@ -18153,7 +19284,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MewtwoMegaX, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_MewtwoMegaX, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MewtwoMegaX, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -18212,7 +19343,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_MewtwoMegaY, .frontPicSize = MON_COORDS_SIZE(40, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_MewtwoMegaY, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 3, .backPic = gMonBackPic_MewtwoMegaY, @@ -18283,7 +19414,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPic = gMonFrontPic_Mew, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 9, - .frontAnimFrames = sAnims_Mew, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONVEX : ANIM_ZIGZAG_SLOW, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 11, .backPic = gMonBackPic_Mew, diff --git a/src/data/pokemon/species_info/gen_2_families.h b/src/data/pokemon/species_info/gen_2_families.h index b3bd0da95a..34668b5115 100644 --- a/src/data/pokemon/species_info/gen_2_families.h +++ b/src/data/pokemon/species_info/gen_2_families.h @@ -41,7 +41,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Chikorita, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 10, - .frontAnimFrames = sAnims_Chikorita, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Chikorita, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(56, 48), @@ -105,7 +109,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Bayleef, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, - .frontAnimFrames = sAnims_Bayleef, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Bayleef, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), @@ -174,7 +181,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Meganium, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Meganium, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Meganium, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -249,7 +259,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Cyndaquil, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Cyndaquil, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_SMALL : ANIM_V_STRETCH, .backPic = gMonBackPic_Cyndaquil, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 64), @@ -313,7 +328,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Quilava, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, - .frontAnimFrames = sAnims_Quilava, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_H_STRETCH, .backPic = gMonBackPic_Quilava, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), @@ -384,7 +402,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Typhlosion, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Typhlosion, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .frontAnimDelay = 20, .backPic = gMonBackPic_Typhlosion, @@ -448,7 +469,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_TyphlosionHisui, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_TyphlosionHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_TyphlosionHisui, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -514,7 +535,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Totodile, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 14, - .frontAnimFrames = sAnims_Totodile, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Totodile, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), @@ -579,7 +607,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Croconaw, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, - .frontAnimFrames = sAnims_Croconaw, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Croconaw, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 64), @@ -648,7 +679,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Feraligatr, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, - .frontAnimFrames = sAnims_Feraligatr, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 40), + ), .frontAnimId = ANIM_H_SHAKE, .frontAnimDelay = 5, .backPic = gMonBackPic_Feraligatr, @@ -712,7 +748,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Sentret, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 56) : MON_COORDS_SIZE(40, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 2, - .frontAnimFrames = sAnims_Sentret, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sentret, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 64), @@ -775,7 +816,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Furret, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 4, - .frontAnimFrames = sAnims_Furret, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Furret, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), @@ -838,7 +882,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Hoothoot, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, - .frontAnimFrames = sAnims_Hoothoot, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ), .frontAnimId = ANIM_V_SLIDE_SLOW, .backPic = gMonBackPic_Hoothoot, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 64), @@ -907,7 +964,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Noctowl, .frontPicSize = MON_COORDS_SIZE(40, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 2, - .frontAnimFrames = sAnims_Noctowl, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Noctowl, .backPicSize = MON_COORDS_SIZE(48, 64), @@ -970,7 +1030,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Ledyba, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, - .frontAnimFrames = sAnims_Ledyba, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Ledyba, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -1045,7 +1110,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Ledian, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 6, - .frontAnimFrames = sAnims_Ledian, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SLIDE_SLOW : ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .backPic = gMonBackPic_Ledian, @@ -1121,7 +1191,16 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Spinarak, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(48, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 19 : 16, - .frontAnimFrames = sAnims_Spinarak, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ), .frontAnimId = ANIM_CIRCLE_C_CLOCKWISE_SLOW, .backPic = gMonBackPic_Spinarak, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 24) : MON_COORDS_SIZE(64, 32), @@ -1190,7 +1269,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Ariados, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 7, - .frontAnimFrames = sAnims_Ariados, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Ariados, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -1254,7 +1338,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Chinchou, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, - .frontAnimFrames = sAnims_Chinchou, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Chinchou, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -1318,7 +1408,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Lanturn, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Lanturn, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .backPic = gMonBackPic_Lanturn, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -1383,7 +1479,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Togepi, .frontPicSize = MON_COORDS_SIZE(24, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 16, - .frontAnimFrames = sAnims_Togepi, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_V_JUMPS_BIG, .backPic = gMonBackPic_Togepi, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(48, 40), @@ -1446,7 +1546,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Togetic, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, - .frontAnimFrames = sAnims_Togetic, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Togetic, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), @@ -1517,7 +1621,15 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Togekiss, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Togekiss, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_SWING_CONVEX, .enemyMonElevation = 14, .backPic = gMonBackPic_Togekiss, @@ -1582,7 +1694,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Natu, .frontPicSize = MON_COORDS_SIZE(32, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 17, - .frontAnimFrames = sAnims_Natu, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_JUMPS, .frontAnimDelay = 30, .backPic = gMonBackPic_Natu, @@ -1647,7 +1765,15 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Xatu, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 56) : MON_COORDS_SIZE(40, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 5, - .frontAnimFrames = sAnims_Xatu, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Xatu, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), @@ -1720,7 +1846,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Mareep, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, - .frontAnimFrames = sAnims_Mareep, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .frontAnimDelay = 50, .backPic = gMonBackPic_Mareep, @@ -1784,7 +1917,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Flaaffy, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, - .frontAnimFrames = sAnims_Flaaffy, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_BIG : ANIM_V_STRETCH, .backPic = gMonBackPic_Flaaffy, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), @@ -1856,7 +1995,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Ampharos, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 2, - .frontAnimFrames = sAnims_Ampharos, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_FLASH_YELLOW, .frontAnimDelay = 10, .backPic = gMonBackPic_Ampharos, @@ -1921,7 +2064,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_AmpharosMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_AmpharosMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_AmpharosMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1985,7 +2128,15 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Azurill, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 11, - .frontAnimFrames = sAnims_Azurill, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Azurill, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -2053,7 +2204,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Marill, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Marill, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Marill, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 40), @@ -2128,7 +2283,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Azumarill, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 6, - .frontAnimFrames = sAnims_Azumarill, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW : ANIM_SHRINK_GROW, .backPic = gMonBackPic_Azumarill, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 64), @@ -2192,7 +2353,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Bonsly, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Bonsly, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES, .backPic = gMonBackPic_Bonsly, .backPicSize = MON_COORDS_SIZE(40, 64), @@ -2256,7 +2423,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Sudowoodo, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 7, - .frontAnimFrames = sAnims_Sudowoodo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Sudowoodo, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), @@ -2336,7 +2510,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Hoppip, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 14, - .frontAnimFrames = sAnims_Hoppip, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 11 : 15, .backPic = gMonBackPic_Hoppip, @@ -2404,7 +2583,16 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Skiploom, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Skiploom, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_RISING_WOBBLE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 15, .backPic = gMonBackPic_Skiploom, @@ -2479,7 +2667,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Jumpluff, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 9, - .frontAnimFrames = sAnims_Jumpluff, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .enemyMonElevation = 9, .backPic = gMonBackPic_Jumpluff, @@ -2543,7 +2738,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Aipom, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 64) : MON_COORDS_SIZE(32, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 1, - .frontAnimFrames = sAnims_Aipom, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Aipom, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 64), @@ -2619,7 +2817,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Ambipom, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Ambipom, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Ambipom, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2699,7 +2901,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Sunkern, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 32) : MON_COORDS_SIZE(32, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 17, - .frontAnimFrames = sAnims_Sunkern, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_SMALL : ANIM_H_JUMPS, .backPic = gMonBackPic_Sunkern, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), @@ -2766,7 +2975,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Sunflora, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Sunflora, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sunflora, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), @@ -2830,7 +3043,30 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Yanma, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 14, - .frontAnimFrames = sAnims_Yanma, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ), .frontAnimId = ANIM_FIGURE_8, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 13, .backPic = gMonBackPic_Yanma, @@ -2896,7 +3132,34 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Yanmega, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Yanmega, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ), .frontAnimId = ANIM_H_VIBRATE, .enemyMonElevation = 6, .backPic = gMonBackPic_Yanmega, @@ -2961,7 +3224,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Wooper, .frontPicSize = MON_COORDS_SIZE(40, 32), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Wooper, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Wooper, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -3037,7 +3304,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Quagsire, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 5, - .frontAnimFrames = sAnims_Quagsire, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Quagsire, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), @@ -3111,7 +3381,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_WooperPaldea, .frontPicSize = MON_COORDS_SIZE(40, 32), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_WooperPaldea, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_WooperPaldea, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -3176,7 +3446,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Clodsire, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Clodsire, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Clodsire, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3244,7 +3514,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Murkrow, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 15, - .frontAnimFrames = sAnims_Murkrow, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 0 : 12, .backPic = gMonBackPic_Murkrow, @@ -3321,7 +3594,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Honchkrow, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Honchkrow, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 21), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Honchkrow, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3386,7 +3664,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Misdreavus, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 13, - .frontAnimFrames = sAnims_Misdreavus, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 12, .backPic = gMonBackPic_Misdreavus, @@ -3452,7 +3741,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Mismagius, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Mismagius, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = 3, .backPic = gMonBackPic_Mismagius, @@ -3515,7 +3815,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Unown ##letter, \ .frontPicSize = MON_COORDS_SIZE(frontWidth, frontHeight), \ .frontPicYOffset = 16, \ - .frontAnimFrames = sAnims_Unown, \ + .frontAnimFrames = sAnims_SingleFramePlaceHolder, \ .frontAnimId = ANIM_ZIGZAG_FAST, \ .enemyMonElevation = 8, \ .backPic = gMonBackPic_Unown ##letter, \ @@ -3611,7 +3911,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Wynaut, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Wynaut, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .frontAnimDelay = 15, .backPic = gMonBackPic_Wynaut, @@ -3676,7 +3982,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Wobbuffet, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, - .frontAnimFrames = sAnims_Wobbuffet, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_DEEP_V_SQUISH_AND_BOUNCE : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Wobbuffet, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(56, 56), @@ -3756,7 +4068,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Girafarig, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 0, - .frontAnimFrames = sAnims_Girafarig, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_BIG : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Girafarig, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), @@ -3832,7 +4148,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Farigiraf, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Farigiraf, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Farigiraf, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3896,7 +4212,16 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Pineco, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, - .frontAnimFrames = sAnims_Pineco, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Pineco, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 40), @@ -3959,7 +4284,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Forretress, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, - .frontAnimFrames = sAnims_Forretress, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Forretress, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -4028,7 +4358,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Dunsparce, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 9, - .frontAnimFrames = sAnims_Dunsparce, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .frontAnimDelay = 10, .backPic = gMonBackPic_Dunsparce, @@ -4094,7 +4429,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_DudunsparceTwoSegment, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Dudunsparce, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DudunsparceTwoSegment, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4156,7 +4491,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_DudunsparceThreeSegment, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Dudunsparce, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DudunsparceThreeSegment, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4221,7 +4556,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Gligar, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 4, - .frontAnimFrames = sAnims_Gligar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 17), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SHRINK_GROW, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 8, .backPic = gMonBackPic_Gligar, @@ -4299,7 +4637,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Gliscor, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Gliscor, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 40), + ), .frontAnimId = ANIM_SWING_CONVEX, .enemyMonElevation = 9, .backPic = gMonBackPic_Gliscor, @@ -4368,7 +4711,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Snubbull, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, - .frontAnimFrames = sAnims_Snubbull, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Snubbull, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 40), @@ -4439,7 +4785,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Granbull, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 56) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 4, - .frontAnimFrames = sAnims_Granbull, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Granbull, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 48), @@ -4512,7 +4861,15 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Qwilfish, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 8, - .frontAnimFrames = sAnims_Qwilfish, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_GROW_IN_STAGES, .frontAnimDelay = 39, .backPic = gMonBackPic_Qwilfish, @@ -4578,7 +4935,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_QwilfishHisui, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_QwilfishHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 9, .backPic = gMonBackPic_QwilfishHisui, @@ -4643,7 +5000,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Overqwil, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Overqwil, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Overqwil, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4714,7 +5071,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Shuckle, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, - .frontAnimFrames = sAnims_Shuckle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Shuckle, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), @@ -4778,7 +5139,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Heracross, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 1, - .frontAnimFrames = sAnims_Heracross, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_LUNGE_GROW : ANIM_V_STRETCH, .backPic = gMonBackPic_Heracross, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 64), @@ -4855,7 +5222,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_HeracrossMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_HeracrossMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_HeracrossMega, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -4917,7 +5284,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Sneasel, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 8, - .frontAnimFrames = sAnims_Sneasel, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_H_JUMPS, .backPic = gMonBackPic_Sneasel, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 64), @@ -4997,7 +5371,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Weavile, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Weavile, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Weavile, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5074,7 +5451,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_SneaselHisui, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_SneaselHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SneaselHisui, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -5151,7 +5528,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Sneasler, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Sneasler, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sneasler, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5221,7 +5598,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Teddiursa, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, - .frontAnimFrames = sAnims_Teddiursa, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Teddiursa, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -5288,7 +5668,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Ursaring, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, - .frontAnimFrames = sAnims_Ursaring, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE : ANIM_H_SHAKE, .backPic = gMonBackPic_Ursaring, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), @@ -5363,7 +5746,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Ursaluna, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Ursaluna, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Ursaluna, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5425,7 +5808,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_UrsalunaBloodmoon, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_UrsalunaBloodmoon, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_UrsalunaBloodmoon, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5482,7 +5865,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Slugma, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(32, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, - .frontAnimFrames = sAnims_Slugma, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Slugma, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), @@ -5552,7 +5941,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Magcargo, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 56) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 6, - .frontAnimFrames = sAnims_Magcargo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Magcargo, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), @@ -5619,7 +6014,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Swinub, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 24) : MON_COORDS_SIZE(40, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 18, - .frontAnimFrames = sAnims_Swinub, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Swinub, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 24) : MON_COORDS_SIZE(56, 40), @@ -5687,7 +6087,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Piloswine, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Piloswine, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Piloswine, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 48), @@ -5768,7 +6173,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Mamoswine, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Mamoswine, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Mamoswine, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -5854,7 +6263,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Corsola, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Corsola, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Corsola, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 48), @@ -5918,7 +6333,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_CorsolaGalar, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_CorsolaGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CorsolaGalar, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -5983,7 +6398,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Cursola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Cursola, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Cursola, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6051,7 +6466,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Remoraid, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, - .frontAnimFrames = sAnims_Remoraid, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_SMALL : ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Remoraid, .backPicSize = MON_COORDS_SIZE(56, 40), @@ -6119,7 +6538,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Octillery, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 8, - .frontAnimFrames = sAnims_Octillery, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .frontAnimDelay = 20, .backPic = gMonBackPic_Octillery, @@ -6195,7 +6619,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Delibird, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, - .frontAnimFrames = sAnims_Delibird, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_SMALL : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Delibird, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 56), @@ -6260,7 +6687,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Mantyke, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Mantyke, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_TWIST_TWICE, .backPic = gMonBackPic_Mantyke, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6330,7 +6762,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Mantine, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 9, - .frontAnimFrames = sAnims_Mantine, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 40), + ), .frontAnimId = ANIM_SWING_CONVEX, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 0 : 6, .backPic = gMonBackPic_Mantine, @@ -6396,7 +6833,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Skarmory, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, - .frontAnimFrames = sAnims_Skarmory, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_V_SHAKE, .backPic = gMonBackPic_Skarmory, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(48, 64), @@ -6460,7 +6900,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Houndour, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 9, - .frontAnimFrames = sAnims_Houndour, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Houndour, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(40, 48), @@ -6523,7 +6966,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Houndoom, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 0, - .frontAnimFrames = sAnims_Houndoom, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Houndoom, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6598,7 +7044,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_HoundoomMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_HoundoomMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_HoundoomMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6657,7 +7103,15 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Phanpy, .frontPicSize = MON_COORDS_SIZE(40, 32), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Phanpy, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Phanpy, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 40), @@ -6721,7 +7175,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Donphan, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, - .frontAnimFrames = sAnims_Donphan, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE_TWICE : ANIM_ROTATE_UP_SLAM_DOWN, .backPic = gMonBackPic_Donphan, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), @@ -6800,7 +7258,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Stantler, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Stantler, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Stantler, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), @@ -6865,7 +7326,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Wyrdeer, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Wyrdeer, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Wyrdeer, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6933,7 +7394,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Smeargle, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Smeargle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_JUMPS : ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Smeargle, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -7003,7 +7469,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Miltank, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 8, - .frontAnimFrames = sAnims_Miltank, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Miltank, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -7078,7 +7547,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Raikou, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 5, - .frontAnimFrames = sAnims_Raikou, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_FLASH_YELLOW : ANIM_V_STRETCH, .backPic = gMonBackPic_Raikou, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -7154,7 +7627,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Entei, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, - .frontAnimFrames = sAnims_Entei, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Entei, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), @@ -7230,7 +7706,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Suicune, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 3, - .frontAnimFrames = sAnims_Suicune, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Suicune, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7295,7 +7774,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Larvitar, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, - .frontAnimFrames = sAnims_Larvitar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Larvitar, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 64), @@ -7358,7 +7842,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Pupitar, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 11, - .frontAnimFrames = sAnims_Pupitar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE : ANIM_H_SHAKE, .backPic = gMonBackPic_Pupitar, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -7426,7 +7913,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Tyranitar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Tyranitar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_SHAKE : ANIM_V_SHAKE, .frontAnimDelay = 10, .backPic = gMonBackPic_Tyranitar, @@ -7491,7 +7982,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_TyranitarMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_TyranitarMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_TyranitarMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7556,7 +8047,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Lugia, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Lugia, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_IN_STAGES, .frontAnimDelay = 20, .enemyMonElevation = 6, @@ -7632,7 +8136,10 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_HoOh, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_HoOh, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_GROW_VIBRATE, .enemyMonElevation = 6, .backPic = gMonBackPic_HoOh, @@ -7707,7 +8214,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Celebi, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 12, - .frontAnimFrames = sAnims_Celebi, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_RISING_WOBBLE : ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = 15, .backPic = gMonBackPic_Celebi, diff --git a/src/data/pokemon/species_info/gen_3_families.h b/src/data/pokemon/species_info/gen_3_families.h index af1b4476d8..4f72924cce 100644 --- a/src/data/pokemon/species_info/gen_3_families.h +++ b/src/data/pokemon/species_info/gen_3_families.h @@ -41,7 +41,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Treecko, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Treecko, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 3), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Treecko, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 48), @@ -104,7 +110,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Grovyle, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, - .frontAnimFrames = sAnims_Grovyle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 6), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Grovyle, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -172,7 +184,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Sceptile, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Sceptile, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 26), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Sceptile, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -236,7 +252,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_SceptileMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SceptileMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SceptileMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -295,7 +311,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Torchic, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(32, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 12, - .frontAnimFrames = sAnims_Torchic, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Torchic, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(40, 48), @@ -369,7 +393,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Combusken, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 3, - .frontAnimFrames = sAnims_Combusken, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 12), + ), .frontAnimId = ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Combusken, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -449,7 +477,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Blaziken, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Blaziken, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Blaziken, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -525,7 +559,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_BlazikenMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_BlazikenMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_BlazikenMega, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -584,7 +618,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Mudkip, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 13, - .frontAnimFrames = sAnims_Mudkip, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 13), + ANIMCMD_FRAME(0, 7), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Mudkip, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 48), @@ -647,7 +687,17 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Marshtomp, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 7, - .frontAnimFrames = sAnims_Marshtomp, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SLIDE : ANIM_V_STRETCH, .backPic = gMonBackPic_Marshtomp, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), @@ -715,7 +765,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Swampert, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 6, - .frontAnimFrames = sAnims_Swampert, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 7), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_BIG : ANIM_H_SHAKE, .backPic = gMonBackPic_Swampert, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), @@ -779,7 +835,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_SwampertMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_SwampertMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SwampertMega, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -848,7 +904,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Poochyena, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 11, - .frontAnimFrames = sAnims_Poochyena, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Poochyena, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), @@ -915,7 +975,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Mightyena, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, - .frontAnimFrames = sAnims_Mightyena, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Mightyena, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), @@ -992,7 +1058,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Zigzagoon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, - .frontAnimFrames = sAnims_Zigzagoon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Zigzagoon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 56), @@ -1062,7 +1134,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Linoone, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 13, - .frontAnimFrames = sAnims_Linoone, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Linoone, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 40), @@ -1125,7 +1203,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_ZigzagoonGalar, .frontPicSize = MON_COORDS_SIZE(56, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_ZigzagoonGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ZigzagoonGalar, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -1190,7 +1268,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_LinooneGalar, .frontPicSize = MON_COORDS_SIZE(64, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_LinooneGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_LinooneGalar, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -1254,7 +1332,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Obstagoon, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Obstagoon, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Obstagoon, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1326,7 +1404,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Wurmple, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 12, - .frontAnimFrames = sAnims_Wurmple, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Wurmple, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), @@ -1390,7 +1472,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Silcoon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 10, - .frontAnimFrames = sAnims_Silcoon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Silcoon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(64, 40), @@ -1462,7 +1548,17 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Beautifly, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Beautifly, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ), .frontAnimId = ANIM_V_SLIDE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .backPic = gMonBackPic_Beautifly, @@ -1542,7 +1638,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Cascoon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 10, - .frontAnimFrames = sAnims_Cascoon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Cascoon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 24) : MON_COORDS_SIZE(56, 40), @@ -1616,7 +1718,23 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Dustox, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, - .frontAnimFrames = sAnims_Dustox, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_JUMPS_H_JUMPS, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, .backPic = gMonBackPic_Dustox, @@ -1693,7 +1811,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Lotad, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 13, - .frontAnimFrames = sAnims_Lotad, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 55), + ANIMCMD_FRAME(0, 22), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Lotad, .backPicSize = MON_COORDS_SIZE(56, 40), @@ -1757,7 +1879,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Lombre, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, - .frontAnimFrames = sAnims_Lombre, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 7), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Lombre, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(48, 56), @@ -1826,7 +1954,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Ludicolo, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Ludicolo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, .backPic = gMonBackPic_Ludicolo, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -1902,7 +2038,17 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Seedot, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(32, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, - .frontAnimFrames = sAnims_Seedot, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES : ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Seedot, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(48, 48), @@ -1966,7 +2112,17 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Nuzleaf, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(40, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, - .frontAnimFrames = sAnims_Nuzleaf, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Nuzleaf, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -2051,7 +2207,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Shiftry, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 7, - .frontAnimFrames = sAnims_Shiftry, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Shiftry, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -2126,7 +2286,17 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Taillow, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 32) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 11, - .frontAnimFrames = sAnims_Taillow, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_JUMPS_BIG, .backPic = gMonBackPic_Taillow, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 32) : MON_COORDS_SIZE(56, 40), @@ -2195,7 +2365,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Swellow, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, - .frontAnimFrames = sAnims_Swellow, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Swellow, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 56), @@ -2263,7 +2437,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Wingull, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 24 : 11, - .frontAnimFrames = sAnims_Wingull, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 23), + ANIMCMD_FRAME(0, 13), + ), .frontAnimId = ANIM_H_PIVOT, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 16 : 15, .backPic = gMonBackPic_Wingull, @@ -2338,7 +2516,17 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Pelipper, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 2, - .frontAnimFrames = sAnims_Pelipper, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 8, .backPic = gMonBackPic_Pelipper, @@ -2410,7 +2598,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Ralts, .frontPicSize = MON_COORDS_SIZE(24, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, - .frontAnimFrames = sAnims_Ralts, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Ralts, .backPicSize = MON_COORDS_SIZE(32, 40), @@ -2473,7 +2665,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Kirlia, .frontPicSize = MON_COORDS_SIZE(32, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Kirlia, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 39), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Kirlia, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 56) : MON_COORDS_SIZE(48, 56), @@ -2542,7 +2738,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Gardevoir, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, - .frontAnimFrames = sAnims_Gardevoir, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Gardevoir, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 56), @@ -2606,7 +2806,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_GardevoirMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_GardevoirMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GardevoirMega, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -2674,7 +2874,10 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Gallade, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Gallade, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Gallade, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2738,7 +2941,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_GalladeMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_GalladeMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GalladeMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2799,7 +3002,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Surskit, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 8, - .frontAnimFrames = sAnims_Surskit, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Surskit, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 40), @@ -2870,7 +3079,17 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Masquerain, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 4, - .frontAnimFrames = sAnims_Masquerain, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 10, .backPic = gMonBackPic_Masquerain, @@ -2940,7 +3159,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Shroomish, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 14, - .frontAnimFrames = sAnims_Shroomish, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Shroomish, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 48), @@ -3009,7 +3240,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Breloom, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, - .frontAnimFrames = sAnims_Breloom, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 7), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Breloom, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), @@ -3072,7 +3309,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Slakoth, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(56, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 15, - .frontAnimFrames = sAnims_Slakoth, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Slakoth, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -3135,7 +3379,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Vigoroth, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 7, - .frontAnimFrames = sAnims_Vigoroth, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Vigoroth, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 64), @@ -3203,7 +3455,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Slaking, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, - .frontAnimFrames = sAnims_Slaking, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Slaking, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -3267,7 +3527,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Nincada, .frontPicSize = MON_COORDS_SIZE(56, 32), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 16, - .frontAnimFrames = sAnims_Nincada, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Nincada, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(64, 32), @@ -3331,7 +3597,26 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Ninjask, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, - .frontAnimFrames = sAnims_Ninjask, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .enemyMonElevation = 10, .backPic = gMonBackPic_Ninjask, @@ -3393,7 +3678,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Shedinja, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Shedinja, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 8, .backPic = gMonBackPic_Shedinja, @@ -3457,7 +3748,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Whismur, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 13, - .frontAnimFrames = sAnims_Whismur, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ), .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Whismur, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 40), @@ -3520,7 +3822,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Loudred, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Loudred, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 33), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW : ANIM_SHRINK_GROW, .backPic = gMonBackPic_Loudred, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -3590,7 +3898,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Exploud, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, - .frontAnimFrames = sAnims_Exploud, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 9), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Exploud, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3654,7 +3966,17 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Makuhita, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 8, - .frontAnimFrames = sAnims_Makuhita, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 22), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Makuhita, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 56), @@ -3718,7 +4040,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Hariyama, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, - .frontAnimFrames = sAnims_Hariyama, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_ROTATE_UP_TO_SIDES, .backPic = gMonBackPic_Hariyama, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3782,7 +4109,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Nosepass, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, - .frontAnimFrames = sAnims_Nosepass, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 3), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW : ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Nosepass, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 48), @@ -3849,7 +4184,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Probopass, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Probopass, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE, .enemyMonElevation = 6, .backPic = gMonBackPic_Probopass, @@ -3918,7 +4259,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Skitty, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 12, - .frontAnimFrames = sAnims_Skitty, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 9), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Skitty, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -3992,7 +4337,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Delcatty, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 4, - .frontAnimFrames = sAnims_Delcatty, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Delcatty, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 64), @@ -4061,7 +4410,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Sableye, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, - .frontAnimFrames = sAnims_Sableye, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GLOW_BLACK, .backPic = gMonBackPic_Sableye, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 48), @@ -4126,7 +4481,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_SableyeMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_SableyeMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SableyeMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4194,7 +4549,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Mawile, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Mawile, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Mawile, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4260,7 +4623,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_MawileMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_MawileMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MawileMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4321,7 +4684,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Aron, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 24) : MON_COORDS_SIZE(32, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 14, - .frontAnimFrames = sAnims_Aron, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Aron, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(48, 40), @@ -4385,7 +4754,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Lairon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 8, - .frontAnimFrames = sAnims_Lairon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 29), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 29), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Lairon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(64, 40), @@ -4454,7 +4829,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Aggron, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Aggron, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Aggron, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4519,7 +4898,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_AggronMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_AggronMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_AggronMega, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4578,7 +4957,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Meditite, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, - .frontAnimFrames = sAnims_Meditite, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 22), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES, .backPic = gMonBackPic_Meditite, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 48), @@ -4653,7 +5036,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Medicham, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 64) : MON_COORDS_SIZE(40, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, - .frontAnimFrames = sAnims_Medicham, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Medicham, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 64) : MON_COORDS_SIZE(56, 64), @@ -4729,7 +5120,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_MedichamMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_MedichamMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MedichamMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4788,7 +5179,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Electrike, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 32) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 14, - .frontAnimFrames = sAnims_Electrike, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 3), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Electrike, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(56, 40), @@ -4851,7 +5248,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Manectric, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 2, - .frontAnimFrames = sAnims_Manectric, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 3), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Manectric, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 64), @@ -4914,7 +5317,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_ManectricMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_ManectricMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ManectricMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4978,7 +5381,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Plusle, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, - .frontAnimFrames = sAnims_Plusle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Plusle, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 64), @@ -5047,7 +5456,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Minun, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 11, - .frontAnimFrames = sAnims_Minun, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_CIRCULAR_STRETCH_TWICE : ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Minun, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 64), @@ -5118,7 +5533,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Volbeat, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Volbeat, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Volbeat, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 64), @@ -5191,7 +5614,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Illumise, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, - .frontAnimFrames = sAnims_Illumise, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES : ANIM_RISING_WOBBLE, .backPic = gMonBackPic_Illumise, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -5258,7 +5687,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Budew, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Budew, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Budew, .backPicSize = MON_COORDS_SIZE(40, 56), @@ -5324,7 +5757,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Roselia, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 11, - .frontAnimFrames = sAnims_Roselia, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 22), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Roselia, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -5410,7 +5847,10 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Roserade, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Roserade, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Roserade, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -5488,7 +5928,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Gulpin, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 15, - .frontAnimFrames = sAnims_Gulpin, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 4), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Gulpin, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), @@ -5565,7 +6011,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Swalot, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 5, - .frontAnimFrames = sAnims_Swalot, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Swalot, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), @@ -5641,7 +6092,17 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Carvanha, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Carvanha, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, .backPic = gMonBackPic_Carvanha, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), @@ -5705,7 +6166,17 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Sharpedo, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 0, - .frontAnimFrames = sAnims_Sharpedo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 22), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH_TWICE, .backPic = gMonBackPic_Sharpedo, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5770,7 +6241,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_SharpedoMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SharpedoMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 1, .backPic = gMonBackPic_SharpedoMega, @@ -5830,7 +6301,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Wailmer, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 10, - .frontAnimFrames = sAnims_Wailmer, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Wailmer, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(64, 48), @@ -5893,7 +6372,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Wailord, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 4, - .frontAnimFrames = sAnims_Wailord, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 48), + ANIMCMD_FRAME(0, 33), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .frontAnimDelay = 10, .backPic = gMonBackPic_Wailord, @@ -5961,7 +6444,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Numel, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 9, - .frontAnimFrames = sAnims_Numel, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 40), + ), .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Numel, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 56), @@ -6041,7 +6530,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Camerupt, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 6, - .frontAnimFrames = sAnims_Camerupt, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Camerupt, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(64, 40), @@ -6118,7 +6615,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_CameruptMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_CameruptMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CameruptMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6182,7 +6679,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Torkoal, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 3, - .frontAnimFrames = sAnims_Torkoal, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Torkoal, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -6246,7 +6749,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Spoink, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Spoink, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH_TWICE, .backPic = gMonBackPic_Spoink, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(40, 64), @@ -6309,7 +6824,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Grumpig, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 2, - .frontAnimFrames = sAnims_Grumpig, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .frontAnimDelay = 15, .backPic = gMonBackPic_Grumpig, @@ -6378,7 +6899,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Spinda, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Spinda, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 23), + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 23), + ANIMCMD_FRAME(0, 13), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_JUMPS : ANIM_CIRCLE_INTO_BG, .backPic = gMonBackPic_Spinda, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -6447,7 +6974,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Trapinch, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, - .frontAnimFrames = sAnims_Trapinch, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Trapinch, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(48, 48), @@ -6515,7 +7048,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Vibrava, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, - .frontAnimFrames = sAnims_Vibrava, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Vibrava, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(64, 40), @@ -6588,7 +7129,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Flygon, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Flygon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_ZIGZAG_SLOW, .enemyMonElevation = 7, .backPic = gMonBackPic_Flygon, @@ -6653,7 +7202,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Cacnea, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(56, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 13, - .frontAnimFrames = sAnims_Cacnea, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, .backPic = gMonBackPic_Cacnea, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -6718,7 +7279,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Cacturne, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Cacturne, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Cacturne, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), @@ -6791,7 +7358,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Swablu, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 14, - .frontAnimFrames = sAnims_Swablu, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SLIDE : ANIM_GROW_VIBRATE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 0, .backPic = gMonBackPic_Swablu, @@ -6855,7 +7430,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Altaria, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 1, - .frontAnimFrames = sAnims_Altaria, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_V_STRETCH, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 0, .backPic = gMonBackPic_Altaria, @@ -6920,7 +7501,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_AltariaMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_AltariaMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 6, .backPic = gMonBackPic_AltariaMega, @@ -6982,7 +7563,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Zangoose, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Zangoose, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Zangoose, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), @@ -7049,7 +7638,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Seviper, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, - .frontAnimFrames = sAnims_Seviper, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Seviper, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7121,7 +7718,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Lunatone, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Lunatone, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_SWING_CONVEX_FAST, .enemyMonElevation = 13, .backPic = gMonBackPic_Lunatone, @@ -7193,7 +7796,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Solrock, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, - .frontAnimFrames = sAnims_Solrock, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_ROTATE_TO_SIDES_TWICE, .enemyMonElevation = 4, .backPic = gMonBackPic_Solrock, @@ -7261,7 +7870,21 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Barboach, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 15, - .frontAnimFrames = sAnims_Barboach, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 0 : 7, .backPic = gMonBackPic_Barboach, @@ -7329,7 +7952,21 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Whiscash, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Whiscash, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, .backPic = gMonBackPic_Whiscash, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -7392,7 +8029,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Corphish, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 8, - .frontAnimFrames = sAnims_Corphish, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Corphish, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), @@ -7455,7 +8100,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Crawdaunt, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 4, - .frontAnimFrames = sAnims_Crawdaunt, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Crawdaunt, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -7519,7 +8170,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Baltoy, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 14, - .frontAnimFrames = sAnims_Baltoy, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 4 : 8, .backPic = gMonBackPic_Baltoy, @@ -7583,7 +8242,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Claydol, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 3, - .frontAnimFrames = sAnims_Claydol, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .enemyMonElevation = 10, .backPic = gMonBackPic_Claydol, @@ -7654,7 +8321,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Lileep, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Lileep, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Lileep, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(48, 48), @@ -7724,7 +8397,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Cradily, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Cradily, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Cradily, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(56, 64), @@ -7793,7 +8474,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Anorith, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, - .frontAnimFrames = sAnims_Anorith, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_TWIST, .backPic = gMonBackPic_Anorith, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(56, 32), @@ -7862,7 +8551,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Armaldo, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, - .frontAnimFrames = sAnims_Armaldo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Armaldo, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), @@ -7929,7 +8624,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Feebas, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 10, - .frontAnimFrames = sAnims_Feebas, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, .backPic = gMonBackPic_Feebas, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -7998,7 +8701,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Milotic, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, - .frontAnimFrames = sAnims_Milotic, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_GLOW_BLUE : ANIM_CIRCULAR_STRETCH_TWICE, .frontAnimDelay = 45, .backPic = gMonBackPic_Milotic, @@ -8076,7 +8787,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_CastformNormal, .frontPicSize = MON_COORDS_SIZE(24, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_CastformNormal, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 24), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = 16, .backPic = gMonBackPic_CastformNormal, @@ -8143,7 +8860,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_CastformSunny, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_CastformSunny, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ), .frontAnimId = ANIM_GROW_VIBRATE, .enemyMonElevation = 5, .backPic = gMonBackPic_CastformSunny, @@ -8210,7 +8935,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_CastformRainy, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_CastformRainy, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_SWING_CONVEX_FAST, .enemyMonElevation = 5, .backPic = gMonBackPic_CastformRainy, @@ -8277,7 +9008,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_CastformSnowy, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_CastformSnowy, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 29), + ANIMCMD_FRAME(0, 12), + ), .frontAnimId = ANIM_V_STRETCH, .enemyMonElevation = 5, .backPic = gMonBackPic_CastformSnowy, @@ -8348,7 +9085,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Kecleon, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 5, - .frontAnimFrames = sAnims_Kecleon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_FLICKER_INCREASING, .frontAnimDelay = 30, .backPic = gMonBackPic_Kecleon, @@ -8418,7 +9161,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Shuppet, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 13, - .frontAnimFrames = sAnims_Shuppet, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 14, .backPic = gMonBackPic_Shuppet, @@ -8487,7 +9238,15 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Banette, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 7, - .frontAnimFrames = sAnims_Banette, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONVEX : ANIM_CIRCULAR_STRETCH_TWICE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 0, .backPic = gMonBackPic_Banette, @@ -8552,7 +9311,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_BanetteMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_BanetteMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, .backPic = gMonBackPic_BanetteMega, @@ -8618,7 +9377,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Duskull, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, - .frontAnimFrames = sAnims_Duskull, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_ZIGZAG_FAST, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 9 : 13, .backPic = gMonBackPic_Duskull, @@ -8688,7 +9453,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Dusclops, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 3, - .frontAnimFrames = sAnims_Dusclops, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_VIBRATE, .frontAnimDelay = 30, .backPic = gMonBackPic_Dusclops, @@ -8765,7 +9536,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Dusknoir, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Dusknoir, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ), .frontAnimId = ANIM_H_SLIDE, .enemyMonElevation = 6, .backPic = gMonBackPic_Dusknoir, @@ -8834,7 +9616,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Tropius, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Tropius, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Tropius, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 64), @@ -8900,7 +9688,16 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Chingling, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Chingling, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .backPic = gMonBackPic_Chingling, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -8972,7 +9769,17 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Chimecho, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Chimecho, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 16, .backPic = gMonBackPic_Chimecho, @@ -9042,7 +9849,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Absol, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 64) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, - .frontAnimFrames = sAnims_Absol, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_CIRCULAR_VIBRATE, .frontAnimDelay = 45, .backPic = gMonBackPic_Absol, @@ -9109,7 +9922,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_AbsolMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_AbsolMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_AbsolMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -9174,7 +9987,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Snorunt, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(32, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 12, - .frontAnimFrames = sAnims_Snorunt, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .frontAnimDelay = 20, .backPic = gMonBackPic_Snorunt, @@ -9243,7 +10062,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Glalie, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 8, - .frontAnimFrames = sAnims_Glalie, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_ZIGZAG_FAST, .enemyMonElevation = 12, .backPic = gMonBackPic_Glalie, @@ -9307,7 +10132,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_GlalieMega, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_GlalieMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_GlalieMega, @@ -9366,7 +10191,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Froslass, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Froslass, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 7, .backPic = gMonBackPic_Froslass, @@ -9435,7 +10264,16 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Spheal, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 11, - .frontAnimFrames = sAnims_Spheal, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 43), + ANIMCMD_FRAME(1, 60), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SPIN : ANIM_SPIN_LONG, .frontAnimDelay = 15, .backPic = gMonBackPic_Spheal, @@ -9503,7 +10341,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Sealeo, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Sealeo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Sealeo, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -9575,7 +10419,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Walrein, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Walrein, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Walrein, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), @@ -9640,7 +10490,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Clamperl, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, - .frontAnimFrames = sAnims_Clamperl, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_TWIST, .backPic = gMonBackPic_Clamperl, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 40), @@ -9708,7 +10564,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Huntail, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Huntail, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Huntail, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 64) : MON_COORDS_SIZE(64, 56), @@ -9770,7 +10632,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Gorebyss, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 6, - .frontAnimFrames = sAnims_Gorebyss, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .backPic = gMonBackPic_Gorebyss, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), @@ -9835,7 +10703,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Relicanth, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, - .frontAnimFrames = sAnims_Relicanth, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_TIP_MOVE_FORWARD, .backPic = gMonBackPic_Relicanth, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 40), @@ -9912,7 +10786,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Luvdisc, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(32, 40), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 24 : 14, - .frontAnimFrames = sAnims_Luvdisc, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .backPic = gMonBackPic_Luvdisc, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(40, 48), @@ -9977,7 +10857,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Bagon, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(32, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 9, - .frontAnimFrames = sAnims_Bagon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE_TWICE : ANIM_H_SHAKE, .backPic = gMonBackPic_Bagon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), @@ -10041,7 +10927,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Shelgon, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Shelgon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Shelgon, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -10110,7 +11002,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Salamence, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, - .frontAnimFrames = sAnims_Salamence, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SHAKE, .frontAnimDelay = 70, .backPic = gMonBackPic_Salamence, @@ -10176,7 +11074,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_SalamenceMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_SalamenceMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SalamenceMega, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -10236,7 +11134,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Beldum, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Beldum, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE, .enemyMonElevation = 8, .backPic = gMonBackPic_Beldum, @@ -10301,7 +11205,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Metang, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 9, - .frontAnimFrames = sAnims_Metang, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Metang, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(64, 40), @@ -10370,7 +11280,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Metagross, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 9, - .frontAnimFrames = sAnims_Metagross, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Metagross, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(64, 56), @@ -10434,7 +11350,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_MetagrossMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_MetagrossMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 4, .backPic = gMonBackPic_MetagrossMega, @@ -10501,7 +11417,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Regirock, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, - .frontAnimFrames = sAnims_Regirock, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Regirock, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), @@ -10572,7 +11494,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Regice, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Regice, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_FOUR_PETAL : ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Regice, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), @@ -10644,7 +11572,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Registeel, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 5, - .frontAnimFrames = sAnims_Registeel, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Registeel, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), @@ -10715,7 +11649,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Latias, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 8, - .frontAnimFrames = sAnims_Latias, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE_FAST_SHORT : ANIM_ZIGZAG_SLOW, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 12, .backPic = gMonBackPic_Latias, @@ -10782,7 +11722,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_LatiasMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_LatiasMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_LatiasMega, @@ -10850,7 +11790,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Latios, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 0, - .frontAnimFrames = sAnims_Latios, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE : ANIM_CIRCLE_C_CLOCKWISE_SLOW, .enemyMonElevation = 6, .backPic = gMonBackPic_Latios, @@ -10917,7 +11863,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_LatiosMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_LatiosMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_LatiosMega, @@ -10985,7 +11931,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Kyogre, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 0, - .frontAnimFrames = sAnims_Kyogre, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONCAVE_FAST_SHORT, .frontAnimDelay = 60, .backPic = gMonBackPic_Kyogre, @@ -11052,7 +12004,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_KyogrePrimal, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_KyogrePrimal, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_KyogrePrimal, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -11120,7 +12072,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Groudon, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, - .frontAnimFrames = sAnims_Groudon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Groudon, .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), @@ -11187,7 +12145,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_GroudonPrimal, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_GroudonPrimal, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GroudonPrimal, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -11256,7 +12214,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Rayquaza, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Rayquaza, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ), .frontAnimId = ANIM_H_SHAKE, .frontAnimDelay = 60, .enemyMonElevation = 6, @@ -11326,7 +12290,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_RayquazaMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_RayquazaMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 4, .backPic = gMonBackPic_RayquazaMega, @@ -11397,7 +12361,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_Jirachi, .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Jirachi, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONVEX : ANIM_RISING_WOBBLE, .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 14, .backPic = gMonBackPic_Jirachi, @@ -11470,7 +12445,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_DeoxysNormal, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DeoxysNormal, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_DeoxysNormal, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -11533,7 +12514,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_DeoxysAttack, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DeoxysAttack, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_DeoxysAttack, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -11595,7 +12582,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_DeoxysDefense, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DeoxysDefense, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_DeoxysDefense, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -11658,7 +12651,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPic = gMonFrontPic_DeoxysSpeed, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_DeoxysSpeed, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_DeoxysSpeed, .backPicSize = MON_COORDS_SIZE(64, 64), diff --git a/src/data/pokemon/species_info/gen_4_families.h b/src/data/pokemon/species_info/gen_4_families.h index be0cfba99e..034d595208 100644 --- a/src/data/pokemon/species_info/gen_4_families.h +++ b/src/data/pokemon/species_info/gen_4_families.h @@ -41,7 +41,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Turtwig, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Turtwig, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Turtwig, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -105,7 +109,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Grotle, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Grotle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Grotle, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -175,7 +183,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Torterra, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Torterra, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Torterra, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -239,7 +250,14 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Chimchar, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Chimchar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_V_JUMPS_BIG, .backPic = gMonBackPic_Chimchar, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -304,7 +322,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Monferno, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Monferno, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Monferno, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -374,7 +398,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Infernape, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Infernape, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Infernape, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -441,7 +469,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Piplup, .frontPicSize = MON_COORDS_SIZE(24, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Piplup, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Piplup, .backPicSize = MON_COORDS_SIZE(40, 48), @@ -508,7 +540,17 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Prinplup, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Prinplup, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Prinplup, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -580,7 +622,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Empoleon, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Empoleon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Empoleon, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -647,7 +693,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Starly, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Starly, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Starly, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -722,7 +774,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Staravia, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Staravia, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Staravia, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -804,7 +859,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Staraptor, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Staraptor, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Staraptor, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -877,7 +935,15 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Bidoof, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Bidoof, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Bidoof, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -952,7 +1018,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Bibarel, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Bibarel, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Bibarel, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -1026,7 +1098,24 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Kricketot, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Kricketot, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Kricketot, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -1102,7 +1191,15 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Kricketune, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Kricketune, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 3), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Kricketune, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -1177,7 +1274,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Shinx, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Shinx, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Shinx, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -1252,7 +1353,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Luxio, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Luxio, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Luxio, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1332,7 +1436,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Luxray, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Luxray, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GLOW_YELLOW, .backPic = gMonBackPic_Luxray, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1407,7 +1517,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Cranidos, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Cranidos, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Cranidos, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -1470,7 +1583,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Rampardos, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Rampardos, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Rampardos, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1533,7 +1652,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Shieldon, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Shieldon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Shieldon, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -1596,7 +1719,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Bastiodon, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Bastiodon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Bastiodon, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2121,7 +2248,15 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Combee, .frontPicSize = MON_COORDS_SIZE(64, 40), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Combee, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 15, .backPic = gMonBackPic_Combee, @@ -2197,7 +2332,17 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Vespiquen, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Vespiquen, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_LUNGE_GROW, .enemyMonElevation = 4, .backPic = gMonBackPic_Vespiquen, @@ -2261,7 +2406,17 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Pachirisu, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Pachirisu, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Pachirisu, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2335,7 +2490,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Buizel, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Buizel, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Buizel, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -2408,7 +2567,14 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Floatzel, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Floatzel, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Floatzel, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2482,7 +2648,17 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Cherubi, .frontPicSize = MON_COORDS_SIZE(40, 32), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Cherubi, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Cherubi, .backPicSize = MON_COORDS_SIZE(48, 40), @@ -2546,7 +2722,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_CherrimOvercast, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_CherrimOvercast, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_DEEP_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CherrimOvercast, .backPicSize = MON_COORDS_SIZE(40, 56), @@ -2610,7 +2792,14 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_CherrimSunshine, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_CherrimSunshine, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_CherrimSunshine, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2921,7 +3110,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Drifloon, .frontPicSize = MON_COORDS_SIZE(32, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Drifloon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 5, .backPic = gMonBackPic_Drifloon, @@ -2985,7 +3179,14 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Drifblim, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Drifblim, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 7, .backPic = gMonBackPic_Drifblim, @@ -3049,7 +3250,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Buneary, .frontPicSize = MON_COORDS_SIZE(32, 64), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Buneary, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Buneary, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3112,7 +3316,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Lopunny, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Lopunny, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Lopunny, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3176,7 +3384,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_LopunnyMega, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_LopunnyMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_LopunnyMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3235,7 +3443,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Glameow, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Glameow, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Glameow, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3298,7 +3510,15 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Purugly, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Purugly, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Purugly, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3361,7 +3581,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Stunky, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Stunky, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_TIP_MOVE_FORWARD, .backPic = gMonBackPic_Stunky, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3424,7 +3650,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Skuntank, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Skuntank, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Skuntank, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3488,7 +3718,18 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Bronzor, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Bronzor, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = 9, .backPic = gMonBackPic_Bronzor, @@ -3553,7 +3794,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Bronzong, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Bronzong, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .enemyMonElevation = 7, .backPic = gMonBackPic_Bronzong, @@ -3618,7 +3865,24 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Chatot, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Chatot, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Chatot, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -3683,7 +3947,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Spiritomb, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Spiritomb, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_IN_STAGES, .backPic = gMonBackPic_Spiritomb, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3747,7 +4014,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Gible, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Gible, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Gible, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -3822,7 +4093,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Gabite, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Gabite, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Gabite, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3902,7 +4176,14 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Garchomp, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Garchomp, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Garchomp, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3976,7 +4257,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_GarchompMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_GarchompMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GarchompMega, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4035,7 +4316,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Riolu, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Riolu, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_RAPID_H_HOPS, .backPic = gMonBackPic_Riolu, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4099,7 +4385,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Lucario, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Lucario, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Lucario, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4164,7 +4453,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_LucarioMega, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_LucarioMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_LucarioMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4223,7 +4512,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Hippopotas, .frontPicSize = MON_COORDS_SIZE(64, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Hippopotas, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Hippopotas, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -4300,7 +4593,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Hippowdon, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Hippowdon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Hippowdon, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4376,7 +4672,24 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Skorupi, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Skorupi, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Skorupi, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4440,7 +4753,17 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Drapion, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Drapion, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_JUMPS_BIG, .backPic = gMonBackPic_Drapion, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4504,7 +4827,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Croagunk, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Croagunk, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_RAPID_H_HOPS, .backPic = gMonBackPic_Croagunk, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -4580,7 +4908,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Toxicroak, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Toxicroak, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Toxicroak, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -4655,7 +4989,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Carnivine, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Carnivine, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_FIGURE_8, .enemyMonElevation = 8, .backPic = gMonBackPic_Carnivine, @@ -4720,7 +5067,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Finneon, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Finneon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .backPic = gMonBackPic_Finneon, .backPicSize = MON_COORDS_SIZE(56, 40), @@ -4795,7 +5151,14 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Lumineon, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Lumineon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Lumineon, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -4871,7 +5234,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Snover, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Snover, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Snover, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4948,7 +5315,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Abomasnow, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Abomasnow, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Abomasnow, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -5024,7 +5395,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_AbomasnowMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_AbomasnowMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_AbomasnowMega, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5084,7 +5455,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Rotom, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Rotom, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GLOW_YELLOW, .enemyMonElevation = 10, .backPic = gMonBackPic_Rotom, @@ -5157,7 +5534,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_RotomHeat, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_RotomHeat, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 6, .backPic = gMonBackPic_RotomHeat, @@ -5223,7 +5604,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_RotomWash, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_RotomWash, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_JUMPS_SMALL, .enemyMonElevation = 6, .backPic = gMonBackPic_RotomWash, @@ -5288,7 +5673,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_RotomFrost, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_RotomFrost, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_H_STRETCH, .enemyMonElevation = 6, .backPic = gMonBackPic_RotomFrost, @@ -5353,7 +5741,34 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_RotomFan, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_RotomFan, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .frontAnimDelay = 7, .enemyMonElevation = 6, @@ -5419,7 +5834,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_RotomMow, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_RotomMow, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_TIP_MOVE_FORWARD, .enemyMonElevation = 6, .backPic = gMonBackPic_RotomMow, @@ -5492,7 +5913,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Uxie, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Uxie, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONCAVE, .enemyMonElevation = 6, .backPic = gMonBackPic_Uxie, @@ -5566,7 +5991,16 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Mesprit, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Mesprit, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = 6, .backPic = gMonBackPic_Mesprit, @@ -5639,7 +6073,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Azelf, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Azelf, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 6, .backPic = gMonBackPic_Azelf, @@ -5713,7 +6151,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Dialga, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Dialga, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Dialga, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5779,7 +6220,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_DialgaOrigin, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DialgaOrigin, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DialgaOrigin, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5855,7 +6296,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Palkia, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Palkia, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Palkia, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5921,7 +6365,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_PalkiaOrigin, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_PalkiaOrigin, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_PalkiaOrigin, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5995,7 +6439,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Heatran, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Heatran, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GLOW_ORANGE, .backPic = gMonBackPic_Heatran, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -6066,7 +6514,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Regigigas, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Regigigas, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Regigigas, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -6139,7 +6590,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_GiratinaAltered, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_GiratinaAltered, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_GiratinaAltered, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6205,7 +6660,13 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_GiratinaOrigin, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_GiratinaOrigin, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_LUNGE_GROW, .enemyMonElevation = 7, .backPic = gMonBackPic_GiratinaOrigin, @@ -6280,7 +6741,14 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Cresselia, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Cresselia, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = 3, .backPic = gMonBackPic_Cresselia, @@ -6352,7 +6820,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Phione, .frontPicSize = MON_COORDS_SIZE(56, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Phione, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_Phione, @@ -6423,7 +6895,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Manaphy, .frontPicSize = MON_COORDS_SIZE(64, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Manaphy, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONVEX, .enemyMonElevation = 10, .backPic = gMonBackPic_Manaphy, @@ -6497,7 +6973,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_Darkrai, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Darkrai, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GLOW_BLACK, .enemyMonElevation = 4, .backPic = gMonBackPic_Darkrai, @@ -6574,7 +7054,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_ShayminLand, .frontPicSize = MON_COORDS_SIZE(40, 32), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_ShayminLand, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ShayminLand, .backPicSize = MON_COORDS_SIZE(56, 40), @@ -6647,7 +7131,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontPic = gMonFrontPic_ShayminSky, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_ShayminSky, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_ShayminSky, .backPicSize = MON_COORDS_SIZE(56, 64), diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index 052b0f40c5..a05e7ff46c 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -41,7 +41,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Victini, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Victini, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Victini, .backPicSize = MON_COORDS_SIZE(40, 64), @@ -107,7 +111,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Snivy, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Snivy, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Snivy, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -170,7 +178,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Servine, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Servine, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Servine, .backPicSize = MON_COORDS_SIZE(48, 64), @@ -232,7 +248,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Serperior, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Serperior, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Serperior, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -295,7 +317,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Tepig, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Tepig, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Tepig, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -358,7 +386,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Pignite, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Pignite, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Pignite, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -421,7 +453,30 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Emboar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Emboar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ), .frontAnimId = ANIM_DEEP_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Emboar, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -484,7 +539,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Oshawott, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Oshawott, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Oshawott, .backPicSize = MON_COORDS_SIZE(40, 48), @@ -547,7 +610,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Dewott, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Dewott, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Dewott, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -610,7 +679,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Samurott, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Samurott, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Samurott, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -673,7 +745,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_SamurottHisui, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SamurottHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SamurottHisui, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -739,7 +811,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Patrat, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Patrat, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Patrat, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -802,7 +877,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Watchog, .frontPicSize = MON_COORDS_SIZE(32, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Watchog, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Watchog, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -865,7 +948,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Lillipup, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Lillipup, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Lillipup, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -928,7 +1019,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Herdier, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Herdier, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Herdier, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -996,7 +1094,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Stoutland, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Stoutland, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Stoutland, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1059,7 +1163,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Purrloin, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Purrloin, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 54), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Purrloin, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -1122,7 +1230,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Liepard, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Liepard, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Liepard, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -1185,7 +1297,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Pansage, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Pansage, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 13), + ANIMCMD_FRAME(0, 7), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Pansage, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -1248,7 +1366,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Simisage, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Simisage, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Simisage, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -1312,7 +1434,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Pansear, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Pansear, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Pansear, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -1376,7 +1501,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Simisear, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Simisear, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONCAVE_FAST, .backPic = gMonBackPic_Simisear, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -1439,7 +1570,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Panpour, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Panpour, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Panpour, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -1502,7 +1637,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Simipour, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Simipour, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Simipour, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -1565,7 +1703,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Munna, .frontPicSize = MON_COORDS_SIZE(32, 32), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Munna, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_RISING_WOBBLE, .enemyMonElevation = 7, .backPic = gMonBackPic_Munna, @@ -1629,7 +1776,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Musharna, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Musharna, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_ROTATE_TO_SIDES_TWICE, .enemyMonElevation = 5, .backPic = gMonBackPic_Musharna, @@ -1693,7 +1846,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Pidove, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Pidove, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Pidove, .backPicSize = MON_COORDS_SIZE(48, 40), @@ -1756,7 +1913,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Tranquill, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Tranquill, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Tranquill, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -1824,7 +1985,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Unfezant, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Unfezant, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Unfezant, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1905,7 +2070,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Blitzle, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Blitzle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Blitzle, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -1968,7 +2140,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Zebstrika, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Zebstrika, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Zebstrika, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2037,7 +2213,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Roggenrola, .frontPicSize = MON_COORDS_SIZE(24, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Roggenrola, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Roggenrola, .backPicSize = MON_COORDS_SIZE(40, 48), @@ -2107,7 +2287,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Boldore, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Boldore, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Boldore, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -2182,7 +2369,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Gigalith, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Gigalith, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_ROTATE_UP_SLAM_DOWN, .backPic = gMonBackPic_Gigalith, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -2245,7 +2436,27 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Woobat, .frontPicSize = MON_COORDS_SIZE(64, 32), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Woobat, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_FOUR_PETAL, .enemyMonElevation = 19, .backPic = gMonBackPic_Woobat, @@ -2309,7 +2520,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Swoobat, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Swoobat, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, .enemyMonElevation = 10, .backPic = gMonBackPic_Swoobat, @@ -2374,7 +2592,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Drilbur, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Drilbur, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONCAVE_FAST_SHORT, .backPic = gMonBackPic_Drilbur, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -2438,7 +2662,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Excadrill, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Excadrill, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Excadrill, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2503,7 +2732,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Audino, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Audino, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Audino, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -2570,7 +2803,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_AudinoMega, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_AudinoMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_AudinoMega, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -2630,7 +2863,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Timburr, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Timburr, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Timburr, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -2693,7 +2930,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Gurdurr, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Gurdurr, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Gurdurr, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -2756,7 +3001,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Conkeldurr, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Conkeldurr, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Conkeldurr, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2819,7 +3067,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Tympole, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Tympole, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Tympole, .backPicSize = MON_COORDS_SIZE(40, 32), @@ -2882,7 +3133,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Palpitoad, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Palpitoad, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 13), + ANIMCMD_FRAME(0, 7), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Palpitoad, .backPicSize = MON_COORDS_SIZE(56, 40), @@ -2950,7 +3207,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Seismitoad, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Seismitoad, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Seismitoad, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -3014,7 +3279,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Throh, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Throh, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Throh, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3079,7 +3349,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Sawk, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Sawk, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Sawk, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -3143,7 +3416,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Sewaddle, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Sewaddle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_CIRCLE_INTO_BG, .backPic = gMonBackPic_Sewaddle, .backPicSize = MON_COORDS_SIZE(40, 48), @@ -3207,7 +3486,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Swadloon, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Swadloon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Swadloon, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -3276,7 +3560,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Leavanny, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Leavanny, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Leavanny, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -3344,7 +3632,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Venipede, .frontPicSize = MON_COORDS_SIZE(48, 32), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Venipede, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Venipede, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -3412,7 +3708,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Whirlipede, .frontPicSize = MON_COORDS_SIZE(56, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Whirlipede, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_TIP_MOVE_FORWARD, .backPic = gMonBackPic_Whirlipede, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -3485,7 +3788,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Scolipede, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Scolipede, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Scolipede, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3555,7 +3861,17 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Cottonee, .frontPicSize = MON_COORDS_SIZE(48, 32), .frontPicYOffset = 18, - .frontAnimFrames = sAnims_Cottonee, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Cottonee, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -3619,7 +3935,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Whimsicott, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Whimsicott, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Whimsicott, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3683,7 +4003,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Petilil, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Petilil, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .enemyMonElevation = 7, .backPic = gMonBackPic_Petilil, @@ -3750,7 +4076,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Lilligant, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Lilligant, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Lilligant, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3816,7 +4146,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_LilligantHisui, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_LilligantHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_LilligantHisui, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -4079,7 +4409,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_BasculegionM, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Basculegion, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, .backPic = gMonBackPic_BasculegionM, @@ -4141,7 +4471,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_BasculegionF, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Basculegion, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, .backPic = gMonBackPic_BasculegionF, @@ -4208,7 +4538,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Sandile, .frontPicSize = MON_COORDS_SIZE(48, 32), .frontPicYOffset = 18, - .frontAnimFrames = sAnims_Sandile, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sandile, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -4272,7 +4606,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Krokorok, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Krokorok, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Krokorok, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -4341,7 +4678,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Krookodile, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Krookodile, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONCAVE_FAST_SHORT, .backPic = gMonBackPic_Krookodile, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4404,7 +4747,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Darumaka, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Darumaka, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Darumaka, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -4468,7 +4815,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_DarmanitanStandard, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_DarmanitanStandard, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_DarmanitanStandard, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4530,7 +4882,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_DarmanitanZen, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_DarmanitanZen, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_DarmanitanZen, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -4586,7 +4941,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_DarumakaGalar, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_DarumakaGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DarumakaGalar, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -4651,7 +5006,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_DarmanitanGalarStandard, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DarmanitanGalarStandard, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DarmanitanGalarStandard, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -4715,7 +5070,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_DarmanitanGalarZen, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_DarmanitanGalarZen, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DarmanitanGalarZen, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4775,7 +5130,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Maractus, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Maractus, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Maractus, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4840,7 +5203,17 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Dwebble, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Dwebble, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Dwebble, .backPicSize = MON_COORDS_SIZE(56, 32), @@ -4904,7 +5277,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Crustle, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Crustle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Crustle, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4968,7 +5348,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Scraggy, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Scraggy, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Scraggy, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -5033,7 +5417,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Scrafty, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Scrafty, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Scrafty, .backPicSize = MON_COORDS_SIZE(48, 64), @@ -5096,7 +5484,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Sigilyph, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Sigilyph, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ), .frontAnimId = ANIM_FIGURE_8, .enemyMonElevation = 7, .backPic = gMonBackPic_Sigilyph, @@ -5162,7 +5559,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Yamask, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Yamask, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 10, .backPic = gMonBackPic_Yamask, @@ -5228,7 +5631,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Cofagrigus, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Cofagrigus, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GLOW_BLACK, .backPic = gMonBackPic_Cofagrigus, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -5290,7 +5697,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_YamaskGalar, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_YamaskGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 4, .backPic = gMonBackPic_YamaskGalar, @@ -5355,7 +5762,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Runerigus, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Runerigus, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, .backPic = gMonBackPic_Runerigus, @@ -5420,7 +5827,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Tirtouga, .frontPicSize = MON_COORDS_SIZE(56, 40), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Tirtouga, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_RISING_WOBBLE, .backPic = gMonBackPic_Tirtouga, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -5483,7 +5895,18 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Carracosta, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Carracosta, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE_SLOW, .backPic = gMonBackPic_Carracosta, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -5546,7 +5969,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Archen, .frontPicSize = MON_COORDS_SIZE(56, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Archen, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Archen, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -5609,7 +6036,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Archeops, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Archeops, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_RISING_WOBBLE, .enemyMonElevation = 11, .backPic = gMonBackPic_Archeops, @@ -5674,7 +6110,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Trubbish, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Trubbish, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Trubbish, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -5740,7 +6180,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Garbodor, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Garbodor, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Garbodor, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5807,7 +6251,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_GarbodorGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_GarbodorGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GarbodorGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5866,7 +6310,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Zorua, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Zorua, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_CIRCULAR_VIBRATE, .backPic = gMonBackPic_Zorua, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -5930,7 +6380,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Zoroark, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Zoroark, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_FLICKER_INCREASING, .backPic = gMonBackPic_Zoroark, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -5993,7 +6449,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_ZoruaHisui, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_ZoruaHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ZoruaHisui, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -6057,7 +6513,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_ZoroarkHisui, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_ZoroarkHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ZoroarkHisui, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6123,7 +6579,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Minccino, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Minccino, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Minccino, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -6187,7 +6647,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Cinccino, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Cinccino, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Cinccino, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6254,7 +6720,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Gothita, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Gothita, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Gothita, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -6321,7 +6792,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Gothorita, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Gothorita, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Gothorita, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6387,7 +6864,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Gothitelle, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Gothitelle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Gothitelle, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6451,7 +6933,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Solosis, .frontPicSize = MON_COORDS_SIZE(32, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Solosis, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_TWIST, .enemyMonElevation = 14, .backPic = gMonBackPic_Solosis, @@ -6515,7 +7002,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Duosion, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Duosion, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .enemyMonElevation = 7, .backPic = gMonBackPic_Duosion, @@ -6578,7 +7070,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Reuniclus, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Reuniclus, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 8, .backPic = gMonBackPic_Reuniclus, @@ -6642,7 +7140,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Ducklett, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Ducklett, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Ducklett, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -6705,7 +7211,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Swanna, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Swanna, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Swanna, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6773,7 +7282,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Vanillite, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Vanillite, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Vanillite, .backPicSize = MON_COORDS_SIZE(40, 48), @@ -6841,7 +7356,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Vanillish, .frontPicSize = MON_COORDS_SIZE(32, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Vanillish, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Vanillish, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -6908,7 +7427,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Vanilluxe, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Vanilluxe, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Vanilluxe, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7478,7 +8001,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Emolga, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Emolga, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 21), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .enemyMonElevation = 19, .backPic = gMonBackPic_Emolga, @@ -7543,7 +8071,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Karrablast, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Karrablast, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Karrablast, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -7606,7 +8137,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Escavalier, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Escavalier, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Escavalier, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -7671,7 +8206,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Foongus, .frontPicSize = MON_COORDS_SIZE(32, 32), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Foongus, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_SWING_CONCAVE_FAST, .backPic = gMonBackPic_Foongus, .backPicSize = MON_COORDS_SIZE(48, 40), @@ -7737,7 +8278,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Amoonguss, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Amoonguss, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Amoonguss, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -7800,7 +8348,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Frillish, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Frillish, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_RISING_WOBBLE, .backPic = gMonBackPic_Frillish, .backPicSize = MON_COORDS_SIZE(40, 56), @@ -7881,7 +8434,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Jellicent, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Jellicent, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Jellicent, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -7962,7 +8521,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Alomomola, .frontPicSize = MON_COORDS_SIZE(32, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Alomomola, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Alomomola, .backPicSize = MON_COORDS_SIZE(48, 64), @@ -8026,7 +8589,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Joltik, .frontPicSize = MON_COORDS_SIZE(32, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Joltik, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Joltik, .backPicSize = MON_COORDS_SIZE(48, 32), @@ -8089,7 +8658,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Galvantula, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Galvantula, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ), .frontAnimId = ANIM_CIRCLE_C_CLOCKWISE_SLOW, .backPic = gMonBackPic_Galvantula, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -8153,7 +8731,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Ferroseed, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Ferroseed, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Ferroseed, .backPicSize = MON_COORDS_SIZE(48, 40), @@ -8221,7 +8805,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Ferrothorn, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Ferrothorn, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .enemyMonElevation = 10, .backPic = gMonBackPic_Ferrothorn, @@ -8286,7 +8876,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Klink, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Klink, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .enemyMonElevation = 12, .backPic = gMonBackPic_Klink, @@ -8350,7 +8945,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Klang, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Klang, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .enemyMonElevation = 8, .backPic = gMonBackPic_Klang, @@ -8414,7 +9014,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Klinklang, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Klinklang, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .enemyMonElevation = 4, .backPic = gMonBackPic_Klinklang, @@ -8478,7 +9083,24 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Tynamo, .frontPicSize = MON_COORDS_SIZE(40, 24), .frontPicYOffset = 22, - .frontAnimFrames = sAnims_Tynamo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .enemyMonElevation = 16, .backPic = gMonBackPic_Tynamo, @@ -8542,7 +9164,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Eelektrik, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Eelektrik, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_Eelektrik, @@ -8605,7 +9233,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Eelektross, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Eelektross, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, .enemyMonElevation = 8, .backPic = gMonBackPic_Eelektross, @@ -8669,7 +9304,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Elgyem, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Elgyem, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_RISING_WOBBLE, .backPic = gMonBackPic_Elgyem, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -8732,7 +9376,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Beheeyem, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Beheeyem, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Beheeyem, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -8800,7 +9447,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Litwick, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Litwick, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Litwick, .backPicSize = MON_COORDS_SIZE(40, 40), @@ -8867,7 +9519,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Lampent, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Lampent, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 6, .backPic = gMonBackPic_Lampent, @@ -8934,7 +9591,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Chandelure, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Chandelure, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = 6, .backPic = gMonBackPic_Chandelure, @@ -8998,7 +9659,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Axew, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Axew, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Axew, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -9061,7 +9725,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Fraxure, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Fraxure, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Fraxure, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -9123,7 +9790,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Haxorus, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Haxorus, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Haxorus, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -9190,7 +9862,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Cubchoo, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Cubchoo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Cubchoo, .backPicSize = MON_COORDS_SIZE(40, 40), @@ -9257,7 +9933,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Beartic, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Beartic, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Beartic, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -9321,7 +10002,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Cryogonal, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Cryogonal, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 48), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SHRINK_GROW, .enemyMonElevation = 3, .backPic = gMonBackPic_Cryogonal, @@ -9385,7 +10072,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Shelmet, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Shelmet, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_TWIST, .backPic = gMonBackPic_Shelmet, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -9448,7 +10141,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Accelgor, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Accelgor, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Accelgor, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -9512,7 +10208,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Stunfisk, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Stunfisk, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Stunfisk, .backPicSize = MON_COORDS_SIZE(64, 24), @@ -9576,7 +10275,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_StunfiskGalar, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_StunfiskGalar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_StunfiskGalar, .backPicSize = MON_COORDS_SIZE(64, 24), @@ -9643,7 +10342,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Mienfoo, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Mienfoo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Mienfoo, .backPicSize = MON_COORDS_SIZE(56, 40), @@ -9706,7 +10408,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Mienshao, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Mienshao, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Mienshao, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -9770,7 +10480,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Druddigon, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Druddigon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, .backPic = gMonBackPic_Druddigon, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -9836,7 +10554,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Golett, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Golett, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Golett, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -9900,7 +10622,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Golurk, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Golurk, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Golurk, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -9963,7 +10688,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Pawniard, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Pawniard, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Pawniard, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -10027,7 +10761,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Bisharp, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Bisharp, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Bisharp, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -10090,7 +10827,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Kingambit, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Kingambit, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Kingambit, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -10154,7 +10891,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Bouffalant, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Bouffalant, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Bouffalant, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -10218,7 +10959,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Rufflet, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Rufflet, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Rufflet, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -10281,7 +11028,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Braviary, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Braviary, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 6, .backPic = gMonBackPic_Braviary, @@ -10344,7 +11095,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_BraviaryHisui, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_BraviaryHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 3, .backPic = gMonBackPic_BraviaryHisui, @@ -10411,7 +11162,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Vullaby, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Vullaby, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Vullaby, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -10474,7 +11229,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Mandibuzz, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Mandibuzz, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Mandibuzz, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -10537,7 +11296,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Heatmor, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Heatmor, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Heatmor, .backPicSize = MON_COORDS_SIZE(64, 24), @@ -10601,7 +11363,25 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Durant, .frontPicSize = MON_COORDS_SIZE(48, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Durant, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ), .frontAnimId = ANIM_RAPID_H_HOPS, .backPic = gMonBackPic_Durant, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -10665,7 +11445,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Deino, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Deino, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Deino, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -10728,7 +11512,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Zweilous, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Zweilous, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Zweilous, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -10790,7 +11577,16 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Hydreigon, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Hydreigon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_RISING_WOBBLE, .enemyMonElevation = 3, .backPic = gMonBackPic_Hydreigon, @@ -10854,7 +11650,19 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Larvesta, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Larvesta, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_GLOW_ORANGE, .backPic = gMonBackPic_Larvesta, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -10919,7 +11727,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Volcarona, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Volcarona, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 6, .backPic = gMonBackPic_Volcarona, @@ -10983,7 +11796,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Cobalion, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Cobalion, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Cobalion, .backPicSize = MON_COORDS_SIZE(48, 64), @@ -11048,7 +11865,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Terrakion, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Terrakion, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Terrakion, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -11113,7 +11938,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Virizion, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Virizion, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Virizion, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -11178,7 +12006,30 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_TornadusIncarnate, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_TornadusIncarnate, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ), .frontAnimId = ANIM_FIGURE_8, .enemyMonElevation = 7, .backPic = gMonBackPic_TornadusIncarnate, @@ -11244,7 +12095,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_TornadusTherian, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_TornadusTherian, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_TornadusTherian, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -11311,7 +12168,30 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_ThundurusIncarnate, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_ThundurusIncarnate, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ), .frontAnimId = ANIM_FIGURE_8, .enemyMonElevation = 7, .backPic = gMonBackPic_ThundurusIncarnate, @@ -11377,7 +12257,24 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_ThundurusTherian, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_ThundurusTherian, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_RISING_WOBBLE, .enemyMonElevation = 7, .backPic = gMonBackPic_ThundurusTherian, @@ -11445,7 +12342,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Reshiram, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Reshiram, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Reshiram, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -11511,7 +12411,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Zekrom, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Zekrom, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Zekrom, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -11577,7 +12480,30 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_LandorusIncarnate, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_LandorusIncarnate, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ), .frontAnimId = ANIM_FIGURE_8, .enemyMonElevation = 7, .backPic = gMonBackPic_LandorusIncarnate, @@ -11643,7 +12569,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_LandorusTherian, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_LandorusTherian, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_CIRCULAR_VIBRATE, .backPic = gMonBackPic_LandorusTherian, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -11713,7 +12645,12 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_Kyurem, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Kyurem, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Kyurem, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -11786,7 +12723,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_KyuremWhite, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_KyuremWhite, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_KyuremWhite, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -11859,7 +12799,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_KyuremBlack, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_KyuremBlack, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_KyuremBlack, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -11928,7 +12871,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_KeldeoOrdinary, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_KeldeoOrdinary, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_KeldeoOrdinary, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -11995,7 +12941,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_KeldeoResolute, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_KeldeoResolute, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_KeldeoResolute, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -12060,7 +13010,15 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_MeloettaAria, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_MeloettaAria, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .enemyMonElevation = 8, .backPic = gMonBackPic_MeloettaAria, @@ -12131,7 +13089,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .frontPic = gMonFrontPic_MeloettaPirouette, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_MeloettaPirouette, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .enemyMonElevation = 5, .backPic = gMonBackPic_MeloettaPirouette, diff --git a/src/data/pokemon/species_info/gen_6_families.h b/src/data/pokemon/species_info/gen_6_families.h index 08e175c9d3..d8ec3b9159 100644 --- a/src/data/pokemon/species_info/gen_6_families.h +++ b/src/data/pokemon/species_info/gen_6_families.h @@ -41,7 +41,13 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Chespin, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Chespin, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Chespin, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -104,7 +110,13 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Quilladin, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Quilladin, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_LUNGE_GROW, .backPic = gMonBackPic_Quilladin, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -166,7 +178,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Chesnaught, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Chesnaught, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_IN_STAGES, .backPic = gMonBackPic_Chesnaught, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -229,7 +245,15 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Fennekin, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Fennekin, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Fennekin, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -292,7 +316,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Braixen, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Braixen, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Braixen, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -354,7 +382,15 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Delphox, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Delphox, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Delphox, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -417,7 +453,15 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Froakie, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Froakie, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), + ), .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Froakie, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -480,7 +524,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Frogadier, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Frogadier, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Frogadier, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -598,7 +645,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Greninja, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Greninja, + .frontAnimFrames =sAnims_Greninja, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Greninja, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -658,7 +705,13 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_GreninjaAsh, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_GreninjaAsh, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_GreninjaAsh, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -715,7 +768,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Bunnelby, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Bunnelby, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Bunnelby, .backPicSize = MON_COORDS_SIZE(48, 64), @@ -778,7 +834,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Diggersby, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Diggersby, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Diggersby, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -841,7 +900,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Fletchling, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Fletchling, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Fletchling, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -904,7 +970,16 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Fletchinder, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Fletchinder, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SLIDE_SLOW, .enemyMonElevation = 9, .backPic = gMonBackPic_Fletchinder, @@ -967,7 +1042,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Talonflame, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Talonflame, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 55), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 7, .backPic = gMonBackPic_Talonflame, @@ -1201,7 +1279,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Vivillon ##form, \ .iconSprite = gMonIcon_Vivillon ##form, \ .iconPalIndex = iconPal, \ - SHADOW(0, 20, SHADOW_SIZE_M) \ + SHADOW(0, 20, SHADOW_SIZE_M) \ FOOTPRINT(Vivillon) \ OVERWORLD( \ sPicTable_Vivillon ##form, \ @@ -1435,7 +1513,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Litleo, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Litleo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Litleo, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -1498,7 +1580,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Pyroar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Pyroar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Pyroar, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1914,7 +1999,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Skiddo, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Skiddo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Skiddo, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -1977,7 +2065,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Gogoat, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Gogoat, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Gogoat, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2041,7 +2133,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Pancham, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Pancham, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Pancham, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -2105,7 +2204,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Pangoro, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Pangoro, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Pangoro, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2175,7 +2281,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Furfrou##_form, \ .iconSprite = gMonIcon_Furfrou##_form, \ .iconPalIndex = _iconIdx, \ - SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) \ + SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) \ FOOTPRINT(Furfrou) \ OVERWORLD( \ sPicTable_Furfrou##_form, \ @@ -2242,7 +2348,15 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Espurr, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Espurr, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Espurr, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -2432,7 +2546,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Honedge, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Honedge, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SWING_CONVEX, .enemyMonElevation = 4, .backPic = gMonBackPic_Honedge, @@ -2496,7 +2614,13 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Doublade, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Doublade, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_VIBRATE, .enemyMonElevation = 5, .backPic = gMonBackPic_Doublade, @@ -2562,7 +2686,13 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_AegislashShield, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_AegislashShield, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_VIBRATE, .enemyMonElevation = 3, .backPic = gMonBackPic_AegislashShield, @@ -2632,7 +2762,13 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_AegislashBlade, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_AegislashBlade, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_CIRCLE_C_CLOCKWISE_SLOW, .enemyMonElevation = 3, .backPic = gMonBackPic_AegislashBlade, @@ -2690,7 +2826,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Spritzee, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Spritzee, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 14, .backPic = gMonBackPic_Spritzee, @@ -2755,7 +2898,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Aromatisse, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Aromatisse, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Aromatisse, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2818,7 +2964,15 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Swirlix, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Swirlix, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Swirlix, .backPicSize = MON_COORDS_SIZE(56, 40), @@ -2882,7 +3036,13 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Slurpuff, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Slurpuff, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Slurpuff, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2945,7 +3105,12 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Inkay, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Inkay, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 14, .backPic = gMonBackPic_Inkay, @@ -3009,7 +3174,12 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Malamar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Malamar, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Malamar, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3072,7 +3242,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Binacle, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Binacle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ), .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Binacle, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3136,7 +3313,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Barbaracle, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Barbaracle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Barbaracle, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3199,7 +3379,16 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Skrelp, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Skrelp, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .backPic = gMonBackPic_Skrelp, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3262,7 +3451,12 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Dragalge, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Dragalge, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_FRONT_FLIP, .backPic = gMonBackPic_Dragalge, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3326,7 +3520,13 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Clauncher, .frontPicSize = MON_COORDS_SIZE(56, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Clauncher, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_TIP_MOVE_FORWARD, .backPic = gMonBackPic_Clauncher, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3390,7 +3590,16 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Clawitzer, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Clawitzer, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ), .frontAnimId = ANIM_CIRCLE_C_CLOCKWISE_SLOW, .backPic = gMonBackPic_Clawitzer, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3453,7 +3662,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Helioptile, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Helioptile, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GLOW_YELLOW, .backPic = gMonBackPic_Helioptile, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3517,7 +3730,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Heliolisk, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Heliolisk, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ), .frontAnimId = ANIM_RAPID_H_HOPS, .backPic = gMonBackPic_Heliolisk, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -3580,7 +3797,12 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Tyrunt, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Tyrunt, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Tyrunt, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3643,7 +3865,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Tyrantrum, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Tyrantrum, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Tyrantrum, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -3706,7 +3931,18 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Amaura, .frontPicSize = MON_COORDS_SIZE(32, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Amaura, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_CONCAVE_ARC_SMALL_TWICE, .backPic = gMonBackPic_Amaura, .backPicSize = MON_COORDS_SIZE(40, 64), @@ -3769,7 +4005,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Aurorus, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Aurorus, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Aurorus, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3837,7 +4076,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Hawlucha, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Hawlucha, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Hawlucha, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3901,7 +4144,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Dedenne, .frontPicSize = MON_COORDS_SIZE(64, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Dedenne, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GLOW_YELLOW, .backPic = gMonBackPic_Dedenne, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3966,7 +4213,17 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Carbink, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Carbink, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_ZIGZAG_SLOW, .enemyMonElevation = 4, .backPic = gMonBackPic_Carbink, @@ -4031,7 +4288,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Goomy, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Goomy, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Goomy, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -4096,7 +4357,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Sliggoo, .frontPicSize = MON_COORDS_SIZE(32, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Sliggoo, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sliggoo, .backPicSize = MON_COORDS_SIZE(48, 64), @@ -4160,7 +4425,13 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Goodra, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Goodra, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Goodra, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4224,7 +4495,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_SliggooHisui, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_SliggooHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SliggooHisui, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4289,7 +4560,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_GoodraHisui, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_GoodraHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GoodraHisui, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4356,7 +4627,17 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Klefki, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Klefki, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_FOUR_PETAL, .enemyMonElevation = 5, .backPic = gMonBackPic_Klefki, @@ -4421,7 +4702,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Phantump, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Phantump, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, .backPic = gMonBackPic_Phantump, @@ -4486,7 +4771,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Trevenant, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Trevenant, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Trevenant, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5066,7 +5358,13 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Bergmite, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Bergmite, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_LUNGE_GROW, .backPic = gMonBackPic_Bergmite, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -5130,7 +5428,12 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Avalugg, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Avalugg, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Avalugg, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -5192,7 +5495,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_AvaluggHisui, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_AvaluggHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_AvaluggHisui, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -5262,7 +5565,16 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Noibat, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Noibat, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_RISING_WOBBLE, .enemyMonElevation = 8, .backPic = gMonBackPic_Noibat, @@ -5330,7 +5642,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Noivern, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Noivern, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Noivern, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5519,7 +5834,12 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Yveltal, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Yveltal, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_FRONT_FLIP, .enemyMonElevation = 5, .backPic = gMonBackPic_Yveltal, @@ -5837,7 +6157,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_ZygardeComplete, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_ZygardeComplete, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_ZygardeComplete, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5906,7 +6230,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Diancie, .frontPicSize = MON_COORDS_SIZE(40, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Diancie, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Diancie, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5974,7 +6302,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_DiancieMega, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DiancieMega, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DiancieMega, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6036,7 +6364,17 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_HoopaConfined, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_HoopaConfined, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_ZIGZAG_SLOW, .enemyMonElevation = 13, .backPic = gMonBackPic_HoopaConfined, @@ -6103,7 +6441,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_HoopaUnbound, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_HoopaUnbound, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GROW_IN_STAGES, .enemyMonElevation = 3, .backPic = gMonBackPic_HoopaUnbound, @@ -6172,7 +6513,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontPic = gMonFrontPic_Volcanion, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Volcanion, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Volcanion, .backPicSize = MON_COORDS_SIZE(64, 64), diff --git a/src/data/pokemon/species_info/gen_7_families.h b/src/data/pokemon/species_info/gen_7_families.h index cb126fd171..a9a1bd3078 100644 --- a/src/data/pokemon/species_info/gen_7_families.h +++ b/src/data/pokemon/species_info/gen_7_families.h @@ -41,7 +41,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Rowlet, .frontPicSize = MON_COORDS_SIZE(31, 37), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Rowlet, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Rowlet, .backPicSize = MON_COORDS_SIZE(43, 36), @@ -105,7 +108,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Dartrix, .frontPicSize = MON_COORDS_SIZE(34, 47), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Dartrix, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Dartrix, .backPicSize = MON_COORDS_SIZE(56, 54), @@ -168,7 +174,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Decidueye, .frontPicSize = MON_COORDS_SIZE(45, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Decidueye, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_SHRINK_GROW_VIBRATE_FAST, .backPic = gMonBackPic_Decidueye, .backPicSize = MON_COORDS_SIZE(46, 62), @@ -231,7 +240,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_DecidueyeHisui, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DecidueyeHisui, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DecidueyeHisui, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -297,7 +306,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Litten, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Litten, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Litten, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -360,7 +369,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Torracat, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Torracat, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Torracat, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -422,7 +431,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Incineroar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Incineroar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Incineroar, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -485,7 +494,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Popplio, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Popplio, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Popplio, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -548,7 +557,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Brionne, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Brionne, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Brionne, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -610,7 +619,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Primarina, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Primarina, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHAKE_GLOW_BLUE_SLOW, .backPic = gMonBackPic_Primarina, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -674,7 +683,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Pikipek, .frontPicSize = MON_COORDS_SIZE(29, 40), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Pikipek, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Pikipek, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -738,7 +751,12 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Trumbeak, .frontPicSize = MON_COORDS_SIZE(44, 53), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Trumbeak, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Trumbeak, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -801,7 +819,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Toucannon, .frontPicSize = MON_COORDS_SIZE(59, 59), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Toucannon, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_SHAKE_GLOW_RED_SLOW, .backPic = gMonBackPic_Toucannon, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -865,7 +886,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Yungoos, .frontPicSize = MON_COORDS_SIZE(64, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Yungoos, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Yungoos, .backPicSize = MON_COORDS_SIZE(48, 40), @@ -925,7 +946,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Gumshoos, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Gumshoos, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Gumshoos, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -984,7 +1005,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Gumshoos, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Gumshoos, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Gumshoos, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -1050,7 +1071,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Grubbin, .frontPicSize = MON_COORDS_SIZE(48, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Grubbin, + .frontAnimFrames = sAnims_Vikavolt, .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Grubbin, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -1114,7 +1135,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Charjabug, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Charjabug, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_SHAKE_FLASH_YELLOW_SLOW, .backPic = gMonBackPic_Charjabug, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -1233,7 +1258,15 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Vikavolt, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Vikavolt, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES, .enemyMonElevation = 8, .backPic = gMonBackPic_Vikavolt, @@ -1301,7 +1334,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Crabrawler, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Crabrawler, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Crabrawler, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -1366,7 +1399,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Crabominable, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Crabominable, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHRINK_GROW_VIBRATE_FAST, .backPic = gMonBackPic_Crabominable, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1430,7 +1463,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_OricorioBaile, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Oricorio, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_CONCAVE_ARC_SMALL, .backPic = gMonBackPic_OricorioBaile, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1495,7 +1528,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_OricorioPomPom, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Oricorio, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_OricorioPomPom, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1560,7 +1593,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_OricorioPau, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Oricorio, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_OricorioPau, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1625,7 +1658,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_OricorioSensu, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Oricorio, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_OricorioSensu, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1692,7 +1725,40 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Cutiefly, .frontPicSize = MON_COORDS_SIZE(33, 35), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Cutiefly, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 35), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = 10, .backPic = gMonBackPic_Cutiefly, @@ -2002,7 +2068,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_LycanrocMidday, .frontPicSize = MON_COORDS_SIZE(57, 53), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_LycanrocMidday, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_LycanrocMidday, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2064,7 +2133,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_LycanrocMidnight, .frontPicSize = MON_COORDS_SIZE(56, 61), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_LycanrocMidnight, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_SHRINK_GROW_VIBRATE_SLOW, .backPic = gMonBackPic_LycanrocMidnight, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2126,7 +2198,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_LycanrocDusk, .frontPicSize = MON_COORDS_SIZE(57, 58), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_LycanrocDusk, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_LycanrocDusk, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2190,7 +2265,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_WishiwashiSolo, .frontPicSize = MON_COORDS_SIZE(40, 24), .frontPicYOffset = 20, - .frontAnimFrames = sAnims_WishiwashiSolo, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .enemyMonElevation = 12, .backPic = gMonBackPic_WishiwashiSolo, @@ -2255,8 +2330,8 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_WishiwashiSchool, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_WishiwashiSchool, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, //Todo + .frontAnimFrames = sAnims_SingleFramePlaceHolder, + //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_WishiwashiSchool, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 5, @@ -2314,7 +2389,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Mareanie, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Mareanie, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_GLOW_PURPLE, .backPic = gMonBackPic_Mareanie, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -2378,7 +2453,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Toxapex, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Toxapex, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHAKE_GLOW_PURPLE_SLOW, .backPic = gMonBackPic_Toxapex, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2442,7 +2517,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Mudbray, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Mudbray, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Mudbray, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2506,7 +2581,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Mudsdale, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Mudsdale, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Mudsdale, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2570,7 +2645,14 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Dewpider, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Dewpider, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Dewpider, .backPicSize = MON_COORDS_SIZE(40, 48), @@ -2757,7 +2839,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Fomantis, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Fomantis, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Fomantis, .backPicSize = MON_COORDS_SIZE(40, 56), @@ -2818,7 +2900,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Lurantis, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Lurantis, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Lurantis, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -2877,7 +2959,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Lurantis, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Lurantis, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Lurantis, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -2945,7 +3027,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Morelull, .frontPicSize = MON_COORDS_SIZE(24, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Morelull, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHAKE_FLASH_YELLOW, .backPic = gMonBackPic_Morelull, .backPicSize = MON_COORDS_SIZE(40, 48), @@ -3010,7 +3092,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Shiinotic, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Shiinotic, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHAKE_GLOW_WHITE_SLOW, .backPic = gMonBackPic_Shiinotic, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3074,7 +3156,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Salandit, .frontPicSize = MON_COORDS_SIZE(56, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Salandit, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_GLOW_RED, .backPic = gMonBackPic_Salandit, .backPicSize = MON_COORDS_SIZE(56, 40), @@ -3260,7 +3346,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Stufful, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Stufful, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Stufful, .backPicSize = MON_COORDS_SIZE(56, 40), @@ -3323,7 +3413,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Bewear, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Bewear, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 60), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Bewear, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3387,7 +3481,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Bounsweet, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Bounsweet, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Bounsweet, .backPicSize = MON_COORDS_SIZE(48, 40), @@ -3452,7 +3546,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Steenee, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Steenee, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Steenee, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -3516,7 +3610,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Tsareena, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Tsareena, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Tsareena, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -3581,7 +3675,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Comfey, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Comfey, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = 8, .backPic = gMonBackPic_Comfey, @@ -3646,7 +3740,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Oranguru, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Oranguru, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_SHRINK_GROW_SLOW, .backPic = gMonBackPic_Oranguru, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3710,7 +3807,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Passimian, .frontPicSize = MON_COORDS_SIZE(57, 60), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Passimian, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Passimian, .backPicSize = MON_COORDS_SIZE(51, 52), @@ -3774,7 +3874,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Wimpod, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Wimpod, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SHAKE_H_SLIDE_FAST, .backPic = gMonBackPic_Wimpod, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3837,7 +3941,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Golisopod, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Golisopod, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_SHRINK_GROW_VIBRATE_FAST, .backPic = gMonBackPic_Golisopod, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3901,7 +4009,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Sandygast, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Sandygast, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Sandygast, .backPicSize = MON_COORDS_SIZE(40, 48), @@ -3965,7 +4073,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Palossand, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Palossand, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Palossand, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4028,7 +4136,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Pyukumuku, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Pyukumuku, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Pyukumuku, .backPicSize = MON_COORDS_SIZE(48, 32), @@ -4092,7 +4204,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_TypeNull, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_TypeNull, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_TypeNull, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -4154,7 +4266,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Silvally, \ .frontPicSize = MON_COORDS_SIZE(64, 64), \ .frontPicYOffset = 0, \ - .frontAnimFrames = sAnims_Silvally, \ + .frontAnimFrames = sAnims_SingleFramePlaceHolder, \ .frontAnimId = ANIM_V_SHAKE, \ .backPic = gMonBackPic_Silvally, \ .backPicSize = MON_COORDS_SIZE(56, 64), \ @@ -4245,7 +4357,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_MiniorMeteor, \ .frontPicSize = MON_COORDS_SIZE(48, 40), \ .frontPicYOffset = 14, \ - .frontAnimFrames = sAnims_MiniorMeteor, \ + .frontAnimFrames = sAnims_SingleFramePlaceHolder, \ .frontAnimId = ANIM_TUMBLING_FRONT_FLIP_TWICE, \ .enemyMonElevation = 17, \ .backPic = gMonBackPic_MiniorMeteor, \ @@ -4282,7 +4394,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_MiniorCore, \ .frontPicSize = MON_COORDS_SIZE(48, 40), \ .frontPicYOffset = 16, \ - .frontAnimFrames = sAnims_MiniorMeteor, \ + .frontAnimFrames = sAnims_SingleFramePlaceHolder, \ .frontAnimId = ANIM_TUMBLING_FRONT_FLIP_TWICE, \ .enemyMonElevation = 17, \ .backPic = gMonBackPic_MiniorCore, \ @@ -4352,7 +4464,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Komala, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Komala, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_H_DIP, .backPic = gMonBackPic_Komala, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -4417,7 +4529,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Turtonator, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Turtonator, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_SHAKE_GLOW_RED, .backPic = gMonBackPic_Turtonator, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4602,7 +4718,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_MimikyuDisguised, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_MimikyuDisguised, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_DEEP_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MimikyuDisguised, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -4663,7 +4779,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_MimikyuBusted, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_MimikyuBusted, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_DEEP_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MimikyuBusted, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -4716,7 +4832,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_MimikyuDisguised, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_MimikyuDisguised, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_DEEP_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MimikyuDisguised, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -4779,7 +4895,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_MimikyuBusted, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_MimikyuBusted, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_DEEP_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MimikyuBusted, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -4840,7 +4956,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Bruxish, .frontPicSize = MON_COORDS_SIZE(56, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Bruxish, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_RISING_WOBBLE, .backPic = gMonBackPic_Bruxish, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -4905,7 +5021,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Drampa, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Drampa, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 50), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Drampa, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -4970,7 +5089,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Dhelmise, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Dhelmise, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SWING_CONVEX, .enemyMonElevation = 2, .backPic = gMonBackPic_Dhelmise, @@ -5035,7 +5154,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_JangmoO, .frontPicSize = MON_COORDS_SIZE(36, 43), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Jangmo_O, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_JangmoO, .backPicSize = MON_COORDS_SIZE(42, 56), @@ -5099,7 +5221,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_HakamoO, .frontPicSize = MON_COORDS_SIZE(53, 61), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Hakamo_O, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ), .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_HakamoO, .backPicSize = MON_COORDS_SIZE(49, 56), @@ -5218,7 +5343,13 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_KommoO, .frontPicSize = MON_COORDS_SIZE(63, 63), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Kommo_O, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_SHRINK_GROW_VIBRATE_FAST, .backPic = gMonBackPic_KommoO, .backPicSize = MON_COORDS_SIZE(60, 60), @@ -5284,7 +5415,15 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_TapuKoko, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_TapuKoko, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_TRIANGLE_DOWN_TWICE, .enemyMonElevation = 9, .backPic = gMonBackPic_TapuKoko, @@ -5350,7 +5489,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_TapuLele, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_TapuLele, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .enemyMonElevation = 8, .backPic = gMonBackPic_TapuLele, @@ -5416,7 +5559,13 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_TapuBulu, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_TapuBulu, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_V_SHAKE_TWICE, .enemyMonElevation = 5, .backPic = gMonBackPic_TapuBulu, @@ -5482,7 +5631,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_TapuFini, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_TapuFini, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(1, 60), + ANIMCMD_FRAME(1, 60), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_SHAKE_GLOW_BLUE_SLOW, .frontAnimDelay = 5, .enemyMonElevation = 6, @@ -5549,7 +5702,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Cosmog, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Cosmog, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .enemyMonElevation = 7, .backPic = gMonBackPic_Cosmog, @@ -5617,7 +5770,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Cosmoem, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Cosmoem, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_RISING_WOBBLE, .enemyMonElevation = 3, .backPic = gMonBackPic_Cosmoem, @@ -5685,7 +5838,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Solgaleo, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Solgaleo, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Solgaleo, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5749,7 +5902,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Lunala, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Lunala, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_CIRCULAR_VIBRATE, .enemyMonElevation = 6, .backPic = gMonBackPic_Lunala, @@ -5816,7 +5969,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Nihilego, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Nihilego, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .enemyMonElevation = 6, .backPic = gMonBackPic_Nihilego, @@ -5883,7 +6036,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Buzzwole, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Buzzwole, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHRINK_GROW_VIBRATE_FAST, .backPic = gMonBackPic_Buzzwole, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -5948,7 +6101,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Pheromosa, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Pheromosa, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Pheromosa, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6013,7 +6166,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Xurkitree, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Xurkitree, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHAKE_FLASH_YELLOW_FAST, .backPic = gMonBackPic_Xurkitree, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6080,7 +6233,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Celesteela, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Celesteela, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_GROW_STUTTER_SLOW, .backPic = gMonBackPic_Celesteela, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6145,7 +6298,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Kartana, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Kartana, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_H_VIBRATE, .enemyMonElevation = 3, .backPic = gMonBackPic_Kartana, @@ -6211,7 +6364,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Guzzlord, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Guzzlord, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHRINK_GROW_VIBRATE_FAST, .backPic = gMonBackPic_Guzzlord, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6278,7 +6431,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Necrozma, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Necrozma, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_GROW_VIBRATE, .enemyMonElevation = 6, .backPic = gMonBackPic_Necrozma, @@ -6346,7 +6499,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_NecrozmaDuskMane, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Necrozma, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_NecrozmaDuskMane, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6414,7 +6567,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_NecrozmaDawnWings, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Necrozma, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 6, .backPic = gMonBackPic_NecrozmaDawnWings, @@ -6486,7 +6639,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_NecrozmaUltra, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Necrozma, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, .backPic = gMonBackPic_NecrozmaUltra, @@ -6550,7 +6703,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Magearna, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Magearna, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Magearna, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6614,7 +6767,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_MagearnaOriginal, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Magearna, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_MagearnaOriginal, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6683,7 +6836,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Marshadow, .frontPicSize = MON_COORDS_SIZE(32, 56), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Marshadow, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 54), + ANIMCMD_FRAME(0, 10), + ), .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Marshadow, .backPicSize = MON_COORDS_SIZE(40, 56), @@ -6748,7 +6905,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Poipole, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Poipole, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHAKE_GLOW_PURPLE_SLOW, .enemyMonElevation = 9, .backPic = gMonBackPic_Poipole, @@ -6812,7 +6969,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Naganadel, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Naganadel, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_TRIANGLE_DOWN_TWICE, .enemyMonElevation = 7, .backPic = gMonBackPic_Naganadel, @@ -6878,7 +7035,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Stakataka, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Stakataka, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Stakataka, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -6943,7 +7100,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Blacephalon, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Blacephalon, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_SHAKE_GLOW_RED, .backPic = gMonBackPic_Blacephalon, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -7007,7 +7164,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Zeraora, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Zeraora, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Zeraora, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -7072,7 +7229,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Meltan, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Meltan, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_GROW_STUTTER_SLOW, .backPic = gMonBackPic_Meltan, .backPicSize = MON_COORDS_SIZE(40, 40), @@ -7135,7 +7292,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_Melmetal, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Melmetal, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Melmetal, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -7202,7 +7359,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .frontPic = gMonFrontPic_MelmetalGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_MelmetalGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MelmetalGmax, .backPicSize = MON_COORDS_SIZE(64, 64), diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index ee08542523..3abd1c1823 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -41,7 +41,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Grookey, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Grookey, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Grookey, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -103,7 +103,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Thwackey, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Thwackey, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Thwackey, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -164,7 +164,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Rillaboom, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Rillaboom, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Rillaboom, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -227,7 +227,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_RillaboomGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_RillaboomGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_RillaboomGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -286,7 +286,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Scorbunny, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Scorbunny, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Scorbunny, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -348,7 +348,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Raboot, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Raboot, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Raboot, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -410,7 +410,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Cinderace, .frontPicSize = MON_COORDS_SIZE(40, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Cinderace, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Cinderace, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -474,7 +474,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_CinderaceGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_CinderaceGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CinderaceGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -534,7 +534,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Sobble, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Sobble, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sobble, .backPicSize = MON_COORDS_SIZE(40, 56), @@ -596,7 +596,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Drizzile, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Drizzile, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Drizzile, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -658,7 +658,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Inteleon, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Inteleon, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Inteleon, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -722,7 +722,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_InteleonGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_InteleonGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_InteleonGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -781,7 +781,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Skwovet, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Skwovet, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Skwovet, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -845,7 +845,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Greedent, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Greedent, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Greedent, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -908,7 +908,15 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Rookidee, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Rookidee, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Rookidee, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -971,7 +979,15 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Corvisquire, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Corvisquire, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_CIRCLE_INTO_BG, .enemyMonElevation = 10, .backPic = gMonBackPic_Corvisquire, @@ -1034,7 +1050,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Corviknight, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Corviknight, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Corviknight, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1098,7 +1118,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_CorviknightGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_CorviknightGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CorviknightGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1156,7 +1176,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Blipbug, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Blipbug, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Blipbug, .backPicSize = MON_COORDS_SIZE(40, 56), @@ -1221,7 +1241,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Dottler, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Dottler, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Dottler, .backPicSize = MON_COORDS_SIZE(56, 32), @@ -1284,7 +1304,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Orbeetle, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Orbeetle, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_Orbeetle, @@ -1350,7 +1370,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_OrbeetleGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_OrbeetleGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_OrbeetleGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1409,7 +1429,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Nickit, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Nickit, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Nickit, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -1472,7 +1492,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Thievul, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Thievul, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Thievul, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -1535,7 +1555,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Gossifleur, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Gossifleur, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Gossifleur, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -1598,7 +1618,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Eldegoss, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Eldegoss, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Eldegoss, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -1661,7 +1681,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Wooloo, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Wooloo, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Wooloo, .backPicSize = MON_COORDS_SIZE(56, 32), @@ -1724,7 +1744,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Dubwool, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Dubwool, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Dubwool, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -1786,7 +1806,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Chewtle, .frontPicSize = MON_COORDS_SIZE(32, 48), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Chewtle, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 1), + ), //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Chewtle, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -1848,7 +1872,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Drednaw, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Drednaw, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Drednaw, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -1912,7 +1940,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_DrednawGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DrednawGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DrednawGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1971,7 +1999,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Yamper, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Yamper, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Yamper, .backPicSize = MON_COORDS_SIZE(48, 48), @@ -2034,7 +2062,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Boltund, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Boltund, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Boltund, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2097,7 +2125,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Rolycoly, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Rolycoly, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Rolycoly, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -2159,7 +2187,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Carkol, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Carkol, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Carkol, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -2221,7 +2249,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Coalossal, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Coalossal, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, .frontAnimId = ANIM_GLOW_RED, .backPic = gMonBackPic_Coalossal, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -2285,7 +2313,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_CoalossalGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_CoalossalGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CoalossalGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2344,7 +2372,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Applin, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Applin, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Applin, .backPicSize = MON_COORDS_SIZE(40, 48), @@ -2409,7 +2437,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Flapple, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Flapple, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 9, .backPic = gMonBackPic_Flapple, @@ -2474,7 +2502,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_FlappleGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_FlappleGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_FlappleGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2530,7 +2558,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Appletun, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Appletun, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Appletun, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -2594,7 +2622,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_AppletunGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_AppletunGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_AppletunGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2651,7 +2679,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Dipplin, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Dipplin, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Dipplin, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2713,7 +2741,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Hydrapple, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Hydrapple, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Hydrapple, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2776,7 +2804,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Silicobra, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Silicobra, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Silicobra, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -2839,7 +2867,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Sandaconda, .frontPicSize = MON_COORDS_SIZE(64, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Sandaconda, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sandaconda, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -2903,7 +2931,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_SandacondaGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_SandacondaGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SandacondaGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2961,7 +2989,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Cramorant, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Cramorant, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Cramorant, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -3025,7 +3053,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_CramorantGulping, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Cramorant, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CramorantGulping, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3081,7 +3109,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_CramorantGorging, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Cramorant, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CramorantGorging, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3139,7 +3167,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Arrokuda, .frontPicSize = MON_COORDS_SIZE(56, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Arrokuda, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Arrokuda, .backPicSize = MON_COORDS_SIZE(48, 40), @@ -3202,7 +3230,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Barraskewda, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Barraskewda, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Barraskewda, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -3265,7 +3293,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Toxel, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Toxel, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Toxel, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -3329,7 +3357,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_ToxtricityAmped, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Toxtricity, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ToxtricityAmped, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -3389,7 +3417,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_ToxtricityGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_ToxtricityGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ToxtricityGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3445,7 +3473,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_ToxtricityLowKey, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Toxtricity, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ToxtricityLowKey, .backPicSize = MON_COORDS_SIZE(48, 64), @@ -3505,7 +3533,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_ToxtricityGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_ToxtricityGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ToxtricityGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3563,7 +3591,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Sizzlipede, .frontPicSize = MON_COORDS_SIZE(48, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Sizzlipede, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 1), + ), .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Sizzlipede, .backPicSize = MON_COORDS_SIZE(40, 32), @@ -3626,7 +3658,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Centiskorch, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Centiskorch, + .frontAnimFrames = ANIM_FRAMES( + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 1), + ), //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Centiskorch, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -3690,7 +3726,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_CentiskorchGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_CentiskorchGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CentiskorchGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3749,7 +3785,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Clobbopus, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Clobbopus, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Clobbopus, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -3811,7 +3847,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Grapploct, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Grapploct, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Grapploct, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -3873,7 +3909,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Sinistea, .frontPicSize = MON_COORDS_SIZE(40, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Sinistea, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 9, .backPic = gMonBackPic_Sinistea, @@ -3937,7 +3973,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Sinistea, .frontPicSize = MON_COORDS_SIZE(40, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Sinistea, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 10, .backPic = gMonBackPic_Sinistea, @@ -4000,7 +4036,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Polteageist, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Polteageist, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 12, .backPic = gMonBackPic_Polteageist, @@ -4063,7 +4099,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Polteageist, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Polteageist, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 11, .backPic = gMonBackPic_Polteageist, @@ -4128,7 +4164,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Hatenna, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Hatenna, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Hatenna, .backPicSize = MON_COORDS_SIZE(40, 40), @@ -4190,7 +4226,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Hattrem, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Hattrem, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Hattrem, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -4251,7 +4287,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Hatterene, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Hatterene, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Hatterene, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -4315,7 +4351,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_HattereneGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_HattereneGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_HattereneGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4374,7 +4410,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Impidimp, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Impidimp, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Impidimp, .backPicSize = MON_COORDS_SIZE(48, 40), @@ -4436,7 +4472,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Morgrem, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Morgrem, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Morgrem, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -4498,7 +4534,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Grimmsnarl, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Grimmsnarl, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Grimmsnarl, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -4562,7 +4598,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_GrimmsnarlGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_GrimmsnarlGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GrimmsnarlGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4620,7 +4656,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Milcery, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Milcery, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 10, .backPic = gMonBackPic_Milcery, @@ -4691,7 +4727,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Alcremie ##sweet, \ .frontPicSize = MON_COORDS_SIZE(40, 56), \ .frontPicYOffset = 7, \ - .frontAnimFrames = sAnims_Alcremie, \ + .frontAnimFrames = sAnims_SingleFramePlaceHolder, \ /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ \ .backPic = gMonBackPic_Alcremie ##sweet, \ .backPicSize = MON_COORDS_SIZE(48, 56), \ @@ -4802,7 +4838,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_AlcremieGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_AlcremieGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_AlcremieGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4860,7 +4896,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Falinks, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Falinks, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Falinks, .backPicSize = MON_COORDS_SIZE(64, 40), @@ -4922,7 +4958,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Pincurchin, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Pincurchin, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Pincurchin, .backPicSize = MON_COORDS_SIZE(56, 40), @@ -4987,7 +5023,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Snom, .frontPicSize = MON_COORDS_SIZE(40, 32), .frontPicYOffset = 20, - .frontAnimFrames = sAnims_Snom, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Snom, .backPicSize = MON_COORDS_SIZE(48, 32), @@ -5050,7 +5086,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Frosmoth, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Frosmoth, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 7, .backPic = gMonBackPic_Frosmoth, @@ -5114,7 +5150,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Stonjourner, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Stonjourner, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Stonjourner, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -5178,7 +5214,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_EiscueIce, .frontPicSize = MON_COORDS_SIZE(40, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Eiscue, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_EiscueIce, .backPicSize = MON_COORDS_SIZE(48, 64), @@ -5242,7 +5278,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_EiscueNoice, .frontPicSize = MON_COORDS_SIZE(40, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Eiscue, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_EiscueNoice, .backPicSize = MON_COORDS_SIZE(40, 64), @@ -5300,7 +5336,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_IndeedeeM, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Indeedee, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IndeedeeM, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -5362,7 +5398,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_IndeedeeF, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Indeedee, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IndeedeeF, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -5427,7 +5463,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_MorpekoFullBelly, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Morpeko, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MorpekoFullBelly, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -5491,7 +5527,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_MorpekoHangry, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Morpeko, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_MorpekoHangry, .backPicSize = MON_COORDS_SIZE(48, 56), @@ -5550,7 +5586,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Cufant, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Cufant, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Cufant, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -5613,7 +5649,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Copperajah, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Copperajah, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Copperajah, .backPicSize = MON_COORDS_SIZE(64, 32), @@ -5678,7 +5714,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_CopperajahGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_CopperajahGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CopperajahGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5737,7 +5773,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Dracozolt, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Dracozolt, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Dracozolt, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -5799,7 +5835,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Arctozolt, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Arctozolt, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Arctozolt, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -5862,7 +5898,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Dracovish, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Dracovish, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Dracovish, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5925,7 +5961,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Arctovish, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Arctovish, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Arctovish, .backPicSize = MON_COORDS_SIZE(64, 48), @@ -5987,7 +6023,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Duraludon, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Duraludon, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Duraludon, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6053,7 +6089,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_DuraludonGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DuraludonGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_DuraludonGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6112,7 +6148,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Archaludon, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Archaludon, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Archaludon, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6176,7 +6212,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Dreepy, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Dreepy, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, .backPic = gMonBackPic_Dreepy, @@ -6239,7 +6275,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Drakloak, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Drakloak, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, .backPic = gMonBackPic_Drakloak, @@ -6302,7 +6338,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Dragapult, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Dragapult, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 3, .backPic = gMonBackPic_Dragapult, @@ -6365,7 +6401,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_ZacianHero, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Zacian, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ZacianHero, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6431,7 +6467,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_ZacianCrowned, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Zacian, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ZacianCrowned, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6499,7 +6535,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_ZamazentaHero, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Zamazenta, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ZamazentaHero, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6565,7 +6601,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_ZamazentaCrowned, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Zamazenta, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ZamazentaCrowned, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6633,7 +6669,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Eternatus, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Eternatus, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 4, .backPic = gMonBackPic_Eternatus, @@ -6699,7 +6735,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_EternatusEternamax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Eternatus, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 13, .backPic = gMonBackPic_EternatusEternamax, @@ -6758,7 +6794,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Kubfu, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Kubfu, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Kubfu, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -6825,7 +6861,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_UrshifuSingleStrike, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Urshifu, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_UrshifuSingleStrike, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -6891,7 +6927,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_UrshifuSingleStrikeGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_UrshifuSingleStrikeGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_UrshifuSingleStrikeGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6949,7 +6985,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_UrshifuRapidStrike, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Urshifu, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_UrshifuRapidStrike, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -7015,7 +7051,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_UrshifuRapidStrikeGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_UrshifuRapidStrikeGmax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_UrshifuRapidStrikeGmax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7076,7 +7112,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Zarude, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Zarude, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Zarude, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -7140,7 +7176,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_ZarudeDada, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Zarude, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ZarudeDada, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -7199,7 +7235,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Regieleki, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Regieleki, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_Regieleki, @@ -7265,7 +7301,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Regidrago, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Regidrago, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, .backPic = gMonBackPic_Regidrago, @@ -7330,7 +7366,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Glastrier, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Glastrier, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Glastrier, .backPicSize = MON_COORDS_SIZE(56, 64), @@ -7395,7 +7431,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Spectrier, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Spectrier, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Spectrier, .backPicSize = MON_COORDS_SIZE(56, 56), @@ -7460,7 +7496,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_Calyrex, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Calyrex, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Calyrex, .backPicSize = MON_COORDS_SIZE(56, 48), @@ -7526,7 +7562,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_CalyrexIce, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Calyrex, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CalyrexIce, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7592,7 +7628,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_CalyrexShadow, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Calyrex, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CalyrexShadow, .backPicSize = MON_COORDS_SIZE(64, 56), @@ -7661,7 +7697,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_EnamorusIncarnate, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_EnamorusIncarnate, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 7, .backPic = gMonBackPic_EnamorusIncarnate, @@ -7726,7 +7762,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .frontPic = gMonFrontPic_EnamorusTherian, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_EnamorusTherian, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_EnamorusTherian, .backPicSize = MON_COORDS_SIZE(64, 64), diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index 7402619b9a..11242ad6c0 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -41,7 +41,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Sprigatito, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Sprigatito, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sprigatito, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -104,7 +104,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Floragato, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Floragato, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Floragato, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -166,7 +166,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Meowscarada, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Meowscarada, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Meowscarada, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -229,7 +229,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Fuecoco, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Fuecoco, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Fuecoco, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -292,7 +292,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Crocalor, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Crocalor, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Crocalor, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -354,7 +354,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Skeledirge, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Skeledirge, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Skeledirge, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -417,7 +417,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Quaxly, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Quaxly, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Quaxly, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -480,7 +480,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Quaxwell, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Quaxwell, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Quaxwell, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -542,7 +542,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Quaquaval, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Quaquaval, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Quaquaval, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -605,7 +605,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Lechonk, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Lechonk, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Lechonk, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -668,7 +668,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_OinkologneM, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Oinkologne, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_OinkologneM, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -730,7 +730,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_OinkologneF, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Oinkologne, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_OinkologneF, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -794,7 +794,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Tarountula, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Tarountula, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Tarountula, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -857,7 +857,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Spidops, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Spidops, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Spidops, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -920,7 +920,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Nymble, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Nymble, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Nymble, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -983,7 +983,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Lokix, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Lokix, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Lokix, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1046,7 +1046,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Pawmi, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Pawmi, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Pawmi, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1109,7 +1109,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Pawmo, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Pawmo, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Pawmo, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1171,7 +1171,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Pawmot, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Pawmot, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Pawmot, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1234,7 +1234,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Tandemaus, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Tandemaus, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Tandemaus, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1298,7 +1298,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_MausholdThree, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Maushold, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_MausholdThree, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1359,7 +1359,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_MausholdFour, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_Maushold, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_MausholdFour, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1423,7 +1423,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Fidough, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Fidough, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Fidough, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1486,7 +1486,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Dachsbun, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Dachsbun, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Dachsbun, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1549,7 +1549,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Smoliv, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Smoliv, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Smoliv, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1612,7 +1612,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Dolliv, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Dolliv, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Dolliv, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1674,7 +1674,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Arboliva, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Arboliva, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Arboliva, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1737,7 +1737,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Squawkabilly, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Squawkabilly, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_Squawkabilly, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1800,7 +1800,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Squawkabilly, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Squawkabilly, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_Squawkabilly, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1863,7 +1863,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Squawkabilly, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Squawkabilly, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_Squawkabilly, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1926,7 +1926,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Squawkabilly, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Squawkabilly, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_Squawkabilly, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -1991,7 +1991,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Nacli, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Nacli, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Nacli, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2054,7 +2054,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Naclstack, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Naclstack, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Naclstack, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2116,7 +2116,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Garganacl, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Garganacl, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Garganacl, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2179,7 +2179,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Charcadet, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Charcadet, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Charcadet, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2243,7 +2243,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Armarouge, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Armarouge, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Armarouge, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2304,7 +2304,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Ceruledge, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Ceruledge, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Ceruledge, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2367,7 +2367,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Tadbulb, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Tadbulb, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 12, .backPic = gMonBackPic_Tadbulb, @@ -2431,7 +2431,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Bellibolt, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Bellibolt, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Bellibolt, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2494,7 +2494,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Wattrel, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Wattrel, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Wattrel, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2557,7 +2557,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Kilowattrel, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Kilowattrel, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Kilowattrel, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2620,7 +2620,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Maschiff, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Maschiff, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Maschiff, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2683,7 +2683,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Mabosstiff, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Mabosstiff, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Mabosstiff, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2746,7 +2746,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Shroodle, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Shroodle, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Shroodle, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2809,7 +2809,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Grafaiai, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Grafaiai, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Grafaiai, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2872,7 +2872,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Bramblin, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Bramblin, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Bramblin, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -2935,7 +2935,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Brambleghast, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Brambleghast, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Brambleghast, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3000,7 +3000,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Toedscool, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Toedscool, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Toedscool, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3065,7 +3065,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Toedscruel, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Toedscruel, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Toedscruel, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3128,7 +3128,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Klawf, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Klawf, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Klawf, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3192,7 +3192,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Capsakid, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Capsakid, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Capsakid, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3255,7 +3255,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Scovillain, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Scovillain, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Scovillain, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3319,7 +3319,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Rellor, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Rellor, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Rellor, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3382,7 +3382,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Rabsca, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Rabsca, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Rabsca, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3445,7 +3445,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Flittle, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 12, - .frontAnimFrames = sAnims_Flittle, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Flittle, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3508,7 +3508,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Espathra, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Espathra, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Espathra, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3571,7 +3571,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Tinkatink, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Tinkatink, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Tinkatink, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3635,7 +3635,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Tinkatuff, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_Tinkatuff, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Tinkatuff, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3698,7 +3698,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Tinkaton, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Tinkaton, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Tinkaton, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3761,7 +3761,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Wiglett, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_Wiglett, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Wiglett, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3823,7 +3823,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Wugtrio, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Wugtrio, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Wugtrio, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3886,7 +3886,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Bombirdier, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Bombirdier, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_Bombirdier, @@ -3950,7 +3950,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Finizen, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Finizen, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Finizen, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4013,7 +4013,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_PalafinZero, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Palafin, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_PalafinZero, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4076,7 +4076,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_PalafinHero, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Palafin, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_PalafinHero, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4141,7 +4141,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Varoom, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Varoom, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Varoom, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4204,7 +4204,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Revavroom, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Revavroom, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Revavroom, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4267,7 +4267,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Cyclizar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Cyclizar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Cyclizar, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4331,7 +4331,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Orthworm, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Orthworm, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Orthworm, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4395,7 +4395,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Glimmet, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_Glimmet, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 11, .backPic = gMonBackPic_Glimmet, @@ -4459,7 +4459,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Glimmora, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Glimmora, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_Glimmora, @@ -4523,7 +4523,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Greavard, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Greavard, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Greavard, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4586,7 +4586,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Houndstone, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Houndstone, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Houndstone, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4649,7 +4649,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Flamigo, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Flamigo, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Flamigo, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4713,7 +4713,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Cetoddle, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Cetoddle, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Cetoddle, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4776,7 +4776,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Cetitan, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Cetitan, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Cetitan, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -4839,7 +4839,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Veluza, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_Veluza, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, .backPic = gMonBackPic_Veluza, @@ -4904,7 +4904,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Dondozo, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Dondozo, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 1, .backPic = gMonBackPic_Dondozo, @@ -4969,7 +4969,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_TatsugiriCurly, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Tatsugiri, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_TatsugiriCurly, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5031,7 +5031,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_TatsugiriDroopy, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Tatsugiri, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_TatsugiriDroopy, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5093,7 +5093,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_TatsugiriStretchy, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_Tatsugiri, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ .backPic = gMonBackPic_TatsugiriStretchy, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5159,7 +5159,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_GreatTusk, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_GreatTusk, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GreatTusk, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5224,7 +5224,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_ScreamTail, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_ScreamTail, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ScreamTail, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5289,7 +5289,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_BruteBonnet, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_BruteBonnet, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_BruteBonnet, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5356,7 +5356,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_FlutterMane, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_FlutterMane, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 18, .backPic = gMonBackPic_FlutterMane, @@ -5421,7 +5421,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_SlitherWing, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SlitherWing, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SlitherWing, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5486,7 +5486,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_SandyShocks, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SandyShocks, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_SandyShocks, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5551,7 +5551,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_IronTreads, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_IronTreads, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronTreads, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5616,7 +5616,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_IronBundle, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_IronBundle, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronBundle, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5681,7 +5681,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_IronHands, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_IronHands, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronHands, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5746,7 +5746,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_IronJugulis, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_IronJugulis, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 7, .backPic = gMonBackPic_IronJugulis, @@ -5812,7 +5812,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_IronMoth, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_IronMoth, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_IronMoth, @@ -5878,7 +5878,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_IronThorns, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_IronThorns, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronThorns, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -5942,7 +5942,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Frigibax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Frigibax, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Frigibax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6005,7 +6005,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Arctibax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_Arctibax, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Arctibax, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6067,7 +6067,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Baxcalibur, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Baxcalibur, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Baxcalibur, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6130,7 +6130,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_GimmighoulChest, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_Gimmighoul, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GimmighoulChest, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6193,7 +6193,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_GimmighoulRoaming, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_Gimmighoul, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GimmighoulRoaming, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6248,7 +6248,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Gholdengo, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Gholdengo, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Gholdengo, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6311,7 +6311,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_WoChien, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_WoChien, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_WoChien, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6376,7 +6376,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_ChienPao, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_ChienPao, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ChienPao, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6441,7 +6441,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_TingLu, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_TingLu, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_TingLu, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6506,7 +6506,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_ChiYu, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_ChiYu, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 15, .backPic = gMonBackPic_ChiYu, @@ -6573,7 +6573,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_RoaringMoon, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_RoaringMoon, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 0, .backPic = gMonBackPic_RoaringMoon, @@ -6638,7 +6638,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_IronValiant, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_IronValiant, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronValiant, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6702,7 +6702,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Koraidon, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Koraidon, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Koraidon, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6768,7 +6768,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Miraidon, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_Miraidon, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Miraidon, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6834,7 +6834,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_WalkingWake, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_WalkingWake, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_WalkingWake, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6898,7 +6898,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_IronLeaves, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_IronLeaves, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronLeaves, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -6962,7 +6962,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Poltchageist, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Poltchageist, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 10, .backPic = gMonBackPic_Poltchageist, @@ -7024,7 +7024,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Poltchageist, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_Poltchageist, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 10, .backPic = gMonBackPic_Poltchageist, @@ -7087,7 +7087,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Sinistcha, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Sinistcha, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 10, .backPic = gMonBackPic_Sinistcha, @@ -7148,7 +7148,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Sinistcha, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_Sinistcha, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 10, .backPic = gMonBackPic_Sinistcha, @@ -7212,7 +7212,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Okidogi, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_Okidogi, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Okidogi, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7277,7 +7277,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Munkidori, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_Munkidori, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Munkidori, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7342,7 +7342,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Fezandipiti, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_Fezandipiti, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Fezandipiti, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7404,7 +7404,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Ogerpon##Form2, \ .frontPicSize = MON_COORDS_SIZE(64, 64), \ .frontPicYOffset = frontYOffset, \ - .frontAnimFrames = sAnims_Ogerpon, \ + .frontAnimFrames = sAnims_SingleFramePlaceHolder, \ /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ \ .backPic = gMonBackPic_Ogerpon##Form2, \ .backPicSize = MON_COORDS_SIZE(64, 64), \ @@ -7485,7 +7485,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_GougingFire, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_GougingFire, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GougingFire, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7550,7 +7550,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_RagingBolt, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_RagingBolt, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_RagingBolt, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7614,7 +7614,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_IronBoulder, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_IronBoulder, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronBoulder, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7679,7 +7679,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_IronCrown, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_IronCrown, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronCrown, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7744,7 +7744,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_TerapagosNormal, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_TerapagosNormal, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 1, .backPic = gMonBackPic_TerapagosNormal, @@ -7813,7 +7813,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_TerapagosTerastal, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_TerapagosTerastal, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 1, .backPic = gMonBackPic_TerapagosTerastal, @@ -7881,7 +7881,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_TerapagosStellar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_TerapagosStellar, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_TerapagosStellar, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -7942,7 +7942,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_Pecharunt, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_Pecharunt, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Pecharunt, .backPicSize = MON_COORDS_SIZE(64, 64), diff --git a/src/data/pokemon/species_info/shared_front_pic_anims.h b/src/data/pokemon/species_info/shared_front_pic_anims.h new file mode 100644 index 0000000000..ba1ddfd53e --- /dev/null +++ b/src/data/pokemon/species_info/shared_front_pic_anims.h @@ -0,0 +1,448 @@ +static const union AnimCmd *const sAnims_SingleFramePlaceHolder[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, + }, +}; + +static const union AnimCmd *const sAnims_TwoFramePlaceHolder[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, + }, +}; + +#if P_FAMILY_BURMY +static const union AnimCmd *const sAnims_Burmy[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, + }, +}; + +static const union AnimCmd *const sAnims_Wormadam[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, + }, +}; + +static const union AnimCmd *const sAnims_Mothim[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_BURMY + +#if P_FAMILY_SHELLOS +static const union AnimCmd *const sAnims_Shellos[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, + }, +}; + +static const union AnimCmd *const sAnims_Gastrodon[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_SHELLOS + +#if P_FAMILY_ARCEUS +static const union AnimCmd *const sAnims_Arceus[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_ARCEUS + +#if P_FAMILY_BASCULIN +static const union AnimCmd *const sAnims_Basculin[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_BASCULIN + +#if P_FAMILY_DEERLING +static const union AnimCmd *const sAnims_Deerling[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, + }, +}; + +static const union AnimCmd *const sAnims_Sawsbuck[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_DEERLING + +#if P_FAMILY_GENESECT +static const union AnimCmd *const sAnims_Genesect[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_GENESECT + +#if P_FAMILY_FROAKIE +static const union AnimCmd *const sAnims_Greninja[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_GRENINJA + +#if P_FAMILY_SCATTERBUG +static const union AnimCmd *const sAnims_Scatterbug[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, + }, +}; + +static const union AnimCmd *const sAnims_Spewpa[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, + }, +}; + +static const union AnimCmd *const sAnims_Vivillon[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_SCATTERBUG + +#if P_FAMILY_FLABEBE +static const union AnimCmd *const sAnims_Flabebe[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 23), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, + }, +}; + +static const union AnimCmd *const sAnims_Floette[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, + }, +}; + +static const union AnimCmd *const sAnims_Florges[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_FLABEBE + +#if P_FAMILY_FURFROU +static const union AnimCmd *const sAnims_Furfrou[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_FURFROU + +#if P_FAMILY_ESPURR +static const union AnimCmd *const sAnims_Meowstic[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_MEOWSTIC + +#if P_FAMILY_PUMPKABOO +static const union AnimCmd *const sAnims_Pumpkaboo[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, + }, +}; + +static const union AnimCmd *const sAnims_Gourgeist[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_PUMPKABOO + +#if P_FAMILY_XERNEAS +static const union AnimCmd *const sAnims_Xerneas[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_XERNEAS + +#if P_FAMILY_ZYGARDE +static const union AnimCmd *const sAnims_Zygarde50[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, + }, +}; + +static const union AnimCmd *const sAnims_Zygarde10[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_ZYGARDE + +#if P_FAMILY_GRUBBIN +static const union AnimCmd *const sAnims_Vikavolt[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_GRUBBIN + +#if P_FAMILY_CUTIEFLY +static const union AnimCmd *const sAnims_Ribombee[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_CUTIEFLY + +#if P_FAMILY_ROCKRUFF +static const union AnimCmd *const sAnims_Rockruff[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_ROCKRUFF + +#if P_FAMILY_DEWPIDER +static const union AnimCmd *const sAnims_Araquanid[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_DEWPIDER + +#if P_FAMILY_SALANDIT +static const union AnimCmd *const sAnims_Salazzle[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_SALANDIT + +#if P_FAMILY_TOGEDEMARU +static const union AnimCmd *const sAnims_Togedemaru[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_TOGEDEMARU + +#if P_FAMILY_JANGMO_O +static const union AnimCmd *const sAnims_Kommo_O[] = +{ + sAnim_GeneralFrame0, + (const union AnimCmd[]) { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, + }, +}; +#endif //P_FAMILY_JANGMO_O diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h deleted file mode 100644 index adf64468aa..0000000000 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ /dev/null @@ -1,12826 +0,0 @@ -#define PLACEHOLDER_ANIM_SINGLE_FRAME(name) \ -static const union AnimCmd sAnim_##name##_1[] = \ -{ \ - ANIMCMD_FRAME(0, 1), \ - ANIMCMD_END, \ -} - -#define PLACEHOLDER_ANIM_TWO_FRAMES(name) \ -static const union AnimCmd sAnim_##name##_1[] = \ -{ \ - ANIMCMD_FRAME(0, 30), \ - ANIMCMD_FRAME(1, 30), \ - ANIMCMD_FRAME(0, 1), \ - ANIMCMD_END, \ -} - -static const union AnimCmd sAnim_None_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -#if P_FAMILY_BULBASAUR -static const union AnimCmd sAnim_Bulbasaur_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Ivysaur_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Venusaur_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(VenusaurMega); -#endif //P_MEGA_EVOLUTIONS - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(VenusaurGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_BULBASAUR - -#if P_FAMILY_CHARMANDER -static const union AnimCmd sAnim_Charmander_1[] = -{ - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 46), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Charmeleon_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Charizard_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(CharizardMegaX); -#endif //P_MEGA_EVOLUTIONS - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(CharizardMegaY); -#endif //P_MEGA_EVOLUTIONS - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CharizardGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CHARMANDER - -#if P_FAMILY_SQUIRTLE -static const union AnimCmd sAnim_Squirtle_1[] = -{ - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Wartortle_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Blastoise_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(BlastoiseMega); -#endif //P_MEGA_EVOLUTIONS - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(BlastoiseGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SQUIRTLE - -#if P_FAMILY_CATERPIE -static const union AnimCmd sAnim_Caterpie_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Metapod_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Butterfree_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ButterfreeGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CATERPIE - -#if P_FAMILY_WEEDLE -static const union AnimCmd sAnim_Weedle_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Kakuna_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Beedrill_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(BeedrillMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_WEEDLE - -#if P_FAMILY_PIDGEY -static const union AnimCmd sAnim_Pidgey_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Pidgeotto_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Pidgeot_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(PidgeotMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_PIDGEY - -#if P_FAMILY_RATTATA -static const union AnimCmd sAnim_Rattata_1[] = -{ - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Raticate_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -#if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(RattataAlola); -PLACEHOLDER_ANIM_SINGLE_FRAME(RaticateAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_RATTATA - -#if P_FAMILY_SPEAROW -static const union AnimCmd sAnim_Spearow_1[] = -{ - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Fearow_1[] = -{ - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; -#endif //P_FAMILY_SPEAROW - -#if P_FAMILY_EKANS -static const union AnimCmd sAnim_Ekans_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Arbok_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_EKANS - -#if P_FAMILY_PIKACHU -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Pichu_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PichuSpikyEared_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS - -static const union AnimCmd sAnim_Pikachu_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 60), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -#if P_COSPLAY_PIKACHU_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuCosplay); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuRockStar); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuBelle); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuPopStar); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuPhD); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuLibre); -#endif //P_COSPLAY_PIKACHU_FORMS -#if P_CAP_PIKACHU_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuOriginal); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuHoenn); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuSinnoh); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuUnova); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuKalos); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuAlola); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuPartner); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuWorld); -#endif //P_CAP_PIKACHU_FORMS - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuGmax); -#endif //P_GIGANTAMAX_FORMS - -static const union AnimCmd sAnim_Raichu_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(RaichuAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_PIKACHU - -#if P_FAMILY_SANDSHREW -static const union AnimCmd sAnim_Sandshrew_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Sandslash_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SandshrewAlola); -PLACEHOLDER_ANIM_SINGLE_FRAME(SandslashAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_SANDSHREW - -#if P_FAMILY_NIDORAN -static const union AnimCmd sAnim_NidoranF_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 50), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Nidorina_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Nidoqueen_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_NidoranM_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Nidorino_1[] = -{ - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 23), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Nidoking_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_NIDORAN - -#if P_FAMILY_CLEFAIRY -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Cleffa_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS - -static const union AnimCmd sAnim_Clefairy_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Clefable_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 48), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_CLEFAIRY - -#if P_FAMILY_VULPIX -static const union AnimCmd sAnim_Vulpix_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Ninetales_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(VulpixAlola); -PLACEHOLDER_ANIM_SINGLE_FRAME(NinetalesAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_VULPIX - -#if P_FAMILY_JIGGLYPUFF -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Igglybuff_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS - -static const union AnimCmd sAnim_Jigglypuff_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Wigglytuff_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_JIGGLYPUFF - -#if P_FAMILY_ZUBAT -static const union AnimCmd sAnim_Zubat_1[] = -{ - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Golbat_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Crobat_1[] = -{ - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_ZUBAT - -#if P_FAMILY_ODDISH -static const union AnimCmd sAnim_Oddish_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 6), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gloom_1[] = -{ - ANIMCMD_FRAME(0, 21), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Vileplume_1[] = -{ - ANIMCMD_FRAME(1, 38), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Bellossom_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_ODDISH - -#if P_FAMILY_PARAS -static const union AnimCmd sAnim_Paras_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Parasect_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_PARAS - -#if P_FAMILY_VENONAT -static const union AnimCmd sAnim_Venonat_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 35), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Venomoth_1[] = -{ - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END, -}; -#endif //P_FAMILY_VENONAT - -#if P_FAMILY_DIGLETT -static const union AnimCmd sAnim_Diglett_1[] = -{ - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Dugtrio_1[] = -{ - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(DiglettAlola); -PLACEHOLDER_ANIM_SINGLE_FRAME(DugtrioAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_DIGLETT - -#if P_FAMILY_MEOWTH -static const union AnimCmd sAnim_Meowth_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 17), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Persian_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MeowthAlola); -PLACEHOLDER_ANIM_SINGLE_FRAME(PersianAlola); -#endif //P_ALOLAN_FORMS - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MeowthGalar); -PLACEHOLDER_ANIM_SINGLE_FRAME(Perrserker); -#endif //P_GALARIAN_FORMS - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MeowthGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MEOWTH - -#if P_FAMILY_PSYDUCK -static const union AnimCmd sAnim_Psyduck_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Golduck_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_PSYDUCK - -#if P_FAMILY_MANKEY -static const union AnimCmd sAnim_Mankey_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 28), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Primeape_1[] = -{ - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -#if P_GEN_9_CROSS_EVOS -PLACEHOLDER_ANIM_SINGLE_FRAME(Annihilape); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_MANKEY - -#if P_FAMILY_GROWLITHE -static const union AnimCmd sAnim_Growlithe_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Arcanine_1[] = -{ - ANIMCMD_FRAME(1, 38), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GrowlitheHisui); -PLACEHOLDER_ANIM_SINGLE_FRAME(ArcanineHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_GROWLITHE - -#if P_FAMILY_POLIWAG -static const union AnimCmd sAnim_Poliwag_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Poliwhirl_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Poliwrath_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Politoed_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_POLIWAG - -#if P_FAMILY_ABRA -static const union AnimCmd sAnim_Abra_1[] = -{ - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 21), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 21), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Kadabra_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Alakazam_1[] = -{ - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 54), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(AlakazamMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ABRA - -#if P_FAMILY_MACHOP -static const union AnimCmd sAnim_Machop_1[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Machoke_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Machamp_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MachampGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MACHOP - -#if P_FAMILY_BELLSPROUT -static const union AnimCmd sAnim_Bellsprout_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Weepinbell_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Victreebel_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_BELLSPROUT - -#if P_FAMILY_TENTACOOL -static const union AnimCmd sAnim_Tentacool_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Tentacruel_1[] = -{ - ANIMCMD_FRAME(0, 19), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 19), - ANIMCMD_FRAME(1, 19), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; -#endif //P_FAMILY_TENTACOOL - -#if P_FAMILY_GEODUDE -static const union AnimCmd sAnim_Geodude_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Graveler_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Golem_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 31), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -#if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GeodudeAlola); -PLACEHOLDER_ANIM_SINGLE_FRAME(GravelerAlola); -PLACEHOLDER_ANIM_SINGLE_FRAME(GolemAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_GEODUDE - -#if P_FAMILY_PONYTA -static const union AnimCmd sAnim_Ponyta_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Rapidash_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(PonytaGalar); -PLACEHOLDER_ANIM_SINGLE_FRAME(RapidashGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_PONYTA - -#if P_FAMILY_SLOWPOKE -static const union AnimCmd sAnim_Slowpoke_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Slowbro_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Slowking_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(SlowbroMega); -#endif //P_MEGA_EVOLUTIONS - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SlowpokeGalar); -PLACEHOLDER_ANIM_SINGLE_FRAME(SlowbroGalar); -#if P_GEN_2_CROSS_EVOS -PLACEHOLDER_ANIM_SINGLE_FRAME(SlowkingGalar); -#endif //P_GEN_2_CROSS_EVOS -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_SLOWPOKE - -#if P_FAMILY_MAGNEMITE -static const union AnimCmd sAnim_Magnemite_1[] = -{ - ANIMCMD_FRAME(0, 28), - ANIMCMD_FRAME(1, 28), - ANIMCMD_FRAME(0, 28), - ANIMCMD_FRAME(1, 28), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Magneton_1[] = -{ - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 14), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Magnezone_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MAGNEMITE - -#if P_FAMILY_FARFETCHD -static const union AnimCmd sAnim_Farfetchd_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(FarfetchdGalar); -PLACEHOLDER_ANIM_SINGLE_FRAME(Sirfetchd); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_FARFETCHD - -#if P_FAMILY_DODUO -static const union AnimCmd sAnim_Doduo_1[] = -{ - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Dodrio_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; -#endif //P_FAMILY_DODUO - -#if P_FAMILY_SEEL -static const union AnimCmd sAnim_Seel_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Dewgong_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_FAMILY_SEEL - -#if P_FAMILY_GRIMER -static const union AnimCmd sAnim_Grimer_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Muk_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GrimerAlola); -PLACEHOLDER_ANIM_SINGLE_FRAME(MukAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_GRIMER - -#if P_FAMILY_SHELLDER -static const union AnimCmd sAnim_Shellder_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Cloyster_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_SHELLDER - -#if P_FAMILY_GASTLY -static const union AnimCmd sAnim_Gastly_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Haunter_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gengar_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(GengarMega); -#endif //P_MEGA_EVOLUTIONS - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GengarGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_GASTLY - -#if P_FAMILY_ONIX -static const union AnimCmd sAnim_Onix_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Steelix_1[] = -{ - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 21), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 21), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(SteelixMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_ONIX - -#if P_FAMILY_DROWZEE -static const union AnimCmd sAnim_Drowzee_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Hypno_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_DROWZEE - -#if P_FAMILY_KRABBY -static const union AnimCmd sAnim_Krabby_1[] = -{ - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Kingler_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 14), - ANIMCMD_END, -}; - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(KinglerGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_KRABBY - -#if P_FAMILY_VOLTORB -static const union AnimCmd sAnim_Voltorb_1[] = -{ - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Electrode_1[] = -{ - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 34), - ANIMCMD_FRAME(1, 34), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(VoltorbHisui); -PLACEHOLDER_ANIM_SINGLE_FRAME(ElectrodeHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_VOLTORB - -#if P_FAMILY_EXEGGCUTE -static const union AnimCmd sAnim_Exeggcute_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Exeggutor_1[] = -{ - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_TWO_FRAMES(ExeggutorAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_EXEGGCUTE - -#if P_FAMILY_CUBONE -static const union AnimCmd sAnim_Cubone_1[] = -{ - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_LOOP(1), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Marowak_1[] = -{ - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 14), - ANIMCMD_END, -}; - -#if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MarowakAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_CUBONE - -#if P_FAMILY_HITMONS -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Tyrogue_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS - -static const union AnimCmd sAnim_Hitmonlee_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Hitmonchan_1[] = -{ - ANIMCMD_FRAME(0, 17), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END, -}; - -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Hitmontop_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 26), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_HITMONS - -#if P_FAMILY_LICKITUNG -static const union AnimCmd sAnim_Lickitung_1[] = -{ - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Lickilicky_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 50), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_LICKITUNG - -#if P_FAMILY_KOFFING -static const union AnimCmd sAnim_Koffing_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Weezing_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(WeezingGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_KOFFING - -#if P_FAMILY_RHYHORN -static const union AnimCmd sAnim_Rhyhorn_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Rhydon_1[] = -{ - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Rhyperior_1[] = -{ - ANIMCMD_FRAME(0, 50), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_RHYHORN - -#if P_FAMILY_CHANSEY -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Happiny_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS - -static const union AnimCmd sAnim_Chansey_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Blissey_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_CHANSEY - -#if P_FAMILY_TANGELA -static const union AnimCmd sAnim_Tangela_1[] = -{ - ANIMCMD_FRAME(0, 40), - ANIMCMD_FRAME(1, 24), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Tangrowth_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_TANGELA - -#if P_FAMILY_KANGASKHAN -static const union AnimCmd sAnim_Kangaskhan_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(KangaskhanMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_KANGASKHAN - -#if P_FAMILY_HORSEA -static const union AnimCmd sAnim_Horsea_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Seadra_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Kingdra_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_HORSEA - -#if P_FAMILY_GOLDEEN -static const union AnimCmd sAnim_Goldeen_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Seaking_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_GOLDEEN - -#if P_FAMILY_STARYU -static const union AnimCmd sAnim_Staryu_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Starmie_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_STARYU - -#if P_FAMILY_MR_MIME -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_MimeJr_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS - -static const union AnimCmd sAnim_MrMime_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MrMimeGalar); -PLACEHOLDER_ANIM_SINGLE_FRAME(MrRime); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_MR_MIME - -#if P_FAMILY_SCYTHER -static const union AnimCmd sAnim_Scyther_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Scizor_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(ScizorMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_GEN_2_CROSS_EVOS - -#if P_GEN_8_CROSS_EVOS -PLACEHOLDER_ANIM_SINGLE_FRAME(Kleavor); -#endif //P_GEN_8_CROSS_EVOS -#endif //P_FAMILY_SCYTHER - -#if P_FAMILY_JYNX -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Smoochum_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS - -static const union AnimCmd sAnim_Jynx_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_JYNX - -#if P_FAMILY_ELECTABUZZ -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Elekid_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS - -static const union AnimCmd sAnim_Electabuzz_1[] = -{ - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Electivire_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_ELECTABUZZ - -#if P_FAMILY_MAGMAR -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Magby_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS - -static const union AnimCmd sAnim_Magmar_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Magmortar_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MAGMAR - -#if P_FAMILY_PINSIR -static const union AnimCmd sAnim_Pinsir_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(PinsirMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_PINSIR - -#if P_FAMILY_TAUROS -static const union AnimCmd sAnim_Tauros_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_PALDEAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(TaurosPaldea); -#endif //P_PALDEAN_FORMS -#endif //P_FAMILY_TAUROS - -#if P_FAMILY_MAGIKARP -static const union AnimCmd sAnim_Magikarp_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gyarados_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(GyaradosMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MAGIKARP - -#if P_FAMILY_LAPRAS -static const union AnimCmd sAnim_Lapras_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(LaprasGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_LAPRAS - -#if P_FAMILY_DITTO -static const union AnimCmd sAnim_Ditto_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_DITTO - -#if P_FAMILY_EEVEE -static const union AnimCmd sAnim_Eevee_1[] = -{ - ANIMCMD_FRAME(1, 33), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(EeveeGmax); -#endif //P_GIGANTAMAX_FORMS - -static const union AnimCmd sAnim_Vaporeon_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Jolteon_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Flareon_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Espeon_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Umbreon_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_GEN_2_CROSS_EVOS - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Leafeon_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Glaceon_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS - -#if P_GEN_6_CROSS_EVOS -static const union AnimCmd sAnim_Sylveon_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_GEN_6_CROSS_EVOS -#endif //P_FAMILY_EEVEE - -#if P_FAMILY_PORYGON -static const union AnimCmd sAnim_Porygon_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GEN_2_CROSS_EVOS -static const union AnimCmd sAnim_Porygon2_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Porygon_Z_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 40), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_PORYGON - -#if P_FAMILY_OMANYTE -static const union AnimCmd sAnim_Omanyte_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Omastar_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_OMANYTE - -#if P_FAMILY_KABUTO -static const union AnimCmd sAnim_Kabuto_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Kabutops_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_KABUTO - -#if P_FAMILY_AERODACTYL -static const union AnimCmd sAnim_Aerodactyl_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 25), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(AerodactylMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_AERODACTYL - -#if P_FAMILY_SNORLAX -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Munchlax_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS - -static const union AnimCmd sAnim_Snorlax_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SnorlaxGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SNORLAX - -#if P_FAMILY_ARTICUNO -static const union AnimCmd sAnim_Articuno_1[] = -{ - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ArticunoGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_ARTICUNO - -#if P_FAMILY_ZAPDOS -static const union AnimCmd sAnim_Zapdos_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ZapdosGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_ZAPDOS - -#if P_FAMILY_MOLTRES -static const union AnimCmd sAnim_Moltres_1[] = -{ - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MoltresGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_MOLTRES - -#if P_FAMILY_DRATINI -static const union AnimCmd sAnim_Dratini_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Dragonair_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Dragonite_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_DRATINI - -#if P_FAMILY_MEWTWO -static const union AnimCmd sAnim_Mewtwo_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(MewtwoMegaX); -#endif //P_MEGA_EVOLUTIONS - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(MewtwoMegaY); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MEWTWO - -#if P_FAMILY_MEW -static const union AnimCmd sAnim_Mew_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_MEW - -#if P_FAMILY_CHIKORITA -static const union AnimCmd sAnim_Chikorita_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Bayleef_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Meganium_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_CHIKORITA - -#if P_FAMILY_CYNDAQUIL -static const union AnimCmd sAnim_Cyndaquil_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Quilava_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Typhlosion_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(TyphlosionHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_CYNDAQUIL - -#if P_FAMILY_TOTODILE -static const union AnimCmd sAnim_Totodile_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Croconaw_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Feraligatr_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 40), - ANIMCMD_END, -}; -#endif //P_FAMILY_TOTODILE - -#if P_FAMILY_SENTRET -static const union AnimCmd sAnim_Sentret_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Furret_1[] = -{ - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_SENTRET - -#if P_FAMILY_HOOTHOOT -static const union AnimCmd sAnim_Hoothoot_1[] = -{ - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Noctowl_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_HOOTHOOT - -#if P_FAMILY_LEDYBA -static const union AnimCmd sAnim_Ledyba_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Ledian_1[] = -{ - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_END, -}; -#endif //P_FAMILY_LEDYBA - -#if P_FAMILY_SPINARAK -static const union AnimCmd sAnim_Spinarak_1[] = -{ - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Ariados_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SPINARAK - -#if P_FAMILY_CHINCHOU -static const union AnimCmd sAnim_Chinchou_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Lanturn_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_CHINCHOU - -#if P_FAMILY_TOGEPI -static const union AnimCmd sAnim_Togepi_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Togetic_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Togekiss_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_TOGEPI - -#if P_FAMILY_NATU -static const union AnimCmd sAnim_Natu_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Xatu_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_NATU - -#if P_FAMILY_MAREEP -static const union AnimCmd sAnim_Mareep_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Flaaffy_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Ampharos_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(AmpharosMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MAREEP - -#if P_FAMILY_MARILL -#if P_GEN_3_CROSS_EVOS -static const union AnimCmd sAnim_Azurill_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_END, -}; -#endif //P_GEN_3_CROSS_EVOS - -static const union AnimCmd sAnim_Marill_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Azumarill_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_MARILL - -#if P_FAMILY_SUDOWOODO -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Bonsly_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS - -static const union AnimCmd sAnim_Sudowoodo_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_SUDOWOODO - -#if P_FAMILY_HOPPIP -static const union AnimCmd sAnim_Hoppip_1[] = -{ - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Skiploom_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Jumpluff_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_HOPPIP - -#if P_FAMILY_AIPOM -static const union AnimCmd sAnim_Aipom_1[] = -{ - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Ambipom_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_AIPOM - -#if P_FAMILY_SUNKERN -static const union AnimCmd sAnim_Sunkern_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Sunflora_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_SUNKERN - -#if P_FAMILY_YANMA -static const union AnimCmd sAnim_Yanma_1[] = -{ - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Yanmega_1[] = -{ - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_YANMA - -#if P_FAMILY_WOOPER -static const union AnimCmd sAnim_Wooper_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Quagsire_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_PALDEAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(WooperPaldea); -PLACEHOLDER_ANIM_SINGLE_FRAME(Clodsire); -#endif //P_PALDEAN_FORMS -#endif //P_FAMILY_WOOPER - -#if P_FAMILY_MURKROW -static const union AnimCmd sAnim_Murkrow_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Honchkrow_1[] = -{ - ANIMCMD_FRAME(0, 21), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MURKROW - -#if P_FAMILY_MISDREAVUS -static const union AnimCmd sAnim_Misdreavus_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Mismagius_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MISDREAVUS - -#if P_FAMILY_UNOWN -PLACEHOLDER_ANIM_SINGLE_FRAME(Unown); -#endif //P_FAMILY_UNOWN - -#if P_FAMILY_WOBBUFFET -#if P_GEN_3_CROSS_EVOS -static const union AnimCmd sAnim_Wynaut_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_GEN_3_CROSS_EVOS - -static const union AnimCmd sAnim_Wobbuffet_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_WOBBUFFET - -#if P_FAMILY_GIRAFARIG -static const union AnimCmd sAnim_Girafarig_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -#if P_GEN_9_CROSS_EVOS -PLACEHOLDER_ANIM_SINGLE_FRAME(Farigiraf); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_GIRAFARIG - -#if P_FAMILY_PINECO -static const union AnimCmd sAnim_Pineco_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Forretress_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_PINECO - -#if P_FAMILY_DUNSPARCE -static const union AnimCmd sAnim_Dunsparce_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GEN_9_CROSS_EVOS -PLACEHOLDER_ANIM_SINGLE_FRAME(Dudunsparce); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_DUNSPARCE - -#if P_FAMILY_GLIGAR -static const union AnimCmd sAnim_Gligar_1[] = -{ - ANIMCMD_FRAME(1, 17), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Gliscor_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 40), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_GLIGAR - -#if P_FAMILY_SNUBBULL -static const union AnimCmd sAnim_Snubbull_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Granbull_1[] = -{ - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_SNUBBULL - -#if P_FAMILY_QWILFISH -static const union AnimCmd sAnim_Qwilfish_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(QwilfishHisui); -PLACEHOLDER_ANIM_SINGLE_FRAME(Overqwil); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_QWILFISH - -#if P_FAMILY_SHUCKLE -static const union AnimCmd sAnim_Shuckle_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_FAMILY_SHUCKLE - -#if P_FAMILY_HERACROSS -static const union AnimCmd sAnim_Heracross_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(HeracrossMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_HERACROSS - -#if P_FAMILY_SNEASEL -static const union AnimCmd sAnim_Sneasel_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Weavile_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SneaselHisui); -PLACEHOLDER_ANIM_SINGLE_FRAME(Sneasler); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_SNEASEL - -#if P_FAMILY_TEDDIURSA -static const union AnimCmd sAnim_Teddiursa_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Ursaring_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_GEN_8_CROSS_EVOS -PLACEHOLDER_ANIM_SINGLE_FRAME(Ursaluna); -PLACEHOLDER_ANIM_SINGLE_FRAME(UrsalunaBloodmoon); -#endif //P_GEN_8_CROSS_EVOS -#endif //P_FAMILY_TEDDIURSA - -#if P_FAMILY_SLUGMA -static const union AnimCmd sAnim_Slugma_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Magcargo_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SLUGMA - -#if P_FAMILY_SWINUB -static const union AnimCmd sAnim_Swinub_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Piloswine_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Mamoswine_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_SWINUB - -#if P_FAMILY_CORSOLA -static const union AnimCmd sAnim_Corsola_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CorsolaGalar); -PLACEHOLDER_ANIM_SINGLE_FRAME(Cursola); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_CORSOLA - -#if P_FAMILY_REMORAID -static const union AnimCmd sAnim_Remoraid_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Octillery_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_REMORAID - -#if P_FAMILY_DELIBIRD -static const union AnimCmd sAnim_Delibird_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_DELIBIRD - -#if P_FAMILY_MANTINE -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Mantyke_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS - -static const union AnimCmd sAnim_Mantine_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 40), - ANIMCMD_END, -}; -#endif //P_FAMILY_MANTINE - -#if P_FAMILY_SKARMORY -static const union AnimCmd sAnim_Skarmory_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_SKARMORY - -#if P_FAMILY_HOUNDOUR -static const union AnimCmd sAnim_Houndour_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Houndoom_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(HoundoomMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_HOUNDOUR - -#if P_FAMILY_PHANPY -static const union AnimCmd sAnim_Phanpy_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Donphan_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_PHANPY - -#if P_FAMILY_STANTLER -static const union AnimCmd sAnim_Stantler_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_GEN_8_CROSS_EVOS -PLACEHOLDER_ANIM_SINGLE_FRAME(Wyrdeer); -#endif //P_GEN_8_CROSS_EVOS -#endif //P_FAMILY_STANTLER - -#if P_FAMILY_SMEARGLE -static const union AnimCmd sAnim_Smeargle_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SMEARGLE - -#if P_FAMILY_MILTANK -static const union AnimCmd sAnim_Miltank_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_FAMILY_MILTANK - -#if P_FAMILY_RAIKOU -static const union AnimCmd sAnim_Raikou_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_RAIKOU - -#if P_FAMILY_ENTEI -static const union AnimCmd sAnim_Entei_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_ENTEI - -#if P_FAMILY_SUICUNE -static const union AnimCmd sAnim_Suicune_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_SUICUNE - -#if P_FAMILY_LARVITAR -static const union AnimCmd sAnim_Larvitar_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Pupitar_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Tyranitar_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(TyranitarMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_LARVITAR - -#if P_FAMILY_LUGIA -static const union AnimCmd sAnim_Lugia_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_LUGIA - -#if P_FAMILY_HO_OH -static const union AnimCmd sAnim_HoOh_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_HO_OH - -#if P_FAMILY_CELEBI -static const union AnimCmd sAnim_Celebi_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_FAMILY_CELEBI - -#if P_FAMILY_TREECKO -static const union AnimCmd sAnim_Treecko_1[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 3), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Grovyle_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 6), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Sceptile_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 26), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(SceptileMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_TREECKO - -#if P_FAMILY_TORCHIC -static const union AnimCmd sAnim_Torchic_1[] = -{ - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Combusken_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Blaziken_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(BlazikenMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_TORCHIC - -#if P_FAMILY_MUDKIP -static const union AnimCmd sAnim_Mudkip_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 13), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Marshtomp_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Swampert_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(SwampertMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MUDKIP - -#if P_FAMILY_POOCHYENA -static const union AnimCmd sAnim_Poochyena_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Mightyena_1[] = -{ - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_END, -}; -#endif //P_FAMILY_POOCHYENA - -#if P_FAMILY_ZIGZAGOON -static const union AnimCmd sAnim_Zigzagoon_1[] = -{ - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Linoone_1[] = -{ - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 14), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ZigzagoonGalar); -PLACEHOLDER_ANIM_SINGLE_FRAME(LinooneGalar); -PLACEHOLDER_ANIM_SINGLE_FRAME(Obstagoon); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_ZIGZAGOON - -#if P_FAMILY_WURMPLE -static const union AnimCmd sAnim_Wurmple_1[] = -{ - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Silcoon_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Beautifly_1[] = -{ - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Cascoon_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Dustox_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_WURMPLE - -#if P_FAMILY_LOTAD -static const union AnimCmd sAnim_Lotad_1[] = -{ - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 55), - ANIMCMD_FRAME(0, 22), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Lombre_1[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Ludicolo_1[] = -{ - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_END, -}; -#endif //P_FAMILY_LOTAD - -#if P_FAMILY_SEEDOT -static const union AnimCmd sAnim_Seedot_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Nuzleaf_1[] = -{ - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Shiftry_1[] = -{ - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SEEDOT - -#if P_FAMILY_TAILLOW -static const union AnimCmd sAnim_Taillow_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Swellow_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; -#endif //P_FAMILY_TAILLOW - -#if P_FAMILY_WINGULL -static const union AnimCmd sAnim_Wingull_1[] = -{ - ANIMCMD_FRAME(0, 17), - ANIMCMD_FRAME(1, 23), - ANIMCMD_FRAME(0, 13), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Pelipper_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_WINGULL - -#if P_FAMILY_RALTS -static const union AnimCmd sAnim_Ralts_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Kirlia_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 39), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gardevoir_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(GardevoirMega); -#endif //P_MEGA_EVOLUTIONS - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Gallade_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(GalladeMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_RALTS - -#if P_FAMILY_SURSKIT -static const union AnimCmd sAnim_Surskit_1[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Masquerain_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; -#endif //P_FAMILY_SURSKIT - -#if P_FAMILY_SHROOMISH -static const union AnimCmd sAnim_Shroomish_1[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Breloom_1[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; -#endif //P_FAMILY_SHROOMISH - -#if P_FAMILY_SLAKOTH -static const union AnimCmd sAnim_Slakoth_1[] = -{ - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Vigoroth_1[] = -{ - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Slaking_1[] = -{ - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_END, -}; -#endif //P_FAMILY_SLAKOTH - -#if P_FAMILY_NINCADA -static const union AnimCmd sAnim_Nincada_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 33), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Ninjask_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 33), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Shedinja_1[] = -{ - ANIMCMD_FRAME(0, 33), - ANIMCMD_FRAME(1, 33), - ANIMCMD_FRAME(0, 33), - ANIMCMD_FRAME(1, 33), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; -#endif //P_FAMILY_NINCADA - -#if P_FAMILY_WHISMUR -static const union AnimCmd sAnim_Whismur_1[] = -{ - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 33), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Loudred_1[] = -{ - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 33), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Exploud_1[] = -{ - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 9), - ANIMCMD_END, -}; -#endif //P_FAMILY_WHISMUR - -#if P_FAMILY_MAKUHITA -static const union AnimCmd sAnim_Makuhita_1[] = -{ - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 22), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Hariyama_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; -#endif //P_FAMILY_MAKUHITA - -#if P_FAMILY_NOSEPASS -static const union AnimCmd sAnim_Nosepass_1[] = -{ - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 27), - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 27), - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 27), - ANIMCMD_FRAME(0, 3), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Probopass_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_NOSEPASS - -#if P_FAMILY_SKITTY -static const union AnimCmd sAnim_Skitty_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 9), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Delcatty_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 46), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SKITTY - -#if P_FAMILY_SABLEYE -static const union AnimCmd sAnim_Sableye_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(SableyeMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SABLEYE - -#if P_FAMILY_MAWILE -static const union AnimCmd sAnim_Mawile_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(MawileMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MAWILE - -#if P_FAMILY_ARON -static const union AnimCmd sAnim_Aron_1[] = -{ - ANIMCMD_FRAME(0, 33), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 33), - ANIMCMD_FRAME(1, 33), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Lairon_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 29), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 29), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Aggron_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(AggronMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ARON - -#if P_FAMILY_MEDITITE -static const union AnimCmd sAnim_Meditite_1[] = -{ - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 22), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Medicham_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(MedichamMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MEDITITE - -#if P_FAMILY_ELECTRIKE -static const union AnimCmd sAnim_Electrike_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 17), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 3), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Manectric_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 33), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 3), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(ManectricMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ELECTRIKE - -#if P_FAMILY_PLUSLE -static const union AnimCmd sAnim_Plusle_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_PLUSLE - -#if P_FAMILY_MINUN -static const union AnimCmd sAnim_Minun_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_MINUN - -#if P_FAMILY_VOLBEAT_ILLUMISE -static const union AnimCmd sAnim_Volbeat_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Illumise_1[] = -{ - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; -#endif //P_FAMILY_VOLBEAT_ILLUMISE - -#if P_FAMILY_ROSELIA -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Budew_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS - -static const union AnimCmd sAnim_Roselia_1[] = -{ - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 22), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Roserade_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_ROSELIA - -#if P_FAMILY_GULPIN -static const union AnimCmd sAnim_Gulpin_1[] = -{ - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(1, 14), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Swalot_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_FAMILY_GULPIN - -#if P_FAMILY_CARVANHA -static const union AnimCmd sAnim_Carvanha_1[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Sharpedo_1[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 22), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(SharpedoMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_CARVANHA - -#if P_FAMILY_WAILMER -static const union AnimCmd sAnim_Wailmer_1[] = -{ - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Wailord_1[] = -{ - ANIMCMD_FRAME(0, 26), - ANIMCMD_FRAME(1, 48), - ANIMCMD_FRAME(0, 33), - ANIMCMD_END, -}; -#endif //P_FAMILY_WAILMER - -#if P_FAMILY_NUMEL -static const union AnimCmd sAnim_Numel_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 40), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Camerupt_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(CameruptMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_NUMEL - -#if P_FAMILY_TORKOAL -static const union AnimCmd sAnim_Torkoal_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_TORKOAL - -#if P_FAMILY_SPOINK -static const union AnimCmd sAnim_Spoink_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Grumpig_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_SPOINK - -#if P_FAMILY_SPINDA -static const union AnimCmd sAnim_Spinda_1[] = -{ - ANIMCMD_FRAME(0, 17), - ANIMCMD_FRAME(1, 23), - ANIMCMD_FRAME(0, 17), - ANIMCMD_FRAME(1, 23), - ANIMCMD_FRAME(0, 13), - ANIMCMD_END, -}; -#endif //P_FAMILY_SPINDA - -#if P_FAMILY_TRAPINCH -static const union AnimCmd sAnim_Trapinch_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Vibrava_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Flygon_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; -#endif //P_FAMILY_TRAPINCH - -#if P_FAMILY_CACNEA -static const union AnimCmd sAnim_Cacnea_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Cacturne_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_CACNEA - -#if P_FAMILY_SWABLU -static const union AnimCmd sAnim_Swablu_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Altaria_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(AltariaMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SWABLU - -#if P_FAMILY_ZANGOOSE -static const union AnimCmd sAnim_Zangoose_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; -#endif //P_FAMILY_ZANGOOSE - -#if P_FAMILY_SEVIPER -static const union AnimCmd sAnim_Seviper_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; -#endif //P_FAMILY_SEVIPER - -#if P_FAMILY_LUNATONE -static const union AnimCmd sAnim_Lunatone_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_LUNATONE - -#if P_FAMILY_SOLROCK -static const union AnimCmd sAnim_Solrock_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_SOLROCK - -#if P_FAMILY_BARBOACH -static const union AnimCmd sAnim_Barboach_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Whiscash_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_BARBOACH - -#if P_FAMILY_CORPHISH -static const union AnimCmd sAnim_Corphish_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Crawdaunt_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_CORPHISH - -#if P_FAMILY_BALTOY -static const union AnimCmd sAnim_Baltoy_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Claydol_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_BALTOY - -#if P_FAMILY_LILEEP -static const union AnimCmd sAnim_Lileep_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Cradily_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_LILEEP - -#if P_FAMILY_ANORITH -static const union AnimCmd sAnim_Anorith_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Armaldo_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_ANORITH - -#if P_FAMILY_FEEBAS -static const union AnimCmd sAnim_Feebas_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Milotic_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_FEEBAS - -#if P_FAMILY_CASTFORM -static const union AnimCmd sAnim_CastformNormal_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 24), - ANIMCMD_FRAME(0, 24), - ANIMCMD_FRAME(1, 24), - ANIMCMD_FRAME(0, 24), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CastformSunny_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CastformRainy_1[] = -{ - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CastformSnowy_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 29), - ANIMCMD_FRAME(0, 12), - ANIMCMD_END, -}; -#endif //P_FAMILY_CASTFORM - -#if P_FAMILY_KECLEON -static const union AnimCmd sAnim_Kecleon_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_KECLEON - -#if P_FAMILY_SHUPPET -static const union AnimCmd sAnim_Shuppet_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Banette_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(BanetteMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SHUPPET - -#if P_FAMILY_DUSKULL -static const union AnimCmd sAnim_Duskull_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Dusclops_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Dusknoir_1[] = -{ - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_DUSKULL - -#if P_FAMILY_TROPIUS -static const union AnimCmd sAnim_Tropius_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_TROPIUS - -#if P_FAMILY_CHIMECHO -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Chingling_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS - -static const union AnimCmd sAnim_Chimecho_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_CHIMECHO - -#if P_FAMILY_ABSOL -static const union AnimCmd sAnim_Absol_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(AbsolMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ABSOL - -#if P_FAMILY_SNORUNT -static const union AnimCmd sAnim_Snorunt_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Glalie_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(GlalieMega); -#endif //P_MEGA_EVOLUTIONS - -#if P_GEN_4_CROSS_EVOS -static const union AnimCmd sAnim_Froslass_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_SNORUNT - -#if P_FAMILY_SPHEAL -static const union AnimCmd sAnim_Spheal_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 43), - ANIMCMD_FRAME(1, 60), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Sealeo_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Walrein_1[] = -{ - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_SPHEAL - -#if P_FAMILY_CLAMPERL -static const union AnimCmd sAnim_Clamperl_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Huntail_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gorebyss_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_CLAMPERL - -#if P_FAMILY_RELICANTH -static const union AnimCmd sAnim_Relicanth_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_RELICANTH - -#if P_FAMILY_LUVDISC -static const union AnimCmd sAnim_Luvdisc_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_LUVDISC - -#if P_FAMILY_BAGON -static const union AnimCmd sAnim_Bagon_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Shelgon_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Salamence_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(SalamenceMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_BAGON - -#if P_FAMILY_BELDUM -static const union AnimCmd sAnim_Beldum_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Metang_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Metagross_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(MetagrossMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_BELDUM - -#if P_FAMILY_REGIROCK -static const union AnimCmd sAnim_Regirock_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_REGIROCK - -#if P_FAMILY_REGICE -static const union AnimCmd sAnim_Regice_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_REGICE - -#if P_FAMILY_REGISTEEL -static const union AnimCmd sAnim_Registeel_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_REGISTEEL - -#if P_FAMILY_LATIAS -static const union AnimCmd sAnim_Latias_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(LatiasMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_LATIAS - -#if P_FAMILY_LATIOS -static const union AnimCmd sAnim_Latios_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(LatiosMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_LATIOS - -#if P_FAMILY_KYOGRE -static const union AnimCmd sAnim_Kyogre_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_PRIMAL_REVERSIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(KyogrePrimal); -#endif //P_PRIMAL_REVERSIONS -#endif //P_FAMILY_KYOGRE - -#if P_FAMILY_GROUDON -static const union AnimCmd sAnim_Groudon_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_PRIMAL_REVERSIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(GroudonPrimal); -#endif //P_PRIMAL_REVERSIONS -#endif //P_FAMILY_GROUDON - -#if P_FAMILY_RAYQUAZA -static const union AnimCmd sAnim_Rayquaza_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(RayquazaMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_RAYQUAZA - -#if P_FAMILY_JIRACHI -static const union AnimCmd sAnim_Jirachi_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_JIRACHI - -#if P_FAMILY_DEOXYS -static const union AnimCmd sAnim_DeoxysNormal_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(1, 26), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DeoxysAttack_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 26), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DeoxysDefense_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 26), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DeoxysSpeed_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 26), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; -#endif //P_FAMILY_DEOXYS - -#if P_FAMILY_TURTWIG -static const union AnimCmd sAnim_Turtwig_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Grotle_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Torterra_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_TURTWIG - -#if P_FAMILY_CHIMCHAR -static const union AnimCmd sAnim_Chimchar_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Monferno_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Infernape_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_CHIMCHAR - -#if P_FAMILY_PIPLUP -static const union AnimCmd sAnim_Piplup_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Prinplup_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 50), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Empoleon_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_PIPLUP - -#if P_FAMILY_STARLY -static const union AnimCmd sAnim_Starly_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Staravia_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Staraptor_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_STARLY - -#if P_FAMILY_BIDOOF -static const union AnimCmd sAnim_Bidoof_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Bibarel_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_BIDOOF - -#if P_FAMILY_KRICKETOT -static const union AnimCmd sAnim_Kricketot_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Kricketune_1[] = -{ - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 27), - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 27), - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 27), - ANIMCMD_FRAME(0, 3), - ANIMCMD_END, -}; -#endif //P_FAMILY_KRICKETOT - -#if P_FAMILY_SHINX -static const union AnimCmd sAnim_Shinx_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Luxio_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Luxray_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_SHINX - -#if P_FAMILY_CRANIDOS -static const union AnimCmd sAnim_Cranidos_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Rampardos_1[] = -{ - ANIMCMD_FRAME(0, 50), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_CRANIDOS - -#if P_FAMILY_SHIELDON -static const union AnimCmd sAnim_Shieldon_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Bastiodon_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_FAMILY_SHIELDON - -#if P_FAMILY_BURMY -static const union AnimCmd sAnim_Burmy_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Wormadam_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Mothim_1[] = -{ - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_BURMY - -#if P_FAMILY_COMBEE -static const union AnimCmd sAnim_Combee_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Vespiquen_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; -#endif //P_FAMILY_COMBEE - -#if P_FAMILY_PACHIRISU -static const union AnimCmd sAnim_Pachirisu_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 50), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_PACHIRISU - -#if P_FAMILY_BUIZEL -static const union AnimCmd sAnim_Buizel_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Floatzel_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 28), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_BUIZEL - -#if P_FAMILY_CHERUBI -static const union AnimCmd sAnim_Cherubi_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 50), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CherrimOvercast_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CherrimSunshine_1[] = -{ - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 28), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 28), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; -#endif //P_FAMILY_CHERUBI - -#if P_FAMILY_SHELLOS -static const union AnimCmd sAnim_Shellos_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gastrodon_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_SHELLOS - -#if P_FAMILY_DRIFLOON -static const union AnimCmd sAnim_Drifloon_1[] = -{ - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Drifblim_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_DRIFLOON - -#if P_FAMILY_BUNEARY -static const union AnimCmd sAnim_Buneary_1[] = -{ - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Lopunny_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(LopunnyMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_BUNEARY - -#if P_FAMILY_GLAMEOW -static const union AnimCmd sAnim_Glameow_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Purugly_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; -#endif //P_FAMILY_GLAMEOW - -#if P_FAMILY_STUNKY -static const union AnimCmd sAnim_Stunky_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Skuntank_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_STUNKY - -#if P_FAMILY_BRONZOR -static const union AnimCmd sAnim_Bronzor_1[] = -{ - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Bronzong_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_BRONZOR - -#if P_FAMILY_CHATOT -static const union AnimCmd sAnim_Chatot_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_CHATOT - -#if P_FAMILY_SPIRITOMB -static const union AnimCmd sAnim_Spiritomb_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SPIRITOMB - -#if P_FAMILY_GIBLE -static const union AnimCmd sAnim_Gible_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gabite_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Garchomp_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(GarchompMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_GIBLE - -#if P_FAMILY_RIOLU -static const union AnimCmd sAnim_Riolu_1[] = -{ - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 28), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Lucario_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(LucarioMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_RIOLU - -#if P_FAMILY_HIPPOPOTAS -static const union AnimCmd sAnim_Hippopotas_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Hippowdon_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_HIPPOPOTAS - -#if P_FAMILY_SKORUPI -static const union AnimCmd sAnim_Skorupi_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Drapion_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_SKORUPI - -#if P_FAMILY_CROAGUNK -static const union AnimCmd sAnim_Croagunk_1[] = -{ - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 28), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Toxicroak_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_CROAGUNK - -#if P_FAMILY_CARNIVINE -static const union AnimCmd sAnim_Carnivine_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_CARNIVINE - -#if P_FAMILY_FINNEON -static const union AnimCmd sAnim_Finneon_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Lumineon_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; -#endif //P_FAMILY_FINNEON - -#if P_FAMILY_SNOVER -static const union AnimCmd sAnim_Snover_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Abomasnow_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(AbomasnowMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SNOVER - -#if P_FAMILY_ROTOM -static const union AnimCmd sAnim_Rotom_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RotomHeat_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RotomWash_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RotomFrost_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RotomFan_1[] = -{ - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RotomMow_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_ROTOM - -#if P_FAMILY_UXIE -static const union AnimCmd sAnim_Uxie_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_UXIE - -#if P_FAMILY_MESPRIT -static const union AnimCmd sAnim_Mesprit_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_MESPRIT - -#if P_FAMILY_AZELF -static const union AnimCmd sAnim_Azelf_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_AZELF - -#if P_FAMILY_DIALGA -static const union AnimCmd sAnim_Dialga_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -PLACEHOLDER_ANIM_SINGLE_FRAME(DialgaOrigin); -#endif //P_FAMILY_DIALGA - -#if P_FAMILY_PALKIA -static const union AnimCmd sAnim_Palkia_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -PLACEHOLDER_ANIM_SINGLE_FRAME(PalkiaOrigin); -#endif //P_FAMILY_PALKIA - -#if P_FAMILY_HEATRAN -static const union AnimCmd sAnim_Heatran_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_HEATRAN - -#if P_FAMILY_REGIGIGAS -static const union AnimCmd sAnim_Regigigas_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_REGIGIGAS - -#if P_FAMILY_GIRATINA -static const union AnimCmd sAnim_GiratinaAltered_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GiratinaOrigin_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_GIRATINA - -#if P_FAMILY_CRESSELIA -static const union AnimCmd sAnim_Cresselia_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_CRESSELIA - -#if P_FAMILY_MANAPHY -static const union AnimCmd sAnim_Phione_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Manaphy_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_MANAPHY - -#if P_FAMILY_DARKRAI -static const union AnimCmd sAnim_Darkrai_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_DARKRAI - -#if P_FAMILY_SHAYMIN -static const union AnimCmd sAnim_ShayminLand_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ShayminSky_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SHAYMIN - -#if P_FAMILY_ARCEUS -static const union AnimCmd sAnim_Arceus_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_ARCEUS - -#if P_FAMILY_VICTINI -static const union AnimCmd sAnim_Victini_1[] = -{ - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 46), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_VICTINI - -#if P_FAMILY_SNIVY -static const union AnimCmd sAnim_Snivy_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Servine_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Serperior_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SNIVY - -#if P_FAMILY_TEPIG -static const union AnimCmd sAnim_Tepig_1[] = -{ - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Pignite_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Emboar_1[] = -{ - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END, -}; -#endif //P_FAMILY_TEPIG - -#if P_FAMILY_OSHAWOTT -static const union AnimCmd sAnim_Oshawott_1[] = -{ - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Dewott_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 28), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Samurott_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SamurottHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_OSHAWOTT - -#if P_FAMILY_PATRAT -static const union AnimCmd sAnim_Patrat_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Watchog_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0 , 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; -#endif //P_FAMILY_PATRAT - -#if P_FAMILY_LILLIPUP -static const union AnimCmd sAnim_Lillipup_1[] = -{ - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Herdier_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Stoutland_1[] = -{ - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_LILLIPUP - -#if P_FAMILY_PURRLOIN -static const union AnimCmd sAnim_Purrloin_1[] = -{ - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 54), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Liepard_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_PURRLOIN - -#if P_FAMILY_PANSAGE -static const union AnimCmd sAnim_Pansage_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 13), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Simisage_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_PANSAGE - -#if P_FAMILY_PANSEAR -static const union AnimCmd sAnim_Pansear_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Simisear_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_PANSEAR - -#if P_FAMILY_PANPOUR -static const union AnimCmd sAnim_Panpour_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Simipour_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_PANPOUR - -#if P_FAMILY_MUNNA -static const union AnimCmd sAnim_Munna_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Musharna_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_MUNNA - -#if P_FAMILY_PIDOVE -static const union AnimCmd sAnim_Pidove_1[] = -{ - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 46), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Tranquill_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Unfezant_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_PIDOVE - -#if P_FAMILY_BLITZLE -static const union AnimCmd sAnim_Blitzle_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Zebstrika_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_FAMILY_BLITZLE - -#if P_FAMILY_ROGGENROLA -static const union AnimCmd sAnim_Roggenrola_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Boldore_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gigalith_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_ROGGENROLA - -#if P_FAMILY_WOOBAT -static const union AnimCmd sAnim_Woobat_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Swoobat_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_WOOBAT - -#if P_FAMILY_DRILBUR -static const union AnimCmd sAnim_Drilbur_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Excadrill_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_DRILBUR - -#if P_FAMILY_AUDINO -static const union AnimCmd sAnim_Audino_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(AudinoMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_AUDINO - -#if P_FAMILY_TIMBURR -static const union AnimCmd sAnim_Timburr_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gurdurr_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Conkeldurr_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_TIMBURR - -#if P_FAMILY_TYMPOLE -static const union AnimCmd sAnim_Tympole_1[] = -{ - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Palpitoad_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 13), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Seismitoad_1[] = -{ - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; -#endif //P_FAMILY_TYMPOLE - -#if P_FAMILY_THROH -static const union AnimCmd sAnim_Throh_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_THROH - -#if P_FAMILY_SAWK -static const union AnimCmd sAnim_Sawk_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SAWK - -#if P_FAMILY_SEWADDLE -static const union AnimCmd sAnim_Sewaddle_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Swadloon_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Leavanny_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_SEWADDLE - -#if P_FAMILY_VENIPEDE -static const union AnimCmd sAnim_Venipede_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Whirlipede_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Scolipede_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_VENIPEDE - -#if P_FAMILY_COTTONEE -static const union AnimCmd sAnim_Cottonee_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 50), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Whimsicott_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_COTTONEE - -#if P_FAMILY_PETILIL -static const union AnimCmd sAnim_Petilil_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Lilligant_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(LilligantHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_PETILIL - -#if P_FAMILY_BASCULIN -static const union AnimCmd sAnim_Basculin_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(Basculegion); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_BASCULIN - -#if P_FAMILY_SANDILE -static const union AnimCmd sAnim_Sandile_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Krokorok_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Krookodile_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SANDILE - -#if P_FAMILY_DARUMAKA -static const union AnimCmd sAnim_Darumaka_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DarmanitanStandard_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DarmanitanZen_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(DarumakaGalar); -PLACEHOLDER_ANIM_SINGLE_FRAME(DarmanitanGalarStandard); -PLACEHOLDER_ANIM_SINGLE_FRAME(DarmanitanGalarZen); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_DARUMAKA - -#if P_FAMILY_MARACTUS -static const union AnimCmd sAnim_Maractus_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_MARACTUS - -#if P_FAMILY_DWEBBLE -static const union AnimCmd sAnim_Dwebble_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 50), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Crustle_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_DWEBBLE - -#if P_FAMILY_SCRAGGY -static const union AnimCmd sAnim_Scraggy_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Scrafty_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SCRAGGY - -#if P_FAMILY_SIGILYPH -static const union AnimCmd sAnim_Sigilyph_1[] = -{ - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; -#endif //P_FAMILY_SIGILYPH - -#if P_FAMILY_YAMASK -static const union AnimCmd sAnim_Yamask_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Cofagrigus_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(YamaskGalar); -PLACEHOLDER_ANIM_SINGLE_FRAME(Runerigus); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_YAMASK - -#if P_FAMILY_TIRTOUGA -static const union AnimCmd sAnim_Tirtouga_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Carracosta_1[] = -{ - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_TIRTOUGA - -#if P_FAMILY_ARCHEN -static const union AnimCmd sAnim_Archen_1[] = -{ - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 46), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Archeops_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_ARCHEN - -#if P_FAMILY_TRUBBISH -static const union AnimCmd sAnim_Trubbish_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Garbodor_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GarbodorGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_TRUBBISH - -#if P_FAMILY_ZORUA -static const union AnimCmd sAnim_Zorua_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Zoroark_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ZoruaHisui); -PLACEHOLDER_ANIM_SINGLE_FRAME(ZoroarkHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_ZORUA - -#if P_FAMILY_MINCCINO -static const union AnimCmd sAnim_Minccino_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Cinccino_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_MINCCINO - -#if P_FAMILY_GOTHITA -static const union AnimCmd sAnim_Gothita_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gothorita_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gothitelle_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_GOTHITA - -#if P_FAMILY_SOLOSIS -static const union AnimCmd sAnim_Solosis_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Duosion_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Reuniclus_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SOLOSIS - -#if P_FAMILY_DUCKLETT -static const union AnimCmd sAnim_Ducklett_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Swanna_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_DUCKLETT - -#if P_FAMILY_VANILLITE -static const union AnimCmd sAnim_Vanillite_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Vanillish_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Vanilluxe_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_VANILLITE - -#if P_FAMILY_DEERLING -static const union AnimCmd sAnim_Deerling_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Sawsbuck_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_DEERLING - -#if P_FAMILY_EMOLGA -static const union AnimCmd sAnim_Emolga_1[] = -{ - ANIMCMD_FRAME(0, 21), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_EMOLGA - -#if P_FAMILY_KARRABLAST -static const union AnimCmd sAnim_Karrablast_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Escavalier_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_FAMILY_KARRABLAST - -#if P_FAMILY_FOONGUS -static const union AnimCmd sAnim_Foongus_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Amoonguss_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; -#endif //P_FAMILY_FOONGUS - -#if P_FAMILY_FRILLISH -static const union AnimCmd sAnim_Frillish_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Jellicent_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; -#endif //P_FAMILY_FRILLISH - -#if P_FAMILY_ALOMOMOLA -static const union AnimCmd sAnim_Alomomola_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_ALOMOMOLA - -#if P_FAMILY_JOLTIK -static const union AnimCmd sAnim_Joltik_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Galvantula_1[] = -{ - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_END, -}; -#endif //P_FAMILY_JOLTIK - -#if P_FAMILY_FERROSEED -static const union AnimCmd sAnim_Ferroseed_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 28), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Ferrothorn_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_FERROSEED - -#if P_FAMILY_KLINK -static const union AnimCmd sAnim_Klink_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Klang_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Klinklang_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_KLINK - -#if P_FAMILY_TYNAMO -static const union AnimCmd sAnim_Tynamo_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Eelektrik_1[] = -{ - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Eelektross_1[] = -{ - ANIMCMD_FRAME(1, 27), - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 24), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 27), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_TYNAMO - -#if P_FAMILY_ELGYEM -static const union AnimCmd sAnim_Elgyem_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Beheeyem_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_ELGYEM - -#if P_FAMILY_LITWICK -static const union AnimCmd sAnim_Litwick_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Lampent_1[] = -{ - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Chandelure_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_LITWICK - -#if P_FAMILY_AXEW -static const union AnimCmd sAnim_Axew_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Fraxure_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Haxorus_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_AXEW - -#if P_FAMILY_CUBCHOO -static const union AnimCmd sAnim_Cubchoo_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Beartic_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_CUBCHOO - -#if P_FAMILY_CRYOGONAL -static const union AnimCmd sAnim_Cryogonal_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 48), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_CRYOGONAL - -#if P_FAMILY_SHELMET -static const union AnimCmd sAnim_Shelmet_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Accelgor_1[] = -{ - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_SHELMET - -#if P_FAMILY_STUNFISK -static const union AnimCmd sAnim_Stunfisk_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -#if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(StunfiskGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_STUNFISK - -#if P_FAMILY_MIENFOO -static const union AnimCmd sAnim_Mienfoo_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Mienshao_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; -#endif //P_FAMILY_MIENFOO - -#if P_FAMILY_DRUDDIGON -static const union AnimCmd sAnim_Druddigon_1[] = -{ - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; -#endif //P_FAMILY_DRUDDIGON - -#if P_FAMILY_GOLETT -static const union AnimCmd sAnim_Golett_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Golurk_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_GOLETT - -#if P_FAMILY_PAWNIARD -static const union AnimCmd sAnim_Pawniard_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Bisharp_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -#if P_GEN_9_CROSS_EVOS -PLACEHOLDER_ANIM_SINGLE_FRAME(Kingambit); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_PAWNIARD - -#if P_FAMILY_BOUFFALANT -static const union AnimCmd sAnim_Bouffalant_1[] = -{ - ANIMCMD_FRAME(0, 28), - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_BOUFFALANT - -#if P_FAMILY_RUFFLET -static const union AnimCmd sAnim_Rufflet_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Braviary_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(BraviaryHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_RUFFLET - -#if P_FAMILY_VULLABY -static const union AnimCmd sAnim_Vullaby_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Mandibuzz_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_VULLABY - -#if P_FAMILY_HEATMOR -static const union AnimCmd sAnim_Heatmor_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_HEATMOR - -#if P_FAMILY_DURANT -static const union AnimCmd sAnim_Durant_1[] = -{ - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_END, -}; -#endif //P_FAMILY_DURANT - -#if P_FAMILY_DEINO -static const union AnimCmd sAnim_Deino_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Zweilous_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Hydreigon_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_DEINO - -#if P_FAMILY_LARVESTA -static const union AnimCmd sAnim_Larvesta_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Volcarona_1[] = -{ - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_END, -}; -#endif //P_FAMILY_LARVESTA - -#if P_FAMILY_COBALION -static const union AnimCmd sAnim_Cobalion_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_COBALION - -#if P_FAMILY_TERRAKION -static const union AnimCmd sAnim_Terrakion_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_TERRAKION - -#if P_FAMILY_VIRIZION -static const union AnimCmd sAnim_Virizion_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_VIRIZION - -#if P_FAMILY_TORNADUS -static const union AnimCmd sAnim_TornadusIncarnate_1[] = -{ - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TornadusTherian_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_TORNADUS - -#if P_FAMILY_THUNDURUS -static const union AnimCmd sAnim_ThundurusIncarnate_1[] = -{ - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ThundurusTherian_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_THUNDURUS - -#if P_FAMILY_RESHIRAM -static const union AnimCmd sAnim_Reshiram_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_RESHIRAM - -#if P_FAMILY_ZEKROM -static const union AnimCmd sAnim_Zekrom_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_ZEKROM - -#if P_FAMILY_LANDORUS -static const union AnimCmd sAnim_LandorusIncarnate_1[] = -{ - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LandorusTherian_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_LANDORUS - -#if P_FAMILY_KYUREM -static const union AnimCmd sAnim_Kyurem_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_FUSION_FORMS -static const union AnimCmd sAnim_KyuremWhite_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FUSION_FORMS - -#if P_FUSION_FORMS -static const union AnimCmd sAnim_KyuremBlack_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FUSION_FORMS -#endif //P_FAMILY_KYUREM - -#if P_FAMILY_KELDEO -static const union AnimCmd sAnim_KeldeoOrdinary_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KeldeoResolute_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_KELDEO - -#if P_FAMILY_MELOETTA -static const union AnimCmd sAnim_MeloettaAria_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MeloettaPirouette_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_MELOETTA - -#if P_FAMILY_GENESECT -static const union AnimCmd sAnim_Genesect_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_GENESECT - -#if P_FAMILY_CHESPIN -static const union AnimCmd sAnim_Chespin_1[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 24), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 24), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Quilladin_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Chesnaught_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_CHESPIN - -#if P_FAMILY_FENNEKIN -static const union AnimCmd sAnim_Fennekin_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Braixen_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Delphox_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_FENNEKIN - -#if P_FAMILY_FROAKIE -static const union AnimCmd sAnim_Froakie_1[] = -{ - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 11), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Frogadier_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Greninja_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GreninjaAsh_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_FROAKIE - -#if P_FAMILY_BUNNELBY -static const union AnimCmd sAnim_Bunnelby_1[] = -{ - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Diggersby_1[] = -{ - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_BUNNELBY - -#if P_FAMILY_FLETCHLING -static const union AnimCmd sAnim_Fletchling_1[] = -{ - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -static const union AnimCmd sAnim_Fletchinder_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Talonflame_1[] = -{ - ANIMCMD_FRAME(1, 55), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_FLETCHLING - -#if P_FAMILY_SCATTERBUG -static const union AnimCmd sAnim_Scatterbug_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Spewpa_1[] = -{ - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Vivillon_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; -#endif //P_FAMILY_SCATTERBUG - -#if P_FAMILY_LITLEO -static const union AnimCmd sAnim_Litleo_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Pyroar_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_LITLEO - -#if P_FAMILY_FLABEBE -static const union AnimCmd sAnim_Flabebe_1[] = -{ - ANIMCMD_FRAME(1, 27), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 23), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Floette_1[] = -{ - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Florges_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_FLABEBE - -#if P_FAMILY_SKIDDO -static const union AnimCmd sAnim_Skiddo_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gogoat_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 36), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_SKIDDO - -#if P_FAMILY_PANCHAM -static const union AnimCmd sAnim_Pancham_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Pangoro_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_PANCHAM - -#if P_FAMILY_FURFROU -static const union AnimCmd sAnim_Furfrou_1[] = -{ - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_FURFROU - -#if P_FAMILY_ESPURR -static const union AnimCmd sAnim_Espurr_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Meowstic_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_ESPURR - -#if P_FAMILY_HONEDGE -static const union AnimCmd sAnim_Honedge_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Doublade_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_AegislashShield_1[] = -{ - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_AegislashBlade_1[] = -{ - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_HONEDGE - -#if P_FAMILY_SPRITZEE -static const union AnimCmd sAnim_Spritzee_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Aromatisse_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_FAMILY_SPRITZEE - -#if P_FAMILY_SWIRLIX -static const union AnimCmd sAnim_Swirlix_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Slurpuff_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_SWIRLIX - -#if P_FAMILY_INKAY -static const union AnimCmd sAnim_Inkay_1[] = -{ - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 25), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Malamar_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_INKAY - -#if P_FAMILY_BINACLE -static const union AnimCmd sAnim_Binacle_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Barbaracle_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_BINACLE - -#if P_FAMILY_SKRELP -static const union AnimCmd sAnim_Skrelp_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Dragalge_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_SKRELP - -#if P_FAMILY_CLAUNCHER -static const union AnimCmd sAnim_Clauncher_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Clawitzer_1[] = -{ - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_END, -}; -#endif //P_FAMILY_CLAUNCHER - -#if P_FAMILY_HELIOPTILE -static const union AnimCmd sAnim_Helioptile_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Heliolisk_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; -#endif //P_FAMILY_HELIOPTILE - -#if P_FAMILY_TYRUNT -static const union AnimCmd sAnim_Tyrunt_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Tyrantrum_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_TYRUNT - -#if P_FAMILY_AMAURA -static const union AnimCmd sAnim_Amaura_1[] = -{ - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 11), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Aurorus_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_AMAURA - -#if P_FAMILY_HAWLUCHA -static const union AnimCmd sAnim_Hawlucha_1[] = -{ - ANIMCMD_FRAME(0, 28), - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_HAWLUCHA - -#if P_FAMILY_DEDENNE -static const union AnimCmd sAnim_Dedenne_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_DEDENNE - -#if P_FAMILY_CARBINK -static const union AnimCmd sAnim_Carbink_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_CARBINK - -#if P_FAMILY_GOOMY -static const union AnimCmd sAnim_Goomy_1[] = -{ - ANIMCMD_FRAME(0, 28), - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Sliggoo_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Goodra_1[] = -{ - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SliggooHisui); -PLACEHOLDER_ANIM_SINGLE_FRAME(GoodraHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_GOOMY - -#if P_FAMILY_KLEFKI -static const union AnimCmd sAnim_Klefki_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_KLEFKI - -#if P_FAMILY_PHANTUMP -static const union AnimCmd sAnim_Phantump_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Trevenant_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_PHANTUMP - -#if P_FAMILY_PUMPKABOO -static const union AnimCmd sAnim_Pumpkaboo_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Gourgeist_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_PUMPKABOO - -#if P_FAMILY_BERGMITE -static const union AnimCmd sAnim_Bergmite_1[] = -{ - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Avalugg_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(AvaluggHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_BERGMITE - -#if P_FAMILY_NOIBAT -static const union AnimCmd sAnim_Noibat_1[] = -{ - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Noivern_1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; -#endif //P_FAMILY_NOIBAT - -#if P_FAMILY_XERNEAS -static const union AnimCmd sAnim_Xerneas_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_XERNEAS - -#if P_FAMILY_YVELTAL -static const union AnimCmd sAnim_Yveltal_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_YVELTAL - -#if P_FAMILY_ZYGARDE -static const union AnimCmd sAnim_Zygarde50_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Zygarde10_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ZygardeComplete_1[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; -#endif //P_FAMILY_ZYGARDE - -#if P_FAMILY_DIANCIE -static const union AnimCmd sAnim_Diancie_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -#if P_MEGA_EVOLUTIONS -PLACEHOLDER_ANIM_SINGLE_FRAME(DiancieMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_DIANCIE - -#if P_FAMILY_HOOPA -static const union AnimCmd sAnim_HoopaConfined_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HoopaUnbound_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_HOOPA - -#if P_FAMILY_VOLCANION -static const union AnimCmd sAnim_Volcanion_1[] = -{ - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_VOLCANION - -#if P_FAMILY_ROWLET -static const union AnimCmd sAnim_Rowlet_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Dartrix_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Decidueye_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -#if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(DecidueyeHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_ROWLET - -#if P_FAMILY_LITTEN -PLACEHOLDER_ANIM_SINGLE_FRAME(Litten); -PLACEHOLDER_ANIM_SINGLE_FRAME(Torracat); -PLACEHOLDER_ANIM_SINGLE_FRAME(Incineroar); -#endif //P_FAMILY_LITTEN - -#if P_FAMILY_POPPLIO -PLACEHOLDER_ANIM_SINGLE_FRAME(Popplio); -PLACEHOLDER_ANIM_SINGLE_FRAME(Brionne); -PLACEHOLDER_ANIM_SINGLE_FRAME(Primarina); -#endif //P_FAMILY_POPPLIO - -#if P_FAMILY_PIKIPEK -static const union AnimCmd sAnim_Pikipek_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Trumbeak_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Toucannon_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_PIKIPEK - -#if P_FAMILY_YUNGOOS -PLACEHOLDER_ANIM_SINGLE_FRAME(Yungoos); -PLACEHOLDER_ANIM_SINGLE_FRAME(Gumshoos); -#endif //P_FAMILY_YUNGOOS - -#if P_FAMILY_GRUBBIN -static const union AnimCmd sAnim_Grubbin_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Charjabug_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Vikavolt_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_GRUBBIN - -#if P_FAMILY_CRABRAWLER -PLACEHOLDER_ANIM_SINGLE_FRAME(Crabrawler); -PLACEHOLDER_ANIM_SINGLE_FRAME(Crabominable); -#endif //P_FAMILY_CRABRAWLER - -#if P_FAMILY_ORICORIO -PLACEHOLDER_ANIM_SINGLE_FRAME(Oricorio); -#endif //P_FAMILY_ORICORIO - -#if P_FAMILY_CUTIEFLY -static const union AnimCmd sAnim_Cutiefly_1[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 35), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Ribombee_1[] = -{ - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; -#endif //P_FAMILY_CUTIEFLY - -#if P_FAMILY_ROCKRUFF -static const union AnimCmd sAnim_Rockruff_1[] = -{ - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LycanrocMidday_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LycanrocMidnight_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LycanrocDusk_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_ROCKRUFF - -#if P_FAMILY_WISHIWASHI -PLACEHOLDER_ANIM_SINGLE_FRAME(WishiwashiSolo); -PLACEHOLDER_ANIM_SINGLE_FRAME(WishiwashiSchool); -#endif //P_FAMILY_WISHIWASHI - -#if P_FAMILY_MAREANIE -PLACEHOLDER_ANIM_SINGLE_FRAME(Mareanie); -PLACEHOLDER_ANIM_SINGLE_FRAME(Toxapex); -#endif //P_FAMILY_MAREANIE - -#if P_FAMILY_MUDBRAY -PLACEHOLDER_ANIM_SINGLE_FRAME(Mudbray); -PLACEHOLDER_ANIM_SINGLE_FRAME(Mudsdale); -#endif //P_FAMILY_MUDBRAY - -#if P_FAMILY_DEWPIDER -static const union AnimCmd sAnim_Dewpider_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Araquanid_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_DEWPIDER - -#if P_FAMILY_FOMANTIS -PLACEHOLDER_ANIM_SINGLE_FRAME(Fomantis); -PLACEHOLDER_ANIM_SINGLE_FRAME(Lurantis); -#endif //P_FAMILY_FOMANTIS - -#if P_FAMILY_MORELULL -PLACEHOLDER_ANIM_SINGLE_FRAME(Morelull); -PLACEHOLDER_ANIM_SINGLE_FRAME(Shiinotic); -#endif //P_FAMILY_MORELULL - -#if P_FAMILY_SALANDIT -static const union AnimCmd sAnim_Salandit_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Salazzle_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_SALANDIT - -#if P_FAMILY_STUFFUL -static const union AnimCmd sAnim_Stufful_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Bewear_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 60), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_STUFFUL - -#if P_FAMILY_BOUNSWEET -PLACEHOLDER_ANIM_SINGLE_FRAME(Bounsweet); -PLACEHOLDER_ANIM_SINGLE_FRAME(Steenee); -PLACEHOLDER_ANIM_SINGLE_FRAME(Tsareena); -#endif //P_FAMILY_BOUNSWEET - -#if P_FAMILY_COMFEY -PLACEHOLDER_ANIM_SINGLE_FRAME(Comfey); -#endif //P_FAMILY_COMFEY - -#if P_FAMILY_ORANGURU -static const union AnimCmd sAnim_Oranguru_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_ORANGURU - -#if P_FAMILY_PASSIMIAN -static const union AnimCmd sAnim_Passimian_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_PASSIMIAN - -#if P_FAMILY_WIMPOD -static const union AnimCmd sAnim_Wimpod_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Golisopod_1[] = -{ - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_WIMPOD - -#if P_FAMILY_SANDYGAST -PLACEHOLDER_ANIM_SINGLE_FRAME(Sandygast); -PLACEHOLDER_ANIM_SINGLE_FRAME(Palossand); -#endif //P_FAMILY_SANDYGAST - -#if P_FAMILY_PYUKUMUKU -static const union AnimCmd sAnim_Pyukumuku_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_PYUKUMUKU - -#if P_FAMILY_TYPE_NULL -PLACEHOLDER_ANIM_SINGLE_FRAME(TypeNull); -PLACEHOLDER_ANIM_SINGLE_FRAME(Silvally); -#endif //P_FAMILY_TYPE_NULL - -#if P_FAMILY_MINIOR -PLACEHOLDER_ANIM_SINGLE_FRAME(MiniorMeteor); -PLACEHOLDER_ANIM_SINGLE_FRAME(MiniorCore); -#endif //P_FAMILY_MINIOR - -#if P_FAMILY_KOMALA -PLACEHOLDER_ANIM_SINGLE_FRAME(Komala); -#endif //P_FAMILY_KOMALA - -#if P_FAMILY_TURTONATOR -static const union AnimCmd sAnim_Turtonator_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_TURTONATOR - -#if P_FAMILY_TOGEDEMARU -static const union AnimCmd sAnim_Togedemaru_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; -#endif //P_FAMILY_TOGEDEMARU - -#if P_FAMILY_MIMIKYU -PLACEHOLDER_ANIM_SINGLE_FRAME(MimikyuDisguised); -PLACEHOLDER_ANIM_SINGLE_FRAME(MimikyuBusted); -#endif //P_FAMILY_MIMIKYU - -#if P_FAMILY_BRUXISH -PLACEHOLDER_ANIM_SINGLE_FRAME(Bruxish); -#endif //P_FAMILY_BRUXISH - -#if P_FAMILY_DRAMPA -static const union AnimCmd sAnim_Drampa_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 50), - ANIMCMD_END, -}; -#endif //P_FAMILY_DRAMPA - -#if P_FAMILY_DHELMISE -PLACEHOLDER_ANIM_SINGLE_FRAME(Dhelmise); -#endif //P_FAMILY_DHELMISE - -#if P_FAMILY_JANGMO_O -static const union AnimCmd sAnim_Jangmo_O_1[] = -{ - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Hakamo_O_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Kommo_O_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_JANGMO_O - -#if P_FAMILY_TAPU_KOKO -static const union AnimCmd sAnim_TapuKoko_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_TAPU_KOKO - -#if P_FAMILY_TAPU_LELE -static const union AnimCmd sAnim_TapuLele_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_TAPU_LELE - -#if P_FAMILY_TAPU_BULU -static const union AnimCmd sAnim_TapuBulu_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_TAPU_BULU - -#if P_FAMILY_TAPU_FINI -static const union AnimCmd sAnim_TapuFini_1[] = -{ - ANIMCMD_FRAME(1, 60), - ANIMCMD_FRAME(1, 60), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -#endif //P_FAMILY_TAPU_FINI - -#if P_FAMILY_COSMOG -PLACEHOLDER_ANIM_SINGLE_FRAME(Cosmog); -PLACEHOLDER_ANIM_SINGLE_FRAME(Cosmoem); -PLACEHOLDER_ANIM_SINGLE_FRAME(Solgaleo); -PLACEHOLDER_ANIM_SINGLE_FRAME(Lunala); -#endif //P_FAMILY_COSMOG - -#if P_FAMILY_NIHILEGO -PLACEHOLDER_ANIM_SINGLE_FRAME(Nihilego); -#endif //P_FAMILY_NIHILEGO - -#if P_FAMILY_BUZZWOLE -PLACEHOLDER_ANIM_SINGLE_FRAME(Buzzwole); -#endif //P_FAMILY_BUZZWOLE - -#if P_FAMILY_PHEROMOSA -PLACEHOLDER_ANIM_SINGLE_FRAME(Pheromosa); -#endif //P_FAMILY_PHEROMOSA - -#if P_FAMILY_XURKITREE -PLACEHOLDER_ANIM_SINGLE_FRAME(Xurkitree); -#endif //P_FAMILY_XURKITREE - -#if P_FAMILY_CELESTEELA -PLACEHOLDER_ANIM_SINGLE_FRAME(Celesteela); -#endif //P_FAMILY_CELESTEELA - -#if P_FAMILY_KARTANA -PLACEHOLDER_ANIM_SINGLE_FRAME(Kartana); -#endif //P_FAMILY_KARTANA - -#if P_FAMILY_GUZZLORD -PLACEHOLDER_ANIM_SINGLE_FRAME(Guzzlord); -#endif //P_FAMILY_GUZZLORD - -#if P_FAMILY_NECROZMA -PLACEHOLDER_ANIM_SINGLE_FRAME(Necrozma); -#endif //P_FAMILY_NECROZMA - -#if P_FAMILY_MAGEARNA -PLACEHOLDER_ANIM_SINGLE_FRAME(Magearna); -#endif //P_FAMILY_MAGEARNA - -#if P_FAMILY_MARSHADOW -static const union AnimCmd sAnim_Marshadow_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 54), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; -#endif //P_FAMILY_MARSHADOW - -#if P_FAMILY_POIPOLE -PLACEHOLDER_ANIM_SINGLE_FRAME(Poipole); -PLACEHOLDER_ANIM_SINGLE_FRAME(Naganadel); -#endif //P_FAMILY_POIPOLE - -#if P_FAMILY_STAKATAKA -PLACEHOLDER_ANIM_SINGLE_FRAME(Stakataka); -#endif //P_FAMILY_STAKATAKA - -#if P_FAMILY_BLACEPHALON -PLACEHOLDER_ANIM_SINGLE_FRAME(Blacephalon); -#endif //P_FAMILY_BLACEPHALON - -#if P_FAMILY_ZERAORA -PLACEHOLDER_ANIM_SINGLE_FRAME(Zeraora); -#endif //P_FAMILY_ZERAORA - -#if P_FAMILY_MELTAN -PLACEHOLDER_ANIM_SINGLE_FRAME(Meltan); -PLACEHOLDER_ANIM_SINGLE_FRAME(Melmetal); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MelmetalGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MELTAN - -#if P_FAMILY_GROOKEY -PLACEHOLDER_ANIM_SINGLE_FRAME(Grookey); -PLACEHOLDER_ANIM_SINGLE_FRAME(Thwackey); -PLACEHOLDER_ANIM_SINGLE_FRAME(Rillaboom); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(RillaboomGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_GROOKEY - -#if P_FAMILY_SCORBUNNY -PLACEHOLDER_ANIM_SINGLE_FRAME(Scorbunny); -PLACEHOLDER_ANIM_SINGLE_FRAME(Raboot); -PLACEHOLDER_ANIM_SINGLE_FRAME(Cinderace); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CinderaceGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SCORBUNNY - -#if P_FAMILY_SOBBLE -PLACEHOLDER_ANIM_SINGLE_FRAME(Sobble); -PLACEHOLDER_ANIM_SINGLE_FRAME(Drizzile); -PLACEHOLDER_ANIM_SINGLE_FRAME(Inteleon); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(InteleonGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SOBBLE - -#if P_FAMILY_SKWOVET -PLACEHOLDER_ANIM_SINGLE_FRAME(Skwovet); -PLACEHOLDER_ANIM_SINGLE_FRAME(Greedent); -#endif //P_FAMILY_SKWOVET - -#if P_FAMILY_ROOKIDEE -static const union AnimCmd sAnim_Rookidee_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Corvisquire_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Corviknight_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CorviknightGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_ROOKIDEE - -#if P_FAMILY_BLIPBUG -PLACEHOLDER_ANIM_SINGLE_FRAME(Blipbug); -PLACEHOLDER_ANIM_SINGLE_FRAME(Dottler); -PLACEHOLDER_ANIM_SINGLE_FRAME(Orbeetle); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(OrbeetleGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_BLIPBUG - -#if P_FAMILY_NICKIT -PLACEHOLDER_ANIM_SINGLE_FRAME(Nickit); -PLACEHOLDER_ANIM_SINGLE_FRAME(Thievul); -#endif //P_FAMILY_NICKIT - -#if P_FAMILY_GOSSIFLEUR -PLACEHOLDER_ANIM_SINGLE_FRAME(Gossifleur); -PLACEHOLDER_ANIM_SINGLE_FRAME(Eldegoss); -#endif //P_FAMILY_GOSSIFLEUR - -#if P_FAMILY_WOOLOO -PLACEHOLDER_ANIM_SINGLE_FRAME(Wooloo); -PLACEHOLDER_ANIM_SINGLE_FRAME(Dubwool); -#endif //P_FAMILY_WOOLOO - -#if P_FAMILY_CHEWTLE -static const union AnimCmd sAnim_Chewtle_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Drednaw_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(DrednawGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CHEWTLE - -#if P_FAMILY_YAMPER -PLACEHOLDER_ANIM_SINGLE_FRAME(Yamper); -PLACEHOLDER_ANIM_SINGLE_FRAME(Boltund); -#endif //P_FAMILY_YAMPER - -#if P_FAMILY_ROLYCOLY -PLACEHOLDER_ANIM_TWO_FRAMES(Rolycoly); -PLACEHOLDER_ANIM_TWO_FRAMES(Carkol); -PLACEHOLDER_ANIM_TWO_FRAMES(Coalossal); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CoalossalGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_ROLYCOLY - -#if P_FAMILY_APPLIN -PLACEHOLDER_ANIM_TWO_FRAMES(Applin); -PLACEHOLDER_ANIM_TWO_FRAMES(Flapple); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(FlappleGmax); -#endif //P_GIGANTAMAX_FORMS - -PLACEHOLDER_ANIM_TWO_FRAMES(Appletun); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(AppletunGmax); -#endif //P_GIGANTAMAX_FORMS - -#if P_GEN_9_CROSS_EVOS -PLACEHOLDER_ANIM_SINGLE_FRAME(Dipplin); -PLACEHOLDER_ANIM_SINGLE_FRAME(Hydrapple); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_APPLIN - -#if P_FAMILY_SILICOBRA -PLACEHOLDER_ANIM_SINGLE_FRAME(Silicobra); -PLACEHOLDER_ANIM_SINGLE_FRAME(Sandaconda); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SandacondaGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SILICOBRA - -#if P_FAMILY_CRAMORANT -PLACEHOLDER_ANIM_SINGLE_FRAME(Cramorant); -#endif //P_FAMILY_CRAMORANT - -#if P_FAMILY_ARROKUDA -PLACEHOLDER_ANIM_SINGLE_FRAME(Arrokuda); -PLACEHOLDER_ANIM_SINGLE_FRAME(Barraskewda); -#endif //P_FAMILY_ARROKUDA - -#if P_FAMILY_TOXEL -PLACEHOLDER_ANIM_SINGLE_FRAME(Toxel); -PLACEHOLDER_ANIM_SINGLE_FRAME(Toxtricity); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ToxtricityGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_TOXEL - -#if P_FAMILY_SIZZLIPEDE -static const union AnimCmd sAnim_Sizzlipede_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Centiskorch_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CentiskorchGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SIZZLIPEDE - -#if P_FAMILY_CLOBBOPUS -PLACEHOLDER_ANIM_SINGLE_FRAME(Clobbopus); -PLACEHOLDER_ANIM_SINGLE_FRAME(Grapploct); -#endif //P_FAMILY_CLOBBOPUS - -#if P_FAMILY_SINISTEA -PLACEHOLDER_ANIM_SINGLE_FRAME(Sinistea); -PLACEHOLDER_ANIM_SINGLE_FRAME(Polteageist); -#endif //P_FAMILY_SINISTEA - -#if P_FAMILY_HATENNA -PLACEHOLDER_ANIM_SINGLE_FRAME(Hatenna); -PLACEHOLDER_ANIM_SINGLE_FRAME(Hattrem); -PLACEHOLDER_ANIM_SINGLE_FRAME(Hatterene); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(HattereneGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_HATENNA - -#if P_FAMILY_IMPIDIMP -PLACEHOLDER_ANIM_SINGLE_FRAME(Impidimp); -PLACEHOLDER_ANIM_SINGLE_FRAME(Morgrem); -PLACEHOLDER_ANIM_SINGLE_FRAME(Grimmsnarl); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GrimmsnarlGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_IMPIDIMP - -#if P_FAMILY_MILCERY -PLACEHOLDER_ANIM_SINGLE_FRAME(Milcery); -PLACEHOLDER_ANIM_SINGLE_FRAME(Alcremie); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(AlcremieGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MILCERY - -#if P_FAMILY_FALINKS -PLACEHOLDER_ANIM_SINGLE_FRAME(Falinks); -#endif //P_FAMILY_FALINKS - -#if P_FAMILY_PINCURCHIN -PLACEHOLDER_ANIM_TWO_FRAMES(Pincurchin); -#endif //P_FAMILY_PINCURCHIN - -#if P_FAMILY_SNOM -PLACEHOLDER_ANIM_SINGLE_FRAME(Snom); -PLACEHOLDER_ANIM_SINGLE_FRAME(Frosmoth); -#endif //P_FAMILY_SNOM - -#if P_FAMILY_STONJOURNER -PLACEHOLDER_ANIM_SINGLE_FRAME(Stonjourner); -#endif //P_FAMILY_STONJOURNER - -#if P_FAMILY_EISCUE -PLACEHOLDER_ANIM_SINGLE_FRAME(Eiscue); -#endif //P_FAMILY_EISCUE - -#if P_FAMILY_INDEEDEE -PLACEHOLDER_ANIM_SINGLE_FRAME(Indeedee); -#endif //P_FAMILY_INDEEDEE - -#if P_FAMILY_MORPEKO -PLACEHOLDER_ANIM_SINGLE_FRAME(Morpeko); -#endif //P_FAMILY_MORPEKO - -#if P_FAMILY_CUFANT -PLACEHOLDER_ANIM_SINGLE_FRAME(Cufant); -PLACEHOLDER_ANIM_SINGLE_FRAME(Copperajah); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CopperajahGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CUFANT - -#if P_FAMILY_DRACOZOLT -PLACEHOLDER_ANIM_SINGLE_FRAME(Dracozolt); -#endif //P_FAMILY_DRACOZOLT - -#if P_FAMILY_ARCTOZOLT -PLACEHOLDER_ANIM_SINGLE_FRAME(Arctozolt); -#endif //P_FAMILY_ARCTOZOLT - -#if P_FAMILY_DRACOVISH -PLACEHOLDER_ANIM_SINGLE_FRAME(Dracovish); -#endif //P_FAMILY_DRACOVISH - -#if P_FAMILY_ARCTOVISH -PLACEHOLDER_ANIM_SINGLE_FRAME(Arctovish); -#endif //P_FAMILY_ARCTOVISH - -#if P_FAMILY_DURALUDON -PLACEHOLDER_ANIM_SINGLE_FRAME(Duraludon); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(DuraludonGmax); -#endif //P_GIGANTAMAX_FORMS - -#if P_GEN_9_CROSS_EVOS -PLACEHOLDER_ANIM_SINGLE_FRAME(Archaludon); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_DURALUDON - -#if P_FAMILY_DREEPY -PLACEHOLDER_ANIM_SINGLE_FRAME(Dreepy); -PLACEHOLDER_ANIM_SINGLE_FRAME(Drakloak); -PLACEHOLDER_ANIM_SINGLE_FRAME(Dragapult); -#endif //P_FAMILY_DREEPY - -#if P_FAMILY_ZACIAN -PLACEHOLDER_ANIM_SINGLE_FRAME(Zacian); -#endif //P_FAMILY_ZACIAN - -#if P_FAMILY_ZAMAZENTA -PLACEHOLDER_ANIM_SINGLE_FRAME(Zamazenta); -#endif //P_FAMILY_ZAMAZENTA - -#if P_FAMILY_ETERNATUS -PLACEHOLDER_ANIM_SINGLE_FRAME(Eternatus); -#endif //P_FAMILY_ETERNATUS - -#if P_FAMILY_KUBFU -PLACEHOLDER_ANIM_SINGLE_FRAME(Kubfu); -PLACEHOLDER_ANIM_SINGLE_FRAME(Urshifu); - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(UrshifuSingleStrikeGmax); -#endif //P_GIGANTAMAX_FORMS - -#if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(UrshifuRapidStrikeGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_KUBFU - -#if P_FAMILY_ZARUDE -PLACEHOLDER_ANIM_SINGLE_FRAME(Zarude); -#endif //P_FAMILY_ZARUDE - -#if P_FAMILY_REGIELEKI -PLACEHOLDER_ANIM_SINGLE_FRAME(Regieleki); -#endif //P_FAMILY_REGIELEKI - -#if P_FAMILY_REGIDRAGO -PLACEHOLDER_ANIM_SINGLE_FRAME(Regidrago); -#endif //P_FAMILY_REGIDRAGO - -#if P_FAMILY_GLASTRIER -PLACEHOLDER_ANIM_SINGLE_FRAME(Glastrier); -#endif //P_FAMILY_GLASTRIER - -#if P_FAMILY_SPECTRIER -PLACEHOLDER_ANIM_SINGLE_FRAME(Spectrier); -#endif //P_FAMILY_SPECTRIER - -#if P_FAMILY_CALYREX -PLACEHOLDER_ANIM_SINGLE_FRAME(Calyrex); -#endif //P_FAMILY_CALYREX - -#if P_FAMILY_ENAMORUS -PLACEHOLDER_ANIM_TWO_FRAMES(EnamorusIncarnate); -PLACEHOLDER_ANIM_SINGLE_FRAME(EnamorusTherian); -#endif //P_FAMILY_ENAMORUS - -#if P_FAMILY_SPRIGATITO -PLACEHOLDER_ANIM_SINGLE_FRAME(Sprigatito); -PLACEHOLDER_ANIM_SINGLE_FRAME(Floragato); -PLACEHOLDER_ANIM_SINGLE_FRAME(Meowscarada); -#endif //P_FAMILY_SPRIGATITO - -#if P_FAMILY_FUECOCO -PLACEHOLDER_ANIM_SINGLE_FRAME(Fuecoco); -PLACEHOLDER_ANIM_SINGLE_FRAME(Crocalor); -PLACEHOLDER_ANIM_SINGLE_FRAME(Skeledirge); -#endif //P_FAMILY_FUECOCO - -#if P_FAMILY_QUAXLY -PLACEHOLDER_ANIM_SINGLE_FRAME(Quaxly); -PLACEHOLDER_ANIM_SINGLE_FRAME(Quaxwell); -PLACEHOLDER_ANIM_SINGLE_FRAME(Quaquaval); -#endif //P_FAMILY_QUAXLY - -#if P_FAMILY_LECHONK -PLACEHOLDER_ANIM_SINGLE_FRAME(Lechonk); -PLACEHOLDER_ANIM_SINGLE_FRAME(Oinkologne); -#endif //P_FAMILY_LECHONK - -#if P_FAMILY_TAROUNTULA -PLACEHOLDER_ANIM_SINGLE_FRAME(Tarountula); -PLACEHOLDER_ANIM_SINGLE_FRAME(Spidops); -#endif //P_FAMILY_TAROUNTULA - -#if P_FAMILY_NYMBLE -PLACEHOLDER_ANIM_SINGLE_FRAME(Nymble); -PLACEHOLDER_ANIM_SINGLE_FRAME(Lokix); -#endif //P_FAMILY_NYMBLE - -#if P_FAMILY_PAWMI -PLACEHOLDER_ANIM_SINGLE_FRAME(Pawmi); -PLACEHOLDER_ANIM_SINGLE_FRAME(Pawmo); -PLACEHOLDER_ANIM_SINGLE_FRAME(Pawmot); -#endif //P_FAMILY_PAWMI - -#if P_FAMILY_TANDEMAUS -PLACEHOLDER_ANIM_SINGLE_FRAME(Tandemaus); -PLACEHOLDER_ANIM_SINGLE_FRAME(Maushold); -#endif //P_FAMILY_TANDEMAUS - -#if P_FAMILY_FIDOUGH -PLACEHOLDER_ANIM_SINGLE_FRAME(Fidough); -PLACEHOLDER_ANIM_SINGLE_FRAME(Dachsbun); -#endif //P_FAMILY_FIDOUGH - -#if P_FAMILY_SMOLIV -PLACEHOLDER_ANIM_SINGLE_FRAME(Smoliv); -PLACEHOLDER_ANIM_SINGLE_FRAME(Dolliv); -PLACEHOLDER_ANIM_SINGLE_FRAME(Arboliva); -#endif //P_FAMILY_SMOLIV - -#if P_FAMILY_SQUAWKABILLY -PLACEHOLDER_ANIM_SINGLE_FRAME(Squawkabilly); -#endif //P_FAMILY_SQUAWKABILLY - -#if P_FAMILY_NACLI -PLACEHOLDER_ANIM_SINGLE_FRAME(Nacli); -PLACEHOLDER_ANIM_SINGLE_FRAME(Naclstack); -PLACEHOLDER_ANIM_SINGLE_FRAME(Garganacl); -#endif //P_FAMILY_NACLI - -#if P_FAMILY_CHARCADET -PLACEHOLDER_ANIM_SINGLE_FRAME(Charcadet); -PLACEHOLDER_ANIM_SINGLE_FRAME(Armarouge); -PLACEHOLDER_ANIM_SINGLE_FRAME(Ceruledge); -#endif //P_FAMILY_CHARCADET - -#if P_FAMILY_TADBULB -PLACEHOLDER_ANIM_SINGLE_FRAME(Tadbulb); -PLACEHOLDER_ANIM_SINGLE_FRAME(Bellibolt); -#endif //P_FAMILY_TADBULB - -#if P_FAMILY_WATTREL -PLACEHOLDER_ANIM_SINGLE_FRAME(Wattrel); -PLACEHOLDER_ANIM_SINGLE_FRAME(Kilowattrel); -#endif //P_FAMILY_WATTREL - -#if P_FAMILY_MASCHIFF -PLACEHOLDER_ANIM_SINGLE_FRAME(Maschiff); -PLACEHOLDER_ANIM_SINGLE_FRAME(Mabosstiff); -#endif //P_FAMILY_MASCHIFF - -#if P_FAMILY_SHROODLE -PLACEHOLDER_ANIM_SINGLE_FRAME(Shroodle); -PLACEHOLDER_ANIM_SINGLE_FRAME(Grafaiai); -#endif //P_FAMILY_SHROODLE - -#if P_FAMILY_BRAMBLIN -PLACEHOLDER_ANIM_SINGLE_FRAME(Bramblin); -PLACEHOLDER_ANIM_SINGLE_FRAME(Brambleghast); -#endif //P_FAMILY_BRAMBLIN - -#if P_FAMILY_TOEDSCOOL -PLACEHOLDER_ANIM_SINGLE_FRAME(Toedscool); -PLACEHOLDER_ANIM_SINGLE_FRAME(Toedscruel); -#endif //P_FAMILY_TOEDSCOOL - -#if P_FAMILY_KLAWF -PLACEHOLDER_ANIM_SINGLE_FRAME(Klawf); -#endif //P_FAMILY_KLAWF - -#if P_FAMILY_CAPSAKID -PLACEHOLDER_ANIM_SINGLE_FRAME(Capsakid); -PLACEHOLDER_ANIM_SINGLE_FRAME(Scovillain); -#endif //P_FAMILY_CAPSAKID - -#if P_FAMILY_RELLOR -PLACEHOLDER_ANIM_SINGLE_FRAME(Rellor); -PLACEHOLDER_ANIM_SINGLE_FRAME(Rabsca); -#endif //P_FAMILY_RELLOR - -#if P_FAMILY_FLITTLE -PLACEHOLDER_ANIM_SINGLE_FRAME(Flittle); -PLACEHOLDER_ANIM_SINGLE_FRAME(Espathra); -#endif //P_FAMILY_FLITTLE - -#if P_FAMILY_TINKATINK -PLACEHOLDER_ANIM_SINGLE_FRAME(Tinkatink); -PLACEHOLDER_ANIM_SINGLE_FRAME(Tinkatuff); -PLACEHOLDER_ANIM_SINGLE_FRAME(Tinkaton); -#endif //P_FAMILY_TINKATINK - -#if P_FAMILY_WIGLETT -PLACEHOLDER_ANIM_SINGLE_FRAME(Wiglett); -PLACEHOLDER_ANIM_SINGLE_FRAME(Wugtrio); -#endif //P_FAMILY_WIGLETT - -#if P_FAMILY_BOMBIRDIER -PLACEHOLDER_ANIM_SINGLE_FRAME(Bombirdier); -#endif //P_FAMILY_BOMBIRDIER - -#if P_FAMILY_FINIZEN -PLACEHOLDER_ANIM_SINGLE_FRAME(Finizen); -PLACEHOLDER_ANIM_SINGLE_FRAME(Palafin); -#endif //P_FAMILY_FINIZEN - -#if P_FAMILY_VAROOM -PLACEHOLDER_ANIM_SINGLE_FRAME(Varoom); -PLACEHOLDER_ANIM_SINGLE_FRAME(Revavroom); -#endif //P_FAMILY_VAROOM - -#if P_FAMILY_CYCLIZAR -PLACEHOLDER_ANIM_SINGLE_FRAME(Cyclizar); -#endif //P_FAMILY_CYCLIZAR - -#if P_FAMILY_ORTHWORM -PLACEHOLDER_ANIM_SINGLE_FRAME(Orthworm); -#endif //P_FAMILY_ORTHWORM - -#if P_FAMILY_GLIMMET -PLACEHOLDER_ANIM_SINGLE_FRAME(Glimmet); -PLACEHOLDER_ANIM_SINGLE_FRAME(Glimmora); -#endif //P_FAMILY_GLIMMET - -#if P_FAMILY_GREAVARD -PLACEHOLDER_ANIM_SINGLE_FRAME(Greavard); -PLACEHOLDER_ANIM_SINGLE_FRAME(Houndstone); -#endif //P_FAMILY_GREAVARD - -#if P_FAMILY_FLAMIGO -PLACEHOLDER_ANIM_SINGLE_FRAME(Flamigo); -#endif //P_FAMILY_FLAMIGO - -#if P_FAMILY_CETODDLE -PLACEHOLDER_ANIM_SINGLE_FRAME(Cetoddle); -PLACEHOLDER_ANIM_SINGLE_FRAME(Cetitan); -#endif //P_FAMILY_CETODDLE - -#if P_FAMILY_VELUZA -PLACEHOLDER_ANIM_SINGLE_FRAME(Veluza); -#endif //P_FAMILY_VELUZA - -#if P_FAMILY_DONDOZO -PLACEHOLDER_ANIM_SINGLE_FRAME(Dondozo); -#endif //P_FAMILY_DONDOZO - -#if P_FAMILY_TATSUGIRI -PLACEHOLDER_ANIM_SINGLE_FRAME(Tatsugiri); -#endif //P_FAMILY_TATSUGIRI - -#if P_FAMILY_GREAT_TUSK -PLACEHOLDER_ANIM_TWO_FRAMES(GreatTusk); -#endif //P_FAMILY_GREAT_TUSK - -#if P_FAMILY_SCREAM_TAIL -PLACEHOLDER_ANIM_SINGLE_FRAME(ScreamTail); -#endif //P_FAMILY_SCREAM_TAIL - -#if P_FAMILY_BRUTE_BONNET -PLACEHOLDER_ANIM_SINGLE_FRAME(BruteBonnet); -#endif //P_FAMILY_BRUTE_BONNET - -#if P_FAMILY_FLUTTER_MANE -PLACEHOLDER_ANIM_SINGLE_FRAME(FlutterMane); -#endif //P_FAMILY_FLUTTER_MANE - -#if P_FAMILY_SLITHER_WING -PLACEHOLDER_ANIM_SINGLE_FRAME(SlitherWing); -#endif //P_FAMILY_SLITHER_WING - -#if P_FAMILY_SANDY_SHOCKS -PLACEHOLDER_ANIM_SINGLE_FRAME(SandyShocks); -#endif //P_FAMILY_SANDY_SHOCKS - -#if P_FAMILY_IRON_TREADS -PLACEHOLDER_ANIM_SINGLE_FRAME(IronTreads); -#endif //P_FAMILY_IRON_TREADS - -#if P_FAMILY_IRON_BUNDLE -PLACEHOLDER_ANIM_SINGLE_FRAME(IronBundle); -#endif //P_FAMILY_IRON_BUNDLE - -#if P_FAMILY_IRON_HANDS -PLACEHOLDER_ANIM_SINGLE_FRAME(IronHands); -#endif //P_FAMILY_IRON_HANDS - -#if P_FAMILY_IRON_JUGULIS -PLACEHOLDER_ANIM_SINGLE_FRAME(IronJugulis); -#endif //P_FAMILY_IRON_JUGULIS - -#if P_FAMILY_IRON_MOTH -PLACEHOLDER_ANIM_SINGLE_FRAME(IronMoth); -#endif //P_FAMILY_IRON_MOTH - -#if P_FAMILY_IRON_THORNS -PLACEHOLDER_ANIM_SINGLE_FRAME(IronThorns); -#endif //P_FAMILY_IRON_THORNS - -#if P_FAMILY_FRIGIBAX -PLACEHOLDER_ANIM_TWO_FRAMES(Frigibax); -PLACEHOLDER_ANIM_SINGLE_FRAME(Arctibax); -PLACEHOLDER_ANIM_SINGLE_FRAME(Baxcalibur); -#endif //P_FAMILY_FRIGIBAX - -#if P_FAMILY_GIMMIGHOUL -PLACEHOLDER_ANIM_SINGLE_FRAME(Gimmighoul); -PLACEHOLDER_ANIM_SINGLE_FRAME(Gholdengo); -#endif //P_FAMILY_GIMMIGHOUL - -#if P_FAMILY_WO_CHIEN -PLACEHOLDER_ANIM_SINGLE_FRAME(WoChien); -#endif //P_FAMILY_WO_CHIEN - -#if P_FAMILY_CHIEN_PAO -PLACEHOLDER_ANIM_SINGLE_FRAME(ChienPao); -#endif //P_FAMILY_CHIEN_PAO - -#if P_FAMILY_TING_LU -PLACEHOLDER_ANIM_SINGLE_FRAME(TingLu); -#endif //P_FAMILY_TING_LU - -#if P_FAMILY_CHI_YU -PLACEHOLDER_ANIM_SINGLE_FRAME(ChiYu); -#endif //P_FAMILY_CHI_YU - -#if P_FAMILY_ROARING_MOON -PLACEHOLDER_ANIM_SINGLE_FRAME(RoaringMoon); -#endif //P_FAMILY_ROARING_MOON - -#if P_FAMILY_IRON_VALIANT -PLACEHOLDER_ANIM_SINGLE_FRAME(IronValiant); -#endif //P_FAMILY_IRON_VALIANT - -#if P_FAMILY_KORAIDON -PLACEHOLDER_ANIM_SINGLE_FRAME(Koraidon); -#endif //P_FAMILY_KORAIDON - -#if P_FAMILY_MIRAIDON -PLACEHOLDER_ANIM_SINGLE_FRAME(Miraidon); -#endif //P_FAMILY_MIRAIDON - -#if P_FAMILY_WALKING_WAKE -PLACEHOLDER_ANIM_SINGLE_FRAME(WalkingWake); -#endif //P_FAMILY_WALKING_WAKE - -#if P_FAMILY_IRON_LEAVES -PLACEHOLDER_ANIM_SINGLE_FRAME(IronLeaves); -#endif //P_FAMILY_IRON_LEAVES - -#if P_FAMILY_POLTCHAGEIST -PLACEHOLDER_ANIM_SINGLE_FRAME(Poltchageist); -PLACEHOLDER_ANIM_SINGLE_FRAME(Sinistcha); -#endif //P_FAMILY_POLTCHAGEIST - -#if P_FAMILY_OKIDOGI -PLACEHOLDER_ANIM_SINGLE_FRAME(Okidogi); -#endif //P_FAMILY_OKIDOGI - -#if P_FAMILY_MUNKIDORI -PLACEHOLDER_ANIM_SINGLE_FRAME(Munkidori); -#endif //P_FAMILY_MUNKIDORI - -#if P_FAMILY_FEZANDIPITI -PLACEHOLDER_ANIM_SINGLE_FRAME(Fezandipiti); -#endif //P_FAMILY_FEZANDIPITI - -#if P_FAMILY_OGERPON -PLACEHOLDER_ANIM_SINGLE_FRAME(Ogerpon); -#endif //P_FAMILY_OGERPON - -#if P_FAMILY_GOUGING_FIRE -PLACEHOLDER_ANIM_SINGLE_FRAME(GougingFire); -#endif //P_FAMILY_GOUGING_FIRE - -#if P_FAMILY_RAGING_BOLT -PLACEHOLDER_ANIM_SINGLE_FRAME(RagingBolt); -#endif //P_FAMILY_RAGING_BOLT - -#if P_FAMILY_IRON_BOULDER -PLACEHOLDER_ANIM_SINGLE_FRAME(IronBoulder); -#endif //P_FAMILY_IRON_BOULDER - -#if P_FAMILY_IRON_CROWN -PLACEHOLDER_ANIM_SINGLE_FRAME(IronCrown); -#endif //P_FAMILY_IRON_CROWN - -#if P_FAMILY_TERAPAGOS -static const union AnimCmd sAnim_TerapagosNormal_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -static const union AnimCmd sAnim_TerapagosTerastal_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -PLACEHOLDER_ANIM_SINGLE_FRAME(TerapagosStellar); -#endif //P_FAMILY_TERAPAGOS - -#if P_FAMILY_PECHARUNT -PLACEHOLDER_ANIM_SINGLE_FRAME(Pecharunt); -#endif //P_FAMILY_PECHARUNT - -static const union AnimCmd sAnim_Egg_1[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(2, 6), - ANIMCMD_FRAME(3, 6), - ANIMCMD_END, -}; - -#define SINGLE_ANIMATION(name) \ -static const union AnimCmd *const sAnims_##name[] = \ -{ \ - sAnim_GeneralFrame0, \ - sAnim_##name##_1, \ -} - - -SINGLE_ANIMATION(None); -#if P_FAMILY_BULBASAUR -SINGLE_ANIMATION(Bulbasaur); -SINGLE_ANIMATION(Ivysaur); -SINGLE_ANIMATION(Venusaur); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(VenusaurMega); -#endif //P_MEGA_EVOLUTIONS -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(VenusaurGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_BULBASAUR -#if P_FAMILY_CHARMANDER -SINGLE_ANIMATION(Charmander); -SINGLE_ANIMATION(Charmeleon); -SINGLE_ANIMATION(Charizard); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(CharizardMegaX); -SINGLE_ANIMATION(CharizardMegaY); -#endif //P_MEGA_EVOLUTIONS -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CharizardGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CHARMANDER -#if P_FAMILY_SQUIRTLE -SINGLE_ANIMATION(Squirtle); -SINGLE_ANIMATION(Wartortle); -SINGLE_ANIMATION(Blastoise); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(BlastoiseMega); -#endif //P_MEGA_EVOLUTIONS -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(BlastoiseGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SQUIRTLE -#if P_FAMILY_CATERPIE -SINGLE_ANIMATION(Caterpie); -SINGLE_ANIMATION(Metapod); -SINGLE_ANIMATION(Butterfree); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(ButterfreeGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CATERPIE -#if P_FAMILY_WEEDLE -SINGLE_ANIMATION(Weedle); -SINGLE_ANIMATION(Kakuna); -SINGLE_ANIMATION(Beedrill); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(BeedrillMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_WEEDLE -#if P_FAMILY_PIDGEY -SINGLE_ANIMATION(Pidgey); -SINGLE_ANIMATION(Pidgeotto); -SINGLE_ANIMATION(Pidgeot); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(PidgeotMega); -#endif -#endif //P_FAMILY_PIDGEY -#if P_FAMILY_RATTATA -SINGLE_ANIMATION(Rattata); -SINGLE_ANIMATION(Raticate); -#if P_ALOLAN_FORMS -SINGLE_ANIMATION(RattataAlola); -SINGLE_ANIMATION(RaticateAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_RATTATA -#if P_FAMILY_SPEAROW -SINGLE_ANIMATION(Spearow); -SINGLE_ANIMATION(Fearow); -#endif //P_FAMILY_SPEAROW -#if P_FAMILY_EKANS -SINGLE_ANIMATION(Ekans); -SINGLE_ANIMATION(Arbok); -#endif //P_FAMILY_EKANS -#if P_FAMILY_PIKACHU -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Pichu); -SINGLE_ANIMATION(PichuSpikyEared); -#endif //P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Pikachu); -#if P_COSPLAY_PIKACHU_FORMS -SINGLE_ANIMATION(PikachuCosplay); -SINGLE_ANIMATION(PikachuRockStar); -SINGLE_ANIMATION(PikachuBelle); -SINGLE_ANIMATION(PikachuPopStar); -SINGLE_ANIMATION(PikachuPhD); -SINGLE_ANIMATION(PikachuLibre); -#endif //P_COSPLAY_PIKACHU_FORMS -#if P_CAP_PIKACHU_FORMS -SINGLE_ANIMATION(PikachuOriginal); -SINGLE_ANIMATION(PikachuHoenn); -SINGLE_ANIMATION(PikachuSinnoh); -SINGLE_ANIMATION(PikachuUnova); -SINGLE_ANIMATION(PikachuKalos); -SINGLE_ANIMATION(PikachuAlola); -SINGLE_ANIMATION(PikachuPartner); -SINGLE_ANIMATION(PikachuWorld); -#endif //P_CAP_PIKACHU_FORMS -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(PikachuGmax); -#endif //P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(Raichu); -#if P_ALOLAN_FORMS -SINGLE_ANIMATION(RaichuAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_PIKACHU -#if P_FAMILY_SANDSHREW -SINGLE_ANIMATION(Sandshrew); -SINGLE_ANIMATION(Sandslash); -#if P_ALOLAN_FORMS -SINGLE_ANIMATION(SandshrewAlola); -SINGLE_ANIMATION(SandslashAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_SANDSHREW -#if P_FAMILY_NIDORAN -SINGLE_ANIMATION(NidoranF); -SINGLE_ANIMATION(Nidorina); -SINGLE_ANIMATION(Nidoqueen); -SINGLE_ANIMATION(NidoranM); -SINGLE_ANIMATION(Nidorino); -SINGLE_ANIMATION(Nidoking); -#endif //P_FAMILY_NIDORAN -#if P_FAMILY_CLEFAIRY -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Cleffa); -#endif //P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Clefairy); -SINGLE_ANIMATION(Clefable); -#endif //P_FAMILY_CLEFAIRY -#if P_FAMILY_VULPIX -SINGLE_ANIMATION(Vulpix); -SINGLE_ANIMATION(Ninetales); -#if P_ALOLAN_FORMS -SINGLE_ANIMATION(VulpixAlola); -SINGLE_ANIMATION(NinetalesAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_VULPIX -#if P_FAMILY_JIGGLYPUFF -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Igglybuff); -#endif //P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Jigglypuff); -SINGLE_ANIMATION(Wigglytuff); -#endif //P_FAMILY_JIGGLYPUFF -#if P_FAMILY_ZUBAT -SINGLE_ANIMATION(Zubat); -SINGLE_ANIMATION(Golbat); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Crobat); -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_ZUBAT -#if P_FAMILY_ODDISH -SINGLE_ANIMATION(Oddish); -SINGLE_ANIMATION(Gloom); -SINGLE_ANIMATION(Vileplume); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Bellossom); -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_ODDISH -#if P_FAMILY_PARAS -SINGLE_ANIMATION(Paras); -SINGLE_ANIMATION(Parasect); -#endif //P_FAMILY_PARAS -#if P_FAMILY_VENONAT -SINGLE_ANIMATION(Venonat); -SINGLE_ANIMATION(Venomoth); -#endif //P_FAMILY_VENONAT -#if P_FAMILY_DIGLETT -SINGLE_ANIMATION(Diglett); -SINGLE_ANIMATION(Dugtrio); -#if P_ALOLAN_FORMS -SINGLE_ANIMATION(DiglettAlola); -SINGLE_ANIMATION(DugtrioAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_DIGLETT -#if P_FAMILY_MEOWTH -SINGLE_ANIMATION(Meowth); -SINGLE_ANIMATION(Persian); -#if P_ALOLAN_FORMS -SINGLE_ANIMATION(MeowthAlola); -SINGLE_ANIMATION(PersianAlola); -#endif //P_ALOLAN_FORMS -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(MeowthGalar); -SINGLE_ANIMATION(Perrserker); -#endif //P_GALARIAN_FORMS -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(MeowthGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MEOWTH -#if P_FAMILY_PSYDUCK -SINGLE_ANIMATION(Psyduck); -SINGLE_ANIMATION(Golduck); -#endif //P_FAMILY_PSYDUCK -#if P_FAMILY_MANKEY -SINGLE_ANIMATION(Mankey); -SINGLE_ANIMATION(Primeape); -#if P_GEN_9_CROSS_EVOS -SINGLE_ANIMATION(Annihilape); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_MANKEY -#if P_FAMILY_GROWLITHE -SINGLE_ANIMATION(Growlithe); -SINGLE_ANIMATION(Arcanine); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(GrowlitheHisui); -SINGLE_ANIMATION(ArcanineHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_GROWLITHE -#if P_FAMILY_POLIWAG -SINGLE_ANIMATION(Poliwag); -SINGLE_ANIMATION(Poliwhirl); -SINGLE_ANIMATION(Poliwrath); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Politoed); -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_POLIWAG -#if P_FAMILY_ABRA -SINGLE_ANIMATION(Abra); -SINGLE_ANIMATION(Kadabra); -SINGLE_ANIMATION(Alakazam); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(AlakazamMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ABRA -#if P_FAMILY_MACHOP -SINGLE_ANIMATION(Machop); -SINGLE_ANIMATION(Machoke); -SINGLE_ANIMATION(Machamp); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(MachampGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MACHOP -#if P_FAMILY_BELLSPROUT -SINGLE_ANIMATION(Bellsprout); -SINGLE_ANIMATION(Weepinbell); -SINGLE_ANIMATION(Victreebel); -#endif //P_FAMILY_BELLSPROUT -#if P_FAMILY_TENTACOOL -SINGLE_ANIMATION(Tentacool); -SINGLE_ANIMATION(Tentacruel); -#endif //P_FAMILY_TENTACOOL -#if P_FAMILY_GEODUDE -SINGLE_ANIMATION(Geodude); -SINGLE_ANIMATION(Graveler); -SINGLE_ANIMATION(Golem); -#if P_ALOLAN_FORMS -SINGLE_ANIMATION(GeodudeAlola); -SINGLE_ANIMATION(GravelerAlola); -SINGLE_ANIMATION(GolemAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_GEODUDE -#if P_FAMILY_PONYTA -SINGLE_ANIMATION(Ponyta); -SINGLE_ANIMATION(Rapidash); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(PonytaGalar); -SINGLE_ANIMATION(RapidashGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_PONYTA -#if P_FAMILY_SLOWPOKE -SINGLE_ANIMATION(Slowpoke); -SINGLE_ANIMATION(Slowbro); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Slowking); -#endif //P_GEN_2_CROSS_EVOS -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(SlowbroMega); -#endif //P_MEGA_EVOLUTIONS -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(SlowpokeGalar); -SINGLE_ANIMATION(SlowbroGalar); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(SlowkingGalar); -#endif //P_GEN_2_CROSS_EVOS -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_SLOWPOKE -#if P_FAMILY_MAGNEMITE -SINGLE_ANIMATION(Magnemite); -SINGLE_ANIMATION(Magneton); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Magnezone); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MAGNEMITE -#if P_FAMILY_FARFETCHD -SINGLE_ANIMATION(Farfetchd); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(FarfetchdGalar); -SINGLE_ANIMATION(Sirfetchd); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_FARFETCHD -#if P_FAMILY_DODUO -SINGLE_ANIMATION(Doduo); -SINGLE_ANIMATION(Dodrio); -#endif //P_FAMILY_DODUO -#if P_FAMILY_SEEL -SINGLE_ANIMATION(Seel); -SINGLE_ANIMATION(Dewgong); -#endif //P_FAMILY_SEEL -#if P_FAMILY_GRIMER -SINGLE_ANIMATION(Grimer); -SINGLE_ANIMATION(Muk); -#if P_ALOLAN_FORMS -SINGLE_ANIMATION(GrimerAlola); -SINGLE_ANIMATION(MukAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_GRIMER -#if P_FAMILY_SHELLDER -SINGLE_ANIMATION(Shellder); -SINGLE_ANIMATION(Cloyster); -#endif //P_FAMILY_SHELLDER -#if P_FAMILY_GASTLY -SINGLE_ANIMATION(Gastly); -SINGLE_ANIMATION(Haunter); -SINGLE_ANIMATION(Gengar); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(GengarMega); -#endif //P_MEGA_EVOLUTIONS -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(GengarGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_GASTLY -#if P_FAMILY_ONIX -SINGLE_ANIMATION(Onix); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Steelix); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(SteelixMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_ONIX -#if P_FAMILY_DROWZEE -SINGLE_ANIMATION(Drowzee); -SINGLE_ANIMATION(Hypno); -#endif //P_FAMILY_DROWZEE -#if P_FAMILY_KRABBY -SINGLE_ANIMATION(Krabby); -SINGLE_ANIMATION(Kingler); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(KinglerGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_KRABBY -#if P_FAMILY_VOLTORB -SINGLE_ANIMATION(Voltorb); -SINGLE_ANIMATION(Electrode); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(VoltorbHisui); -SINGLE_ANIMATION(ElectrodeHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_VOLTORB -#if P_FAMILY_EXEGGCUTE -SINGLE_ANIMATION(Exeggcute); -SINGLE_ANIMATION(Exeggutor); -#if P_ALOLAN_FORMS -SINGLE_ANIMATION(ExeggutorAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_EXEGGCUTE -#if P_FAMILY_CUBONE -SINGLE_ANIMATION(Cubone); -SINGLE_ANIMATION(Marowak); -#if P_ALOLAN_FORMS -SINGLE_ANIMATION(MarowakAlola); -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_CUBONE -#if P_FAMILY_HITMONS -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Tyrogue); -#endif //P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Hitmonlee); -SINGLE_ANIMATION(Hitmonchan); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Hitmontop); -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_HITMONS -#if P_FAMILY_LICKITUNG -SINGLE_ANIMATION(Lickitung); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Lickilicky); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_LICKITUNG -#if P_FAMILY_KOFFING -SINGLE_ANIMATION(Koffing); -SINGLE_ANIMATION(Weezing); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(WeezingGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_KOFFING -#if P_FAMILY_RHYHORN -SINGLE_ANIMATION(Rhyhorn); -SINGLE_ANIMATION(Rhydon); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Rhyperior); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_RHYHORN -#if P_FAMILY_CHANSEY -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Happiny); -#endif //P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Chansey); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Blissey); -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_CHANSEY -#if P_FAMILY_TANGELA -SINGLE_ANIMATION(Tangela); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Tangrowth); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_TANGELA -#if P_FAMILY_KANGASKHAN -SINGLE_ANIMATION(Kangaskhan); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(KangaskhanMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_KANGASKHAN -#if P_FAMILY_HORSEA -SINGLE_ANIMATION(Horsea); -SINGLE_ANIMATION(Seadra); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Kingdra); -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_HORSEA -#if P_FAMILY_GOLDEEN -SINGLE_ANIMATION(Goldeen); -SINGLE_ANIMATION(Seaking); -#endif //P_FAMILY_GOLDEEN -#if P_FAMILY_STARYU -SINGLE_ANIMATION(Staryu); -SINGLE_ANIMATION(Starmie); -#endif //P_FAMILY_STARYU -#if P_FAMILY_MR_MIME -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(MimeJr); -#endif //P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(MrMime); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(MrMimeGalar); -SINGLE_ANIMATION(MrRime); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_MR_MIME -#if P_FAMILY_SCYTHER -SINGLE_ANIMATION(Scyther); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Scizor); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(ScizorMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_GEN_2_CROSS_EVOS -#if P_GEN_8_CROSS_EVOS -SINGLE_ANIMATION(Kleavor); -#endif //P_GEN_8_CROSS_EVOS -#endif //P_FAMILY_SCYTHER -#if P_FAMILY_JYNX -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Smoochum); -#endif //P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Jynx); -#endif //P_FAMILY_JYNX -#if P_FAMILY_ELECTABUZZ -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Elekid); -#endif //P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Electabuzz); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Electivire); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_ELECTABUZZ -#if P_FAMILY_MAGMAR -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Magby); -#endif //P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Magmar); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Magmortar); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MAGMAR -#if P_FAMILY_PINSIR -SINGLE_ANIMATION(Pinsir); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(PinsirMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_PINSIR -#if P_FAMILY_TAUROS -SINGLE_ANIMATION(Tauros); -#if P_PALDEAN_FORMS -SINGLE_ANIMATION(TaurosPaldea); -#endif //P_PALDEAN_FORMS -#endif //P_FAMILY_TAUROS -#if P_FAMILY_MAGIKARP -SINGLE_ANIMATION(Magikarp); -SINGLE_ANIMATION(Gyarados); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(GyaradosMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MAGIKARP -#if P_FAMILY_LAPRAS -SINGLE_ANIMATION(Lapras); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(LaprasGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_LAPRAS -#if P_FAMILY_DITTO -SINGLE_ANIMATION(Ditto); -#endif //P_FAMILY_DITTO -#if P_FAMILY_EEVEE -SINGLE_ANIMATION(Eevee); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(EeveeGmax); -#endif //P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(Vaporeon); -SINGLE_ANIMATION(Jolteon); -SINGLE_ANIMATION(Flareon); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Espeon); -SINGLE_ANIMATION(Umbreon); -#endif //P_GEN_2_CROSS_EVOS -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Leafeon); -SINGLE_ANIMATION(Glaceon); -#endif //P_GEN_4_CROSS_EVOS -#if P_GEN_6_CROSS_EVOS -SINGLE_ANIMATION(Sylveon); -#endif //P_GEN_6_CROSS_EVOS -#endif //P_FAMILY_EEVEE -#if P_FAMILY_PORYGON -SINGLE_ANIMATION(Porygon); -#if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(Porygon2); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Porygon_Z); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_PORYGON -#if P_FAMILY_OMANYTE -SINGLE_ANIMATION(Omanyte); -SINGLE_ANIMATION(Omastar); -#endif //P_FAMILY_OMANYTE -#if P_FAMILY_KABUTO -SINGLE_ANIMATION(Kabuto); -SINGLE_ANIMATION(Kabutops); -#endif //P_FAMILY_KABUTO -#if P_FAMILY_AERODACTYL -SINGLE_ANIMATION(Aerodactyl); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(AerodactylMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_AERODACTYL -#if P_FAMILY_SNORLAX -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Munchlax); -#endif //P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Snorlax); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(SnorlaxGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SNORLAX -#if P_FAMILY_ARTICUNO -SINGLE_ANIMATION(Articuno); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(ArticunoGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_ARTICUNO -#if P_FAMILY_ZAPDOS -SINGLE_ANIMATION(Zapdos); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(ZapdosGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_ZAPDOS -#if P_FAMILY_MOLTRES -SINGLE_ANIMATION(Moltres); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(MoltresGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_MOLTRES -#if P_FAMILY_DRATINI -SINGLE_ANIMATION(Dratini); -SINGLE_ANIMATION(Dragonair); -SINGLE_ANIMATION(Dragonite); -#endif //P_FAMILY_DRATINI -#if P_FAMILY_MEWTWO -SINGLE_ANIMATION(Mewtwo); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(MewtwoMegaX); -SINGLE_ANIMATION(MewtwoMegaY); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MEWTWO -#if P_FAMILY_MEW -SINGLE_ANIMATION(Mew); -#endif //P_FAMILY_MEW -#if P_FAMILY_CHIKORITA -SINGLE_ANIMATION(Chikorita); -SINGLE_ANIMATION(Bayleef); -SINGLE_ANIMATION(Meganium); -#endif //P_FAMILY_CHIKORITA -#if P_FAMILY_CYNDAQUIL -SINGLE_ANIMATION(Cyndaquil); -SINGLE_ANIMATION(Quilava); -SINGLE_ANIMATION(Typhlosion); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(TyphlosionHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_CYNDAQUIL -#if P_FAMILY_TOTODILE -SINGLE_ANIMATION(Totodile); -SINGLE_ANIMATION(Croconaw); -SINGLE_ANIMATION(Feraligatr); -#endif //P_FAMILY_TOTODILE -#if P_FAMILY_SENTRET -SINGLE_ANIMATION(Sentret); -SINGLE_ANIMATION(Furret); -#endif //P_FAMILY_SENTRET -#if P_FAMILY_HOOTHOOT -SINGLE_ANIMATION(Hoothoot); -SINGLE_ANIMATION(Noctowl); -#endif //P_FAMILY_HOOTHOOT -#if P_FAMILY_LEDYBA -SINGLE_ANIMATION(Ledyba); -SINGLE_ANIMATION(Ledian); -#endif //P_FAMILY_LEDYBA -#if P_FAMILY_SPINARAK -SINGLE_ANIMATION(Spinarak); -SINGLE_ANIMATION(Ariados); -#endif //P_FAMILY_SPINARAK -#if P_FAMILY_CHINCHOU -SINGLE_ANIMATION(Chinchou); -SINGLE_ANIMATION(Lanturn); -#endif //P_FAMILY_CHINCHOU -#if P_FAMILY_TOGEPI -SINGLE_ANIMATION(Togepi); -SINGLE_ANIMATION(Togetic); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Togekiss); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_TOGEPI -#if P_FAMILY_NATU -SINGLE_ANIMATION(Natu); -SINGLE_ANIMATION(Xatu); -#endif //P_FAMILY_NATU -#if P_FAMILY_MAREEP -SINGLE_ANIMATION(Mareep); -SINGLE_ANIMATION(Flaaffy); -SINGLE_ANIMATION(Ampharos); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(AmpharosMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MAREEP -#if P_FAMILY_MARILL -#if P_GEN_3_CROSS_EVOS -SINGLE_ANIMATION(Azurill); -#endif //P_GEN_3_CROSS_EVOS -SINGLE_ANIMATION(Marill); -SINGLE_ANIMATION(Azumarill); -#endif //P_FAMILY_MARILL -#if P_FAMILY_SUDOWOODO -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Bonsly); -#endif //P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Sudowoodo); -#endif //P_FAMILY_SUDOWOODO -#if P_FAMILY_HOPPIP -SINGLE_ANIMATION(Hoppip); -SINGLE_ANIMATION(Skiploom); -SINGLE_ANIMATION(Jumpluff); -#endif //P_FAMILY_HOPPIP -#if P_FAMILY_AIPOM -SINGLE_ANIMATION(Aipom); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Ambipom); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_AIPOM -#if P_FAMILY_SUNKERN -SINGLE_ANIMATION(Sunkern); -SINGLE_ANIMATION(Sunflora); -#endif //P_FAMILY_SUNKERN -#if P_FAMILY_YANMA -SINGLE_ANIMATION(Yanma); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Yanmega); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_YANMA -#if P_FAMILY_WOOPER -SINGLE_ANIMATION(Wooper); -SINGLE_ANIMATION(Quagsire); -#if P_PALDEAN_FORMS -SINGLE_ANIMATION(WooperPaldea); -SINGLE_ANIMATION(Clodsire); -#endif //P_PALDEAN_FORMS -#endif //P_FAMILY_WOOPER -#if P_FAMILY_MURKROW -SINGLE_ANIMATION(Murkrow); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Honchkrow); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MURKROW -#if P_FAMILY_MISDREAVUS -SINGLE_ANIMATION(Misdreavus); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Mismagius); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MISDREAVUS -#if P_FAMILY_UNOWN -SINGLE_ANIMATION(Unown); -#endif //P_FAMILY_UNOWN -#if P_FAMILY_WOBBUFFET -#if P_GEN_3_CROSS_EVOS -SINGLE_ANIMATION(Wynaut); -#endif //P_GEN_3_CROSS_EVOS -SINGLE_ANIMATION(Wobbuffet); -#endif //P_FAMILY_WOBBUFFET -#if P_FAMILY_GIRAFARIG -SINGLE_ANIMATION(Girafarig); -#if P_GEN_9_CROSS_EVOS -SINGLE_ANIMATION(Farigiraf); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_GIRAFARIG -#if P_FAMILY_PINECO -SINGLE_ANIMATION(Pineco); -SINGLE_ANIMATION(Forretress); -#endif //P_FAMILY_PINECO -#if P_FAMILY_DUNSPARCE -SINGLE_ANIMATION(Dunsparce); -#if P_GEN_9_CROSS_EVOS -SINGLE_ANIMATION(Dudunsparce); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_DUNSPARCE -#if P_FAMILY_GLIGAR -SINGLE_ANIMATION(Gligar); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Gliscor); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_GLIGAR -#if P_FAMILY_SNUBBULL -SINGLE_ANIMATION(Snubbull); -SINGLE_ANIMATION(Granbull); -#endif //P_FAMILY_SNUBBULL -#if P_FAMILY_QWILFISH -SINGLE_ANIMATION(Qwilfish); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(QwilfishHisui); -SINGLE_ANIMATION(Overqwil); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_QWILFISH -#if P_FAMILY_SHUCKLE -SINGLE_ANIMATION(Shuckle); -#endif //P_FAMILY_SHUCKLE -#if P_FAMILY_HERACROSS -SINGLE_ANIMATION(Heracross); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(HeracrossMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_HERACROSS -#if P_FAMILY_SNEASEL -SINGLE_ANIMATION(Sneasel); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Weavile); -#endif //P_GEN_4_CROSS_EVOS -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(SneaselHisui); -SINGLE_ANIMATION(Sneasler); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_SNEASEL -#if P_FAMILY_TEDDIURSA -SINGLE_ANIMATION(Teddiursa); -SINGLE_ANIMATION(Ursaring); -#if P_GEN_8_CROSS_EVOS -SINGLE_ANIMATION(Ursaluna); -SINGLE_ANIMATION(UrsalunaBloodmoon); -#endif //P_GEN_8_CROSS_EVOS -#endif //P_FAMILY_TEDDIURSA -#if P_FAMILY_SLUGMA -SINGLE_ANIMATION(Slugma); -SINGLE_ANIMATION(Magcargo); -#endif //P_FAMILY_SLUGMA -#if P_FAMILY_SWINUB -SINGLE_ANIMATION(Swinub); -SINGLE_ANIMATION(Piloswine); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Mamoswine); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_SWINUB -#if P_FAMILY_CORSOLA -SINGLE_ANIMATION(Corsola); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(CorsolaGalar); -SINGLE_ANIMATION(Cursola); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_CORSOLA -#if P_FAMILY_REMORAID -SINGLE_ANIMATION(Remoraid); -SINGLE_ANIMATION(Octillery); -#endif //P_FAMILY_REMORAID -#if P_FAMILY_DELIBIRD -SINGLE_ANIMATION(Delibird); -#endif //P_FAMILY_DELIBIRD -#if P_FAMILY_MANTINE -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Mantyke); -#endif //P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Mantine); -#endif //P_FAMILY_MANTINE -#if P_FAMILY_SKARMORY -SINGLE_ANIMATION(Skarmory); -#endif //P_FAMILY_SKARMORY -#if P_FAMILY_HOUNDOUR -SINGLE_ANIMATION(Houndour); -SINGLE_ANIMATION(Houndoom); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(HoundoomMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_HOUNDOUR -#if P_FAMILY_PHANPY -SINGLE_ANIMATION(Phanpy); -SINGLE_ANIMATION(Donphan); -#endif //P_FAMILY_PHANPY -#if P_FAMILY_STANTLER -SINGLE_ANIMATION(Stantler); -#if P_GEN_8_CROSS_EVOS -SINGLE_ANIMATION(Wyrdeer); -#endif //P_GEN_8_CROSS_EVOS -#endif //P_FAMILY_STANTLER -#if P_FAMILY_SMEARGLE -SINGLE_ANIMATION(Smeargle); -#endif //P_FAMILY_SMEARGLE -#if P_FAMILY_MILTANK -SINGLE_ANIMATION(Miltank); -#endif //P_FAMILY_MILTANK -#if P_FAMILY_RAIKOU -SINGLE_ANIMATION(Raikou); -#endif //P_FAMILY_RAIKOU -#if P_FAMILY_ENTEI -SINGLE_ANIMATION(Entei); -#endif //P_FAMILY_ENTEI -#if P_FAMILY_SUICUNE -SINGLE_ANIMATION(Suicune); -#endif //P_FAMILY_SUICUNE -#if P_FAMILY_LARVITAR -SINGLE_ANIMATION(Larvitar); -SINGLE_ANIMATION(Pupitar); -SINGLE_ANIMATION(Tyranitar); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(TyranitarMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_LARVITAR -#if P_FAMILY_LUGIA -SINGLE_ANIMATION(Lugia); -#endif //P_FAMILY_LUGIA -#if P_FAMILY_HO_OH -SINGLE_ANIMATION(HoOh); -#endif //P_FAMILY_HO_OH -#if P_FAMILY_CELEBI -SINGLE_ANIMATION(Celebi); -#endif //P_FAMILY_CELEBI -#if P_FAMILY_TREECKO -SINGLE_ANIMATION(Treecko); -SINGLE_ANIMATION(Grovyle); -SINGLE_ANIMATION(Sceptile); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(SceptileMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_TREECKO -#if P_FAMILY_TORCHIC -SINGLE_ANIMATION(Torchic); -SINGLE_ANIMATION(Combusken); -SINGLE_ANIMATION(Blaziken); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(BlazikenMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_TORCHIC -#if P_FAMILY_MUDKIP -SINGLE_ANIMATION(Mudkip); -SINGLE_ANIMATION(Marshtomp); -SINGLE_ANIMATION(Swampert); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(SwampertMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MUDKIP -#if P_FAMILY_POOCHYENA -SINGLE_ANIMATION(Poochyena); -SINGLE_ANIMATION(Mightyena); -#endif //P_FAMILY_POOCHYENA -#if P_FAMILY_ZIGZAGOON -SINGLE_ANIMATION(Zigzagoon); -SINGLE_ANIMATION(Linoone); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(ZigzagoonGalar); -SINGLE_ANIMATION(LinooneGalar); -SINGLE_ANIMATION(Obstagoon); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_ZIGZAGOON -#if P_FAMILY_WURMPLE -SINGLE_ANIMATION(Wurmple); -SINGLE_ANIMATION(Silcoon); -SINGLE_ANIMATION(Beautifly); -SINGLE_ANIMATION(Cascoon); -SINGLE_ANIMATION(Dustox); -#endif //P_FAMILY_WURMPLE -#if P_FAMILY_LOTAD -SINGLE_ANIMATION(Lotad); -SINGLE_ANIMATION(Lombre); -SINGLE_ANIMATION(Ludicolo); -#endif //P_FAMILY_LOTAD -#if P_FAMILY_SEEDOT -SINGLE_ANIMATION(Seedot); -SINGLE_ANIMATION(Nuzleaf); -SINGLE_ANIMATION(Shiftry); -#endif //P_FAMILY_SEEDOT -#if P_FAMILY_TAILLOW -SINGLE_ANIMATION(Taillow); -SINGLE_ANIMATION(Swellow); -#endif //P_FAMILY_TAILLOW -#if P_FAMILY_WINGULL -SINGLE_ANIMATION(Wingull); -SINGLE_ANIMATION(Pelipper); -#endif //P_FAMILY_WINGULL -#if P_FAMILY_RALTS -SINGLE_ANIMATION(Ralts); -SINGLE_ANIMATION(Kirlia); -SINGLE_ANIMATION(Gardevoir); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(GardevoirMega); -#endif //P_MEGA_EVOLUTIONS -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Gallade); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(GalladeMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_RALTS -#if P_FAMILY_SURSKIT -SINGLE_ANIMATION(Surskit); -SINGLE_ANIMATION(Masquerain); -#endif //P_FAMILY_SURSKIT -#if P_FAMILY_SHROOMISH -SINGLE_ANIMATION(Shroomish); -SINGLE_ANIMATION(Breloom); -#endif //P_FAMILY_SHROOMISH -#if P_FAMILY_SLAKOTH -SINGLE_ANIMATION(Slakoth); -SINGLE_ANIMATION(Vigoroth); -SINGLE_ANIMATION(Slaking); -#endif //P_FAMILY_SLAKOTH -#if P_FAMILY_NINCADA -SINGLE_ANIMATION(Nincada); -SINGLE_ANIMATION(Ninjask); -SINGLE_ANIMATION(Shedinja); -#endif //P_FAMILY_NINCADA -#if P_FAMILY_WHISMUR -SINGLE_ANIMATION(Whismur); -SINGLE_ANIMATION(Loudred); -SINGLE_ANIMATION(Exploud); -#endif //P_FAMILY_WHISMUR -#if P_FAMILY_MAKUHITA -SINGLE_ANIMATION(Makuhita); -SINGLE_ANIMATION(Hariyama); -#endif //P_FAMILY_MAKUHITA -#if P_FAMILY_NOSEPASS -SINGLE_ANIMATION(Nosepass); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Probopass); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_NOSEPASS -#if P_FAMILY_SKITTY -SINGLE_ANIMATION(Skitty); -SINGLE_ANIMATION(Delcatty); -#endif //P_FAMILY_SKITTY -#if P_FAMILY_SABLEYE -SINGLE_ANIMATION(Sableye); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(SableyeMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SABLEYE -#if P_FAMILY_MAWILE -SINGLE_ANIMATION(Mawile); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(MawileMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MAWILE -#if P_FAMILY_ARON -SINGLE_ANIMATION(Aron); -SINGLE_ANIMATION(Lairon); -SINGLE_ANIMATION(Aggron); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(AggronMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ARON -#if P_FAMILY_MEDITITE -SINGLE_ANIMATION(Meditite); -SINGLE_ANIMATION(Medicham); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(MedichamMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MEDITITE -#if P_FAMILY_ELECTRIKE -SINGLE_ANIMATION(Electrike); -SINGLE_ANIMATION(Manectric); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(ManectricMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ELECTRIKE -#if P_FAMILY_PLUSLE -SINGLE_ANIMATION(Plusle); -#endif //P_FAMILY_PLUSLE -#if P_FAMILY_MINUN -SINGLE_ANIMATION(Minun); -#endif //P_FAMILY_MINUN -#if P_FAMILY_VOLBEAT_ILLUMISE -SINGLE_ANIMATION(Volbeat); -SINGLE_ANIMATION(Illumise); -#endif //P_FAMILY_VOLBEAT_ILLUMISE -#if P_FAMILY_ROSELIA -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Budew); -#endif //P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Roselia); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Roserade); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_ROSELIA -#if P_FAMILY_GULPIN -SINGLE_ANIMATION(Gulpin); -SINGLE_ANIMATION(Swalot); -#endif //P_FAMILY_GULPIN -#if P_FAMILY_CARVANHA -SINGLE_ANIMATION(Carvanha); -SINGLE_ANIMATION(Sharpedo); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(SharpedoMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_CARVANHA -#if P_FAMILY_WAILMER -SINGLE_ANIMATION(Wailmer); -SINGLE_ANIMATION(Wailord); -#endif //P_FAMILY_WAILMER -#if P_FAMILY_NUMEL -SINGLE_ANIMATION(Numel); -SINGLE_ANIMATION(Camerupt); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(CameruptMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_NUMEL -#if P_FAMILY_TORKOAL -SINGLE_ANIMATION(Torkoal); -#endif //P_FAMILY_TORKOAL -#if P_FAMILY_SPOINK -SINGLE_ANIMATION(Spoink); -SINGLE_ANIMATION(Grumpig); -#endif //P_FAMILY_SPOINK -#if P_FAMILY_SPINDA -SINGLE_ANIMATION(Spinda); -#endif //P_FAMILY_SPINDA -#if P_FAMILY_TRAPINCH -SINGLE_ANIMATION(Trapinch); -SINGLE_ANIMATION(Vibrava); -SINGLE_ANIMATION(Flygon); -#endif //P_FAMILY_TRAPINCH -#if P_FAMILY_CACNEA -SINGLE_ANIMATION(Cacnea); -SINGLE_ANIMATION(Cacturne); -#endif //P_FAMILY_CACNEA -#if P_FAMILY_SWABLU -SINGLE_ANIMATION(Swablu); -SINGLE_ANIMATION(Altaria); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(AltariaMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SWABLU -#if P_FAMILY_ZANGOOSE -SINGLE_ANIMATION(Zangoose); -#endif //P_FAMILY_ZANGOOSE -#if P_FAMILY_SEVIPER -SINGLE_ANIMATION(Seviper); -#endif //P_FAMILY_SEVIPER -#if P_FAMILY_LUNATONE -SINGLE_ANIMATION(Lunatone); -#endif //P_FAMILY_LUNATONE -#if P_FAMILY_SOLROCK -SINGLE_ANIMATION(Solrock); -#endif //P_FAMILY_SOLROCK -#if P_FAMILY_BARBOACH -SINGLE_ANIMATION(Barboach); -SINGLE_ANIMATION(Whiscash); -#endif //P_FAMILY_BARBOACH -#if P_FAMILY_CORPHISH -SINGLE_ANIMATION(Corphish); -SINGLE_ANIMATION(Crawdaunt); -#endif //P_FAMILY_CORPHISH -#if P_FAMILY_BALTOY -SINGLE_ANIMATION(Baltoy); -SINGLE_ANIMATION(Claydol); -#endif //P_FAMILY_BALTOY -#if P_FAMILY_LILEEP -SINGLE_ANIMATION(Lileep); -SINGLE_ANIMATION(Cradily); -#endif //P_FAMILY_LILEEP -#if P_FAMILY_ANORITH -SINGLE_ANIMATION(Anorith); -SINGLE_ANIMATION(Armaldo); -#endif //P_FAMILY_ANORITH -#if P_FAMILY_FEEBAS -SINGLE_ANIMATION(Feebas); -SINGLE_ANIMATION(Milotic); -#endif //P_FAMILY_FEEBAS -#if P_FAMILY_CASTFORM -SINGLE_ANIMATION(CastformNormal); -SINGLE_ANIMATION(CastformSunny); -SINGLE_ANIMATION(CastformRainy); -SINGLE_ANIMATION(CastformSnowy); -#endif //P_FAMILY_CASTFORM -#if P_FAMILY_KECLEON -SINGLE_ANIMATION(Kecleon); -#endif //P_FAMILY_KECLEON -#if P_FAMILY_SHUPPET -SINGLE_ANIMATION(Shuppet); -SINGLE_ANIMATION(Banette); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(BanetteMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SHUPPET -#if P_FAMILY_DUSKULL -SINGLE_ANIMATION(Duskull); -SINGLE_ANIMATION(Dusclops); -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Dusknoir); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_DUSKULL -#if P_FAMILY_TROPIUS -SINGLE_ANIMATION(Tropius); -#endif //P_FAMILY_TROPIUS -#if P_FAMILY_CHIMECHO -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Chingling); -#endif //P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Chimecho); -#endif //P_FAMILY_CHIMECHO -#if P_FAMILY_ABSOL -SINGLE_ANIMATION(Absol); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(AbsolMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ABSOL -#if P_FAMILY_SNORUNT -SINGLE_ANIMATION(Snorunt); -SINGLE_ANIMATION(Glalie); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(GlalieMega); -#endif //P_MEGA_EVOLUTIONS -#if P_GEN_4_CROSS_EVOS -SINGLE_ANIMATION(Froslass); -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_SNORUNT -#if P_FAMILY_SPHEAL -SINGLE_ANIMATION(Spheal); -SINGLE_ANIMATION(Sealeo); -SINGLE_ANIMATION(Walrein); -#endif //P_FAMILY_SPHEAL -#if P_FAMILY_CLAMPERL -SINGLE_ANIMATION(Clamperl); -SINGLE_ANIMATION(Huntail); -SINGLE_ANIMATION(Gorebyss); -#endif //P_FAMILY_CLAMPERL -#if P_FAMILY_RELICANTH -SINGLE_ANIMATION(Relicanth); -#endif //P_FAMILY_RELICANTH -#if P_FAMILY_LUVDISC -SINGLE_ANIMATION(Luvdisc); -#endif //P_FAMILY_LUVDISC -#if P_FAMILY_BAGON -SINGLE_ANIMATION(Bagon); -SINGLE_ANIMATION(Shelgon); -SINGLE_ANIMATION(Salamence); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(SalamenceMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_BAGON -#if P_FAMILY_BELDUM -SINGLE_ANIMATION(Beldum); -SINGLE_ANIMATION(Metang); -SINGLE_ANIMATION(Metagross); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(MetagrossMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_BELDUM -#if P_FAMILY_REGIROCK -SINGLE_ANIMATION(Regirock); -#endif //P_FAMILY_REGIROCK -#if P_FAMILY_REGICE -SINGLE_ANIMATION(Regice); -#endif //P_FAMILY_REGICE -#if P_FAMILY_REGISTEEL -SINGLE_ANIMATION(Registeel); -#endif //P_FAMILY_REGISTEEL -#if P_FAMILY_LATIAS -SINGLE_ANIMATION(Latias); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(LatiasMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_LATIAS -#if P_FAMILY_LATIOS -SINGLE_ANIMATION(Latios); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(LatiosMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_LATIOS -#if P_FAMILY_KYOGRE -SINGLE_ANIMATION(Kyogre); -#if P_PRIMAL_REVERSIONS -SINGLE_ANIMATION(KyogrePrimal); -#endif //P_PRIMAL_REVERSIONS -#endif //P_FAMILY_KYOGRE -#if P_FAMILY_GROUDON -SINGLE_ANIMATION(Groudon); -#if P_PRIMAL_REVERSIONS -SINGLE_ANIMATION(GroudonPrimal); -#endif //P_PRIMAL_REVERSIONS -#endif //P_FAMILY_GROUDON -#if P_FAMILY_RAYQUAZA -SINGLE_ANIMATION(Rayquaza); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(RayquazaMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_RAYQUAZA -#if P_FAMILY_JIRACHI -SINGLE_ANIMATION(Jirachi); -#endif //P_FAMILY_JIRACHI -#if P_FAMILY_DEOXYS -SINGLE_ANIMATION(DeoxysNormal); -SINGLE_ANIMATION(DeoxysAttack); -SINGLE_ANIMATION(DeoxysDefense); -SINGLE_ANIMATION(DeoxysSpeed); -#endif //P_FAMILY_DEOXYS -#if P_FAMILY_TURTWIG -SINGLE_ANIMATION(Turtwig); -SINGLE_ANIMATION(Grotle); -SINGLE_ANIMATION(Torterra); -#endif //P_FAMILY_TURTWIG -#if P_FAMILY_CHIMCHAR -SINGLE_ANIMATION(Chimchar); -SINGLE_ANIMATION(Monferno); -SINGLE_ANIMATION(Infernape); -#endif //P_FAMILY_CHIMCHAR -#if P_FAMILY_PIPLUP -SINGLE_ANIMATION(Piplup); -SINGLE_ANIMATION(Prinplup); -SINGLE_ANIMATION(Empoleon); -#endif //P_FAMILY_PIPLUP -#if P_FAMILY_STARLY -SINGLE_ANIMATION(Starly); -SINGLE_ANIMATION(Staravia); -SINGLE_ANIMATION(Staraptor); -#endif //P_FAMILY_STARLY -#if P_FAMILY_BIDOOF -SINGLE_ANIMATION(Bidoof); -SINGLE_ANIMATION(Bibarel); -#endif //P_FAMILY_BIDOOF -#if P_FAMILY_KRICKETOT -SINGLE_ANIMATION(Kricketot); -SINGLE_ANIMATION(Kricketune); -#endif //P_FAMILY_KRICKETOT -#if P_FAMILY_SHINX -SINGLE_ANIMATION(Shinx); -SINGLE_ANIMATION(Luxio); -SINGLE_ANIMATION(Luxray); -#endif //P_FAMILY_SHINX -#if P_FAMILY_CRANIDOS -SINGLE_ANIMATION(Cranidos); -SINGLE_ANIMATION(Rampardos); -#endif //P_FAMILY_CRANIDOS -#if P_FAMILY_SHIELDON -SINGLE_ANIMATION(Shieldon); -SINGLE_ANIMATION(Bastiodon); -#endif //P_FAMILY_SHIELDON -#if P_FAMILY_BURMY -SINGLE_ANIMATION(Burmy); -SINGLE_ANIMATION(Wormadam); -SINGLE_ANIMATION(Mothim); -#endif //P_FAMILY_BURMY -#if P_FAMILY_COMBEE -SINGLE_ANIMATION(Combee); -SINGLE_ANIMATION(Vespiquen); -#endif //P_FAMILY_COMBEE -#if P_FAMILY_PACHIRISU -SINGLE_ANIMATION(Pachirisu); -#endif //P_FAMILY_PACHIRISU -#if P_FAMILY_BUIZEL -SINGLE_ANIMATION(Buizel); -SINGLE_ANIMATION(Floatzel); -#endif //P_FAMILY_BUIZEL -#if P_FAMILY_CHERUBI -SINGLE_ANIMATION(Cherubi); -SINGLE_ANIMATION(CherrimOvercast); -SINGLE_ANIMATION(CherrimSunshine); -#endif //P_FAMILY_CHERUBI -#if P_FAMILY_SHELLOS -SINGLE_ANIMATION(Shellos); -SINGLE_ANIMATION(Gastrodon); -#endif //P_FAMILY_SHELLOS -#if P_FAMILY_DRIFLOON -SINGLE_ANIMATION(Drifloon); -SINGLE_ANIMATION(Drifblim); -#endif //P_FAMILY_DRIFLOON -#if P_FAMILY_BUNEARY -SINGLE_ANIMATION(Buneary); -SINGLE_ANIMATION(Lopunny); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(LopunnyMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_BUNEARY -#if P_FAMILY_GLAMEOW -SINGLE_ANIMATION(Glameow); -SINGLE_ANIMATION(Purugly); -#endif //P_FAMILY_GLAMEOW -#if P_FAMILY_STUNKY -SINGLE_ANIMATION(Stunky); -SINGLE_ANIMATION(Skuntank); -#endif //P_FAMILY_STUNKY -#if P_FAMILY_BRONZOR -SINGLE_ANIMATION(Bronzor); -SINGLE_ANIMATION(Bronzong); -#endif //P_FAMILY_BRONZOR -#if P_FAMILY_CHATOT -SINGLE_ANIMATION(Chatot); -#endif //P_FAMILY_CHATOT -#if P_FAMILY_SPIRITOMB -SINGLE_ANIMATION(Spiritomb); -#endif //P_FAMILY_SPIRITOMB -#if P_FAMILY_GIBLE -SINGLE_ANIMATION(Gible); -SINGLE_ANIMATION(Gabite); -SINGLE_ANIMATION(Garchomp); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(GarchompMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_GIBLE -#if P_FAMILY_RIOLU -SINGLE_ANIMATION(Riolu); -SINGLE_ANIMATION(Lucario); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(LucarioMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_RIOLU -#if P_FAMILY_HIPPOPOTAS -SINGLE_ANIMATION(Hippopotas); -SINGLE_ANIMATION(Hippowdon); -#endif //P_FAMILY_HIPPOPOTAS -#if P_FAMILY_SKORUPI -SINGLE_ANIMATION(Skorupi); -SINGLE_ANIMATION(Drapion); -#endif //P_FAMILY_SKORUPI -#if P_FAMILY_CROAGUNK -SINGLE_ANIMATION(Croagunk); -SINGLE_ANIMATION(Toxicroak); -#endif //P_FAMILY_CROAGUNK -#if P_FAMILY_CARNIVINE -SINGLE_ANIMATION(Carnivine); -#endif //P_FAMILY_CARNIVINE -#if P_FAMILY_FINNEON -SINGLE_ANIMATION(Finneon); -SINGLE_ANIMATION(Lumineon); -#endif //P_FAMILY_FINNEON -#if P_FAMILY_SNOVER -SINGLE_ANIMATION(Snover); -SINGLE_ANIMATION(Abomasnow); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(AbomasnowMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SNOVER -#if P_FAMILY_ROTOM -SINGLE_ANIMATION(Rotom); -SINGLE_ANIMATION(RotomHeat); -SINGLE_ANIMATION(RotomWash); -SINGLE_ANIMATION(RotomFrost); -SINGLE_ANIMATION(RotomFan); -SINGLE_ANIMATION(RotomMow); -#endif //P_FAMILY_ROTOM -#if P_FAMILY_UXIE -SINGLE_ANIMATION(Uxie); -#endif //P_FAMILY_UXIE -#if P_FAMILY_MESPRIT -SINGLE_ANIMATION(Mesprit); -#endif //P_FAMILY_MESPRIT -#if P_FAMILY_AZELF -SINGLE_ANIMATION(Azelf); -#endif //P_FAMILY_AZELF -#if P_FAMILY_DIALGA -SINGLE_ANIMATION(Dialga); -SINGLE_ANIMATION(DialgaOrigin); -#endif //P_FAMILY_DIALGA -#if P_FAMILY_PALKIA -SINGLE_ANIMATION(Palkia); -SINGLE_ANIMATION(PalkiaOrigin); -#endif //P_FAMILY_PALKIA -#if P_FAMILY_HEATRAN -SINGLE_ANIMATION(Heatran); -#endif //P_FAMILY_HEATRAN -#if P_FAMILY_REGIGIGAS -SINGLE_ANIMATION(Regigigas); -#endif //P_FAMILY_REGIGIGAS -#if P_FAMILY_GIRATINA -SINGLE_ANIMATION(GiratinaAltered); -SINGLE_ANIMATION(GiratinaOrigin); -#endif //P_FAMILY_GIRATINA -#if P_FAMILY_CRESSELIA -SINGLE_ANIMATION(Cresselia); -#endif //P_FAMILY_CRESSELIA -#if P_FAMILY_MANAPHY -SINGLE_ANIMATION(Phione); -SINGLE_ANIMATION(Manaphy); -#endif //P_FAMILY_MANAPHY -#if P_FAMILY_DARKRAI -SINGLE_ANIMATION(Darkrai); -#endif //P_FAMILY_DARKRAI -#if P_FAMILY_SHAYMIN -SINGLE_ANIMATION(ShayminLand); -SINGLE_ANIMATION(ShayminSky); -#endif //P_FAMILY_SHAYMIN -#if P_FAMILY_ARCEUS -SINGLE_ANIMATION(Arceus); -#endif //P_FAMILY_ARCEUS -#if P_FAMILY_VICTINI -SINGLE_ANIMATION(Victini); -#endif //P_FAMILY_VICTINI -#if P_FAMILY_SNIVY -SINGLE_ANIMATION(Snivy); -SINGLE_ANIMATION(Servine); -SINGLE_ANIMATION(Serperior); -#endif //P_FAMILY_SNIVY -#if P_FAMILY_TEPIG -SINGLE_ANIMATION(Tepig); -SINGLE_ANIMATION(Pignite); -SINGLE_ANIMATION(Emboar); -#endif //P_FAMILY_TEPIG -#if P_FAMILY_OSHAWOTT -SINGLE_ANIMATION(Oshawott); -SINGLE_ANIMATION(Dewott); -SINGLE_ANIMATION(Samurott); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(SamurottHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_OSHAWOTT -#if P_FAMILY_PATRAT -SINGLE_ANIMATION(Patrat); -SINGLE_ANIMATION(Watchog); -#endif //P_FAMILY_PATRAT -#if P_FAMILY_LILLIPUP -SINGLE_ANIMATION(Lillipup); -SINGLE_ANIMATION(Herdier); -SINGLE_ANIMATION(Stoutland); -#endif //P_FAMILY_LILLIPUP -#if P_FAMILY_PURRLOIN -SINGLE_ANIMATION(Purrloin); -SINGLE_ANIMATION(Liepard); -#endif //P_FAMILY_PURRLOIN -#if P_FAMILY_PANSAGE -SINGLE_ANIMATION(Pansage); -SINGLE_ANIMATION(Simisage); -#endif //P_FAMILY_PANSAGE -#if P_FAMILY_PANSEAR -SINGLE_ANIMATION(Pansear); -SINGLE_ANIMATION(Simisear); -#endif //P_FAMILY_PANSEAR -#if P_FAMILY_PANPOUR -SINGLE_ANIMATION(Panpour); -SINGLE_ANIMATION(Simipour); -#endif //P_FAMILY_PANPOUR -#if P_FAMILY_MUNNA -SINGLE_ANIMATION(Munna); -SINGLE_ANIMATION(Musharna); -#endif //P_FAMILY_MUNNA -#if P_FAMILY_PIDOVE -SINGLE_ANIMATION(Pidove); -SINGLE_ANIMATION(Tranquill); -SINGLE_ANIMATION(Unfezant); -#endif //P_FAMILY_PIDOVE -#if P_FAMILY_BLITZLE -SINGLE_ANIMATION(Blitzle); -SINGLE_ANIMATION(Zebstrika); -#endif //P_FAMILY_BLITZLE -#if P_FAMILY_ROGGENROLA -SINGLE_ANIMATION(Roggenrola); -SINGLE_ANIMATION(Boldore); -SINGLE_ANIMATION(Gigalith); -#endif //P_FAMILY_ROGGENROLA -#if P_FAMILY_WOOBAT -SINGLE_ANIMATION(Woobat); -SINGLE_ANIMATION(Swoobat); -#endif //P_FAMILY_WOOBAT -#if P_FAMILY_DRILBUR -SINGLE_ANIMATION(Drilbur); -SINGLE_ANIMATION(Excadrill); -#endif //P_FAMILY_DRILBUR -#if P_FAMILY_AUDINO -SINGLE_ANIMATION(Audino); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(AudinoMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_AUDINO -#if P_FAMILY_TIMBURR -SINGLE_ANIMATION(Timburr); -SINGLE_ANIMATION(Gurdurr); -SINGLE_ANIMATION(Conkeldurr); -#endif //P_FAMILY_TIMBURR -#if P_FAMILY_TYMPOLE -SINGLE_ANIMATION(Tympole); -SINGLE_ANIMATION(Palpitoad); -SINGLE_ANIMATION(Seismitoad); -#endif //P_FAMILY_TYMPOLE -#if P_FAMILY_THROH -SINGLE_ANIMATION(Throh); -#endif //P_FAMILY_THROH -#if P_FAMILY_SAWK -SINGLE_ANIMATION(Sawk); -#endif //P_FAMILY_SAWK -#if P_FAMILY_SEWADDLE -SINGLE_ANIMATION(Sewaddle); -SINGLE_ANIMATION(Swadloon); -SINGLE_ANIMATION(Leavanny); -#endif //P_FAMILY_SEWADDLE -#if P_FAMILY_VENIPEDE -SINGLE_ANIMATION(Venipede); -SINGLE_ANIMATION(Whirlipede); -SINGLE_ANIMATION(Scolipede); -#endif //P_FAMILY_VENIPEDE -#if P_FAMILY_COTTONEE -SINGLE_ANIMATION(Cottonee); -SINGLE_ANIMATION(Whimsicott); -#endif //P_FAMILY_COTTONEE -#if P_FAMILY_PETILIL -SINGLE_ANIMATION(Petilil); -SINGLE_ANIMATION(Lilligant); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(LilligantHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_PETILIL -#if P_FAMILY_BASCULIN -SINGLE_ANIMATION(Basculin); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(Basculegion); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_BASCULIN -#if P_FAMILY_SANDILE -SINGLE_ANIMATION(Sandile); -SINGLE_ANIMATION(Krokorok); -SINGLE_ANIMATION(Krookodile); -#endif //P_FAMILY_SANDILE -#if P_FAMILY_DARUMAKA -SINGLE_ANIMATION(Darumaka); -SINGLE_ANIMATION(DarmanitanStandard); -SINGLE_ANIMATION(DarmanitanZen); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(DarumakaGalar); -SINGLE_ANIMATION(DarmanitanGalarStandard); -SINGLE_ANIMATION(DarmanitanGalarZen); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_DARUMAKA -#if P_FAMILY_MARACTUS -SINGLE_ANIMATION(Maractus); -#endif //P_FAMILY_MARACTUS -#if P_FAMILY_DWEBBLE -SINGLE_ANIMATION(Dwebble); -SINGLE_ANIMATION(Crustle); -#endif //P_FAMILY_DWEBBLE -#if P_FAMILY_SCRAGGY -SINGLE_ANIMATION(Scraggy); -SINGLE_ANIMATION(Scrafty); -#endif //P_FAMILY_SCRAGGY -#if P_FAMILY_SIGILYPH -SINGLE_ANIMATION(Sigilyph); -#endif //P_FAMILY_SIGILYPH -#if P_FAMILY_YAMASK -SINGLE_ANIMATION(Yamask); -SINGLE_ANIMATION(Cofagrigus); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(YamaskGalar); -SINGLE_ANIMATION(Runerigus); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_YAMASK -#if P_FAMILY_TIRTOUGA -SINGLE_ANIMATION(Tirtouga); -SINGLE_ANIMATION(Carracosta); -#endif //P_FAMILY_TIRTOUGA -#if P_FAMILY_ARCHEN -SINGLE_ANIMATION(Archen); -SINGLE_ANIMATION(Archeops); -#endif //P_FAMILY_ARCHEN -#if P_FAMILY_TRUBBISH -SINGLE_ANIMATION(Trubbish); -SINGLE_ANIMATION(Garbodor); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(GarbodorGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_TRUBBISH -#if P_FAMILY_ZORUA -SINGLE_ANIMATION(Zorua); -SINGLE_ANIMATION(Zoroark); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(ZoruaHisui); -SINGLE_ANIMATION(ZoroarkHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_ZORUA -#if P_FAMILY_MINCCINO -SINGLE_ANIMATION(Minccino); -SINGLE_ANIMATION(Cinccino); -#endif //P_FAMILY_MINCCINO -#if P_FAMILY_GOTHITA -SINGLE_ANIMATION(Gothita); -SINGLE_ANIMATION(Gothorita); -SINGLE_ANIMATION(Gothitelle); -#endif //P_FAMILY_GOTHITA -#if P_FAMILY_SOLOSIS -SINGLE_ANIMATION(Solosis); -SINGLE_ANIMATION(Duosion); -SINGLE_ANIMATION(Reuniclus); -#endif //P_FAMILY_SOLOSIS -#if P_FAMILY_DUCKLETT -SINGLE_ANIMATION(Ducklett); -SINGLE_ANIMATION(Swanna); -#endif //P_FAMILY_DUCKLETT -#if P_FAMILY_VANILLITE -SINGLE_ANIMATION(Vanillite); -SINGLE_ANIMATION(Vanillish); -SINGLE_ANIMATION(Vanilluxe); -#endif //P_FAMILY_VANILLITE -#if P_FAMILY_DEERLING -SINGLE_ANIMATION(Deerling); -SINGLE_ANIMATION(Sawsbuck); -#endif //P_FAMILY_DEERLING -#if P_FAMILY_EMOLGA -SINGLE_ANIMATION(Emolga); -#endif //P_FAMILY_EMOLGA -#if P_FAMILY_KARRABLAST -SINGLE_ANIMATION(Karrablast); -SINGLE_ANIMATION(Escavalier); -#endif //P_FAMILY_KARRABLAST -#if P_FAMILY_FOONGUS -SINGLE_ANIMATION(Foongus); -SINGLE_ANIMATION(Amoonguss); -#endif //P_FAMILY_FOONGUS -#if P_FAMILY_FRILLISH -SINGLE_ANIMATION(Frillish); -SINGLE_ANIMATION(Jellicent); -#endif //P_FAMILY_FRILLISH -#if P_FAMILY_ALOMOMOLA -SINGLE_ANIMATION(Alomomola); -#endif //P_FAMILY_ALOMOMOLA -#if P_FAMILY_JOLTIK -SINGLE_ANIMATION(Joltik); -SINGLE_ANIMATION(Galvantula); -#endif //P_FAMILY_JOLTIK -#if P_FAMILY_FERROSEED -SINGLE_ANIMATION(Ferroseed); -SINGLE_ANIMATION(Ferrothorn); -#endif //P_FAMILY_FERROSEED -#if P_FAMILY_KLINK -SINGLE_ANIMATION(Klink); -SINGLE_ANIMATION(Klang); -SINGLE_ANIMATION(Klinklang); -#endif //P_FAMILY_KLINK -#if P_FAMILY_TYNAMO -SINGLE_ANIMATION(Tynamo); -SINGLE_ANIMATION(Eelektrik); -SINGLE_ANIMATION(Eelektross); -#endif //P_FAMILY_TYNAMO -#if P_FAMILY_ELGYEM -SINGLE_ANIMATION(Elgyem); -SINGLE_ANIMATION(Beheeyem); -#endif //P_FAMILY_ELGYEM -#if P_FAMILY_LITWICK -SINGLE_ANIMATION(Litwick); -SINGLE_ANIMATION(Lampent); -SINGLE_ANIMATION(Chandelure); -#endif //P_FAMILY_LITWICK -#if P_FAMILY_AXEW -SINGLE_ANIMATION(Axew); -SINGLE_ANIMATION(Fraxure); -SINGLE_ANIMATION(Haxorus); -#endif //P_FAMILY_AXEW -#if P_FAMILY_CUBCHOO -SINGLE_ANIMATION(Cubchoo); -SINGLE_ANIMATION(Beartic); -#endif //P_FAMILY_CUBCHOO -#if P_FAMILY_CRYOGONAL -SINGLE_ANIMATION(Cryogonal); -#endif //P_FAMILY_CRYOGONAL -#if P_FAMILY_SHELMET -SINGLE_ANIMATION(Shelmet); -SINGLE_ANIMATION(Accelgor); -#endif //P_FAMILY_SHELMET -#if P_FAMILY_STUNFISK -SINGLE_ANIMATION(Stunfisk); -#if P_GALARIAN_FORMS -SINGLE_ANIMATION(StunfiskGalar); -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_STUNFISK -#if P_FAMILY_MIENFOO -SINGLE_ANIMATION(Mienfoo); -SINGLE_ANIMATION(Mienshao); -#endif //P_FAMILY_MIENFOO -#if P_FAMILY_DRUDDIGON -SINGLE_ANIMATION(Druddigon); -#endif //P_FAMILY_DRUDDIGON -#if P_FAMILY_GOLETT -SINGLE_ANIMATION(Golett); -SINGLE_ANIMATION(Golurk); -#endif //P_FAMILY_GOLETT -#if P_FAMILY_PAWNIARD -SINGLE_ANIMATION(Pawniard); -SINGLE_ANIMATION(Bisharp); -#if P_GEN_9_CROSS_EVOS -SINGLE_ANIMATION(Kingambit); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_PAWNIARD -#if P_FAMILY_BOUFFALANT -SINGLE_ANIMATION(Bouffalant); -#endif //P_FAMILY_BOUFFALANT -#if P_FAMILY_RUFFLET -SINGLE_ANIMATION(Rufflet); -SINGLE_ANIMATION(Braviary); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(BraviaryHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_RUFFLET -#if P_FAMILY_VULLABY -SINGLE_ANIMATION(Vullaby); -SINGLE_ANIMATION(Mandibuzz); -#endif //P_FAMILY_VULLABY -#if P_FAMILY_HEATMOR -SINGLE_ANIMATION(Heatmor); -#endif //P_FAMILY_HEATMOR -#if P_FAMILY_DURANT -SINGLE_ANIMATION(Durant); -#endif //P_FAMILY_DURANT -#if P_FAMILY_DEINO -SINGLE_ANIMATION(Deino); -SINGLE_ANIMATION(Zweilous); -SINGLE_ANIMATION(Hydreigon); -#endif //P_FAMILY_DEINO -#if P_FAMILY_LARVESTA -SINGLE_ANIMATION(Larvesta); -SINGLE_ANIMATION(Volcarona); -#endif //P_FAMILY_LARVESTA -#if P_FAMILY_COBALION -SINGLE_ANIMATION(Cobalion); -#endif //P_FAMILY_COBALION -#if P_FAMILY_TERRAKION -SINGLE_ANIMATION(Terrakion); -#endif //P_FAMILY_TERRAKION -#if P_FAMILY_VIRIZION -SINGLE_ANIMATION(Virizion); -#endif //P_FAMILY_VIRIZION -#if P_FAMILY_TORNADUS -SINGLE_ANIMATION(TornadusIncarnate); -SINGLE_ANIMATION(TornadusTherian); -#endif //P_FAMILY_TORNADUS -#if P_FAMILY_THUNDURUS -SINGLE_ANIMATION(ThundurusIncarnate); -SINGLE_ANIMATION(ThundurusTherian); -#endif //P_FAMILY_THUNDURUS -#if P_FAMILY_RESHIRAM -SINGLE_ANIMATION(Reshiram); -#endif //P_FAMILY_RESHIRAM -#if P_FAMILY_ZEKROM -SINGLE_ANIMATION(Zekrom); -#endif //P_FAMILY_ZEKROM -#if P_FAMILY_LANDORUS -SINGLE_ANIMATION(LandorusIncarnate); -SINGLE_ANIMATION(LandorusTherian); -#endif //P_FAMILY_LANDORUS -#if P_FAMILY_KYUREM -SINGLE_ANIMATION(Kyurem); -#if P_FUSION_FORMS -SINGLE_ANIMATION(KyuremWhite); -SINGLE_ANIMATION(KyuremBlack); -#endif //P_FUSION_FORMS -#endif //P_FAMILY_KYUREM -#if P_FAMILY_KELDEO -SINGLE_ANIMATION(KeldeoOrdinary); -SINGLE_ANIMATION(KeldeoResolute); -#endif //P_FAMILY_KELDEO -#if P_FAMILY_MELOETTA -SINGLE_ANIMATION(MeloettaAria); -SINGLE_ANIMATION(MeloettaPirouette); -#endif //P_FAMILY_MELOETTA -#if P_FAMILY_GENESECT -SINGLE_ANIMATION(Genesect); -#endif //P_FAMILY_GENESECT -#if P_FAMILY_CHESPIN -SINGLE_ANIMATION(Chespin); -SINGLE_ANIMATION(Quilladin); -SINGLE_ANIMATION(Chesnaught); -#endif //P_FAMILY_CHESPIN -#if P_FAMILY_FENNEKIN -SINGLE_ANIMATION(Fennekin); -SINGLE_ANIMATION(Braixen); -SINGLE_ANIMATION(Delphox); -#endif //P_FAMILY_FENNEKIN -#if P_FAMILY_FROAKIE -SINGLE_ANIMATION(Froakie); -SINGLE_ANIMATION(Frogadier); -SINGLE_ANIMATION(Greninja); -SINGLE_ANIMATION(GreninjaAsh); -#endif //P_FAMILY_FROAKIE -#if P_FAMILY_BUNNELBY -SINGLE_ANIMATION(Bunnelby); -SINGLE_ANIMATION(Diggersby); -#endif //P_FAMILY_BUNNELBY -#if P_FAMILY_FLETCHLING -SINGLE_ANIMATION(Fletchling); -SINGLE_ANIMATION(Fletchinder); -SINGLE_ANIMATION(Talonflame); -#endif //P_FAMILY_FLETCHLING -#if P_FAMILY_SCATTERBUG -SINGLE_ANIMATION(Scatterbug); -SINGLE_ANIMATION(Spewpa); -SINGLE_ANIMATION(Vivillon); -#endif //P_FAMILY_SCATTERBUG -#if P_FAMILY_LITLEO -SINGLE_ANIMATION(Litleo); -SINGLE_ANIMATION(Pyroar); -#endif //P_FAMILY_LITLEO -#if P_FAMILY_FLABEBE -SINGLE_ANIMATION(Flabebe); -SINGLE_ANIMATION(Floette); -SINGLE_ANIMATION(Florges); -#endif //P_FAMILY_FLABEBE -#if P_FAMILY_SKIDDO -SINGLE_ANIMATION(Skiddo); -SINGLE_ANIMATION(Gogoat); -#endif //P_FAMILY_SKIDDO -#if P_FAMILY_PANCHAM -SINGLE_ANIMATION(Pancham); -SINGLE_ANIMATION(Pangoro); -#endif //P_FAMILY_PANCHAM -#if P_FAMILY_FURFROU -SINGLE_ANIMATION(Furfrou); -#endif //P_FAMILY_FURFROU -#if P_FAMILY_ESPURR -SINGLE_ANIMATION(Espurr); -SINGLE_ANIMATION(Meowstic); -#endif //P_FAMILY_ESPURR -#if P_FAMILY_HONEDGE -SINGLE_ANIMATION(Honedge); -SINGLE_ANIMATION(Doublade); -SINGLE_ANIMATION(AegislashShield); -SINGLE_ANIMATION(AegislashBlade); -#endif //P_FAMILY_HONEDGE -#if P_FAMILY_SPRITZEE -SINGLE_ANIMATION(Spritzee); -SINGLE_ANIMATION(Aromatisse); -#endif //P_FAMILY_SPRITZEE -#if P_FAMILY_SWIRLIX -SINGLE_ANIMATION(Swirlix); -SINGLE_ANIMATION(Slurpuff); -#endif //P_FAMILY_SWIRLIX -#if P_FAMILY_INKAY -SINGLE_ANIMATION(Inkay); -SINGLE_ANIMATION(Malamar); -#endif //P_FAMILY_INKAY -#if P_FAMILY_BINACLE -SINGLE_ANIMATION(Binacle); -SINGLE_ANIMATION(Barbaracle); -#endif //P_FAMILY_BINACLE -#if P_FAMILY_SKRELP -SINGLE_ANIMATION(Skrelp); -SINGLE_ANIMATION(Dragalge); -#endif //P_FAMILY_SKRELP -#if P_FAMILY_CLAUNCHER -SINGLE_ANIMATION(Clauncher); -SINGLE_ANIMATION(Clawitzer); -#endif //P_FAMILY_CLAUNCHER -#if P_FAMILY_HELIOPTILE -SINGLE_ANIMATION(Helioptile); -SINGLE_ANIMATION(Heliolisk); -#endif //P_FAMILY_HELIOPTILE -#if P_FAMILY_TYRUNT -SINGLE_ANIMATION(Tyrunt); -SINGLE_ANIMATION(Tyrantrum); -#endif //P_FAMILY_TYRUNT -#if P_FAMILY_AMAURA -SINGLE_ANIMATION(Amaura); -SINGLE_ANIMATION(Aurorus); -#endif //P_FAMILY_AMAURA -#if P_FAMILY_HAWLUCHA -SINGLE_ANIMATION(Hawlucha); -#endif //P_FAMILY_HAWLUCHA -#if P_FAMILY_DEDENNE -SINGLE_ANIMATION(Dedenne); -#endif //P_FAMILY_DEDENNE -#if P_FAMILY_CARBINK -SINGLE_ANIMATION(Carbink); -#endif //P_FAMILY_CARBINK -#if P_FAMILY_GOOMY -SINGLE_ANIMATION(Goomy); -SINGLE_ANIMATION(Sliggoo); -SINGLE_ANIMATION(Goodra); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(SliggooHisui); -SINGLE_ANIMATION(GoodraHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_GOOMY -#if P_FAMILY_KLEFKI -SINGLE_ANIMATION(Klefki); -#endif //P_FAMILY_KLEFKI -#if P_FAMILY_PHANTUMP -SINGLE_ANIMATION(Phantump); -SINGLE_ANIMATION(Trevenant); -#endif //P_FAMILY_PHANTUMP -#if P_FAMILY_PUMPKABOO -SINGLE_ANIMATION(Pumpkaboo); -SINGLE_ANIMATION(Gourgeist); -#endif //P_FAMILY_PUMPKABOO -#if P_FAMILY_BERGMITE -SINGLE_ANIMATION(Bergmite); -SINGLE_ANIMATION(Avalugg); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(AvaluggHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_BERGMITE -#if P_FAMILY_NOIBAT -SINGLE_ANIMATION(Noibat); -SINGLE_ANIMATION(Noivern); -#endif //P_FAMILY_NOIBAT -#if P_FAMILY_XERNEAS -SINGLE_ANIMATION(Xerneas); -#endif //P_FAMILY_XERNEAS -#if P_FAMILY_YVELTAL -SINGLE_ANIMATION(Yveltal); -#endif //P_FAMILY_YVELTAL -#if P_FAMILY_ZYGARDE -SINGLE_ANIMATION(Zygarde50); -SINGLE_ANIMATION(Zygarde10); -SINGLE_ANIMATION(ZygardeComplete); -#endif //P_FAMILY_ZYGARDE -#if P_FAMILY_DIANCIE -SINGLE_ANIMATION(Diancie); -#if P_MEGA_EVOLUTIONS -SINGLE_ANIMATION(DiancieMega); -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_DIANCIE -#if P_FAMILY_HOOPA -SINGLE_ANIMATION(HoopaConfined); -SINGLE_ANIMATION(HoopaUnbound); -#endif //P_FAMILY_HOOPA -#if P_FAMILY_VOLCANION -SINGLE_ANIMATION(Volcanion); -#endif //P_FAMILY_VOLCANION -#if P_FAMILY_ROWLET -SINGLE_ANIMATION(Rowlet); -SINGLE_ANIMATION(Dartrix); -SINGLE_ANIMATION(Decidueye); -#if P_HISUIAN_FORMS -SINGLE_ANIMATION(DecidueyeHisui); -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_ROWLET -#if P_FAMILY_LITTEN -SINGLE_ANIMATION(Litten); -SINGLE_ANIMATION(Torracat); -SINGLE_ANIMATION(Incineroar); -#endif //P_FAMILY_LITTEN -#if P_FAMILY_POPPLIO -SINGLE_ANIMATION(Popplio); -SINGLE_ANIMATION(Brionne); -SINGLE_ANIMATION(Primarina); -#endif //P_FAMILY_POPPLIO -#if P_FAMILY_PIKIPEK -SINGLE_ANIMATION(Pikipek); -SINGLE_ANIMATION(Trumbeak); -SINGLE_ANIMATION(Toucannon); -#endif //P_FAMILY_PIKIPEK -#if P_FAMILY_YUNGOOS -SINGLE_ANIMATION(Yungoos); -SINGLE_ANIMATION(Gumshoos); -#endif //P_FAMILY_YUNGOOS -#if P_FAMILY_GRUBBIN -SINGLE_ANIMATION(Grubbin); -SINGLE_ANIMATION(Charjabug); -SINGLE_ANIMATION(Vikavolt); -#endif //P_FAMILY_GRUBBIN -#if P_FAMILY_CRABRAWLER -SINGLE_ANIMATION(Crabrawler); -SINGLE_ANIMATION(Crabominable); -#endif //P_FAMILY_CRABRAWLER -#if P_FAMILY_ORICORIO -SINGLE_ANIMATION(Oricorio); -#endif //P_FAMILY_ORICORIO -#if P_FAMILY_CUTIEFLY -SINGLE_ANIMATION(Cutiefly); -SINGLE_ANIMATION(Ribombee); -#endif //P_FAMILY_CUTIEFLY -#if P_FAMILY_ROCKRUFF -SINGLE_ANIMATION(Rockruff); -SINGLE_ANIMATION(LycanrocMidday); -SINGLE_ANIMATION(LycanrocMidnight); -SINGLE_ANIMATION(LycanrocDusk); -#endif //P_FAMILY_ROCKRUFF -#if P_FAMILY_WISHIWASHI -SINGLE_ANIMATION(WishiwashiSolo); -SINGLE_ANIMATION(WishiwashiSchool); -#endif //P_FAMILY_WISHIWASHI -#if P_FAMILY_MAREANIE -SINGLE_ANIMATION(Mareanie); -SINGLE_ANIMATION(Toxapex); -#endif //P_FAMILY_MAREANIE -#if P_FAMILY_MUDBRAY -SINGLE_ANIMATION(Mudbray); -SINGLE_ANIMATION(Mudsdale); -#endif //P_FAMILY_MUDBRAY -#if P_FAMILY_DEWPIDER -SINGLE_ANIMATION(Dewpider); -SINGLE_ANIMATION(Araquanid); -#endif //P_FAMILY_DEWPIDER -#if P_FAMILY_FOMANTIS -SINGLE_ANIMATION(Fomantis); -SINGLE_ANIMATION(Lurantis); -#endif //P_FAMILY_FOMANTIS -#if P_FAMILY_MORELULL -SINGLE_ANIMATION(Morelull); -SINGLE_ANIMATION(Shiinotic); -#endif //P_FAMILY_MORELULL -#if P_FAMILY_SALANDIT -SINGLE_ANIMATION(Salandit); -SINGLE_ANIMATION(Salazzle); -#endif //P_FAMILY_SALANDIT -#if P_FAMILY_STUFFUL -SINGLE_ANIMATION(Stufful); -SINGLE_ANIMATION(Bewear); -#endif //P_FAMILY_STUFFUL -#if P_FAMILY_BOUNSWEET -SINGLE_ANIMATION(Bounsweet); -SINGLE_ANIMATION(Steenee); -SINGLE_ANIMATION(Tsareena); -#endif //P_FAMILY_BOUNSWEET -#if P_FAMILY_COMFEY -SINGLE_ANIMATION(Comfey); -#endif //P_FAMILY_COMFEY -#if P_FAMILY_ORANGURU -SINGLE_ANIMATION(Oranguru); -#endif //P_FAMILY_ORANGURU -#if P_FAMILY_PASSIMIAN -SINGLE_ANIMATION(Passimian); -#endif //P_FAMILY_PASSIMIAN -#if P_FAMILY_WIMPOD -SINGLE_ANIMATION(Wimpod); -SINGLE_ANIMATION(Golisopod); -#endif //P_FAMILY_WIMPOD -#if P_FAMILY_SANDYGAST -SINGLE_ANIMATION(Sandygast); -SINGLE_ANIMATION(Palossand); -#endif //P_FAMILY_SANDYGAST -#if P_FAMILY_PYUKUMUKU -SINGLE_ANIMATION(Pyukumuku); -#endif //P_FAMILY_PYUKUMUKU -#if P_FAMILY_TYPE_NULL -SINGLE_ANIMATION(TypeNull); -SINGLE_ANIMATION(Silvally); -#endif //P_FAMILY_TYPE_NULL -#if P_FAMILY_MINIOR -SINGLE_ANIMATION(MiniorMeteor); -SINGLE_ANIMATION(MiniorCore); -#endif //P_FAMILY_MINIOR -#if P_FAMILY_KOMALA -SINGLE_ANIMATION(Komala); -#endif //P_FAMILY_KOMALA -#if P_FAMILY_TURTONATOR -SINGLE_ANIMATION(Turtonator); -#endif //P_FAMILY_TURTONATOR -#if P_FAMILY_TOGEDEMARU -SINGLE_ANIMATION(Togedemaru); -#endif //P_FAMILY_TOGEDEMARU -#if P_FAMILY_MIMIKYU -SINGLE_ANIMATION(MimikyuDisguised); -SINGLE_ANIMATION(MimikyuBusted); -#endif //P_FAMILY_MIMIKYU -#if P_FAMILY_BRUXISH -SINGLE_ANIMATION(Bruxish); -#endif //P_FAMILY_BRUXISH -#if P_FAMILY_DRAMPA -SINGLE_ANIMATION(Drampa); -#endif //P_FAMILY_DRAMPA -#if P_FAMILY_DHELMISE -SINGLE_ANIMATION(Dhelmise); -#endif //P_FAMILY_DHELMISE -#if P_FAMILY_JANGMO_O -SINGLE_ANIMATION(Jangmo_O); -SINGLE_ANIMATION(Hakamo_O); -SINGLE_ANIMATION(Kommo_O); -#endif //P_FAMILY_JANGMO_O -#if P_FAMILY_TAPU_KOKO -SINGLE_ANIMATION(TapuKoko); -#endif //P_FAMILY_TAPU_KOKO -#if P_FAMILY_TAPU_LELE -SINGLE_ANIMATION(TapuLele); -#endif //P_FAMILY_TAPU_LELE -#if P_FAMILY_TAPU_BULU -SINGLE_ANIMATION(TapuBulu); -#endif //P_FAMILY_TAPU_BULU -#if P_FAMILY_TAPU_FINI -SINGLE_ANIMATION(TapuFini); -#endif //P_FAMILY_TAPU_FINI -#if P_FAMILY_COSMOG -SINGLE_ANIMATION(Cosmog); -SINGLE_ANIMATION(Cosmoem); -SINGLE_ANIMATION(Solgaleo); -SINGLE_ANIMATION(Lunala); -#endif //P_FAMILY_COSMOG -#if P_FAMILY_NIHILEGO -SINGLE_ANIMATION(Nihilego); -#endif //P_FAMILY_NIHILEGO -#if P_FAMILY_BUZZWOLE -SINGLE_ANIMATION(Buzzwole); -#endif //P_FAMILY_BUZZWOLE -#if P_FAMILY_PHEROMOSA -SINGLE_ANIMATION(Pheromosa); -#endif //P_FAMILY_PHEROMOSA -#if P_FAMILY_XURKITREE -SINGLE_ANIMATION(Xurkitree); -#endif //P_FAMILY_XURKITREE -#if P_FAMILY_CELESTEELA -SINGLE_ANIMATION(Celesteela); -#endif //P_FAMILY_CELESTEELA -#if P_FAMILY_KARTANA -SINGLE_ANIMATION(Kartana); -#endif //P_FAMILY_KARTANA -#if P_FAMILY_GUZZLORD -SINGLE_ANIMATION(Guzzlord); -#endif //P_FAMILY_GUZZLORD -#if P_FAMILY_NECROZMA -SINGLE_ANIMATION(Necrozma); -#endif //P_FAMILY_NECROZMA -#if P_FAMILY_MAGEARNA -SINGLE_ANIMATION(Magearna); -#endif //P_FAMILY_MAGEARNA -#if P_FAMILY_MARSHADOW -SINGLE_ANIMATION(Marshadow); -#endif //P_FAMILY_MARSHADOW -#if P_FAMILY_POIPOLE -SINGLE_ANIMATION(Poipole); -SINGLE_ANIMATION(Naganadel); -#endif //P_FAMILY_POIPOLE -#if P_FAMILY_STAKATAKA -SINGLE_ANIMATION(Stakataka); -#endif //P_FAMILY_STAKATAKA -#if P_FAMILY_BLACEPHALON -SINGLE_ANIMATION(Blacephalon); -#endif //P_FAMILY_BLACEPHALON -#if P_FAMILY_ZERAORA -SINGLE_ANIMATION(Zeraora); -#endif //P_FAMILY_ZERAORA -#if P_FAMILY_MELTAN -SINGLE_ANIMATION(Meltan); -SINGLE_ANIMATION(Melmetal); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(MelmetalGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MELTAN -#if P_FAMILY_GROOKEY -SINGLE_ANIMATION(Grookey); -SINGLE_ANIMATION(Thwackey); -SINGLE_ANIMATION(Rillaboom); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(RillaboomGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_GROOKEY -#if P_FAMILY_SCORBUNNY -SINGLE_ANIMATION(Scorbunny); -SINGLE_ANIMATION(Raboot); -SINGLE_ANIMATION(Cinderace); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CinderaceGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SCORBUNNY -#if P_FAMILY_SOBBLE -SINGLE_ANIMATION(Sobble); -SINGLE_ANIMATION(Drizzile); -SINGLE_ANIMATION(Inteleon); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(InteleonGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SOBBLE -#if P_FAMILY_SKWOVET -SINGLE_ANIMATION(Skwovet); -SINGLE_ANIMATION(Greedent); -#endif //P_FAMILY_SKWOVET -#if P_FAMILY_ROOKIDEE -SINGLE_ANIMATION(Rookidee); -SINGLE_ANIMATION(Corvisquire); -SINGLE_ANIMATION(Corviknight); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CorviknightGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_ROOKIDEE -#if P_FAMILY_BLIPBUG -SINGLE_ANIMATION(Blipbug); -SINGLE_ANIMATION(Dottler); -SINGLE_ANIMATION(Orbeetle); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(OrbeetleGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_BLIPBUG -#if P_FAMILY_NICKIT -SINGLE_ANIMATION(Nickit); -SINGLE_ANIMATION(Thievul); -#endif //P_FAMILY_NICKIT -#if P_FAMILY_GOSSIFLEUR -SINGLE_ANIMATION(Gossifleur); -SINGLE_ANIMATION(Eldegoss); -#endif //P_FAMILY_GOSSIFLEUR -#if P_FAMILY_WOOLOO -SINGLE_ANIMATION(Wooloo); -SINGLE_ANIMATION(Dubwool); -#endif //P_FAMILY_WOOLOO -#if P_FAMILY_CHEWTLE -SINGLE_ANIMATION(Chewtle); -SINGLE_ANIMATION(Drednaw); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(DrednawGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CHEWTLE -#if P_FAMILY_YAMPER -SINGLE_ANIMATION(Yamper); -SINGLE_ANIMATION(Boltund); -#endif //P_FAMILY_YAMPER -#if P_FAMILY_ROLYCOLY -SINGLE_ANIMATION(Rolycoly); -SINGLE_ANIMATION(Carkol); -SINGLE_ANIMATION(Coalossal); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CoalossalGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_ROLYCOLY -#if P_FAMILY_APPLIN -SINGLE_ANIMATION(Applin); -SINGLE_ANIMATION(Flapple); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(FlappleGmax); -#endif //P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(Appletun); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(AppletunGmax); -#endif //P_GIGANTAMAX_FORMS -#if P_GEN_9_CROSS_EVOS -SINGLE_ANIMATION(Dipplin); -SINGLE_ANIMATION(Hydrapple); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_APPLIN -#if P_FAMILY_SILICOBRA -SINGLE_ANIMATION(Silicobra); -SINGLE_ANIMATION(Sandaconda); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(SandacondaGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SILICOBRA -#if P_FAMILY_CRAMORANT -SINGLE_ANIMATION(Cramorant); -#endif //P_FAMILY_CRAMORANT -#if P_FAMILY_ARROKUDA -SINGLE_ANIMATION(Arrokuda); -SINGLE_ANIMATION(Barraskewda); -#endif //P_FAMILY_ARROKUDA -#if P_FAMILY_TOXEL -SINGLE_ANIMATION(Toxel); -SINGLE_ANIMATION(Toxtricity); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(ToxtricityGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_TOXEL -#if P_FAMILY_SIZZLIPEDE -SINGLE_ANIMATION(Sizzlipede); -SINGLE_ANIMATION(Centiskorch); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CentiskorchGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SIZZLIPEDE -#if P_FAMILY_CLOBBOPUS -SINGLE_ANIMATION(Clobbopus); -SINGLE_ANIMATION(Grapploct); -#endif //P_FAMILY_CLOBBOPUS -#if P_FAMILY_SINISTEA -SINGLE_ANIMATION(Sinistea); -SINGLE_ANIMATION(Polteageist); -#endif //P_FAMILY_SINISTEA -#if P_FAMILY_HATENNA -SINGLE_ANIMATION(Hatenna); -SINGLE_ANIMATION(Hattrem); -SINGLE_ANIMATION(Hatterene); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(HattereneGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_HATENNA -#if P_FAMILY_IMPIDIMP -SINGLE_ANIMATION(Impidimp); -SINGLE_ANIMATION(Morgrem); -SINGLE_ANIMATION(Grimmsnarl); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(GrimmsnarlGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_IMPIDIMP -#if P_FAMILY_MILCERY -SINGLE_ANIMATION(Milcery); -SINGLE_ANIMATION(Alcremie); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(AlcremieGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MILCERY -#if P_FAMILY_FALINKS -SINGLE_ANIMATION(Falinks); -#endif //P_FAMILY_FALINKS -#if P_FAMILY_PINCURCHIN -SINGLE_ANIMATION(Pincurchin); -#endif //P_FAMILY_PINCURCHIN -#if P_FAMILY_SNOM -SINGLE_ANIMATION(Snom); -SINGLE_ANIMATION(Frosmoth); -#endif //P_FAMILY_SNOM -#if P_FAMILY_STONJOURNER -SINGLE_ANIMATION(Stonjourner); -#endif //P_FAMILY_STONJOURNER -#if P_FAMILY_EISCUE -SINGLE_ANIMATION(Eiscue); -#endif //P_FAMILY_EISCUE -#if P_FAMILY_INDEEDEE -SINGLE_ANIMATION(Indeedee); -#endif //P_FAMILY_INDEEDEE -#if P_FAMILY_MORPEKO -SINGLE_ANIMATION(Morpeko); -#endif //P_FAMILY_MORPEKO -#if P_FAMILY_CUFANT -SINGLE_ANIMATION(Cufant); -SINGLE_ANIMATION(Copperajah); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CopperajahGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CUFANT -#if P_FAMILY_DRACOZOLT -SINGLE_ANIMATION(Dracozolt); -#endif //P_FAMILY_DRACOZOLT -#if P_FAMILY_ARCTOZOLT -SINGLE_ANIMATION(Arctozolt); -#endif //P_FAMILY_ARCTOZOLT -#if P_FAMILY_DRACOVISH -SINGLE_ANIMATION(Dracovish); -#endif //P_FAMILY_DRACOVISH -#if P_FAMILY_ARCTOVISH -SINGLE_ANIMATION(Arctovish); -#endif //P_FAMILY_ARCTOVISH -#if P_FAMILY_DURALUDON -SINGLE_ANIMATION(Duraludon); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(DuraludonGmax); -#endif //P_GIGANTAMAX_FORMS -#if P_GEN_9_CROSS_EVOS -SINGLE_ANIMATION(Archaludon); -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_DURALUDON -#if P_FAMILY_DREEPY -SINGLE_ANIMATION(Dreepy); -SINGLE_ANIMATION(Drakloak); -SINGLE_ANIMATION(Dragapult); -#endif //P_FAMILY_DREEPY -#if P_FAMILY_ZACIAN -SINGLE_ANIMATION(Zacian); -#endif //P_FAMILY_ZACIAN -#if P_FAMILY_ZAMAZENTA -SINGLE_ANIMATION(Zamazenta); -#endif //P_FAMILY_ZAMAZENTA -#if P_FAMILY_ETERNATUS -SINGLE_ANIMATION(Eternatus); -#endif //P_FAMILY_ETERNATUS -#if P_FAMILY_KUBFU -SINGLE_ANIMATION(Kubfu); -SINGLE_ANIMATION(Urshifu); -#if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(UrshifuSingleStrikeGmax); -SINGLE_ANIMATION(UrshifuRapidStrikeGmax); -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_KUBFU -#if P_FAMILY_ZARUDE -SINGLE_ANIMATION(Zarude); -#endif //P_FAMILY_ZARUDE -#if P_FAMILY_REGIELEKI -SINGLE_ANIMATION(Regieleki); -#endif //P_FAMILY_REGIELEKI -#if P_FAMILY_REGIDRAGO -SINGLE_ANIMATION(Regidrago); -#endif //P_FAMILY_REGIDRAGO -#if P_FAMILY_GLASTRIER -SINGLE_ANIMATION(Glastrier); -#endif //P_FAMILY_GLASTRIER -#if P_FAMILY_SPECTRIER -SINGLE_ANIMATION(Spectrier); -#endif //P_FAMILY_SPECTRIER -#if P_FAMILY_CALYREX -SINGLE_ANIMATION(Calyrex); -#endif //P_FAMILY_CALYREX -#if P_FAMILY_ENAMORUS -SINGLE_ANIMATION(EnamorusIncarnate); -SINGLE_ANIMATION(EnamorusTherian); -#endif //P_FAMILY_ENAMORUS -#if P_FAMILY_SPRIGATITO -SINGLE_ANIMATION(Sprigatito); -SINGLE_ANIMATION(Floragato); -SINGLE_ANIMATION(Meowscarada); -#endif //P_FAMILY_SPRIGATITO -#if P_FAMILY_FUECOCO -SINGLE_ANIMATION(Fuecoco); -SINGLE_ANIMATION(Crocalor); -SINGLE_ANIMATION(Skeledirge); -#endif //P_FAMILY_FUECOCO -#if P_FAMILY_QUAXLY -SINGLE_ANIMATION(Quaxly); -SINGLE_ANIMATION(Quaxwell); -SINGLE_ANIMATION(Quaquaval); -#endif //P_FAMILY_QUAXLY -#if P_FAMILY_LECHONK -SINGLE_ANIMATION(Lechonk); -SINGLE_ANIMATION(Oinkologne); -#endif //P_FAMILY_LECHONK -#if P_FAMILY_TAROUNTULA -SINGLE_ANIMATION(Tarountula); -SINGLE_ANIMATION(Spidops); -#endif //P_FAMILY_TAROUNTULA -#if P_FAMILY_NYMBLE -SINGLE_ANIMATION(Nymble); -SINGLE_ANIMATION(Lokix); -#endif //P_FAMILY_NYMBLE -#if P_FAMILY_PAWMI -SINGLE_ANIMATION(Pawmi); -SINGLE_ANIMATION(Pawmo); -SINGLE_ANIMATION(Pawmot); -#endif //P_FAMILY_PAWMI -#if P_FAMILY_TANDEMAUS -SINGLE_ANIMATION(Tandemaus); -SINGLE_ANIMATION(Maushold); -#endif //P_FAMILY_TANDEMAUS -#if P_FAMILY_FIDOUGH -SINGLE_ANIMATION(Fidough); -SINGLE_ANIMATION(Dachsbun); -#endif //P_FAMILY_FIDOUGH -#if P_FAMILY_SMOLIV -SINGLE_ANIMATION(Smoliv); -SINGLE_ANIMATION(Dolliv); -SINGLE_ANIMATION(Arboliva); -#endif //P_FAMILY_SMOLIV -#if P_FAMILY_SQUAWKABILLY -SINGLE_ANIMATION(Squawkabilly); -#endif //P_FAMILY_SQUAWKABILLY -#if P_FAMILY_NACLI -SINGLE_ANIMATION(Nacli); -SINGLE_ANIMATION(Naclstack); -SINGLE_ANIMATION(Garganacl); -#endif //P_FAMILY_NACLI -#if P_FAMILY_CHARCADET -SINGLE_ANIMATION(Charcadet); -SINGLE_ANIMATION(Armarouge); -SINGLE_ANIMATION(Ceruledge); -#endif //P_FAMILY_CHARCADET -#if P_FAMILY_TADBULB -SINGLE_ANIMATION(Tadbulb); -SINGLE_ANIMATION(Bellibolt); -#endif //P_FAMILY_TADBULB -#if P_FAMILY_WATTREL -SINGLE_ANIMATION(Wattrel); -SINGLE_ANIMATION(Kilowattrel); -#endif //P_FAMILY_WATTREL -#if P_FAMILY_MASCHIFF -SINGLE_ANIMATION(Maschiff); -SINGLE_ANIMATION(Mabosstiff); -#endif //P_FAMILY_MASCHIFF -#if P_FAMILY_SHROODLE -SINGLE_ANIMATION(Shroodle); -SINGLE_ANIMATION(Grafaiai); -#endif //P_FAMILY_SHROODLE -#if P_FAMILY_BRAMBLIN -SINGLE_ANIMATION(Bramblin); -SINGLE_ANIMATION(Brambleghast); -#endif //P_FAMILY_BRAMBLIN -#if P_FAMILY_TOEDSCOOL -SINGLE_ANIMATION(Toedscool); -SINGLE_ANIMATION(Toedscruel); -#endif //P_FAMILY_TOEDSCOOL -#if P_FAMILY_KLAWF -SINGLE_ANIMATION(Klawf); -#endif //P_FAMILY_KLAWF -#if P_FAMILY_CAPSAKID -SINGLE_ANIMATION(Capsakid); -SINGLE_ANIMATION(Scovillain); -#endif //P_FAMILY_CAPSAKID -#if P_FAMILY_RELLOR -SINGLE_ANIMATION(Rellor); -SINGLE_ANIMATION(Rabsca); -#endif //P_FAMILY_RELLOR -#if P_FAMILY_FLITTLE -SINGLE_ANIMATION(Flittle); -SINGLE_ANIMATION(Espathra); -#endif //P_FAMILY_FLITTLE -#if P_FAMILY_TINKATINK -SINGLE_ANIMATION(Tinkatink); -SINGLE_ANIMATION(Tinkatuff); -SINGLE_ANIMATION(Tinkaton); -#endif //P_FAMILY_TINKATINK -#if P_FAMILY_WIGLETT -SINGLE_ANIMATION(Wiglett); -SINGLE_ANIMATION(Wugtrio); -#endif //P_FAMILY_WIGLETT -#if P_FAMILY_BOMBIRDIER -SINGLE_ANIMATION(Bombirdier); -#endif //P_FAMILY_BOMBIRDIER -#if P_FAMILY_FINIZEN -SINGLE_ANIMATION(Finizen); -SINGLE_ANIMATION(Palafin); -#endif //P_FAMILY_FINIZEN -#if P_FAMILY_VAROOM -SINGLE_ANIMATION(Varoom); -SINGLE_ANIMATION(Revavroom); -#endif //P_FAMILY_VAROOM -#if P_FAMILY_CYCLIZAR -SINGLE_ANIMATION(Cyclizar); -#endif //P_FAMILY_CYCLIZAR -#if P_FAMILY_ORTHWORM -SINGLE_ANIMATION(Orthworm); -#endif //P_FAMILY_ORTHWORM -#if P_FAMILY_GLIMMET -SINGLE_ANIMATION(Glimmet); -SINGLE_ANIMATION(Glimmora); -#endif //P_FAMILY_GLIMMET -#if P_FAMILY_GREAVARD -SINGLE_ANIMATION(Greavard); -SINGLE_ANIMATION(Houndstone); -#endif //P_FAMILY_GREAVARD -#if P_FAMILY_FLAMIGO -SINGLE_ANIMATION(Flamigo); -#endif //P_FAMILY_FLAMIGO -#if P_FAMILY_CETODDLE -SINGLE_ANIMATION(Cetoddle); -SINGLE_ANIMATION(Cetitan); -#endif //P_FAMILY_CETODDLE -#if P_FAMILY_VELUZA -SINGLE_ANIMATION(Veluza); -#endif //P_FAMILY_VELUZA -#if P_FAMILY_DONDOZO -SINGLE_ANIMATION(Dondozo); -#endif //P_FAMILY_DONDOZO -#if P_FAMILY_TATSUGIRI -SINGLE_ANIMATION(Tatsugiri); -#endif //P_FAMILY_TATSUGIRI -#if P_FAMILY_GREAT_TUSK -SINGLE_ANIMATION(GreatTusk); -#endif //P_FAMILY_GREAT_TUSK -#if P_FAMILY_SCREAM_TAIL -SINGLE_ANIMATION(ScreamTail); -#endif //P_FAMILY_SCREAM_TAIL -#if P_FAMILY_BRUTE_BONNET -SINGLE_ANIMATION(BruteBonnet); -#endif //P_FAMILY_BRUTE_BONNET -#if P_FAMILY_FLUTTER_MANE -SINGLE_ANIMATION(FlutterMane); -#endif //P_FAMILY_FLUTTER_MANE -#if P_FAMILY_SLITHER_WING -SINGLE_ANIMATION(SlitherWing); -#endif //P_FAMILY_SLITHER_WING -#if P_FAMILY_SANDY_SHOCKS -SINGLE_ANIMATION(SandyShocks); -#endif //P_FAMILY_SANDY_SHOCKS -#if P_FAMILY_IRON_TREADS -SINGLE_ANIMATION(IronTreads); -#endif //P_FAMILY_IRON_TREADS -#if P_FAMILY_IRON_BUNDLE -SINGLE_ANIMATION(IronBundle); -#endif //P_FAMILY_IRON_BUNDLE -#if P_FAMILY_IRON_HANDS -SINGLE_ANIMATION(IronHands); -#endif //P_FAMILY_IRON_HANDS -#if P_FAMILY_IRON_JUGULIS -SINGLE_ANIMATION(IronJugulis); -#endif //P_FAMILY_IRON_JUGULIS -#if P_FAMILY_IRON_MOTH -SINGLE_ANIMATION(IronMoth); -#endif //P_FAMILY_IRON_MOTH -#if P_FAMILY_IRON_THORNS -SINGLE_ANIMATION(IronThorns); -#endif //P_FAMILY_IRON_THORNS -#if P_FAMILY_FRIGIBAX -SINGLE_ANIMATION(Frigibax); -SINGLE_ANIMATION(Arctibax); -SINGLE_ANIMATION(Baxcalibur); -#endif //P_FAMILY_FRIGIBAX -#if P_FAMILY_GIMMIGHOUL -SINGLE_ANIMATION(Gimmighoul); -SINGLE_ANIMATION(Gholdengo); -#endif //P_FAMILY_GIMMIGHOUL -#if P_FAMILY_WO_CHIEN -SINGLE_ANIMATION(WoChien); -#endif //P_FAMILY_WO_CHIEN -#if P_FAMILY_CHIEN_PAO -SINGLE_ANIMATION(ChienPao); -#endif //P_FAMILY_CHIEN_PAO -#if P_FAMILY_TING_LU -SINGLE_ANIMATION(TingLu); -#endif //P_FAMILY_TING_LU -#if P_FAMILY_CHI_YU -SINGLE_ANIMATION(ChiYu); -#endif //P_FAMILY_CHI_YU -#if P_FAMILY_ROARING_MOON -SINGLE_ANIMATION(RoaringMoon); -#endif //P_FAMILY_ROARING_MOON -#if P_FAMILY_IRON_VALIANT -SINGLE_ANIMATION(IronValiant); -#endif //P_FAMILY_IRON_VALIANT -#if P_FAMILY_KORAIDON -SINGLE_ANIMATION(Koraidon); -#endif //P_FAMILY_KORAIDON -#if P_FAMILY_MIRAIDON -SINGLE_ANIMATION(Miraidon); -#endif //P_FAMILY_MIRAIDON -#if P_FAMILY_WALKING_WAKE -SINGLE_ANIMATION(WalkingWake); -#endif //P_FAMILY_WALKING_WAKE -#if P_FAMILY_IRON_LEAVES -SINGLE_ANIMATION(IronLeaves); -#endif //P_FAMILY_IRON_LEAVES -#if P_FAMILY_POLTCHAGEIST -SINGLE_ANIMATION(Poltchageist); -SINGLE_ANIMATION(Sinistcha); -#endif //P_FAMILY_POLTCHAGEIST -#if P_FAMILY_OKIDOGI -SINGLE_ANIMATION(Okidogi); -#endif //P_FAMILY_OKIDOGI -#if P_FAMILY_MUNKIDORI -SINGLE_ANIMATION(Munkidori); -#endif //P_FAMILY_MUNKIDORI -#if P_FAMILY_FEZANDIPITI -SINGLE_ANIMATION(Fezandipiti); -#endif //P_FAMILY_FEZANDIPITI -#if P_FAMILY_OGERPON -SINGLE_ANIMATION(Ogerpon); -#endif //P_FAMILY_OGERPON -#if P_FAMILY_GOUGING_FIRE -SINGLE_ANIMATION(GougingFire); -#endif //P_FAMILY_GOUGING_FIRE -#if P_FAMILY_RAGING_BOLT -SINGLE_ANIMATION(RagingBolt); -#endif //P_FAMILY_RAGING_BOLT -#if P_FAMILY_IRON_BOULDER -SINGLE_ANIMATION(IronBoulder); -#endif //P_FAMILY_IRON_BOULDER -#if P_FAMILY_IRON_CROWN -SINGLE_ANIMATION(IronCrown); -#endif //P_FAMILY_IRON_CROWN -#if P_FAMILY_TERAPAGOS -SINGLE_ANIMATION(TerapagosNormal); -SINGLE_ANIMATION(TerapagosTerastal); -SINGLE_ANIMATION(TerapagosStellar); -#endif //P_FAMILY_TERAPAGOS -#if P_FAMILY_PECHARUNT -SINGLE_ANIMATION(Pecharunt); -#endif //P_FAMILY_PECHARUNT -SINGLE_ANIMATION(Egg); diff --git a/src/pokemon.c b/src/pokemon.c index fcbde3ba4a..0e86669348 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -676,7 +676,6 @@ const struct NatureInfo gNaturesInfo[NUM_NATURES] = }; #include "data/graphics/pokemon.h" -#include "data/pokemon_graphics/front_pic_anims.h" #include "data/pokemon/trainer_class_lookups.h" #include "data/pokemon/experience_tables.h" From 52666fb54572911327290ad60ca12cf593081112 Mon Sep 17 00:00:00 2001 From: khbsd Date: Mon, 20 Jan 2025 02:41:31 -0600 Subject: [PATCH 03/27] IV/EV Info on Summary Screen (#6027) --- graphics/summary_screen/iv_ev_tiles.png | Bin 0 -> 2311 bytes include/config/pokemon.h | 9 +- include/config/summary_screen.h | 30 ++ include/constants/global.h | 1 + include/pokemon_summary_screen.h | 8 + src/graphics.c | 4 + src/pokemon_summary_screen.c | 484 ++++++++++++++++++++---- 7 files changed, 451 insertions(+), 85 deletions(-) create mode 100644 graphics/summary_screen/iv_ev_tiles.png create mode 100644 include/config/summary_screen.h diff --git a/graphics/summary_screen/iv_ev_tiles.png b/graphics/summary_screen/iv_ev_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..66774f143855008074e06394bb0e3b9733209af4 GIT binary patch literal 2311 zcmZvdeK^zm8^=H2eQjn8NAgr56hfttN=$ipfoJxIJosyG=pDgq+Q&LB4^NS%5-{1OmUH)gXh_bP?oG8)$W1Gcp8)|#rm;+vFwM* zY-KZJXZ^MNYBcg6`(o0tej!uJ;fN!7d}mQVAA8DF3f<)=fs`p`X`jnvQmr$S$?PW* zF_i5u#Q+z@_&hW=lB>Zigfa{j%h=z^|H~_tBB78uJBC(Z00^}e!vg9K>;ph|UTA=S z)Pd}wGCJ*pw}Ir%<28ek&j)!YSfRhkkh=4`-5Urt;Pf7$zU-^-zq_4R1I~%oFXe!rLOx5^#8gl#Ww#vPmrH6v3CEKs}Z_ z-oHNCXLXUYqK=TUY6RNmz#dU;#Y^lrh2*gi-FCy8cHqM#SlrBh1mY5qgv^VCba=|# zvxWq1`*2WkXBYe{>3kAUd)5pJpscc-(np}-jH$zvPnMHS@%_@cm=QH~ex^|$bv(Nu zYmcDJ@h#n+lBss6)>Us9wgABm*k8Tg&J+Ql`ez{%QMLj~tqMKl0!~N5#;q3KHXw?rvU%R|+BRvtIJ? ztSsGwlOLX$nZSwlSv{06m5LVf4(dlC3IG8(1b`+d@H4SwGbz~sD!xwcn(4f;sH>_u z_e+5nW0J0N^{=yrZTTlRY)OA~dB_i+GqfhRk^Kcf?+s>1Y)>(=PXy`<&f6g?K4 z$)WBBJd(cle_A}~r;}#bSG#2(0lW1?CW+TC7KGUWsSf#E0=V)4Tq=riM}l%H>O4U! z33(4a%XgBrW`hP6*zF0Lir>-ThYufCZfpI-HWj!=gPpCq3QZku3U3#sb_~%`WTfic zlrJMwYsW~yXfNz#Js4SNv{p~eq^BMEaEDwDBVS{TKc|x@;&@0Te1%J8-3nvIS+Y6mM_`AY&0yj~UFkM{+td5gL5PvAk~CNsTB;4$i#=0-du(KK92^fW+$ ztDq2$r!(1h!au)lcH4?iFTU5Cs((a~7XNFJ!H~U?u8mN~>8^k7w2SH~(_OrnXOvgW0cW4k*VOc=DQxzn?M4LGMY#hEC!0Wd^&*5AO-ezbtC**fDZAhINO~t%4*L@VQZ07k>|!d~3k? zjON}rN@>S~(yXV4-G^%}k>D?l=<>?k86Zr8+Pq+2(9udY9|F|wwsXs=J&~~6O5+0p zo+zJuQHNv0A+5nt%?We&@IE#ttOT!)(Av87sdtmz&dLZE#@h{$6h+I=nJg%|o*sx$ z;fh06OaA&@zQXc%9rB6}g3j_~h9NzjneQMd z)K~imZe`g}!Xfz7mNU?S^F=p0DG%%;f17)Xk89t65^7>!njXUmYNA)+$wAvAvUfM9 zWe*yZSWYYrjxKhq1s0G&AksFrdWjec!JgStb8(l9;&Sj78&_z?p3fZfUAoWK%E-15 z_VTPcZ4Wc9?eVF!oaq92QA5WMSNtpIh4+pNE^%Jnrj`HJzbMMIYAnxbnqp5l&=9N6 z)6EIMB*l!_ikJ2V2d=-ZAM0VU8&E$qR7|@n@|mxFUB{^;A$D-WFfdbQ#$Wy=ldracZ z1-1c2j{C<%Bd4Mc6_$VdIon5H@a@Yq9q>2l$IVgDte@p9+La5p|6{7WxtGH`u6m>& zRM~xZRDBN~s0Xrj5ddyr;A=gwljt`mK)@9W0l`qFHPQBh}2dWaxL)?^V z=Yrj90V6NUEJ{gI)D2g2$4wPo3$6H!k-ayf+HH{c*`H%;&4J+0&6TO?cZ?d3spuft z$9qdcCTDRQGP2pjrxodPwcovqt zXZr8UV}Yh;J-?t}Ebl+z#>?UxWc6V&pI#0=$m9tuu7bB!wzT-1wEL4m0hj!zYpExO zLvEs%L?xe3&{T8CSw@B9_0y@MhPjImf0bZ{$u?&BxTebjx%vBYQSaQNGbjkZo&hlm zT|DA&M0%yIcfiZ)7D5fxyB&UIHbvai9iT6iGE**T zbsV^6XU^R3B=KwLf1Lkn*t}NzZ5r;|9=bmw0xZ#LqBg%rJMHZE78ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES); break; case 2: - if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == TRUE) - { - sum->nature = GetNature(mon); - sum->mintNature = GetMonData(mon, MON_DATA_HIDDEN_NATURE); - sum->currentHP = GetMonData(mon, MON_DATA_HP); - sum->maxHP = GetMonData(mon, MON_DATA_MAX_HP); - sum->atk = GetMonData(mon, MON_DATA_ATK); - sum->def = GetMonData(mon, MON_DATA_DEF); - sum->spatk = GetMonData(mon, MON_DATA_SPATK); - sum->spdef = GetMonData(mon, MON_DATA_SPDEF); - sum->speed = GetMonData(mon, MON_DATA_SPEED); - } - else - { - sum->nature = GetNature(mon); - sum->mintNature = GetMonData(mon, MON_DATA_HIDDEN_NATURE); - sum->currentHP = GetMonData(mon, MON_DATA_HP); - sum->maxHP = GetMonData(mon, MON_DATA_MAX_HP); - sum->atk = GetMonData(mon, MON_DATA_ATK2); - sum->def = GetMonData(mon, MON_DATA_DEF2); - sum->spatk = GetMonData(mon, MON_DATA_SPATK2); - sum->spdef = GetMonData(mon, MON_DATA_SPDEF2); - sum->speed = GetMonData(mon, MON_DATA_SPEED2); - } + ExtractMonSkillStatsData(mon, sum); break; case 3: GetMonData(mon, MON_DATA_OT_NAME, sum->OTName); @@ -1640,6 +1632,58 @@ static void CloseSummaryScreen(u8 taskId) } } +// Update skills page tilemap +static void ChangeStatLabel(s16 mode) +{ + if (!P_SUMMARY_SCREEN_IV_EV_TILESET) + return; + + u32 statsBlock = 169; + u32 ivsBlock = 221; + u32 evsBlock = 218; + + u32 statsCoordX = 44; + u32 statsCoordY = 102; + + u32 statsLength = 3; + u32 ivEvLength = 2; + + ClearStatLabel(statsLength, statsCoordX, statsCoordY); + + switch (mode) + { + case SUMMARY_SKILLS_MODE_STATS: + WriteToStatsTilemapBuffer(statsLength, statsBlock, statsCoordX, statsCoordY); + break; + case SUMMARY_SKILLS_MODE_IVS: + WriteToStatsTilemapBuffer(ivEvLength, ivsBlock, statsCoordX, statsCoordY); + break; + case SUMMARY_SKILLS_MODE_EVS: + WriteToStatsTilemapBuffer(ivEvLength, evsBlock, statsCoordX, statsCoordY); + break; + } + CopyBgTilemapBufferToVram(1); +} + +static void WriteToStatsTilemapBuffer(u32 length, u32 block, u32 statsCoordX, u32 statsCoordY) +{ + u32 i; + + for (i = 0; i <= length; i++) + FillBgTilemapBufferRect(1, block + i, statsCoordX + i, statsCoordY, 1, 1, 2); +} + +static void ClearStatLabel(u32 length, u32 statsCoordX, u32 statsCoordY) +{ + u32 blankStatsBlock = 1241; + + u32 i; + u32 blankOffset = 3; + + for (i = 0; i <= length; i++) + FillBgTilemapBufferRect(1, blankStatsBlock, statsCoordX + blankOffset + i, statsCoordY, 1, 1, 2); +} + static void Task_HandleInput(u8 taskId) { if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE && !gPaletteFade.active) @@ -1676,12 +1720,21 @@ static void Task_HandleInput(u8 taskId) PlaySE(SE_SELECT); BeginCloseSummaryScreen(taskId); } - else // Contest or Battle Moves + else if (sMonSummaryScreen->currPageIndex == PSS_PAGE_BATTLE_MOVES + || sMonSummaryScreen->currPageIndex == PSS_PAGE_CONTEST_MOVES) { PlaySE(SE_SELECT); SwitchToMoveSelection(taskId); } } + if (sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS) + { + if (ShouldShowIvEvPrompt()) + { + ShowMonSkillsInfo(taskId, IncrementSkillsStatsMode(sMonSummaryScreen->skillsPageMode)); + PlaySE(SE_SELECT); + } + } } else if (JOY_NEW(B_BUTTON)) { @@ -1710,6 +1763,125 @@ static void Task_HandleInput(u8 taskId) } } +static u8 IncrementSkillsStatsMode(u8 mode) +{ + switch (mode) + { + case SUMMARY_SKILLS_MODE_STATS: + if (P_SUMMARY_SCREEN_EV_ONLY) + { + sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_EVS; + return SUMMARY_SKILLS_MODE_EVS; + } + else + { + sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_IVS; + return SUMMARY_SKILLS_MODE_IVS; + } + + case SUMMARY_SKILLS_MODE_IVS: + if (P_SUMMARY_SCREEN_IV_ONLY) + { + sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_STATS; + return SUMMARY_SKILLS_MODE_STATS; + } + else + { + sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_EVS; + return SUMMARY_SKILLS_MODE_EVS; + } + case SUMMARY_SKILLS_MODE_EVS: + default: + sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_STATS; + return SUMMARY_SKILLS_MODE_STATS; + } + +} + +static void ShowMonSkillsInfo(u8 taskId, s16 mode) +{ + struct PokeSummary *sum = &sMonSummaryScreen->summary; + struct Pokemon *mon = &sMonSummaryScreen->currentMon; + + FillWindowPixelBuffer(sMonSummaryScreen->windowIds[PSS_DATA_WINDOW_SKILLS_STATS_LEFT], 0); + FillWindowPixelBuffer(sMonSummaryScreen->windowIds[PSS_DATA_WINDOW_SKILLS_STATS_RIGHT], 0); + + if (sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS) + { + ChangeStatLabel(mode); + ShowUtilityPrompt(mode); + } + + if (mode == SUMMARY_SKILLS_MODE_STATS) + { + ExtractMonSkillStatsData(mon, sum); + BufferLeftColumnStats(); + } + else if (mode == SUMMARY_SKILLS_MODE_IVS) + { + ExtractMonSkillIvData(mon, sum); + BufferLeftColumnIvEvStats(); + } + else if (mode == SUMMARY_SKILLS_MODE_EVS) + { + ExtractMonSkillEvData(mon, sum); + BufferLeftColumnIvEvStats(); + } + + PrintLeftColumnStats(); + BufferRightColumnStats(); + PrintRightColumnStats(); + gTasks[taskId].func = Task_HandleInput; +} + +void ExtractMonSkillStatsData(struct Pokemon *mon, struct PokeSummary *sum) +{ + if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == TRUE) + { + sum->nature = GetNature(mon); + sum->mintNature = GetMonData(mon, MON_DATA_HIDDEN_NATURE); + sum->currentHP = GetMonData(mon, MON_DATA_HP); + sum->maxHP = GetMonData(mon, MON_DATA_MAX_HP); + sum->atk = GetMonData(mon, MON_DATA_ATK); + sum->def = GetMonData(mon, MON_DATA_DEF); + sum->spatk = GetMonData(mon, MON_DATA_SPATK); + sum->spdef = GetMonData(mon, MON_DATA_SPDEF); + sum->speed = GetMonData(mon, MON_DATA_SPEED); + } + else + { + sum->nature = GetNature(mon); + sum->mintNature = GetMonData(mon, MON_DATA_HIDDEN_NATURE); + sum->currentHP = GetMonData(mon, MON_DATA_HP); + sum->maxHP = GetMonData(mon, MON_DATA_MAX_HP); + sum->atk = GetMonData(mon, MON_DATA_ATK2); + sum->def = GetMonData(mon, MON_DATA_DEF2); + sum->spatk = GetMonData(mon, MON_DATA_SPATK2); + sum->spdef = GetMonData(mon, MON_DATA_SPDEF2); + sum->speed = GetMonData(mon, MON_DATA_SPEED2); + } +} + +void ExtractMonSkillIvData(struct Pokemon *mon, struct PokeSummary *sum) +{ + sum->currentHP = GetMonData(mon, MON_DATA_HP_IV); + sum->atk = GetMonData(mon, MON_DATA_ATK_IV); + sum->def = GetMonData(mon, MON_DATA_DEF_IV); + sum->spatk = GetMonData(mon, MON_DATA_SPATK_IV); + sum->spdef = GetMonData(mon, MON_DATA_SPDEF_IV); + sum->speed = GetMonData(mon, MON_DATA_SPEED_IV); +} + +void ExtractMonSkillEvData(struct Pokemon *mon, struct PokeSummary *sum) +{ + sum->currentHP = GetMonData(mon, MON_DATA_HP_EV); + sum->atk = GetMonData(mon, MON_DATA_ATK_EV); + sum->def = GetMonData(mon, MON_DATA_DEF_EV); + sum->spatk = GetMonData(mon, MON_DATA_SPATK_EV); + sum->spdef = GetMonData(mon, MON_DATA_SPDEF_EV); + sum->speed = GetMonData(mon, MON_DATA_SPEED_EV); +} + static void ChangeSummaryPokemon(u8 taskId, s8 delta) { s8 monId; @@ -1781,6 +1953,13 @@ static void Task_ChangeSummaryMon(u8 taskId) sMonSummaryScreen->switchCounter = 0; break; case 4: + if (P_SUMMARY_SCREEN_RENAME && sMonSummaryScreen->currPageIndex == PSS_PAGE_INFO) + ShowUtilityPrompt(SUMMARY_MODE_NORMAL); + if (ShouldShowIvEvPrompt() && sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS) + { + sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_STATS; + ChangeStatLabel(SUMMARY_SKILLS_MODE_STATS); + } if (ExtractMonDataToSummaryStruct(&sMonSummaryScreen->currentMon) == FALSE) { return; @@ -1826,12 +2005,6 @@ static void Task_ChangeSummaryMon(u8 taskId) case 11: PrintPageSpecificText(sMonSummaryScreen->currPageIndex); LimitEggSummaryPageDisplay(); - if (P_SUMMARY_SCREEN_RENAME && sMonSummaryScreen->currPageIndex == PSS_PAGE_INFO) - { - FillWindowPixelBuffer(PSS_LABEL_WINDOW_PROMPT_CANCEL, PIXEL_FILL(0)); - ShowCancelOrRenamePrompt(); - PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_CANCEL); - } break; case 12: gSprites[sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON]].data[2] = 0; @@ -1934,6 +2107,24 @@ static void ChangePage(u8 taskId, s8 delta) SetTaskFuncWithFollowupFunc(taskId, PssScrollLeft, gTasks[taskId].func); CreateTextPrinterTask(sMonSummaryScreen->currPageIndex); HidePageSpecificSprites(); + + if (sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS + || (sMonSummaryScreen->currPageIndex + delta) == PSS_PAGE_SKILLS) + { + struct Pokemon *mon = &sMonSummaryScreen->currentMon; + + if (sMonSummaryScreen->skillsPageMode != SUMMARY_SKILLS_MODE_STATS) + sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_STATS; + + ShowUtilityPrompt(sMonSummaryScreen->skillsPageMode); + ExtractMonSkillStatsData(mon, summary); + BufferLeftColumnStats(); + BufferRightColumnStats(); + } + else + { + ShowUtilityPrompt(SUMMARY_MODE_NORMAL); + } } static void PssScrollRight(u8 taskId) // Scroll right @@ -1982,6 +2173,9 @@ static void PssScrollRightEnd(u8 taskId) // display right static void PssScrollLeft(u8 taskId) // Scroll left { s16 *data = gTasks[taskId].data; + // to fix a specific lag in writing to the stat label + if (sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS) + ChangeStatLabel(SUMMARY_SKILLS_MODE_STATS); if (data[0] == 0) { if (sMonSummaryScreen->bgDisplayOrder == 0) @@ -2045,13 +2239,19 @@ static void SwitchToMoveSelection(u8 taskId) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); HandlePowerAccTilemap(9, -3); HandleAppealJamTilemap(9, -3, move); + if (!sMonSummaryScreen->lockMovesFlag) { - ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); if (ShouldShowMoveRelearner()) ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); - PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_SWITCH); + + ShowUtilityPrompt(SUMMARY_MODE_SELECT_MOVE); } + else + { + ShowUtilityPrompt(SUMMARY_MODE_NORMAL); + } + TilemapFiveMovesDisplay(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, FALSE); TilemapFiveMovesDisplay(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, FALSE); PrintMoveDetails(move); @@ -2083,14 +2283,16 @@ static void Task_HandleInput_MoveSelect(u8 taskId) else if (JOY_NEW(A_BUTTON)) { if (sMonSummaryScreen->lockMovesFlag == TRUE - || (sMonSummaryScreen->newMove == MOVE_NONE && sMonSummaryScreen->firstMoveIndex == MAX_MON_MOVES)) + || (sMonSummaryScreen->newMove == MOVE_NONE && sMonSummaryScreen->firstMoveIndex == MAX_MON_MOVES)) { PlaySE(SE_SELECT); + ShowUtilityPrompt(SUMMARY_MODE_NORMAL); CloseMoveSelectMode(taskId); } else if (HasMoreThanOneMove() == TRUE) { PlaySE(SE_SELECT); + ShowUtilityPrompt(SUMMARY_MODE_SELECT_MOVE); SwitchToMovePositionSwitchMode(taskId); } else @@ -2178,10 +2380,10 @@ static void ChangeSelectedMove(s16 *taskData, s8 direction, u8 *moveIndexPtr) static void CloseMoveSelectMode(u8 taskId) { DestroyMoveSelectorSprites(SPRITE_ARR_ID_MOVE_SELECTOR1); - ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_SWITCH); - PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); if (ShouldShowMoveRelearner()) PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); + + ShowUtilityPrompt(SUMMARY_MODE_NORMAL); PrintMoveDetails(0); TilemapFiveMovesDisplay(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, TRUE); TilemapFiveMovesDisplay(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, TRUE); @@ -2999,8 +3201,6 @@ static void PrintAOrBButtonIcon(u8 windowId, bool8 bButton, u32 x) static void PrintPageNamesAndStats(void) { - int stringXPos; - int iconXPos; int statsXPos; PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_INFO_TITLE, gText_PkmnInfo, 2, 1, 0, 1); @@ -3008,21 +3208,7 @@ static void PrintPageNamesAndStats(void) PrintTextOnWindow(PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE, gText_BattleMoves, 2, 1, 0, 1); PrintTextOnWindow(PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE, gText_ContestMoves, 2, 1, 0, 1); - ShowCancelOrRenamePrompt(); - - stringXPos = GetStringRightAlignXOffset(FONT_NORMAL, gText_Info, 62); - iconXPos = stringXPos - 16; - if (iconXPos < 0) - iconXPos = 0; - PrintAOrBButtonIcon(PSS_LABEL_WINDOW_PROMPT_INFO, FALSE, iconXPos); - PrintTextOnWindow(PSS_LABEL_WINDOW_PROMPT_INFO, gText_Info, stringXPos, 1, 0, 0); - - stringXPos = GetStringRightAlignXOffset(FONT_NORMAL, gText_Switch, 62); - iconXPos = stringXPos - 16; - if (iconXPos < 0) - iconXPos = 0; - PrintAOrBButtonIcon(PSS_LABEL_WINDOW_PROMPT_SWITCH, FALSE, iconXPos); - PrintTextOnWindow(PSS_LABEL_WINDOW_PROMPT_SWITCH, gText_Switch, stringXPos, 1, 0, 0); + ShowUtilityPrompt(SUMMARY_MODE_NORMAL); PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_INFO_RENTAL, gText_RentalPkmn, 0, 1, 0, 1); PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_INFO_TYPE, gText_TypeSlash, 0, 1, 0, 0); @@ -3061,7 +3247,7 @@ static void PutPageWindowTilemaps(u8 page) { case PSS_PAGE_INFO: PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_INFO_TITLE); - PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_CANCEL); + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_UTILITY); if (InBattleFactory() == TRUE || InSlateportBattleTent() == TRUE) PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_INFO_RENTAL); PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_INFO_TYPE); @@ -3071,9 +3257,12 @@ static void PutPageWindowTilemaps(u8 page) PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_LEFT); PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_RIGHT); PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP); + if (ShouldShowIvEvPrompt()) + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_UTILITY); break; case PSS_PAGE_BATTLE_MOVES: PutWindowTilemap(PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE); + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_UTILITY); if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE) { if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES) @@ -3081,13 +3270,13 @@ static void PutPageWindowTilemaps(u8 page) } else { - PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); if (ShouldShowMoveRelearner()) PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); } break; case PSS_PAGE_CONTEST_MOVES: PutWindowTilemap(PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE); + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_UTILITY); if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE) { if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES) @@ -3095,7 +3284,6 @@ static void PutPageWindowTilemaps(u8 page) } else { - PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); if (ShouldShowMoveRelearner()) PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); } @@ -3115,7 +3303,7 @@ static void ClearPageWindowTilemaps(u8 page) switch (page) { case PSS_PAGE_INFO: - ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_CANCEL); + ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_UTILITY); if (InBattleFactory() == TRUE || InSlateportBattleTent() == TRUE) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_INFO_RENTAL); ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_INFO_TYPE); @@ -3124,6 +3312,8 @@ static void ClearPageWindowTilemaps(u8 page) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_LEFT); ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_RIGHT); ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP); + if (ShouldShowIvEvPrompt()) + ClearPageWindowTilemaps(PSS_LABEL_WINDOW_PROMPT_UTILITY); break; case PSS_PAGE_BATTLE_MOVES: if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE) @@ -3136,7 +3326,6 @@ static void ClearPageWindowTilemaps(u8 page) } else { - ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); if (ShouldShowMoveRelearner()) ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); } @@ -3149,7 +3338,6 @@ static void ClearPageWindowTilemaps(u8 page) } else { - ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); if (ShouldShowMoveRelearner()) ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); } @@ -3477,6 +3665,8 @@ static void PrintSkillsPageText(void) { PrintHeldItemName(); PrintRibbonCount(); + if(ShouldShowIvEvPrompt()) + ShowUtilityPrompt(SUMMARY_SKILLS_MODE_STATS); BufferLeftColumnStats(); PrintLeftColumnStats(); BufferRightColumnStats(); @@ -3497,21 +3687,24 @@ static void Task_PrintSkillsPage(u8 taskId) PrintRibbonCount(); break; case 3: - BufferLeftColumnStats(); + ChangeStatLabel(SUMMARY_SKILLS_MODE_STATS); break; case 4: - PrintLeftColumnStats(); + BufferLeftColumnStats(); break; case 5: - BufferRightColumnStats(); + PrintLeftColumnStats(); break; case 6: - PrintRightColumnStats(); + BufferRightColumnStats(); break; case 7: - PrintExpPointsNextLevel(); + PrintRightColumnStats(); break; case 8: + PrintExpPointsNextLevel(); + break; + case 9: DestroyTask(taskId); return; } @@ -3581,10 +3774,38 @@ static void BufferStat(u8 *dst, u8 statIndex, u32 stat, u32 strId, u32 n) else txtPtr = StringCopy(dst, sTextNatureNeutral); - ConvertIntToDecimalStringN(txtPtr, stat, STR_CONV_MODE_RIGHT_ALIGN, n); + if (!P_SUMMARY_SCREEN_IV_EV_VALUES + && sMonSummaryScreen->skillsPageMode == SUMMARY_SKILLS_MODE_IVS) + StringAppend(dst, GetLetterGrade(stat)); + else + ConvertIntToDecimalStringN(txtPtr, stat, STR_CONV_MODE_RIGHT_ALIGN, n); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(strId, dst); } +static const u8 *GetLetterGrade(u32 stat) +{ + static const u8 gText_GradeF[] = _("F"); + static const u8 gText_GradeD[] = _("D"); + static const u8 gText_GradeC[] = _("C"); + static const u8 gText_GradeB[] = _("B"); + static const u8 gText_GradeA[] = _("A"); + static const u8 gText_GradeS[] = _("S"); + + if (stat > 0 && stat <= 15) + return gText_GradeD; + else if (stat > 15 && stat <= 25) + return gText_GradeC; + else if (stat > 26 && stat <= 29) + return gText_GradeB; + else if (stat == 30) + return gText_GradeA; + else if (stat == 31) + return gText_GradeS; + else + return gText_GradeF; +} + static void BufferLeftColumnStats(void) { u8 *currentHPString = Alloc(20); @@ -3593,10 +3814,12 @@ static void BufferLeftColumnStats(void) u8 *defenseString = Alloc(20); DynamicPlaceholderTextUtil_Reset(); - BufferStat(currentHPString, 0, sMonSummaryScreen->summary.currentHP, 0, 3); - BufferStat(maxHPString, 0, sMonSummaryScreen->summary.maxHP, 1, 3); + + BufferStat(currentHPString, STAT_HP, sMonSummaryScreen->summary.currentHP, 0, 3); + BufferStat(maxHPString, STAT_HP, sMonSummaryScreen->summary.maxHP, 1, 3); BufferStat(attackString, STAT_ATK, sMonSummaryScreen->summary.atk, 2, 7); BufferStat(defenseString, STAT_DEF, sMonSummaryScreen->summary.def, 3, 7); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, sStatsLeftColumnLayout); Free(currentHPString); @@ -3605,23 +3828,58 @@ static void BufferLeftColumnStats(void) Free(defenseString); } +static void BufferLeftColumnIvEvStats(void) +{ + u8 *hpIvEvString = Alloc(20); + u8 *attackIvEvString = Alloc(20); + u8 *defenseIvEvString = Alloc(20); + + DynamicPlaceholderTextUtil_Reset(); + + BufferStat(hpIvEvString, STAT_HP, sMonSummaryScreen->summary.currentHP, 0, 7); + BufferStat(attackIvEvString, STAT_ATK, sMonSummaryScreen->summary.atk, 1, 7); + BufferStat(defenseIvEvString, STAT_DEF, sMonSummaryScreen->summary.def, 2, 7); + + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, sStatsLeftIVEVColumnLayout); + + Free(hpIvEvString); + Free(attackIvEvString); + Free(defenseIvEvString); +} + static void PrintLeftColumnStats(void) { - PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, PSS_DATA_WINDOW_SKILLS_STATS_LEFT), gStringVar4, 4, 1, 0, 0); + int x; + + if (sMonSummaryScreen->skillsPageMode == SUMMARY_SKILLS_MODE_IVS && !P_SUMMARY_SCREEN_IV_EV_VALUES) + x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 46); + else + x = 4; + + PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, PSS_DATA_WINDOW_SKILLS_STATS_LEFT), gStringVar4, x, 1, 0, 0); } static void BufferRightColumnStats(void) { DynamicPlaceholderTextUtil_Reset(); + BufferStat(gStringVar1, STAT_SPATK, sMonSummaryScreen->summary.spatk, 0, 3); BufferStat(gStringVar2, STAT_SPDEF, sMonSummaryScreen->summary.spdef, 1, 3); BufferStat(gStringVar3, STAT_SPEED, sMonSummaryScreen->summary.speed, 2, 3); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, sStatsRightColumnLayout); } static void PrintRightColumnStats(void) { - PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, PSS_DATA_WINDOW_SKILLS_STATS_RIGHT), gStringVar4, 2, 1, 0, 0); + int x; + + if (sMonSummaryScreen->skillsPageMode == SUMMARY_SKILLS_MODE_IVS && !P_SUMMARY_SCREEN_IV_EV_VALUES) + x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 20); + else + x = 2; + + PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, PSS_DATA_WINDOW_SKILLS_STATS_RIGHT), gStringVar4, x, 1, 0, 0); } static void PrintExpPointsNextLevel(void) @@ -3651,7 +3909,6 @@ static void PrintBattleMoves(void) PrintMoveNameAndPP(1); PrintMoveNameAndPP(2); PrintMoveNameAndPP(3); - if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE) { PrintNewMoveDetailsOrCancelText(); @@ -4385,6 +4642,7 @@ static inline bool32 ShouldShowMoveRelearner(void) { return (P_SUMMARY_SCREEN_MOVE_RELEARNER && !sMonSummaryScreen->lockMovesFlag + && !sMonSummaryScreen->isBoxMon && sMonSummaryScreen->mode != SUMMARY_MODE_BOX && sMonSummaryScreen->mode != SUMMARY_MODE_BOX_CURSOR && sMonSummaryScreen->relearnableMovesNum > 0 @@ -4397,6 +4655,7 @@ static inline bool32 ShouldShowRename(void) return (P_SUMMARY_SCREEN_RENAME && !sMonSummaryScreen->lockMovesFlag && !sMonSummaryScreen->summary.isEgg + && !sMonSummaryScreen->isBoxMon && sMonSummaryScreen->mode != SUMMARY_MODE_BOX && sMonSummaryScreen->mode != SUMMARY_MODE_BOX_CURSOR && !InBattleFactory() @@ -4404,17 +4663,84 @@ static inline bool32 ShouldShowRename(void) && GetPlayerIDAsU32() == sMonSummaryScreen->summary.OTID); } -static void ShowCancelOrRenamePrompt(void) +static inline bool32 ShouldShowIvEvPrompt(void) { - const u8 *promptText = ShouldShowRename() ? gText_Rename : gText_Cancel2; + if (P_SUMMARY_SCREEN_IV_EV_BOX_ONLY) + { + return (P_SUMMARY_SCREEN_IV_EV_INFO || FlagGet(P_FLAG_SUMMARY_SCREEN_IV_EV_INFO)) + && (sMonSummaryScreen->mode == SUMMARY_MODE_BOX|| sMonSummaryScreen->mode == SUMMARY_MODE_BOX_CURSOR); + } + else if (!P_SUMMARY_SCREEN_IV_EV_BOX_ONLY) + { + return (P_SUMMARY_SCREEN_IV_EV_INFO || FlagGet(P_FLAG_SUMMARY_SCREEN_IV_EV_INFO)); + } + return FALSE; +} + +static inline void ShowUtilityPrompt(s16 mode) +{ + const u8* promptText = NULL; + const u8* gText_SkillPageIvs = COMPOUND_STRING("IVs"); + const u8* gText_SkillPageEvs = COMPOUND_STRING("EVs"); + const u8* gText_SkillPageStats = COMPOUND_STRING("STATS"); + + if (sMonSummaryScreen->currPageIndex == PSS_PAGE_INFO) + { + if (ShouldShowRename()) + promptText = gText_Rename; + else + promptText = gText_Cancel2; + } + else if (sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS) + { + if (ShouldShowIvEvPrompt()) + { + if (mode == SUMMARY_SKILLS_MODE_STATS) + { + if (P_SUMMARY_SCREEN_EV_ONLY) + promptText = gText_SkillPageEvs; + else + promptText = gText_SkillPageIvs; + } + else if (mode == SUMMARY_SKILLS_MODE_IVS) + { + if (P_SUMMARY_SCREEN_IV_ONLY) + promptText = gText_SkillPageStats; + else + promptText = gText_SkillPageEvs; + } + else if (mode == SUMMARY_SKILLS_MODE_EVS) + { + promptText = gText_SkillPageStats; + } + } + } + else if (sMonSummaryScreen->currPageIndex == PSS_PAGE_BATTLE_MOVES + || sMonSummaryScreen->currPageIndex == PSS_PAGE_CONTEST_MOVES) + { + if (mode == SUMMARY_MODE_SELECT_MOVE && !sMonSummaryScreen->lockMovesFlag) + promptText = gText_Switch; + else + promptText = gText_Info; + } + + if (promptText == NULL) + { + ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_UTILITY); + FillWindowPixelBuffer(PSS_LABEL_WINDOW_PROMPT_UTILITY, PIXEL_FILL(0)); + return; + } + + FillWindowPixelBuffer(PSS_LABEL_WINDOW_PROMPT_UTILITY, PIXEL_FILL(0)); + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_UTILITY); int stringXPos = GetStringRightAlignXOffset(FONT_NORMAL, promptText, 62); int iconXPos = stringXPos - 16; if (iconXPos < 0) iconXPos = 0; - PrintAOrBButtonIcon(PSS_LABEL_WINDOW_PROMPT_CANCEL, FALSE, iconXPos); - PrintTextOnWindow(PSS_LABEL_WINDOW_PROMPT_CANCEL, promptText, stringXPos, 1, 0, 0); + PrintAOrBButtonIcon(PSS_LABEL_WINDOW_PROMPT_UTILITY, FALSE, iconXPos); + PrintTextOnWindow(PSS_LABEL_WINDOW_PROMPT_UTILITY, promptText, stringXPos, 1, 0, 0); } static void CB2_ReturnToSummaryScreenFromNamingScreen(void) From 4bcb07a6a79e8ea53ade8a84e591181be3b566f8 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Mon, 20 Jan 2025 02:49:20 -0600 Subject: [PATCH 04/27] Add Clodsire second frame and fixed Grookey backsprite + overworld (#6047) --- graphics/pokemon/clodsire/anim_front.png | Bin 0 -> 1448 bytes graphics/pokemon/clodsire/back.png | Bin 539 -> 813 bytes graphics/pokemon/clodsire/front.png | Bin 698 -> 0 bytes graphics/pokemon/clodsire/normal.pal | 28 ++++++++++---------- graphics/pokemon/clodsire/shiny.pal | 26 +++++++++--------- graphics/pokemon/grookey/back.png | Bin 591 -> 949 bytes graphics/pokemon/grookey/overworld.png | Bin 783 -> 653 bytes src/data/graphics/pokemon.h | 2 +- src/data/pokemon_graphics/front_pic_anims.h | 2 +- test/battle/trainer_control.h | 2 +- 10 files changed, 30 insertions(+), 30 deletions(-) create mode 100644 graphics/pokemon/clodsire/anim_front.png delete mode 100755 graphics/pokemon/clodsire/front.png diff --git a/graphics/pokemon/clodsire/anim_front.png b/graphics/pokemon/clodsire/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..1630189f6256f7e51ea054c5dad5cf9a373475f0 GIT binary patch literal 1448 zcmV;Z1y}lsP)EX>4Tx04R}tkv&MmP!xqvQ$>-AiUma+GE{M}AS&W0RV;#q(pG5I!Q`cX(4-+r zad8w}3l9D)RvlcNb#-tR1i>E=cfm=~MM}IcDYS_3!sC6MchBLy`v9R9ommw-Ug1L@2GEN!iJ5vVxtM}yece+x)m@lpdH4NU-AdMEfKMczW4d7xZxGLH zS~}-_;vg$X3h_DdxIq^re&o9B@*C&8!vfC?8mYuQagbQdx3Jv8tYE0b)5IY~)hJ&` zyR2~D;;fb`tZ`5N!a!DANphXmFrrvO3~`8%Q9%(USP0Xukzyi2=MfM8kmHY&OD0zl zj2sInLxtq{!T;d*Y|Y%%q?;6o0PQcf{V@V`>;m?2VCv|gHO6-NRH&ECFF9z`x$*x2I#*9y4KveHO_JR0HkPE%QwKm zAuyV!>~)WKcec*$-=4<&egKIYaPmqaX}L zXInu*l>h(RO+t_WL2YLq%|mNj?lA<>-u(PL@x&8PJTVL>;w$x>V_B9@8A8p3W%1qz zj2m+A=4qO0`LfL0=KZ>^*9;GX=T@Ew39+6NJPmHu88N3UuJmU?h%v!0;R*l~IR&)Q z0VScUDC*5bVa(Yyh!6s;N(}%x66`5trW`=-F(koHZ4knkd?X1Vrw@`qC$=d%R)uhW z^)4S4f;Aw2rvQc-6P)v~LFm9anSwQM5dzXqBM~?x!Ps{lJR{TOAa}b2{M0GD-?Rlo zNu&bs`*H$E`cSHomlkyf16QdASS5kJlx|6Sit1vLDZDUR04HGv`T}_U<9KP;ggF7& zN)9ms*!0@&O-kX8-oWC5yxZHs)cSD(R=>+4;976h?33Q!n1EI5M-@Ook-y}QGDrF_ z3IpyNeFX#loX=iuNW&j!?xcp}(CQ~3Os3jFS)M0@dBg5NLRSTgUxxNR!209sOt5_o z@S=rTw6_vk?#zWZlBthMkXjxu);kR(K)U0eJeqLpLt=qXAkUHj<^qs}gJ1ZDuPpw} zz{RuX)_;UC;#cw~o_OMkzls=tso(ay1pQR|w%rBn+Q_)w21Iq_p8#$aVdsId`Sw#l z6nVIS32giER5>F>9+&~}XB^zkUIF4+IS_y;L>lkVS*>eIV9yUWb)6~z42@H$XfP8OGaTu@)M+YGTb`-&sz^z?h z5K%TD4#JKzfV|>mCbGjo z`_T|!DtL2I0l9%P60_r@Ec66Ul?NeEO~2MJxV?g3mH&J#z_}3t!ea-aYCrV)QAZ{L zRvce9Fz(IZAkdK{c#(0{E@)dI+5FSH7l7c7@zNpY!w%4P4}7cce9twY^nloT>4egJ zXb8obv1e;3x&1)yp9!LYVN9R#x*rEsveB#fx$ld2WH$ppdYZUInWyc zIEg`fX`+p8zjptDmO<;A+$IF0_FX;7=H)@0001;w}I>c00D++LqkwWLqi~Na&Km7Y-IodD3N`UJxIe) z6opSyMUje%1w|Y(RB^B%D&i!IHxu2nOID)F5Td`@ik3v1n9K z)7#GaAAdXLs{-})+S%Fp7r~sbs=bGU^Bh4Br98zyAP^zu_>zdfUZoIA0)m`X;i~ty z)W}r8s#riK0!rmIG86{&nec;p8rCzRAA!!WBIv*wra%Ctx*ILX4nJPMu9{?YJYhPz(atAd^LOJ0g#AX4+DU=aQJVq zBOqOr7=WW&fE57WRJRWv0>pr{LK$$v9;7wI3Giv6asY@2c;g801K>>cJj`x|Zh#Yk zs{sY*R_FsbN8$l`pjn~P14FAopR3*&wFeU*jle`f9^@)ZT*{5Z3VbB`kva gDjV+X?EKyQ07XVH0SXOlKL7v#07*qoM6N<$f);CXxc~qF delta 526 zcmV+p0`dK=2Ac$s7=Hu<00013M{Ml?000McNliru=K~KDI2I*+|DON=02g#cSaefw zW^{L9a%BKVOhiylM<8}(av(DOV1ZP1_ zK>z@;j|==^1poj5Fi=cXMVQc_N<&(IbdPIcd@d*~5D*Zco`1#7w5lj1Ab)?IS5l1sUjW#OR%*Jei9-%6AKGZi7)Zx*p7IB_Mam8%kh7{WU;v9 ze6wt1p61W%YkwlMnMGK5ZLRt?71eu9ap`XdxLCf1aK4ula~yy zEeCj?Vql;{1jtV{uy?;^U+R+7HP|Xo!T-=7H6V8|74Rql!N5;>$ywwN*EEP=k;AC1 Q00000Ne4wvM6N<$f*$(PK>z>% diff --git a/graphics/pokemon/clodsire/front.png b/graphics/pokemon/clodsire/front.png deleted file mode 100755 index 2722b7eb7013fd0338a58bb7644911bca78f9d73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 698 zcmV;r0!96aP)G1 z6F4dg5`!23000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPP{gc2H@u->b~C% z6$6d;AO9Wz8lUdCu**LVs5)PuYji()bms#ipoU>I>F(FK0v6a0Ba=5r70j?kY$0!) ze=nVBeVr>+eCq&{>o4fn(x>BFLoO@c)tJgsYCNal+d3t=R)y$+LgamSLR(I(sL_27 zv?|JOTGSrw1oIW4!z!t%ga)_vJrF9nKP?CR$=DIxo gLqxc00D++LqkwWLqi~Na&Km7Y-IodD3N`UJxIe) z6opSyMUje%1w|Y(RB^B%D&i##;c<-vK~i0>F#}0p0@DPa41&L&yvW3joQQh3eZ3OeG)| zG;2k~6$6@tAs{Z+PzeHAE+N99N0OK)fFQV_NGYYqV}YAxKk?mbDUR0uh&l!*4Fg3XV5`lF1**1;C*` z6Y}Y-9|45$2`GB^4)Cn60MZ(+0ld;j%yMq6u9~ZaSNc2{jsdL`eqNvg$OoWaG#(|W z`XF2AWngJyybkn#Gq9gD0b~YtkI(`Lfp7TP1yBzl8xrBwt)d*#21J?BK48;B+630` zy%dCiJqxY@L$oab4m~vOI`~>!SPc&&dTvD}T$mX7vxYkIx-e=J{Mz~YJWU3u?r!Xr z#_|@{25hNs+yvb|!15NNsme_2C+z!k@6JLY;Crv02;nJ5Fi}HSxa}2D{-GUl@PY%@D7NE0Li!vOfbI#8h0OW+3qO+3Wn5zv}E>wBq}9;T>gmOMz` zf9nKbMrK(^^IdJxbfGN^ey(;<>#)$a1s}VDhlup?)C905G>Guh^f0pkkQU$*;MZz1 z>H}EB8^GJy2K=}Q&;tq^6(XXW+q(z-9yjbE1wFul${t)unqaC9tLi#Y52=BfQmdPb zQHwzwHJ;qf1aAGy>1+dfkAH}y+$bUBR{28SLg#B}fxELvJc0*h3WXdA^d2V?&;*2&MNm&JGh0000< KMNUMnLSTaW=HQ0_ diff --git a/graphics/pokemon/grookey/overworld.png b/graphics/pokemon/grookey/overworld.png index 2fb83529569e83109c93a2b68fb969b4f40655c7..928fd09bc4cf26c72773cf4577e24222ecf28645 100644 GIT binary patch delta 581 zcmV-L0=oT=28{)f7#0Wv0001UMu)cm0004VQb$4nuFf3kks&{S3rR#lR9J=WmQi5*}QA8n?TGV$A*EEd6f_yb%=a?h=(J;{E zqsIyR@gRr20D~icnMc&&%uHB-@ckE#?ft+3dA6>3pF@DihTspl2$&7QJ3QCDZ;7!0gKi6u$-ztiU5@WFVD08OG|=M?JPgX_-`d1I^#sN<0z z-3=Ja54f6t9PsAQGkkDE5K@W|#FS?B4Cem7To&@axRa;N$O57KLJ(StSKH@V!BnN!36TrUwin0bbCEi`L`LM_1A8jkg4{>FG| zMF}npURzaEI_w757G{kX1(GlqkPTw<3jfCVX^Jf*K1dNZ@LhBS{m%HNdv%IWu~sZy T;?sSU00000NkvXXu0mjfQu!TC delta 712 zcmV;(0yq7Q1&;=h7zqRe0002CwraMKEORd5$C^`N36J&1>FEyJ5T3{Qe(f-(3)dl1`dkiMgxY>llXGXl-0lK5B~w)z9+ho z(@<`}w2*oB)E<~IVYPw~WFTWFH8y|C0Oi@yns11tt{g_u1jjX0xvHX_blXeeYCWIA( zA(nbb$!%?JHNnVgUn>TfwE=atvZfm#Rt%)bgl*%n4IYP8*~ryJS@~tb;Cz2|^aAW8 zGlaRiRV1Ppdy~O&@&AAfd~)OrRPu!T!HJonZl#OG$~7=ybuXIU@9XGV(mQB8qK|3j z$Zq@sSO^v|moBGRhgew5*RYrs^>rYv!9?jh*-ab@ub{8?Wf(-HM{njqTqbg~^SL;6 zPpIY5Ub0ot>`#BeJ*;=QtuTL!R_>*45$k{bcf~@2=#tR3+Si3Rc4f8CpCbm$JC5D9 zPDU`e!m*x(oX$)#%W{)MA3DC75WVGvJv*BY5G0Pw2;% z`Xk_y5GNz>5pQq*g#~orygpw{_q-$>2Id{E8z>=lx>htF{Os6*b*6(l uhB Date: Mon, 20 Jan 2025 16:44:22 +0100 Subject: [PATCH 05/27] Clean up array access by using index instead of dereferencing the value (#6057) --- src/battle_ai_main.c | 2 +- src/battle_ai_switch_items.c | 6 +- src/battle_controller_player.c | 6 +- src/battle_controller_player_partner.c | 2 +- src/battle_controller_recorded_opponent.c | 4 +- src/battle_controller_recorded_player.c | 4 +- src/battle_main.c | 82 +++++++++++------------ src/battle_script_commands.c | 40 +++++------ src/battle_util.c | 30 ++++----- src/recorded_battle.c | 2 +- 10 files changed, 89 insertions(+), 89 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 8482716f5b..e699cb977f 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1707,7 +1707,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) || !IsBattlerAlive(BATTLE_PARTNER(battlerAtk)) || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove) || (aiData->partnerMove != MOVE_NONE && IsBattleMoveStatus(aiData->partnerMove)) - || *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(battlerAtk)) != PARTY_SIZE) //Partner is switching out. + || gBattleStruct->monToSwitchIntoId[BATTLE_PARTNER(battlerAtk)] != PARTY_SIZE) //Partner is switching out. ADJUST_SCORE(-10); break; case EFFECT_TRICK: diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 93148d8b83..6e7288f95c 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -1120,7 +1120,7 @@ void AI_TrySwitchOrUseItem(u32 battler) gBattleStruct->AI_monToSwitchIntoId[battler] = monToSwitchId; } - *(gBattleStruct->monToSwitchIntoId + battler) = gBattleStruct->AI_monToSwitchIntoId[battler]; + gBattleStruct->monToSwitchIntoId[battler] = gBattleStruct->AI_monToSwitchIntoId[battler]; AI_DATA->monToSwitchInId[battler] = gBattleStruct->AI_monToSwitchIntoId[battler]; return; } @@ -1984,8 +1984,8 @@ u32 GetMostSuitableMonToSwitchInto(u32 battler, bool32 switchAfterMonKOd) s32 lastId = 0; // + 1 struct Pokemon *party; - if (*(gBattleStruct->monToSwitchIntoId + battler) != PARTY_SIZE) - return *(gBattleStruct->monToSwitchIntoId + battler); + if (gBattleStruct->monToSwitchIntoId[battler] != PARTY_SIZE) + return gBattleStruct->monToSwitchIntoId[battler]; if (gBattleTypeFlags & BATTLE_TYPE_ARENA) return gBattlerPartyIndexes[battler] + 1; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 1e5996f780..e759bb9953 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -2043,7 +2043,7 @@ static void PlayerHandleChooseAction(u32 battler) if (B_SHOW_PARTNER_TARGET && gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && IsBattlerAlive(B_POSITION_PLAYER_RIGHT)) { StringCopy(gStringVar1, COMPOUND_STRING("Partner will use:\n")); - u32 move = gBattleMons[B_POSITION_PLAYER_RIGHT].moves[*(gBattleStruct->chosenMovePositions + B_POSITION_PLAYER_RIGHT)]; + u32 move = gBattleMons[B_POSITION_PLAYER_RIGHT].moves[gBattleStruct->chosenMovePositions[B_POSITION_PLAYER_RIGHT]]; StringAppend(gStringVar1, GetMoveName(move)); u32 moveTarget = GetBattlerMoveTargetType(B_POSITION_PLAYER_RIGHT, move); if (moveTarget == MOVE_TARGET_SELECTED) @@ -2107,7 +2107,7 @@ void HandleChooseMoveAfterDma3(u32 battler) static void PlayerChooseMoveInBattlePalace(u32 battler) { - if (--*(gBattleStruct->arenaMindPoints + battler) == 0) + if (--gBattleStruct->arenaMindPoints[battler] == 0) { gBattlePalaceMoveSelectionRngValue = gRngValue; BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace(battler)); @@ -2119,7 +2119,7 @@ void PlayerHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - *(gBattleStruct->arenaMindPoints + battler) = 8; + gBattleStruct->arenaMindPoints[battler] = 8; gBattlerControllerFuncs[battler] = PlayerChooseMoveInBattlePalace; } else diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 1fcc4fbef7..4c3163dd9a 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -405,7 +405,7 @@ static void PlayerPartnerHandleChoosePokemon(u32 battler) } } } - *(gBattleStruct->monToSwitchIntoId + battler) = chosenMonId; + gBattleStruct->monToSwitchIntoId[battler] = chosenMonId; } else // Mon to switch out has been already chosen. { diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 7cffc5fd5b..da6dc9f133 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -484,9 +484,9 @@ static void RecordedOpponentHandleChooseItem(u32 battler) static void RecordedOpponentHandleChoosePokemon(u32 battler) { - *(gBattleStruct->monToSwitchIntoId + battler) = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, battler); + gBattleStruct->monToSwitchIntoId[battler] = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, battler); gSelectedMonPartyId = gBattleStruct->monToSwitchIntoId[battler]; // Revival Blessing - BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, *(gBattleStruct->monToSwitchIntoId + battler), NULL); + BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, gBattleStruct->monToSwitchIntoId[battler], NULL); RecordedOpponentBufferExecCompleted(battler); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 568051bd8c..2ca57d7af8 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -477,9 +477,9 @@ static void RecordedPlayerHandleChooseItem(u32 battler) static void RecordedPlayerHandleChoosePokemon(u32 battler) { - *(gBattleStruct->monToSwitchIntoId + battler) = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, battler); + gBattleStruct->monToSwitchIntoId[battler] = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, battler); gSelectedMonPartyId = gBattleStruct->monToSwitchIntoId[battler]; // Revival Blessing - BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, *(gBattleStruct->monToSwitchIntoId + battler), NULL); + BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, gBattleStruct->monToSwitchIntoId[battler], NULL); RecordedPlayerBufferExecCompleted(battler); } diff --git a/src/battle_main.c b/src/battle_main.c index 5c1b999ab9..b47df2fb2f 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3198,9 +3198,9 @@ void SwitchInClearSetData(u32 battler) { if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(battler)) gBattleMons[i].status2 &= ~STATUS2_INFATUATED_WITH(battler); - if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == battler) + if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && gBattleStruct->wrappedBy[i] == battler) gBattleMons[i].status2 &= ~STATUS2_WRAPPED; - if ((gStatuses4[i] & STATUS4_SYRUP_BOMB) && *(gBattleStruct->stickySyrupdBy + i) == battler) + if ((gStatuses4[i] & STATUS4_SYRUP_BOMB) && gBattleStruct->stickySyrupdBy[i] == battler) gStatuses4[i] &= ~STATUS4_SYRUP_BOMB; } @@ -3313,9 +3313,9 @@ const u8* FaintClearSetData(u32 battler) gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(battler)) gBattleMons[i].status2 &= ~STATUS2_INFATUATED_WITH(battler); - if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == battler) + if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && gBattleStruct->wrappedBy[i] == battler) gBattleMons[i].status2 &= ~STATUS2_WRAPPED; - if ((gStatuses4[i] & STATUS4_SYRUP_BOMB) && *(gBattleStruct->stickySyrupdBy + i) == battler) + if ((gStatuses4[i] & STATUS4_SYRUP_BOMB) && gBattleStruct->stickySyrupdBy[i] == battler) gStatuses4[i] &= ~STATUS4_SYRUP_BOMB; } @@ -3931,7 +3931,7 @@ static void TryDoEventsBeforeFirstTurn(void) case FIRST_TURN_EVENTS_END: for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - *(gBattleStruct->monToSwitchIntoId + i) = PARTY_SIZE; + gBattleStruct->monToSwitchIntoId[i] = PARTY_SIZE; gChosenActionByBattler[i] = B_ACTION_NONE; gChosenMoveByBattler[i] = MOVE_NONE; gBattleStruct->battlerState[i].absentBattlerFlags = gAbsentBattlerFlags & (1u << i); @@ -4052,10 +4052,15 @@ void BattleTurnPassed(void) gChosenActionByBattler[i] = B_ACTION_NONE; gChosenMoveByBattler[i] = MOVE_NONE; gBattleStruct->battlerState[i].absentBattlerFlags = gAbsentBattlerFlags & (1u << i); + gBattleStruct->monToSwitchIntoId[i] = PARTY_SIZE; } - for (i = 0; i < MAX_BATTLERS_COUNT; i++) - *(gBattleStruct->monToSwitchIntoId + i) = PARTY_SIZE; + for (i = 0; i < NUM_BATTLE_SIDES; i++) + { + if (gSideTimers[i].retaliateTimer > 0) + gSideTimers[i].retaliateTimer--; + + } BattlePutTextOnWindow(gText_EmptyString3, B_WIN_MSG); AssignUsableGimmicks(); @@ -4063,11 +4068,6 @@ void BattleTurnPassed(void) SetAiLogicDataForTurn(AI_DATA); // get assumed abilities, hold effects, etc of all battlers gBattleMainFunc = HandleTurnActionSelectionState; - if (gSideTimers[B_SIDE_PLAYER].retaliateTimer > 0) - gSideTimers[B_SIDE_PLAYER].retaliateTimer--; - if (gSideTimers[B_SIDE_OPPONENT].retaliateTimer > 0) - gSideTimers[B_SIDE_OPPONENT].retaliateTimer--; - if (gBattleTypeFlags & BATTLE_TYPE_PALACE) BattleScriptExecute(BattleScript_PalacePrintFlavorText); else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaTurnCounter == 0) @@ -4168,7 +4168,7 @@ void SwitchPartyOrder(u32 battler) gBattlePartyCurrentOrder[i] = *(battler * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)); partyId1 = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battler]); - partyId2 = GetPartyIdFromBattlePartyId(*(gBattleStruct->monToSwitchIntoId + battler)); + partyId2 = GetPartyIdFromBattlePartyId(gBattleStruct->monToSwitchIntoId[battler]); SwitchPartyMonSlots(partyId1, partyId2); if (IsDoubleBattle()) @@ -4204,7 +4204,7 @@ enum void SetupAISwitchingData(u32 battler, bool32 isAiRisky) { s32 opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); - + // AI's data AI_DATA->mostSuitableMonId[battler] = GetMostSuitableMonToSwitchInto(battler, isAiRisky); if (ShouldSwitch(battler)) @@ -4219,7 +4219,7 @@ void SetupAISwitchingData(u32 battler, bool32 isAiRisky) if (ShouldSwitch(opposingBattler)) AI_DATA->shouldSwitch |= (1u << opposingBattler); AI_DATA->aiSwitchPredictionInProgress = FALSE; - + // Determine whether AI will use predictions this turn AI_DATA->predictingSwitch = RandomPercentage(RNG_AI_PREDICT_SWITCH, 50); } @@ -4257,7 +4257,7 @@ static void HandleTurnActionSelectionState(void) } // fallthrough case STATE_BEFORE_ACTION_CHOSEN: // Choose an action. - *(gBattleStruct->monToSwitchIntoId + battler) = PARTY_SIZE; + gBattleStruct->monToSwitchIntoId[battler] = PARTY_SIZE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI || (position & BIT_FLANK) == B_FLANK_LEFT || gBattleStruct->battlerState[GetBattlerAtPosition(BATTLE_PARTNER(position))].absentBattlerFlags @@ -4310,15 +4310,15 @@ static void HandleTurnActionSelectionState(void) if (AreAllMovesUnusable(battler)) { gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + battler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_WAIT_ACTION_CONFIRMED_STANDBY; - *(gBattleStruct->moveTarget + battler) = gBattleResources->bufferB[battler][3]; + gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->stateIdAfterSelScript[battler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + gBattleStruct->moveTarget[battler] = gBattleResources->bufferB[battler][3]; return; } else if (gDisableStructs[battler].encoredMove != 0) { gChosenMoveByBattler[battler] = gDisableStructs[battler].encoredMove; - *(gBattleStruct->chosenMovePositions + battler) = gDisableStructs[battler].encoredMovePos; + gBattleStruct->chosenMovePositions[battler] = gDisableStructs[battler].encoredMovePos; gBattleCommunication[battler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; return; } @@ -4352,8 +4352,8 @@ static void HandleTurnActionSelectionState(void) RecordedBattle_ClearBattlerAction(battler, 1); gSelectionBattleScripts[battler] = BattleScript_ActionSelectionItemsCantBeUsed; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + battler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_BEFORE_ACTION_CHOSEN; + gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->stateIdAfterSelScript[battler] = STATE_BEFORE_ACTION_CHOSEN; return; } @@ -4368,8 +4368,8 @@ static void HandleTurnActionSelectionState(void) RecordedBattle_ClearBattlerAction(battler, 1); gSelectionBattleScripts[battler] = BattleScript_ActionSelectionItemsCantBeUsed; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + battler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_BEFORE_ACTION_CHOSEN; + gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->stateIdAfterSelScript[battler] = STATE_BEFORE_ACTION_CHOSEN; return; } else @@ -4379,7 +4379,7 @@ static void HandleTurnActionSelectionState(void) } break; case B_ACTION_SWITCH: - *(gBattleStruct->battlerPartyIndexes + battler) = gBattlerPartyIndexes[battler]; + gBattleStruct->battlerPartyIndexes[battler] = gBattlerPartyIndexes[battler]; if (gBattleTypeFlags & BATTLE_TYPE_ARENA || !CanBattlerEscape(battler)) { @@ -4393,9 +4393,9 @@ static void HandleTurnActionSelectionState(void) else { if (battler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, gBattleStruct->monToSwitchIntoId[0], ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); else if (battler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, gBattleStruct->monToSwitchIntoId[1], ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); else BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); } @@ -4406,8 +4406,8 @@ static void HandleTurnActionSelectionState(void) { gSelectionBattleScripts[battler] = BattleScript_PrintFullBox; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + battler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_BEFORE_ACTION_CHOSEN; + gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->stateIdAfterSelScript[battler] = STATE_BEFORE_ACTION_CHOSEN; return; } break; @@ -4467,8 +4467,8 @@ static void HandleTurnActionSelectionState(void) { gSelectionBattleScripts[battler] = BattleScript_AskIfWantsToForfeitMatch; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT_MAY_RUN; - *(gBattleStruct->selectionScriptFinished + battler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_BEFORE_ACTION_CHOSEN; + gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->stateIdAfterSelScript[battler] = STATE_BEFORE_ACTION_CHOSEN; return; } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER @@ -4484,8 +4484,8 @@ static void HandleTurnActionSelectionState(void) { gSelectionBattleScripts[battler] = BattleScript_PrintCantEscapeFromBattle; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + battler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_BEFORE_ACTION_CHOSEN; + gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->stateIdAfterSelScript[battler] = STATE_BEFORE_ACTION_CHOSEN; return; } else @@ -4526,9 +4526,9 @@ static void HandleTurnActionSelectionState(void) { RecordedBattle_ClearBattlerAction(battler, 1); gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + battler) = FALSE; + gBattleStruct->selectionScriptFinished[battler] = FALSE; gBattleResources->bufferB[battler][1] = B_ACTION_USE_MOVE; - *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_WAIT_ACTION_CHOSEN; + gBattleStruct->stateIdAfterSelScript[battler] = STATE_WAIT_ACTION_CHOSEN; return; } else @@ -4657,9 +4657,9 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_SELECTION_SCRIPT: - if (*(gBattleStruct->selectionScriptFinished + battler)) + if (gBattleStruct->selectionScriptFinished[battler]) { - gBattleCommunication[battler] = *(gBattleStruct->stateIdAfterSelScript + battler); + gBattleCommunication[battler] = gBattleStruct->stateIdAfterSelScript[battler]; } else { @@ -4679,7 +4679,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_SELECTION_SCRIPT_MAY_RUN: - if (*(gBattleStruct->selectionScriptFinished + battler)) + if (gBattleStruct->selectionScriptFinished[battler]) { if (gBattleResources->bufferB[battler][1] == B_ACTION_NOTHING_FAINTED) { @@ -4690,7 +4690,7 @@ static void HandleTurnActionSelectionState(void) else { RecordedBattle_ClearBattlerAction(battler, 1); - gBattleCommunication[battler] = *(gBattleStruct->stateIdAfterSelScript + battler); + gBattleCommunication[battler] = gBattleStruct->stateIdAfterSelScript[battler]; } } else @@ -4732,7 +4732,7 @@ static void HandleTurnActionSelectionState(void) for (i = 0; i < gBattlersCount; i++) { if (gChosenActionByBattler[i] == B_ACTION_SWITCH) - SwitchPartyOrderInGameMulti(i, *(gBattleStruct->monToSwitchIntoId + i)); + SwitchPartyOrderInGameMulti(i, gBattleStruct->monToSwitchIntoId[battler]); } } } @@ -4862,7 +4862,7 @@ s8 GetChosenMovePriority(u32 battler) if (gProtectStructs[battler].noValidMoves) move = MOVE_STRUGGLE; else - move = gBattleMons[battler].moves[*(gBattleStruct->chosenMovePositions + battler)]; + move = gBattleMons[battler].moves[gBattleStruct->chosenMovePositions[battler]]; return GetBattleMovePriority(battler, move); } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f88be3a36f..34a5a83ed9 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -4507,7 +4507,7 @@ static void Cmd_tryfaintmon(void) && IsBattlerAlive(gBattlerAttacker) && gCurrentMove != MOVE_STRUGGLE) { - u8 moveIndex = *(gBattleStruct->chosenMovePositions + gBattlerAttacker); + u8 moveIndex = gBattleStruct->chosenMovePositions[gBattlerAttacker]; gBattleMons[gBattlerAttacker].pp[moveIndex] = 0; BattleScriptPush(gBattlescriptCurrInstr); @@ -6950,9 +6950,9 @@ static void Cmd_moveend(void) break; case MOVEEND_CLEAR_BITS: // Clear/Set bits for things like using a move for all targets and all hits. if (gSpecialStatuses[gBattlerAttacker].instructedChosenTarget) - *(gBattleStruct->moveTarget + gBattlerAttacker) = gSpecialStatuses[gBattlerAttacker].instructedChosenTarget & 0x3; + gBattleStruct->moveTarget[gBattlerAttacker] = gSpecialStatuses[gBattlerAttacker].instructedChosenTarget & 0x3; if (gSpecialStatuses[gBattlerAttacker].dancerOriginalTarget) - *(gBattleStruct->moveTarget + gBattlerAttacker) = gSpecialStatuses[gBattlerAttacker].dancerOriginalTarget & 0x3; + gBattleStruct->moveTarget[gBattlerAttacker] = gSpecialStatuses[gBattlerAttacker].dancerOriginalTarget & 0x3; if (B_RAMPAGE_CANCELLING >= GEN_5 && MoveHasAdditionalEffectSelf(gCurrentMove, MOVE_EFFECT_THRASH) // If we're rampaging @@ -7027,7 +7027,7 @@ static void Cmd_moveend(void) if (SetTargetToNextPursuiter(gBattlerTarget)) { ChangeOrderTargetAfterAttacker(); - *(gBattleStruct->moveTarget + gBattlerTarget) = storedTarget; + gBattleStruct->moveTarget[gBattlerTarget] = storedTarget; gBattlerTarget = storedTarget; } else if (IsBattlerAlive(gBattlerTarget)) @@ -7037,7 +7037,7 @@ static void Cmd_moveend(void) gBattlescriptCurrInstr = BattleScript_MoveSwitchOpenPartyScreen; else gBattlescriptCurrInstr = BattleScript_DoSwitchOut; - *(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = gBattleStruct->pursuitStoredSwitch; + gBattleStruct->monToSwitchIntoId[gBattlerTarget] = gBattleStruct->pursuitStoredSwitch; ClearPursuitValues(); effect = TRUE; } @@ -7562,11 +7562,11 @@ static void Cmd_openpartyscreen(void) } else { - *(gBattleStruct->battlerPartyIndexes + battler) = gBattlerPartyIndexes[battler]; - *(gBattleStruct->monToSwitchIntoId + battler) = PARTY_SIZE; + gBattleStruct->battlerPartyIndexes[battler] = gBattlerPartyIndexes[battler]; + gBattleStruct->monToSwitchIntoId[battler] = PARTY_SIZE; gBattleStruct->field_93 &= ~(1u << battler); - BtlController_EmitChoosePokemon(battler, BUFFER_A, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(battler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChoosePokemon(battler, BUFFER_A, hitmarkerFaintBits, gBattleStruct->monToSwitchIntoId[BATTLE_PARTNER(battler)], ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -7619,7 +7619,7 @@ static void Cmd_switchhandleorder(void) { if (gBattleResources->bufferB[i][0] == CONTROLLER_CHOSENMONRETURNVALUE) { - *(gBattleStruct->monToSwitchIntoId + i) = gBattleResources->bufferB[i][1]; + gBattleStruct->monToSwitchIntoId[i] = gBattleResources->bufferB[i][1]; if (!(gBattleStruct->field_93 & (1u << i))) { RecordedBattle_SetBattlerAction(i, gBattleResources->bufferB[i][1]); @@ -7641,7 +7641,7 @@ static void Cmd_switchhandleorder(void) // fall through case 3: gBattleCommunication[0] = gBattleResources->bufferB[battler][1]; - *(gBattleStruct->monToSwitchIntoId + battler) = gBattleResources->bufferB[battler][1]; + gBattleStruct->monToSwitchIntoId[battler] = gBattleResources->bufferB[battler][1]; if (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -7655,7 +7655,7 @@ static void Cmd_switchhandleorder(void) } else if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { - SwitchPartyOrderInGameMulti(battler, *(gBattleStruct->monToSwitchIntoId + battler)); + SwitchPartyOrderInGameMulti(battler, gBattleStruct->monToSwitchIntoId[battler]); } else { @@ -9054,7 +9054,7 @@ static void Cmd_hpthresholds2(void) { u32 battler = GetBattlerForBattleScript(cmd->battler); u32 opposingBattler = BATTLE_OPPOSITE(battler); - u8 hpSwitchout = *(gBattleStruct->hpOnSwitchout + GetBattlerSide(opposingBattler)); + u8 hpSwitchout = gBattleStruct->hpOnSwitchout[GetBattlerSide(opposingBattler)]; s32 result = (hpSwitchout - gBattleMons[opposingBattler].hp) * 100 / hpSwitchout; if (gBattleMons[opposingBattler].hp >= hpSwitchout) @@ -10504,7 +10504,7 @@ static void Cmd_various(void) } else { - gSpecialStatuses[gBattlerTarget].instructedChosenTarget = *(gBattleStruct->moveTarget + gBattlerTarget) | 0x4; + gSpecialStatuses[gBattlerTarget].instructedChosenTarget = gBattleStruct->moveTarget[gBattlerTarget] | 0x4; gCalledMove = move; for (i = 0; i < MAX_MON_MOVES; i++) { @@ -12488,10 +12488,10 @@ static void Cmd_forcerandomswitch(void) } else { - *(gBattleStruct->battlerPartyIndexes + gBattlerTarget) = gBattlerPartyIndexes[gBattlerTarget]; + gBattleStruct->battlerPartyIndexes[gBattlerTarget] = gBattlerPartyIndexes[gBattlerTarget]; gBattlescriptCurrInstr = BattleScript_RoarSuccessSwitch; gBattleStruct->battlerState[gBattlerTarget].forcedSwitch = TRUE; - *(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = validMons[RandomUniform(RNG_FORCE_RANDOM_SWITCH, 0, validMonsCount - 1)]; + gBattleStruct->monToSwitchIntoId[gBattlerTarget] = validMons[RandomUniform(RNG_FORCE_RANDOM_SWITCH, 0, validMonsCount - 1)]; if (!IsMultiBattle()) SwitchPartyOrder(gBattlerTarget); @@ -14004,7 +14004,7 @@ static bool32 SetTargetToNextPursuiter(u32 battlerDef) && IsBattlerAlive(battlerDef) && IsBattlerAlive(battler) && GetBattlerSide(battler) != GetBattlerSide(battlerDef) - && (B_PURSUIT_TARGET >= GEN_4 || *(gBattleStruct->moveTarget + battler) == battlerDef) + && (B_PURSUIT_TARGET >= GEN_4 || gBattleStruct->moveTarget[battler] == battlerDef) && !IsGimmickSelected(battler, GIMMICK_Z_MOVE) && !IsGimmickSelected(battler, GIMMICK_DYNAMAX) && GetActiveGimmick(battler) != GIMMICK_DYNAMAX) @@ -14028,7 +14028,7 @@ static void Cmd_jumpifnopursuitswitchdmg(void) gBattleStruct->battlerState[gBattlerAttacker].pursuitTarget = TRUE; gBattleStruct->pursuitSwitchByMove = gActionsByTurnOrder[gCurrentTurnActionNumber] == B_ACTION_USE_MOVE; gBattleStruct->pursuitStoredSwitch = gBattleStruct->monToSwitchIntoId[gBattlerAttacker]; - *(gBattleStruct->moveTarget + gBattlerTarget) = gBattlerAttacker; + gBattleStruct->moveTarget[gBattlerTarget] = gBattlerAttacker; gBattlerTarget = savedTarget; gBattlescriptCurrInstr = cmd->nextInstr; } @@ -14091,7 +14091,7 @@ static void Cmd_rapidspinfree(void) { gBattleScripting.battler = gBattlerTarget; gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_WRAPPED; - gBattlerTarget = *(gBattleStruct->wrappedBy + gBattlerAttacker); + gBattlerTarget = gBattleStruct->wrappedBy[gBattlerAttacker]; PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleStruct->wrappedMove[gBattlerAttacker]); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WrapFree; @@ -15084,7 +15084,7 @@ static void Cmd_switchoutabilities(void) gBattleMons[battler].status1 = 0; BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, - 1u << *(gBattleStruct->battlerPartyIndexes + battler), + 1u << gBattleStruct->battlerPartyIndexes[battler], sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); @@ -15096,7 +15096,7 @@ static void Cmd_switchoutabilities(void) if (regenerate > gBattleMons[battler].maxHP) regenerate = gBattleMons[battler].maxHP; BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_HP_BATTLE, - 1u << *(gBattleStruct->battlerPartyIndexes + battler), + 1u << gBattleStruct->battlerPartyIndexes[battler], sizeof(regenerate), ®enerate); MarkBattlerForControllerExec(battler); diff --git a/src/battle_util.c b/src/battle_util.c index 19c9f5c4db..1764c5ee4d 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -253,7 +253,7 @@ void HandleAction_UseMove(void) gBattleScripting.savedDmg = 0; gBattleCommunication[MISS_TYPE] = 0; gBattleScripting.savedMoveEffect = 0; - gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerAttacker); + gCurrMovePos = gChosenMovePos = gBattleStruct->chosenMovePositions[gBattlerAttacker]; // choose move if (gProtectStructs[gBattlerAttacker].noValidMoves) @@ -261,7 +261,7 @@ void HandleAction_UseMove(void) gProtectStructs[gBattlerAttacker].noValidMoves = FALSE; gCurrentMove = gChosenMove = MOVE_STRUGGLE; gHitMarker |= HITMARKER_NO_PPDEDUCT; - *(gBattleStruct->moveTarget + gBattlerAttacker) = GetBattleMoveTarget(MOVE_STRUGGLE, NO_TARGET_OVERRIDE); + gBattleStruct->moveTarget[gBattlerAttacker] = GetBattleMoveTarget(MOVE_STRUGGLE, NO_TARGET_OVERRIDE); } else if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS || gBattleMons[gBattlerAttacker].status2 & STATUS2_RECHARGE) { @@ -273,7 +273,7 @@ void HandleAction_UseMove(void) { gCurrentMove = gChosenMove = gDisableStructs[gBattlerAttacker].encoredMove; gCurrMovePos = gChosenMovePos = gDisableStructs[gBattlerAttacker].encoredMovePos; - *(gBattleStruct->moveTarget + gBattlerAttacker) = GetBattleMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); + gBattleStruct->moveTarget[gBattlerAttacker] = GetBattleMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); } // check if the encored move wasn't overwritten else if (GetActiveGimmick(gBattlerAttacker) != GIMMICK_Z_MOVE && gDisableStructs[gBattlerAttacker].encoredMove != MOVE_NONE @@ -284,12 +284,12 @@ void HandleAction_UseMove(void) gDisableStructs[gBattlerAttacker].encoredMove = MOVE_NONE; gDisableStructs[gBattlerAttacker].encoredMovePos = 0; gDisableStructs[gBattlerAttacker].encoreTimer = 0; - *(gBattleStruct->moveTarget + gBattlerAttacker) = GetBattleMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); + gBattleStruct->moveTarget[gBattlerAttacker] = GetBattleMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); } else if (gBattleMons[gBattlerAttacker].moves[gCurrMovePos] != gChosenMoveByBattler[gBattlerAttacker]) { gCurrentMove = gChosenMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; - *(gBattleStruct->moveTarget + gBattlerAttacker) = GetBattleMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); + gBattleStruct->moveTarget[gBattlerAttacker] = GetBattleMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); } else { @@ -335,7 +335,7 @@ void HandleAction_UseMove(void) } else if (IsDoubleBattle() && gSideTimers[side].followmeTimer == 0 - && !gBattleStruct->battlerState[*(gBattleStruct->moveTarget + gBattlerAttacker)].pursuitTarget + && !gBattleStruct->battlerState[gBattleStruct->moveTarget[gBattlerAttacker]].pursuitTarget && (!IsBattleMoveStatus(gCurrentMove) || (moveTarget != MOVE_TARGET_USER && moveTarget != MOVE_TARGET_ALL_BATTLERS)) && ((ability != ABILITY_LIGHTNING_ROD && moveType == TYPE_ELECTRIC) || (ability != ABILITY_STORM_DRAIN && moveType == TYPE_WATER))) @@ -376,7 +376,7 @@ void HandleAction_UseMove(void) } else { - gBattlerTarget = *(gBattleStruct->moveTarget + gBattlerAttacker); + gBattlerTarget = gBattleStruct->moveTarget[gBattlerAttacker]; } if (!IsBattlerAlive(gBattlerTarget) && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) @@ -426,7 +426,7 @@ void HandleAction_UseMove(void) } else { - gBattlerTarget = *(gBattleStruct->moveTarget + gBattlerAttacker); + gBattlerTarget = gBattleStruct->moveTarget[gBattlerAttacker]; if (!IsBattlerAlive(gBattlerTarget) && moveTarget != MOVE_TARGET_OPPONENTS_FIELD && (GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget))) @@ -486,7 +486,7 @@ void HandleAction_Switch(void) gActionSelectionCursor[gBattlerAttacker] = 0; gMoveSelectionCursor[gBattlerAttacker] = 0; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, *(gBattleStruct->battlerPartyIndexes + gBattlerAttacker)) + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, gBattleStruct->battlerPartyIndexes[gBattlerAttacker]); gBattleScripting.battler = gBattlerAttacker; gBattlescriptCurrInstr = BattleScript_ActionSwitch; @@ -788,7 +788,7 @@ void HandleAction_ActionFinished(void) { u32 i, j, moveType; bool32 afterYouActive = gSpecialStatuses[gBattlerByTurnOrder[gCurrentTurnActionNumber + 1]].afterYou; - *(gBattleStruct->monToSwitchIntoId + gBattlerByTurnOrder[gCurrentTurnActionNumber]) = gSelectedMonPartyId = PARTY_SIZE; + gBattleStruct->monToSwitchIntoId[gBattlerByTurnOrder[gCurrentTurnActionNumber]] = gSelectedMonPartyId = PARTY_SIZE; gCurrentTurnActionNumber++; gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber]; SpecialStatusesClear(); @@ -3901,7 +3901,7 @@ bool32 HasNoMonsToSwitch(u32 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2 { if (IsValidForBattle(&party[i]) && i != partyIdBattlerOn1 && i != partyIdBattlerOn2 - && i != *(gBattleStruct->monToSwitchIntoId + flankId) && i != playerId[gBattleStruct->monToSwitchIntoId]) + && i != gBattleStruct->monToSwitchIntoId[flankId] && i != playerId[gBattleStruct->monToSwitchIntoId]) break; } return (i == PARTY_SIZE); @@ -3923,7 +3923,7 @@ bool32 HasNoMonsToSwitch(u32 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2 { if (IsValidForBattle(&party[i]) && i != partyIdBattlerOn1 && i != partyIdBattlerOn2 - && i != *(gBattleStruct->monToSwitchIntoId + flankId) && i != playerId[gBattleStruct->monToSwitchIntoId]) + && i != gBattleStruct->monToSwitchIntoId[flankId] && i != playerId[gBattleStruct->monToSwitchIntoId]) break; } return (i == PARTY_SIZE); @@ -4012,7 +4012,7 @@ bool32 HasNoMonsToSwitch(u32 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2 { if (IsValidForBattle(&party[i]) && i != partyIdBattlerOn1 && i != partyIdBattlerOn2 - && i != *(gBattleStruct->monToSwitchIntoId + flankId) && i != playerId[gBattleStruct->monToSwitchIntoId]) + && i != gBattleStruct->monToSwitchIntoId[flankId] && i != playerId[gBattleStruct->monToSwitchIntoId]) break; } return (i == PARTY_SIZE); @@ -6298,7 +6298,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 { // Set bit and save Dancer mon's original target gSpecialStatuses[battler].dancerUsedMove = TRUE; - gSpecialStatuses[battler].dancerOriginalTarget = *(gBattleStruct->moveTarget + battler) | 0x4; + gSpecialStatuses[battler].dancerOriginalTarget = gBattleStruct->moveTarget[battler] | 0x4; gBattleStruct->atkCancellerTracker = 0; gBattlerAttacker = gBattlerAbility = battler; gCalledMove = gCurrentMove; @@ -8611,7 +8611,7 @@ u32 GetBattleMoveTarget(u16 move, u8 setTarget) break; } - *(gBattleStruct->moveTarget + gBattlerAttacker) = targetBattler; + gBattleStruct->moveTarget[gBattlerAttacker] = targetBattler; return targetBattler; } diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 5e1ff63bbe..6a1587930d 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -778,7 +778,7 @@ void RecordedBattle_CheckMovesetChanges(u8 mode) SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP_BONUSES, &ppBonusSet); } - gChosenMoveByBattler[battlerId] = gBattleMons[battlerId].moves[*(gBattleStruct->chosenMovePositions + battlerId)]; + gChosenMoveByBattler[battlerId] = gBattleMons[battlerId].moves[gBattleStruct->chosenMovePositions[battlerId]]; } } } From 6ec847019eb89f6b53511ef1af464165c7c0a4a1 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Mon, 20 Jan 2025 10:45:14 -0500 Subject: [PATCH 06/27] Fix Entrainment AI scoring bug (#6056) --- src/battle_ai_main.c | 12 ++++++++---- test/battle/move_effect/entrainment.c | 13 +++++++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index ea8a4bb91f..25700f670e 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -2952,7 +2952,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) case EFFECT_ENTRAINMENT: if (partnerHasBadAbility && IsAbilityOfRating(aiData->abilities[battlerAtk], 0)) { - RETURN_SCORE_PLUS(WEAK_EFFECT); + RETURN_SCORE_PLUS(DECENT_EFFECT); } break; case EFFECT_SOAK: @@ -4061,9 +4061,13 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) case EFFECT_ENTRAINMENT: if (GetActiveGimmick(battlerDef) == GIMMICK_DYNAMAX) break; - else if ((IsAbilityOfRating(aiData->abilities[battlerDef], 5) || gAbilitiesInfo[aiData->abilities[battlerAtk]].aiRating <= 0) - && (aiData->abilities[battlerDef] != aiData->abilities[battlerAtk] && !(gStatuses3[battlerDef] & STATUS3_GASTRO_ACID))) - ADJUST_SCORE(DECENT_EFFECT); + if (aiData->abilities[battlerDef] != aiData->abilities[battlerAtk] && !(gStatuses3[battlerDef] & STATUS3_GASTRO_ACID)) + { + if (gAbilitiesInfo[aiData->abilities[battlerAtk]].aiRating <= 0) + ADJUST_SCORE(DECENT_EFFECT); + else if (IsAbilityOfRating(aiData->abilities[battlerDef], 5) && gAbilitiesInfo[aiData->abilities[battlerAtk]].aiRating <= 3) + ADJUST_SCORE(WEAK_EFFECT); + } break; case EFFECT_IMPRISON: if (predictedMove != MOVE_NONE && HasMove(battlerAtk, predictedMove)) diff --git a/test/battle/move_effect/entrainment.c b/test/battle/move_effect/entrainment.c index b43f6dcbc1..cccae86759 100644 --- a/test/battle/move_effect/entrainment.c +++ b/test/battle/move_effect/entrainment.c @@ -1,6 +1,19 @@ #include "global.h" #include "test/battle.h" +AI_DOUBLE_BATTLE_TEST("AI prefers Entrainment'ing good abilities onto partner with bad ability") +{ + GIVEN { + AI_FLAGS(AI_FLAG_SMART_TRAINER); + PLAYER(SPECIES_QUAXWELL) { Level(18); Ability(ABILITY_TORRENT); Moves(MOVE_WATER_GUN); }; + PLAYER(SPECIES_CORPHISH) { Level(18); Moves(MOVE_WATER_GUN); }; + OPPONENT(SPECIES_SMEARGLE) { Level(17); Ability(ABILITY_TECHNICIAN); Moves(MOVE_AERIAL_ACE, MOVE_ENTRAINMENT, MOVE_FLAME_WHEEL, MOVE_MAGICAL_LEAF); } + OPPONENT(SPECIES_ARCHEN) { Level(17); Ability(ABILITY_DEFEATIST); Moves(MOVE_DUAL_WINGBEAT, MOVE_ROCK_TOMB); } + } WHEN { + TURN { EXPECT_MOVE(opponentLeft, MOVE_ENTRAINMENT); EXPECT_MOVE(opponentRight, MOVE_DUAL_WINGBEAT); MOVE(playerLeft, MOVE_WATER_GUN); MOVE(playerRight, MOVE_WATER_GUN); } + } +} + TO_DO_BATTLE_TEST("Entrainment changes the target's Ability to match the user's"); TO_DO_BATTLE_TEST("Entrainment fails if the user's ability has cantBeCopied flag"); TO_DO_BATTLE_TEST("Entrainment fails if the targets's ability has cantBeOverwritten flag"); From 4825e523cee5190bc88a449287d93b36ddb149b8 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 20 Jan 2025 12:52:29 -0300 Subject: [PATCH 07/27] Moved mon pic tables to gSpeciesInfo + macro cleanup (#5597) --- .../object_event_pic_tables_followers.h | 6632 ----------------- src/data/pokemon/species_info.h | 90 +- .../pokemon/species_info/gen_1_families.h | 833 ++- .../pokemon/species_info/gen_2_families.h | 436 +- .../pokemon/species_info/gen_3_families.h | 542 +- .../pokemon/species_info/gen_4_families.h | 403 +- .../pokemon/species_info/gen_5_families.h | 558 +- .../pokemon/species_info/gen_6_families.h | 275 +- .../pokemon/species_info/gen_7_families.h | 327 +- .../pokemon/species_info/gen_8_families.h | 293 +- .../pokemon/species_info/gen_9_families.h | 373 +- src/pokemon.c | 2 +- 12 files changed, 2682 insertions(+), 8082 deletions(-) delete mode 100644 src/data/object_events/object_event_pic_tables_followers.h diff --git a/src/data/object_events/object_event_pic_tables_followers.h b/src/data/object_events/object_event_pic_tables_followers.h deleted file mode 100644 index 54b8cc317d..0000000000 --- a/src/data/object_events/object_event_pic_tables_followers.h +++ /dev/null @@ -1,6632 +0,0 @@ -static const struct SpriteFrameImage sPicTable_Substitute[] = { - overworld_ascending_frames(gObjectEventPic_Substitute, 4, 4), -}; - -#if OW_POKEMON_OBJECT_EVENTS -#if P_FAMILY_BULBASAUR -static const struct SpriteFrameImage sPicTable_Bulbasaur[] = { - overworld_ascending_frames(gObjectEventPic_Bulbasaur, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Ivysaur[] = { - overworld_ascending_frames(gObjectEventPic_Ivysaur, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Venusaur[] = { - overworld_ascending_frames(gObjectEventPic_Venusaur, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_VenusaurF[] = { - overworld_ascending_frames(gObjectEventPic_VenusaurF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_VenusaurMega[] = { - overworld_ascending_frames(gObjectEventPic_VenusaurMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_VenusaurGmax[] = { - overworld_ascending_frames(gObjectEventPic_VenusaurGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_BULBASAUR - -#if P_FAMILY_CHARMANDER -static const struct SpriteFrameImage sPicTable_Charmander[] = { - overworld_ascending_frames(gObjectEventPic_Charmander, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Charmeleon[] = { - overworld_ascending_frames(gObjectEventPic_Charmeleon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Charizard[] = { - overworld_ascending_frames(gObjectEventPic_Charizard, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_CharizardMegaX[] = { - overworld_ascending_frames(gObjectEventPic_CharizardMegaX, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_CharizardMegaY[] = { - overworld_ascending_frames(gObjectEventPic_CharizardMegaY, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CharizardGmax[] = { - overworld_ascending_frames(gObjectEventPic_CharizardGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CHARMANDER - -#if P_FAMILY_SQUIRTLE -static const struct SpriteFrameImage sPicTable_Squirtle[] = { - overworld_ascending_frames(gObjectEventPic_Squirtle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Wartortle[] = { - overworld_ascending_frames(gObjectEventPic_Wartortle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Blastoise[] = { - overworld_ascending_frames(gObjectEventPic_Blastoise, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_BlastoiseMega[] = { - overworld_ascending_frames(gObjectEventPic_BlastoiseMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_BlastoiseGmax[] = { - overworld_ascending_frames(gObjectEventPic_BlastoiseGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SQUIRTLE - -#if P_FAMILY_CATERPIE -static const struct SpriteFrameImage sPicTable_Caterpie[] = { - overworld_ascending_frames(gObjectEventPic_Caterpie, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Metapod[] = { - overworld_ascending_frames(gObjectEventPic_Metapod, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Butterfree[] = { - overworld_ascending_frames(gObjectEventPic_Butterfree, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_ButterfreeF[] = { - overworld_ascending_frames(gObjectEventPic_ButterfreeF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_ButterfreeGmax[] = { - overworld_ascending_frames(gObjectEventPic_ButterfreeGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CATERPIE - -#if P_FAMILY_WEEDLE -static const struct SpriteFrameImage sPicTable_Weedle[] = { - overworld_ascending_frames(gObjectEventPic_Weedle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Kakuna[] = { - overworld_ascending_frames(gObjectEventPic_Kakuna, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Beedrill[] = { - overworld_ascending_frames(gObjectEventPic_Beedrill, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_BeedrillMega[] = { - overworld_ascending_frames(gObjectEventPic_BeedrillMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_WEEDLE - -#if P_FAMILY_PIDGEY -static const struct SpriteFrameImage sPicTable_Pidgey[] = { - overworld_ascending_frames(gObjectEventPic_Pidgey, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Pidgeotto[] = { - overworld_ascending_frames(gObjectEventPic_Pidgeotto, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Pidgeot[] = { - overworld_ascending_frames(gObjectEventPic_Pidgeot, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_PidgeotMega[] = { - overworld_ascending_frames(gObjectEventPic_PidgeotMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_PIDGEY - -#if P_FAMILY_RATTATA -static const struct SpriteFrameImage sPicTable_Rattata[] = { - overworld_ascending_frames(gObjectEventPic_Rattata, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_RattataF[] = { - overworld_ascending_frames(gObjectEventPic_RattataF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Raticate[] = { - overworld_ascending_frames(gObjectEventPic_Raticate, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_RaticateF[] = { - overworld_ascending_frames(gObjectEventPic_RaticateF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_RattataAlola[] = { - overworld_ascending_frames(gObjectEventPic_RattataAlola, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_RaticateAlola[] = { - overworld_ascending_frames(gObjectEventPic_RaticateAlola, 4, 4), -}; -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_RATTATA - -#if P_FAMILY_SPEAROW -static const struct SpriteFrameImage sPicTable_Spearow[] = { - overworld_ascending_frames(gObjectEventPic_Spearow, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Fearow[] = { - overworld_ascending_frames(gObjectEventPic_Fearow, 4, 4), -}; -#endif //P_FAMILY_SPEAROW - -#if P_FAMILY_EKANS -static const struct SpriteFrameImage sPicTable_Ekans[] = { - overworld_ascending_frames(gObjectEventPic_Ekans, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Arbok[] = { - overworld_ascending_frames(gObjectEventPic_Arbok, 4, 4), -}; -#endif //P_FAMILY_EKANS - -#if P_FAMILY_PIKACHU -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Pichu[] = { - overworld_ascending_frames(gObjectEventPic_Pichu, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PichuSpikyEared[] = { - overworld_ascending_frames(gObjectEventPic_PichuSpikyEared, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Pikachu[] = { - overworld_ascending_frames(gObjectEventPic_Pikachu, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_PikachuF[] = { - overworld_ascending_frames(gObjectEventPic_PikachuF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_COSPLAY_PIKACHU_FORMS -/*static const struct SpriteFrameImage sPicTable_PikachuCosplay[] = { - overworld_ascending_frames(gObjectEventPic_PikachuCosplay, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuRockStar[] = { - overworld_ascending_frames(gObjectEventPic_PikachuRockStar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuBelle[] = { - overworld_ascending_frames(gObjectEventPic_PikachuBelle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuPopStar[] = { - overworld_ascending_frames(gObjectEventPic_PikachuPopStar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuPhD[] = { - overworld_ascending_frames(gObjectEventPic_PikachuPhD, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuLibre[] = { - overworld_ascending_frames(gObjectEventPic_PikachuLibre, 4, 4), -};*/ -#endif //P_COSPLAY_PIKACHU_FORMS - -#if P_CAP_PIKACHU_FORMS -/*static const struct SpriteFrameImage sPicTable_PikachuOriginal[] = { - overworld_ascending_frames(gObjectEventPic_PikachuOriginal, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuHoenn[] = { - overworld_ascending_frames(gObjectEventPic_PikachuHoenn, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuSinnoh[] = { - overworld_ascending_frames(gObjectEventPic_PikachuSinnoh, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuUnova[] = { - overworld_ascending_frames(gObjectEventPic_PikachuUnova, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuKalos[] = { - overworld_ascending_frames(gObjectEventPic_PikachuKalos, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuAlola[] = { - overworld_ascending_frames(gObjectEventPic_PikachuAlola, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuPartner[] = { - overworld_ascending_frames(gObjectEventPic_PikachuPartner, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PikachuWorld[] = { - overworld_ascending_frames(gObjectEventPic_PikachuWorld, 4, 4), -};*/ -#endif //P_CAP_PIKACHU_FORMS - -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_PikachuGmax[] = { - overworld_ascending_frames(gObjectEventPic_PikachuGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS - -static const struct SpriteFrameImage sPicTable_Raichu[] = { - overworld_ascending_frames(gObjectEventPic_Raichu, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_RaichuF[] = { - overworld_ascending_frames(gObjectEventPic_RaichuF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_RaichuAlola[] = { - overworld_ascending_frames(gObjectEventPic_RaichuAlola, 4, 4), -}; -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_PIKACHU - -#if P_FAMILY_SANDSHREW -static const struct SpriteFrameImage sPicTable_Sandshrew[] = { - overworld_ascending_frames(gObjectEventPic_Sandshrew, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Sandslash[] = { - overworld_ascending_frames(gObjectEventPic_Sandslash, 4, 4), -}; -#if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_SandshrewAlola[] = { - overworld_ascending_frames(gObjectEventPic_SandshrewAlola, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_SandslashAlola[] = { - overworld_ascending_frames(gObjectEventPic_SandslashAlola, 4, 4), -}; -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_SANDSHREW - -#if P_FAMILY_NIDORAN -static const struct SpriteFrameImage sPicTable_NidoranF[] = { - overworld_ascending_frames(gObjectEventPic_NidoranF, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Nidorina[] = { - overworld_ascending_frames(gObjectEventPic_Nidorina, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Nidoqueen[] = { - overworld_ascending_frames(gObjectEventPic_Nidoqueen, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_NidoranM[] = { - overworld_ascending_frames(gObjectEventPic_NidoranM, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Nidorino[] = { - overworld_ascending_frames(gObjectEventPic_Nidorino, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Nidoking[] = { - overworld_ascending_frames(gObjectEventPic_Nidoking, 4, 4), -}; -#endif //P_FAMILY_NIDORAN - -#if P_FAMILY_CLEFAIRY -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Cleffa[] = { - overworld_ascending_frames(gObjectEventPic_Cleffa, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Clefairy[] = { - overworld_ascending_frames(gObjectEventPic_Clefairy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Clefable[] = { - overworld_ascending_frames(gObjectEventPic_Clefable, 4, 4), -}; -#endif //P_FAMILY_CLEFAIRY - -#if P_FAMILY_VULPIX -static const struct SpriteFrameImage sPicTable_Vulpix[] = { - overworld_ascending_frames(gObjectEventPic_Vulpix, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Ninetales[] = { - overworld_ascending_frames(gObjectEventPic_Ninetales, 4, 4), -}; -#if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_VulpixAlola[] = { - overworld_ascending_frames(gObjectEventPic_VulpixAlola, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_NinetalesAlola[] = { - overworld_ascending_frames(gObjectEventPic_NinetalesAlola, 4, 4), -}; -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_VULPIX - -#if P_FAMILY_JIGGLYPUFF -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Igglybuff[] = { - overworld_ascending_frames(gObjectEventPic_Igglybuff, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Jigglypuff[] = { - overworld_ascending_frames(gObjectEventPic_Jigglypuff, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Wigglytuff[] = { - overworld_ascending_frames(gObjectEventPic_Wigglytuff, 4, 4), -}; -#endif //P_FAMILY_JIGGLYPUFF - -#if P_FAMILY_ZUBAT -static const struct SpriteFrameImage sPicTable_Zubat[] = { - overworld_ascending_frames(gObjectEventPic_Zubat, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_ZubatF[] = { - overworld_ascending_frames(gObjectEventPic_ZubatF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Golbat[] = { - overworld_ascending_frames(gObjectEventPic_Golbat, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_GolbatF[] = { - overworld_ascending_frames(gObjectEventPic_GolbatF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Crobat[] = { - overworld_ascending_frames(gObjectEventPic_Crobat, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_ZUBAT - -#if P_FAMILY_ODDISH -static const struct SpriteFrameImage sPicTable_Oddish[] = { - overworld_ascending_frames(gObjectEventPic_Oddish, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Gloom[] = { - overworld_ascending_frames(gObjectEventPic_Gloom, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_GloomF[] = { - overworld_ascending_frames(gObjectEventPic_GloomF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Vileplume[] = { - overworld_ascending_frames(gObjectEventPic_Vileplume, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_VileplumeF[] = { - overworld_ascending_frames(gObjectEventPic_VileplumeF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Bellossom[] = { - overworld_ascending_frames(gObjectEventPic_Bellossom, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_ODDISH - -#if P_FAMILY_PARAS -static const struct SpriteFrameImage sPicTable_Paras[] = { - overworld_ascending_frames(gObjectEventPic_Paras, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Parasect[] = { - overworld_ascending_frames(gObjectEventPic_Parasect, 4, 4), -}; -#endif //P_FAMILY_PARAS - -#if P_FAMILY_VENONAT -static const struct SpriteFrameImage sPicTable_Venonat[] = { - overworld_ascending_frames(gObjectEventPic_Venonat, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Venomoth[] = { - overworld_ascending_frames(gObjectEventPic_Venomoth, 4, 4), -}; -#endif //P_FAMILY_VENONAT - -#if P_FAMILY_DIGLETT -static const struct SpriteFrameImage sPicTable_Diglett[] = { - overworld_ascending_frames(gObjectEventPic_Diglett, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dugtrio[] = { - overworld_ascending_frames(gObjectEventPic_Dugtrio, 4, 4), -}; -#if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_DiglettAlola[] = { - overworld_ascending_frames(gObjectEventPic_DiglettAlola, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_DugtrioAlola[] = { - overworld_ascending_frames(gObjectEventPic_DugtrioAlola, 4, 4), -}; -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_DIGLETT - -#if P_FAMILY_MEOWTH -static const struct SpriteFrameImage sPicTable_Meowth[] = { - overworld_ascending_frames(gObjectEventPic_Meowth, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Persian[] = { - overworld_ascending_frames(gObjectEventPic_Persian, 4, 4), -}; -#if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_MeowthAlola[] = { - overworld_ascending_frames(gObjectEventPic_MeowthAlola, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PersianAlola[] = { - overworld_ascending_frames(gObjectEventPic_PersianAlola, 4, 4), -}; -#endif //P_ALOLAN_FORMS - -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_MeowthGalar[] = { - overworld_ascending_frames(gObjectEventPic_MeowthGalar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Perrserker[] = { - overworld_ascending_frames(gObjectEventPic_Perrserker, 4, 4), -}; -#endif //P_GALARIAN_FORMS - -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_MeowthGmax[] = { - overworld_ascending_frames(gObjectEventPic_MeowthGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MEOWTH - -#if P_FAMILY_PSYDUCK -static const struct SpriteFrameImage sPicTable_Psyduck[] = { - overworld_ascending_frames(gObjectEventPic_Psyduck, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Golduck[] = { - overworld_ascending_frames(gObjectEventPic_Golduck, 4, 4), -}; -#endif //P_FAMILY_PSYDUCK - -#if P_FAMILY_MANKEY -static const struct SpriteFrameImage sPicTable_Mankey[] = { - overworld_ascending_frames(gObjectEventPic_Mankey, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Primeape[] = { - overworld_ascending_frames(gObjectEventPic_Primeape, 4, 4), -}; -#if P_GEN_9_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Annihilape[] = { - overworld_ascending_frames(gObjectEventPic_Annihilape, 4, 4), -}; -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_MANKEY - -#if P_FAMILY_GROWLITHE -static const struct SpriteFrameImage sPicTable_Growlithe[] = { - overworld_ascending_frames(gObjectEventPic_Growlithe, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Arcanine[] = { - overworld_ascending_frames(gObjectEventPic_Arcanine, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_GrowlitheHisui[] = { - overworld_ascending_frames(gObjectEventPic_GrowlitheHisui, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_ArcanineHisui[] = { - overworld_ascending_frames(gObjectEventPic_ArcanineHisui, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_GROWLITHE - -#if P_FAMILY_POLIWAG -static const struct SpriteFrameImage sPicTable_Poliwag[] = { - overworld_ascending_frames(gObjectEventPic_Poliwag, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Poliwhirl[] = { - overworld_ascending_frames(gObjectEventPic_Poliwhirl, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Poliwrath[] = { - overworld_ascending_frames(gObjectEventPic_Poliwrath, 4, 4), -}; -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Politoed[] = { - overworld_ascending_frames(gObjectEventPic_Politoed, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_PolitoedF[] = { - overworld_ascending_frames(gObjectEventPic_PolitoedF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_POLIWAG - -#if P_FAMILY_ABRA -static const struct SpriteFrameImage sPicTable_Abra[] = { - overworld_ascending_frames(gObjectEventPic_Abra, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Kadabra[] = { - overworld_ascending_frames(gObjectEventPic_Kadabra, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_KadabraF[] = { - overworld_ascending_frames(gObjectEventPic_KadabraF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Alakazam[] = { - overworld_ascending_frames(gObjectEventPic_Alakazam, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_AlakazamF[] = { - overworld_ascending_frames(gObjectEventPic_AlakazamF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_AlakazamMega[] = { - overworld_ascending_frames(gObjectEventPic_AlakazamMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ABRA - -#if P_FAMILY_MACHOP -static const struct SpriteFrameImage sPicTable_Machop[] = { - overworld_ascending_frames(gObjectEventPic_Machop, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Machoke[] = { - overworld_ascending_frames(gObjectEventPic_Machoke, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Machamp[] = { - overworld_ascending_frames(gObjectEventPic_Machamp, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_MachampGmax[] = { - overworld_ascending_frames(gObjectEventPic_MachampGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MACHOP - -#if P_FAMILY_BELLSPROUT -static const struct SpriteFrameImage sPicTable_Bellsprout[] = { - overworld_ascending_frames(gObjectEventPic_Bellsprout, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Weepinbell[] = { - overworld_ascending_frames(gObjectEventPic_Weepinbell, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Victreebel[] = { - overworld_ascending_frames(gObjectEventPic_Victreebel, 4, 4), -}; -#endif //P_FAMILY_BELLSPROUT - -#if P_FAMILY_TENTACOOL -static const struct SpriteFrameImage sPicTable_Tentacool[] = { - overworld_ascending_frames(gObjectEventPic_Tentacool, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Tentacruel[] = { - overworld_ascending_frames(gObjectEventPic_Tentacruel, 4, 4), -}; -#endif //P_FAMILY_TENTACOOL - -#if P_FAMILY_GEODUDE -static const struct SpriteFrameImage sPicTable_Geodude[] = { - overworld_ascending_frames(gObjectEventPic_Geodude, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Graveler[] = { - overworld_ascending_frames(gObjectEventPic_Graveler, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Golem[] = { - overworld_ascending_frames(gObjectEventPic_Golem, 4, 4), -}; -#if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_GeodudeAlola[] = { - overworld_ascending_frames(gObjectEventPic_GeodudeAlola, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_GravelerAlola[] = { - overworld_ascending_frames(gObjectEventPic_GravelerAlola, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_GolemAlola[] = { - overworld_ascending_frames(gObjectEventPic_GolemAlola, 4, 4), -}; -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_GEODUDE - -#if P_FAMILY_PONYTA -static const struct SpriteFrameImage sPicTable_Ponyta[] = { - overworld_ascending_frames(gObjectEventPic_Ponyta, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Rapidash[] = { - overworld_ascending_frames(gObjectEventPic_Rapidash, 4, 4), -}; -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_PonytaGalar[] = { - overworld_ascending_frames(gObjectEventPic_PonytaGalar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_RapidashGalar[] = { - overworld_ascending_frames(gObjectEventPic_RapidashGalar, 4, 4), -}; -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_PONYTA - -#if P_FAMILY_SLOWPOKE -static const struct SpriteFrameImage sPicTable_Slowpoke[] = { - overworld_ascending_frames(gObjectEventPic_Slowpoke, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Slowbro[] = { - overworld_ascending_frames(gObjectEventPic_Slowbro, 4, 4), -}; -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Slowking[] = { - overworld_ascending_frames(gObjectEventPic_Slowking, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS - -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_SlowbroMega[] = { - overworld_ascending_frames(gObjectEventPic_SlowbroMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS - -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_SlowpokeGalar[] = { - overworld_ascending_frames(gObjectEventPic_SlowpokeGalar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_SlowbroGalar[] = { - overworld_ascending_frames(gObjectEventPic_SlowbroGalar, 4, 4), -}; -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_SlowkingGalar[] = { - overworld_ascending_frames(gObjectEventPic_SlowkingGalar, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_SLOWPOKE - -#if P_FAMILY_MAGNEMITE -static const struct SpriteFrameImage sPicTable_Magnemite[] = { - overworld_ascending_frames(gObjectEventPic_Magnemite, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Magneton[] = { - overworld_ascending_frames(gObjectEventPic_Magneton, 4, 4), -}; -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Magnezone[] = { - overworld_ascending_frames(gObjectEventPic_Magnezone, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MAGNEMITE - -#if P_FAMILY_FARFETCHD -static const struct SpriteFrameImage sPicTable_Farfetchd[] = { - overworld_ascending_frames(gObjectEventPic_Farfetchd, 4, 4), -}; -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_FarfetchdGalar[] = { - overworld_ascending_frames(gObjectEventPic_FarfetchdGalar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Sirfetchd[] = { - overworld_ascending_frames(gObjectEventPic_Sirfetchd, 4, 4), -}; -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_FARFETCHD - -#if P_FAMILY_DODUO -static const struct SpriteFrameImage sPicTable_Doduo[] = { - overworld_ascending_frames(gObjectEventPic_Doduo, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_DoduoF[] = { - overworld_ascending_frames(gObjectEventPic_DoduoF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Dodrio[] = { - overworld_ascending_frames(gObjectEventPic_Dodrio, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_DodrioF[] = { - overworld_ascending_frames(gObjectEventPic_DodrioF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_DODUO - -#if P_FAMILY_SEEL -static const struct SpriteFrameImage sPicTable_Seel[] = { - overworld_ascending_frames(gObjectEventPic_Seel, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dewgong[] = { - overworld_ascending_frames(gObjectEventPic_Dewgong, 4, 4), -}; -#endif //P_FAMILY_SEEL - -#if P_FAMILY_GRIMER -static const struct SpriteFrameImage sPicTable_Grimer[] = { - overworld_ascending_frames(gObjectEventPic_Grimer, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Muk[] = { - overworld_ascending_frames(gObjectEventPic_Muk, 4, 4), -}; -#if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_GrimerAlola[] = { - overworld_ascending_frames(gObjectEventPic_GrimerAlola, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MukAlola[] = { - overworld_ascending_frames(gObjectEventPic_MukAlola, 4, 4), -}; -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_GRIMER - -#if P_FAMILY_SHELLDER -static const struct SpriteFrameImage sPicTable_Shellder[] = { - overworld_ascending_frames(gObjectEventPic_Shellder, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Cloyster[] = { - overworld_ascending_frames(gObjectEventPic_Cloyster, 4, 4), -}; -#endif //P_FAMILY_SHELLDER - -#if P_FAMILY_GASTLY -static const struct SpriteFrameImage sPicTable_Gastly[] = { - overworld_ascending_frames(gObjectEventPic_Gastly, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Haunter[] = { - overworld_ascending_frames(gObjectEventPic_Haunter, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Gengar[] = { - overworld_ascending_frames(gObjectEventPic_Gengar, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_GengarMega[] = { - overworld_ascending_frames(gObjectEventPic_GengarMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_GengarGmax[] = { - overworld_ascending_frames(gObjectEventPic_GengarGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_GASTLY - -#if P_FAMILY_ONIX -static const struct SpriteFrameImage sPicTable_Onix[] = { - overworld_ascending_frames(gObjectEventPic_Onix, 4, 4), -}; -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Steelix[] = { - overworld_ascending_frames(gObjectEventPic_Steelix, 8, 8), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_SteelixF[] = { - overworld_ascending_frames(gObjectEventPic_SteelixF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_SteelixMega[] = { - overworld_ascending_frames(gObjectEventPic_SteelixMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_ONIX - -#if P_FAMILY_DROWZEE -static const struct SpriteFrameImage sPicTable_Drowzee[] = { - overworld_ascending_frames(gObjectEventPic_Drowzee, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Hypno[] = { - overworld_ascending_frames(gObjectEventPic_Hypno, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_HypnoF[] = { - overworld_ascending_frames(gObjectEventPic_HypnoF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_DROWZEE - -#if P_FAMILY_KRABBY -static const struct SpriteFrameImage sPicTable_Krabby[] = { - overworld_ascending_frames(gObjectEventPic_Krabby, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Kingler[] = { - overworld_ascending_frames(gObjectEventPic_Kingler, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_KinglerGmax[] = { - overworld_ascending_frames(gObjectEventPic_KinglerGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_KRABBY - -#if P_FAMILY_VOLTORB -static const struct SpriteFrameImage sPicTable_Voltorb[] = { - overworld_ascending_frames(gObjectEventPic_Voltorb, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Electrode[] = { - overworld_ascending_frames(gObjectEventPic_Electrode, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_VoltorbHisui[] = { - overworld_ascending_frames(gObjectEventPic_VoltorbHisui, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_ElectrodeHisui[] = { - overworld_ascending_frames(gObjectEventPic_ElectrodeHisui, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_VOLTORB - -#if P_FAMILY_EXEGGCUTE -static const struct SpriteFrameImage sPicTable_Exeggcute[] = { - overworld_ascending_frames(gObjectEventPic_Exeggcute, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Exeggutor[] = { - overworld_ascending_frames(gObjectEventPic_Exeggutor, 4, 4), -}; -#if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_ExeggutorAlola[] = { - overworld_ascending_frames(gObjectEventPic_ExeggutorAlola, 8, 8), -}; -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_EXEGGCUTE - -#if P_FAMILY_CUBONE -static const struct SpriteFrameImage sPicTable_Cubone[] = { - overworld_ascending_frames(gObjectEventPic_Cubone, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Marowak[] = { - overworld_ascending_frames(gObjectEventPic_Marowak, 4, 4), -}; -#if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_MarowakAlola[] = { - overworld_ascending_frames(gObjectEventPic_MarowakAlola, 4, 4), -}; -#endif //P_ALOLAN_FORMS -#endif //P_FAMILY_CUBONE - -#if P_FAMILY_HITMONS -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Tyrogue[] = { - overworld_ascending_frames(gObjectEventPic_Tyrogue, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Hitmonlee[] = { - overworld_ascending_frames(gObjectEventPic_Hitmonlee, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Hitmonchan[] = { - overworld_ascending_frames(gObjectEventPic_Hitmonchan, 4, 4), -}; -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Hitmontop[] = { - overworld_ascending_frames(gObjectEventPic_Hitmontop, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_HITMONS - -#if P_FAMILY_LICKITUNG -static const struct SpriteFrameImage sPicTable_Lickitung[] = { - overworld_ascending_frames(gObjectEventPic_Lickitung, 4, 4), -}; -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Lickilicky[] = { - overworld_ascending_frames(gObjectEventPic_Lickilicky, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_LICKITUNG - -#if P_FAMILY_KOFFING -static const struct SpriteFrameImage sPicTable_Koffing[] = { - overworld_ascending_frames(gObjectEventPic_Koffing, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Weezing[] = { - overworld_ascending_frames(gObjectEventPic_Weezing, 4, 4), -}; -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_WeezingGalar[] = { - overworld_ascending_frames(gObjectEventPic_WeezingGalar, 4, 4), -}; -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_KOFFING - -#if P_FAMILY_RHYHORN -static const struct SpriteFrameImage sPicTable_Rhyhorn[] = { - overworld_ascending_frames(gObjectEventPic_Rhyhorn, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_RhyhornF[] = { - overworld_ascending_frames(gObjectEventPic_RhyhornF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Rhydon[] = { - overworld_ascending_frames(gObjectEventPic_Rhydon, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_RhydonF[] = { - overworld_ascending_frames(gObjectEventPic_RhydonF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Rhyperior[] = { - overworld_ascending_frames(gObjectEventPic_Rhyperior, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_RhyperiorF[] = { - overworld_ascending_frames(gObjectEventPic_RhyperiorF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_RHYHORN - -#if P_FAMILY_CHANSEY -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Happiny[] = { - overworld_ascending_frames(gObjectEventPic_Happiny, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Chansey[] = { - overworld_ascending_frames(gObjectEventPic_Chansey, 4, 4), -}; -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Blissey[] = { - overworld_ascending_frames(gObjectEventPic_Blissey, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_CHANSEY - -#if P_FAMILY_TANGELA -static const struct SpriteFrameImage sPicTable_Tangela[] = { - overworld_ascending_frames(gObjectEventPic_Tangela, 4, 4), -}; -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Tangrowth[] = { - overworld_ascending_frames(gObjectEventPic_Tangrowth, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_TangrowthF[] = { - overworld_ascending_frames(gObjectEventPic_TangrowthF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_TANGELA - -#if P_FAMILY_KANGASKHAN -static const struct SpriteFrameImage sPicTable_Kangaskhan[] = { - overworld_ascending_frames(gObjectEventPic_Kangaskhan, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_KangaskhanMega[] = { - overworld_ascending_frames(gObjectEventPic_KangaskhanMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_KANGASKHAN - -#if P_FAMILY_HORSEA -static const struct SpriteFrameImage sPicTable_Horsea[] = { - overworld_ascending_frames(gObjectEventPic_Horsea, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Seadra[] = { - overworld_ascending_frames(gObjectEventPic_Seadra, 4, 4), -}; -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Kingdra[] = { - overworld_ascending_frames(gObjectEventPic_Kingdra, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_HORSEA - -#if P_FAMILY_GOLDEEN -static const struct SpriteFrameImage sPicTable_Goldeen[] = { - overworld_ascending_frames(gObjectEventPic_Goldeen, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_GoldeenF[] = { - overworld_ascending_frames(gObjectEventPic_GoldeenF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Seaking[] = { - overworld_ascending_frames(gObjectEventPic_Seaking, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_SeakingF[] = { - overworld_ascending_frames(gObjectEventPic_SeakingF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_GOLDEEN - -#if P_FAMILY_STARYU -static const struct SpriteFrameImage sPicTable_Staryu[] = { - overworld_ascending_frames(gObjectEventPic_Staryu, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Starmie[] = { - overworld_ascending_frames(gObjectEventPic_Starmie, 4, 4), -}; -#endif //P_FAMILY_STARYU - -#if P_FAMILY_MR_MIME -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_MimeJr[] = { - overworld_ascending_frames(gObjectEventPic_MimeJr, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_MrMime[] = { - overworld_ascending_frames(gObjectEventPic_MrMime, 4, 4), -}; -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_MrMimeGalar[] = { - overworld_ascending_frames(gObjectEventPic_MrMimeGalar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MrRime[] = { - overworld_ascending_frames(gObjectEventPic_MrRime, 4, 4), -}; -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_MR_MIME - -#if P_FAMILY_SCYTHER -static const struct SpriteFrameImage sPicTable_Scyther[] = { - overworld_ascending_frames(gObjectEventPic_Scyther, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_ScytherF[] = { - overworld_ascending_frames(gObjectEventPic_ScytherF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Scizor[] = { - overworld_ascending_frames(gObjectEventPic_Scizor, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_ScizorF[] = { - overworld_ascending_frames(gObjectEventPic_ScizorF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_ScizorMega[] = { - overworld_ascending_frames(gObjectEventPic_ScizorMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_GEN_2_CROSS_EVOS - -#if P_GEN_8_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Kleavor[] = { - overworld_ascending_frames(gObjectEventPic_Kleavor, 4, 4), -}; -#endif //P_GEN_8_CROSS_EVOS -#endif //P_FAMILY_SCYTHER - -#if P_FAMILY_JYNX -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Smoochum[] = { - overworld_ascending_frames(gObjectEventPic_Smoochum, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Jynx[] = { - overworld_ascending_frames(gObjectEventPic_Jynx, 4, 4), -}; -#endif //P_FAMILY_JYNX - -#if P_FAMILY_ELECTABUZZ -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Elekid[] = { - overworld_ascending_frames(gObjectEventPic_Elekid, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Electabuzz[] = { - overworld_ascending_frames(gObjectEventPic_Electabuzz, 4, 4), -}; -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Electivire[] = { - overworld_ascending_frames(gObjectEventPic_Electivire, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_ELECTABUZZ - -#if P_FAMILY_MAGMAR -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Magby[] = { - overworld_ascending_frames(gObjectEventPic_Magby, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Magmar[] = { - overworld_ascending_frames(gObjectEventPic_Magmar, 4, 4), -}; -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Magmortar[] = { - overworld_ascending_frames(gObjectEventPic_Magmortar, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MAGMAR - -#if P_FAMILY_PINSIR -static const struct SpriteFrameImage sPicTable_Pinsir[] = { - overworld_ascending_frames(gObjectEventPic_Pinsir, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_PinsirMega[] = { - overworld_ascending_frames(gObjectEventPic_PinsirMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_PINSIR - -#if P_FAMILY_TAUROS -static const struct SpriteFrameImage sPicTable_Tauros[] = { - overworld_ascending_frames(gObjectEventPic_Tauros, 4, 4), -}; -#if P_PALDEAN_FORMS -static const struct SpriteFrameImage sPicTable_TaurosPaldeaCombat[] = { - overworld_ascending_frames(gObjectEventPic_TaurosPaldeaCombat, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_TaurosPaldeaBlaze[] = { - overworld_ascending_frames(gObjectEventPic_TaurosPaldeaBlaze, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_TaurosPaldeaAqua[] = { - overworld_ascending_frames(gObjectEventPic_TaurosPaldeaAqua, 4, 4), -}; -#endif //P_PALDEAN_FORMS -#endif //P_FAMILY_TAUROS - -#if P_FAMILY_MAGIKARP -static const struct SpriteFrameImage sPicTable_Magikarp[] = { - overworld_ascending_frames(gObjectEventPic_Magikarp, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_MagikarpF[] = { - overworld_ascending_frames(gObjectEventPic_MagikarpF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Gyarados[] = { - overworld_ascending_frames(gObjectEventPic_Gyarados, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_GyaradosF[] = { - overworld_ascending_frames(gObjectEventPic_GyaradosF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_GyaradosMega[] = { - overworld_ascending_frames(gObjectEventPic_GyaradosMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MAGIKARP - -#if P_FAMILY_LAPRAS -static const struct SpriteFrameImage sPicTable_Lapras[] = { - overworld_ascending_frames(gObjectEventPic_Lapras, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_LaprasGmax[] = { - overworld_ascending_frames(gObjectEventPic_LaprasGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_LAPRAS - -#if P_FAMILY_DITTO -static const struct SpriteFrameImage sPicTable_Ditto[] = { - overworld_ascending_frames(gObjectEventPic_Ditto, 4, 4), -}; -#endif //P_FAMILY_DITTO - -#if P_FAMILY_EEVEE -static const struct SpriteFrameImage sPicTable_Eevee[] = { - overworld_ascending_frames(gObjectEventPic_Eevee, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_EeveeF[] = { - overworld_ascending_frames(gObjectEventPic_EeveeF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_EeveeGmax[] = { - overworld_ascending_frames(gObjectEventPic_EeveeGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS - -static const struct SpriteFrameImage sPicTable_Vaporeon[] = { - overworld_ascending_frames(gObjectEventPic_Vaporeon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Jolteon[] = { - overworld_ascending_frames(gObjectEventPic_Jolteon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Flareon[] = { - overworld_ascending_frames(gObjectEventPic_Flareon, 4, 4), -}; -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Espeon[] = { - overworld_ascending_frames(gObjectEventPic_Espeon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Umbreon[] = { - overworld_ascending_frames(gObjectEventPic_Umbreon, 4, 4), -}; -#endif //P_GEN_2_CROSS_EVOS - -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Leafeon[] = { - overworld_ascending_frames(gObjectEventPic_Leafeon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Glaceon[] = { - overworld_ascending_frames(gObjectEventPic_Glaceon, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS - -#if P_GEN_6_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Sylveon[] = { - overworld_ascending_frames(gObjectEventPic_Sylveon, 4, 4), -}; -#endif //P_GEN_6_CROSS_EVOS -#endif //P_FAMILY_EEVEE - -#if P_FAMILY_PORYGON -static const struct SpriteFrameImage sPicTable_Porygon[] = { - overworld_ascending_frames(gObjectEventPic_Porygon, 4, 4), -}; -#if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Porygon2[] = { - overworld_ascending_frames(gObjectEventPic_Porygon2, 4, 4), -}; -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_PorygonZ[] = { - overworld_ascending_frames(gObjectEventPic_PorygonZ, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_GEN_2_CROSS_EVOS -#endif //P_FAMILY_PORYGON - -#if P_FAMILY_OMANYTE -static const struct SpriteFrameImage sPicTable_Omanyte[] = { - overworld_ascending_frames(gObjectEventPic_Omanyte, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Omastar[] = { - overworld_ascending_frames(gObjectEventPic_Omastar, 4, 4), -}; -#endif //P_FAMILY_OMANYTE - -#if P_FAMILY_KABUTO -static const struct SpriteFrameImage sPicTable_Kabuto[] = { - overworld_ascending_frames(gObjectEventPic_Kabuto, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Kabutops[] = { - overworld_ascending_frames(gObjectEventPic_Kabutops, 4, 4), -}; -#endif //P_FAMILY_KABUTO - -#if P_FAMILY_AERODACTYL -static const struct SpriteFrameImage sPicTable_Aerodactyl[] = { - overworld_ascending_frames(gObjectEventPic_Aerodactyl, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_AerodactylMega[] = { - overworld_ascending_frames(gObjectEventPic_AerodactylMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_AERODACTYL - -#if P_FAMILY_SNORLAX -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Munchlax[] = { - overworld_ascending_frames(gObjectEventPic_Munchlax, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Snorlax[] = { - overworld_ascending_frames(gObjectEventPic_Snorlax, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_SnorlaxGmax[] = { - overworld_ascending_frames(gObjectEventPic_SnorlaxGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SNORLAX - -#if P_FAMILY_ARTICUNO -static const struct SpriteFrameImage sPicTable_Articuno[] = { - overworld_ascending_frames(gObjectEventPic_Articuno, 4, 4), -}; -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_ArticunoGalar[] = { - overworld_ascending_frames(gObjectEventPic_ArticunoGalar, 4, 4), -}; -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_ARTICUNO - -#if P_FAMILY_ZAPDOS -static const struct SpriteFrameImage sPicTable_Zapdos[] = { - overworld_ascending_frames(gObjectEventPic_Zapdos, 4, 4), -}; -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_ZapdosGalar[] = { - overworld_ascending_frames(gObjectEventPic_ZapdosGalar, 4, 4), -}; -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_ZAPDOS - -#if P_FAMILY_MOLTRES -static const struct SpriteFrameImage sPicTable_Moltres[] = { - overworld_ascending_frames(gObjectEventPic_Moltres, 4, 4), -}; -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_MoltresGalar[] = { - overworld_ascending_frames(gObjectEventPic_MoltresGalar, 4, 4), -}; -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_MOLTRES - -#if P_FAMILY_DRATINI -static const struct SpriteFrameImage sPicTable_Dratini[] = { - overworld_ascending_frames(gObjectEventPic_Dratini, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dragonair[] = { - overworld_ascending_frames(gObjectEventPic_Dragonair, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dragonite[] = { - overworld_ascending_frames(gObjectEventPic_Dragonite, 4, 4), -}; -#endif //P_FAMILY_DRATINI - -#if P_FAMILY_MEWTWO -static const struct SpriteFrameImage sPicTable_Mewtwo[] = { - overworld_ascending_frames(gObjectEventPic_Mewtwo, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_MewtwoMegaX[] = { - overworld_ascending_frames(gObjectEventPic_MewtwoMegaX, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MewtwoMegaY[] = { - overworld_ascending_frames(gObjectEventPic_MewtwoMegaY, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MEWTWO - -#if P_FAMILY_MEW -static const struct SpriteFrameImage sPicTable_Mew[] = { - overworld_ascending_frames(gObjectEventPic_Mew, 4, 4), -}; -#endif //P_FAMILY_MEW - -#if P_FAMILY_CHIKORITA -static const struct SpriteFrameImage sPicTable_Chikorita[] = { - overworld_ascending_frames(gObjectEventPic_Chikorita, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Bayleef[] = { - overworld_ascending_frames(gObjectEventPic_Bayleef, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Meganium[] = { - overworld_ascending_frames(gObjectEventPic_Meganium, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_MeganiumF[] = { - overworld_ascending_frames(gObjectEventPic_MeganiumF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_CHIKORITA - -#if P_FAMILY_CYNDAQUIL -static const struct SpriteFrameImage sPicTable_Cyndaquil[] = { - overworld_ascending_frames(gObjectEventPic_Cyndaquil, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Quilava[] = { - overworld_ascending_frames(gObjectEventPic_Quilava, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Typhlosion[] = { - overworld_ascending_frames(gObjectEventPic_Typhlosion, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_TyphlosionHisui[] = { - overworld_ascending_frames(gObjectEventPic_TyphlosionHisui, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_CYNDAQUIL - -#if P_FAMILY_TOTODILE -static const struct SpriteFrameImage sPicTable_Totodile[] = { - overworld_ascending_frames(gObjectEventPic_Totodile, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Croconaw[] = { - overworld_ascending_frames(gObjectEventPic_Croconaw, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Feraligatr[] = { - overworld_ascending_frames(gObjectEventPic_Feraligatr, 4, 4), -}; -#endif //P_FAMILY_TOTODILE - -#if P_FAMILY_SENTRET -static const struct SpriteFrameImage sPicTable_Sentret[] = { - overworld_ascending_frames(gObjectEventPic_Sentret, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Furret[] = { - overworld_ascending_frames(gObjectEventPic_Furret, 4, 4), -}; -#endif //P_FAMILY_SENTRET - -#if P_FAMILY_HOOTHOOT -static const struct SpriteFrameImage sPicTable_Hoothoot[] = { - overworld_ascending_frames(gObjectEventPic_Hoothoot, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Noctowl[] = { - overworld_ascending_frames(gObjectEventPic_Noctowl, 4, 4), -}; -#endif //P_FAMILY_HOOTHOOT - -#if P_FAMILY_LEDYBA -static const struct SpriteFrameImage sPicTable_Ledyba[] = { - overworld_ascending_frames(gObjectEventPic_Ledyba, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_LedybaF[] = { - overworld_ascending_frames(gObjectEventPic_LedybaF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Ledian[] = { - overworld_ascending_frames(gObjectEventPic_Ledian, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_LedianF[] = { - overworld_ascending_frames(gObjectEventPic_LedianF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_LEDYBA - -#if P_FAMILY_SPINARAK -static const struct SpriteFrameImage sPicTable_Spinarak[] = { - overworld_ascending_frames(gObjectEventPic_Spinarak, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Ariados[] = { - overworld_ascending_frames(gObjectEventPic_Ariados, 4, 4), -}; -#endif //P_FAMILY_SPINARAK - -#if P_FAMILY_CHINCHOU -static const struct SpriteFrameImage sPicTable_Chinchou[] = { - overworld_ascending_frames(gObjectEventPic_Chinchou, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Lanturn[] = { - overworld_ascending_frames(gObjectEventPic_Lanturn, 4, 4), -}; -#endif //P_FAMILY_CHINCHOU - -#if P_FAMILY_TOGEPI -static const struct SpriteFrameImage sPicTable_Togepi[] = { - overworld_ascending_frames(gObjectEventPic_Togepi, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Togetic[] = { - overworld_ascending_frames(gObjectEventPic_Togetic, 4, 4), -}; -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Togekiss[] = { - overworld_ascending_frames(gObjectEventPic_Togekiss, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_TOGEPI - -#if P_FAMILY_NATU -static const struct SpriteFrameImage sPicTable_Natu[] = { - overworld_ascending_frames(gObjectEventPic_Natu, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Xatu[] = { - overworld_ascending_frames(gObjectEventPic_Xatu, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_XatuF[] = { - overworld_ascending_frames(gObjectEventPic_XatuF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_NATU - -#if P_FAMILY_MAREEP -static const struct SpriteFrameImage sPicTable_Mareep[] = { - overworld_ascending_frames(gObjectEventPic_Mareep, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Flaaffy[] = { - overworld_ascending_frames(gObjectEventPic_Flaaffy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Ampharos[] = { - overworld_ascending_frames(gObjectEventPic_Ampharos, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_AmpharosMega[] = { - overworld_ascending_frames(gObjectEventPic_AmpharosMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MAREEP - -#if P_FAMILY_MARILL -#if P_GEN_3_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Azurill[] = { - overworld_ascending_frames(gObjectEventPic_Azurill, 4, 4), -}; -#endif //P_GEN_3_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Marill[] = { - overworld_ascending_frames(gObjectEventPic_Marill, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Azumarill[] = { - overworld_ascending_frames(gObjectEventPic_Azumarill, 4, 4), -}; -#endif //P_FAMILY_MARILL - -#if P_FAMILY_SUDOWOODO -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Bonsly[] = { - overworld_ascending_frames(gObjectEventPic_Bonsly, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Sudowoodo[] = { - overworld_ascending_frames(gObjectEventPic_Sudowoodo, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_SudowoodoF[] = { - overworld_ascending_frames(gObjectEventPic_SudowoodoF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_SUDOWOODO - -#if P_FAMILY_HOPPIP -static const struct SpriteFrameImage sPicTable_Hoppip[] = { - overworld_ascending_frames(gObjectEventPic_Hoppip, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Skiploom[] = { - overworld_ascending_frames(gObjectEventPic_Skiploom, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Jumpluff[] = { - overworld_ascending_frames(gObjectEventPic_Jumpluff, 4, 4), -}; -#endif //P_FAMILY_HOPPIP - -#if P_FAMILY_AIPOM -static const struct SpriteFrameImage sPicTable_Aipom[] = { - overworld_ascending_frames(gObjectEventPic_Aipom, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_AipomF[] = { - overworld_ascending_frames(gObjectEventPic_AipomF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Ambipom[] = { - overworld_ascending_frames(gObjectEventPic_Ambipom, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_AmbipomF[] = { - overworld_ascending_frames(gObjectEventPic_AmbipomF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_AIPOM - -#if P_FAMILY_SUNKERN -static const struct SpriteFrameImage sPicTable_Sunkern[] = { - overworld_ascending_frames(gObjectEventPic_Sunkern, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Sunflora[] = { - overworld_ascending_frames(gObjectEventPic_Sunflora, 4, 4), -}; -#endif //P_FAMILY_SUNKERN - -#if P_FAMILY_YANMA -static const struct SpriteFrameImage sPicTable_Yanma[] = { - overworld_ascending_frames(gObjectEventPic_Yanma, 4, 4), -}; -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Yanmega[] = { - overworld_ascending_frames(gObjectEventPic_Yanmega, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_YANMA - -#if P_FAMILY_WOOPER -static const struct SpriteFrameImage sPicTable_Wooper[] = { - overworld_ascending_frames(gObjectEventPic_Wooper, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_WooperF[] = { - overworld_ascending_frames(gObjectEventPic_WooperF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Quagsire[] = { - overworld_ascending_frames(gObjectEventPic_Quagsire, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_QuagsireF[] = { - overworld_ascending_frames(gObjectEventPic_QuagsireF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_PALDEAN_FORMS -static const struct SpriteFrameImage sPicTable_WooperPaldea[] = { - overworld_ascending_frames(gObjectEventPic_WooperPaldea, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Clodsire[] = { - overworld_ascending_frames(gObjectEventPic_Clodsire, 4, 4), -}; -#endif //P_PALDEAN_FORMS -#endif //P_FAMILY_WOOPER - -#if P_FAMILY_MURKROW -static const struct SpriteFrameImage sPicTable_Murkrow[] = { - overworld_ascending_frames(gObjectEventPic_Murkrow, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_MurkrowF[] = { - overworld_ascending_frames(gObjectEventPic_MurkrowF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Honchkrow[] = { - overworld_ascending_frames(gObjectEventPic_Honchkrow, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MURKROW - -#if P_FAMILY_MISDREAVUS -static const struct SpriteFrameImage sPicTable_Misdreavus[] = { - overworld_ascending_frames(gObjectEventPic_Misdreavus, 4, 4), -}; -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Mismagius[] = { - overworld_ascending_frames(gObjectEventPic_Mismagius, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_MISDREAVUS - -#if P_FAMILY_UNOWN -static const struct SpriteFrameImage sPicTable_UnownA[] = { - overworld_ascending_frames(gObjectEventPic_UnownA, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownB[] = { - overworld_ascending_frames(gObjectEventPic_UnownB, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownC[] = { - overworld_ascending_frames(gObjectEventPic_UnownC, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownD[] = { - overworld_ascending_frames(gObjectEventPic_UnownD, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownE[] = { - overworld_ascending_frames(gObjectEventPic_UnownE, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownF[] = { - overworld_ascending_frames(gObjectEventPic_UnownF, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownG[] = { - overworld_ascending_frames(gObjectEventPic_UnownG, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownH[] = { - overworld_ascending_frames(gObjectEventPic_UnownH, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownI[] = { - overworld_ascending_frames(gObjectEventPic_UnownI, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownJ[] = { - overworld_ascending_frames(gObjectEventPic_UnownJ, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownK[] = { - overworld_ascending_frames(gObjectEventPic_UnownK, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownL[] = { - overworld_ascending_frames(gObjectEventPic_UnownL, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownM[] = { - overworld_ascending_frames(gObjectEventPic_UnownM, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownN[] = { - overworld_ascending_frames(gObjectEventPic_UnownN, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownO[] = { - overworld_ascending_frames(gObjectEventPic_UnownO, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownP[] = { - overworld_ascending_frames(gObjectEventPic_UnownP, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownQ[] = { - overworld_ascending_frames(gObjectEventPic_UnownQ, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownR[] = { - overworld_ascending_frames(gObjectEventPic_UnownR, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownS[] = { - overworld_ascending_frames(gObjectEventPic_UnownS, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownT[] = { - overworld_ascending_frames(gObjectEventPic_UnownT, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownU[] = { - overworld_ascending_frames(gObjectEventPic_UnownU, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownV[] = { - overworld_ascending_frames(gObjectEventPic_UnownV, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownW[] = { - overworld_ascending_frames(gObjectEventPic_UnownW, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownX[] = { - overworld_ascending_frames(gObjectEventPic_UnownX, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownY[] = { - overworld_ascending_frames(gObjectEventPic_UnownY, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownZ[] = { - overworld_ascending_frames(gObjectEventPic_UnownZ, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownExclamation[] = { - overworld_ascending_frames(gObjectEventPic_UnownExclamation, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UnownQuestion[] = { - overworld_ascending_frames(gObjectEventPic_UnownQuestion, 4, 4), -}; -#endif //P_FAMILY_UNOWN - -#if P_FAMILY_WOBBUFFET -#if P_GEN_3_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Wynaut[] = { - overworld_ascending_frames(gObjectEventPic_Wynaut, 4, 4), -}; -#endif //P_GEN_3_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Wobbuffet[] = { - overworld_ascending_frames(gObjectEventPic_Wobbuffet, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_WobbuffetF[] = { - overworld_ascending_frames(gObjectEventPic_WobbuffetF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_WOBBUFFET - -#if P_FAMILY_GIRAFARIG -static const struct SpriteFrameImage sPicTable_Girafarig[] = { - overworld_ascending_frames(gObjectEventPic_Girafarig, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_GirafarigF[] = { - overworld_ascending_frames(gObjectEventPic_GirafarigF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_9_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Farigiraf[] = { - overworld_ascending_frames(gObjectEventPic_Farigiraf, 4, 4), -}; -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_GIRAFARIG - -#if P_FAMILY_PINECO -static const struct SpriteFrameImage sPicTable_Pineco[] = { - overworld_ascending_frames(gObjectEventPic_Pineco, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Forretress[] = { - overworld_ascending_frames(gObjectEventPic_Forretress, 4, 4), -}; -#endif //P_FAMILY_PINECO - -#if P_FAMILY_DUNSPARCE -static const struct SpriteFrameImage sPicTable_Dunsparce[] = { - overworld_ascending_frames(gObjectEventPic_Dunsparce, 4, 4), -}; -#if P_GEN_9_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_DudunsparceTwoSegment[] = { - overworld_ascending_frames(gObjectEventPic_DudunsparceTwoSegment, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_DudunsparceThreeSegment[] = { - overworld_ascending_frames(gObjectEventPic_DudunsparceThreeSegment, 8, 8), -}; - - -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_DUNSPARCE - -#if P_FAMILY_GLIGAR -static const struct SpriteFrameImage sPicTable_Gligar[] = { - overworld_ascending_frames(gObjectEventPic_Gligar, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_GligarF[] = { - overworld_ascending_frames(gObjectEventPic_GligarF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Gliscor[] = { - overworld_ascending_frames(gObjectEventPic_Gliscor, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_GLIGAR - -#if P_FAMILY_SNUBBULL -static const struct SpriteFrameImage sPicTable_Snubbull[] = { - overworld_ascending_frames(gObjectEventPic_Snubbull, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Granbull[] = { - overworld_ascending_frames(gObjectEventPic_Granbull, 4, 4), -}; -#endif //P_FAMILY_SNUBBULL - -#if P_FAMILY_QWILFISH -static const struct SpriteFrameImage sPicTable_Qwilfish[] = { - overworld_ascending_frames(gObjectEventPic_Qwilfish, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_QwilfishHisui[] = { - overworld_ascending_frames(gObjectEventPic_QwilfishHisui, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Overqwil[] = { - overworld_ascending_frames(gObjectEventPic_Overqwil, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_QWILFISH - -#if P_FAMILY_SHUCKLE -static const struct SpriteFrameImage sPicTable_Shuckle[] = { - overworld_ascending_frames(gObjectEventPic_Shuckle, 4, 4), -}; -#endif //P_FAMILY_SHUCKLE - -#if P_FAMILY_HERACROSS -static const struct SpriteFrameImage sPicTable_Heracross[] = { - overworld_ascending_frames(gObjectEventPic_Heracross, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_HeracrossF[] = { - overworld_ascending_frames(gObjectEventPic_HeracrossF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_HeracrossMega[] = { - overworld_ascending_frames(gObjectEventPic_HeracrossMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_HERACROSS - -#if P_FAMILY_SNEASEL -static const struct SpriteFrameImage sPicTable_Sneasel[] = { - overworld_ascending_frames(gObjectEventPic_Sneasel, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_SneaselF[] = { - overworld_ascending_frames(gObjectEventPic_SneaselF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Weavile[] = { - overworld_ascending_frames(gObjectEventPic_Weavile, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_WeavileF[] = { - overworld_ascending_frames(gObjectEventPic_WeavileF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_GEN_4_CROSS_EVOS - -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_SneaselHisui[] = { - overworld_ascending_frames(gObjectEventPic_SneaselHisui, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_SneaselHisuiF[] = { - overworld_ascending_frames(gObjectEventPic_SneaselHisuiF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Sneasler[] = { - overworld_ascending_frames(gObjectEventPic_Sneasler, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_SNEASEL - -#if P_FAMILY_TEDDIURSA -static const struct SpriteFrameImage sPicTable_Teddiursa[] = { - overworld_ascending_frames(gObjectEventPic_Teddiursa, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Ursaring[] = { - overworld_ascending_frames(gObjectEventPic_Ursaring, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_UrsaringF[] = { - overworld_ascending_frames(gObjectEventPic_UrsaringF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_8_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Ursaluna[] = { - overworld_ascending_frames(gObjectEventPic_Ursaluna, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UrsalunaBloodmoon[] = { - overworld_ascending_frames(gObjectEventPic_UrsalunaBloodmoon, 4, 4), -}; -#endif //P_GEN_8_CROSS_EVOS -#endif //P_FAMILY_TEDDIURSA - -#if P_FAMILY_SLUGMA -static const struct SpriteFrameImage sPicTable_Slugma[] = { - overworld_ascending_frames(gObjectEventPic_Slugma, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Magcargo[] = { - overworld_ascending_frames(gObjectEventPic_Magcargo, 4, 4), -}; -#endif //P_FAMILY_SLUGMA - -#if P_FAMILY_SWINUB -static const struct SpriteFrameImage sPicTable_Swinub[] = { - overworld_ascending_frames(gObjectEventPic_Swinub, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Piloswine[] = { - overworld_ascending_frames(gObjectEventPic_Piloswine, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_PiloswineF[] = { - overworld_ascending_frames(gObjectEventPic_PiloswineF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Mamoswine[] = { - overworld_ascending_frames(gObjectEventPic_Mamoswine, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_MamoswineF[] = { - overworld_ascending_frames(gObjectEventPic_MamoswineF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_SWINUB - -#if P_FAMILY_CORSOLA -static const struct SpriteFrameImage sPicTable_Corsola[] = { - overworld_ascending_frames(gObjectEventPic_Corsola, 4, 4), -}; -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_CorsolaGalar[] = { - overworld_ascending_frames(gObjectEventPic_CorsolaGalar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Cursola[] = { - overworld_ascending_frames(gObjectEventPic_Cursola, 4, 4), -}; -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_CORSOLA - -#if P_FAMILY_REMORAID -static const struct SpriteFrameImage sPicTable_Remoraid[] = { - overworld_ascending_frames(gObjectEventPic_Remoraid, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Octillery[] = { - overworld_ascending_frames(gObjectEventPic_Octillery, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_OctilleryF[] = { - overworld_ascending_frames(gObjectEventPic_OctilleryF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_REMORAID - -#if P_FAMILY_DELIBIRD -static const struct SpriteFrameImage sPicTable_Delibird[] = { - overworld_ascending_frames(gObjectEventPic_Delibird, 4, 4), -}; -#endif //P_FAMILY_DELIBIRD - -#if P_FAMILY_MANTINE -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Mantyke[] = { - overworld_ascending_frames(gObjectEventPic_Mantyke, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Mantine[] = { - overworld_ascending_frames(gObjectEventPic_Mantine, 4, 4), -}; -#endif //P_FAMILY_MANTINE - -#if P_FAMILY_SKARMORY -static const struct SpriteFrameImage sPicTable_Skarmory[] = { - overworld_ascending_frames(gObjectEventPic_Skarmory, 4, 4), -}; -#endif //P_FAMILY_SKARMORY - -#if P_FAMILY_HOUNDOUR -static const struct SpriteFrameImage sPicTable_Houndour[] = { - overworld_ascending_frames(gObjectEventPic_Houndour, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Houndoom[] = { - overworld_ascending_frames(gObjectEventPic_Houndoom, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_HoundoomF[] = { - overworld_ascending_frames(gObjectEventPic_HoundoomF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_HoundoomMega[] = { - overworld_ascending_frames(gObjectEventPic_HoundoomMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_HOUNDOUR - -#if P_FAMILY_PHANPY -static const struct SpriteFrameImage sPicTable_Phanpy[] = { - overworld_ascending_frames(gObjectEventPic_Phanpy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Donphan[] = { - overworld_ascending_frames(gObjectEventPic_Donphan, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_DonphanF[] = { - overworld_ascending_frames(gObjectEventPic_DonphanF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_PHANPY - -#if P_FAMILY_STANTLER -static const struct SpriteFrameImage sPicTable_Stantler[] = { - overworld_ascending_frames(gObjectEventPic_Stantler, 4, 4), -}; -#if P_GEN_8_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Wyrdeer[] = { - overworld_ascending_frames(gObjectEventPic_Wyrdeer, 4, 4), -}; -#endif //P_GEN_8_CROSS_EVOS -#endif //P_FAMILY_STANTLER - -#if P_FAMILY_SMEARGLE -static const struct SpriteFrameImage sPicTable_Smeargle[] = { - overworld_ascending_frames(gObjectEventPic_Smeargle, 4, 4), -}; -#endif //P_FAMILY_SMEARGLE - -#if P_FAMILY_MILTANK -static const struct SpriteFrameImage sPicTable_Miltank[] = { - overworld_ascending_frames(gObjectEventPic_Miltank, 4, 4), -}; -#endif //P_FAMILY_MILTANK - -#if P_FAMILY_RAIKOU -static const struct SpriteFrameImage sPicTable_Raikou[] = { - overworld_ascending_frames(gObjectEventPic_Raikou, 4, 4), -}; -#endif //P_FAMILY_RAIKOU - -#if P_FAMILY_ENTEI -static const struct SpriteFrameImage sPicTable_Entei[] = { - overworld_ascending_frames(gObjectEventPic_Entei, 4, 4), -}; -#endif //P_FAMILY_ENTEI - -#if P_FAMILY_SUICUNE -static const struct SpriteFrameImage sPicTable_Suicune[] = { - overworld_ascending_frames(gObjectEventPic_Suicune, 4, 4), -}; -#endif //P_FAMILY_SUICUNE - -#if P_FAMILY_LARVITAR -static const struct SpriteFrameImage sPicTable_Larvitar[] = { - overworld_ascending_frames(gObjectEventPic_Larvitar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Pupitar[] = { - overworld_ascending_frames(gObjectEventPic_Pupitar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Tyranitar[] = { - overworld_ascending_frames(gObjectEventPic_Tyranitar, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_TyranitarMega[] = { - overworld_ascending_frames(gObjectEventPic_TyranitarMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_LARVITAR - -#if P_FAMILY_LUGIA -static const struct SpriteFrameImage sPicTable_Lugia[] = { - overworld_ascending_frames(gObjectEventPic_Lugia, 8, 8), -}; -#endif //P_FAMILY_LUGIA - -#if P_FAMILY_HO_OH -static const struct SpriteFrameImage sPicTable_HoOh[] = { - overworld_ascending_frames(gObjectEventPic_HoOh, 8, 8), -}; -#endif //P_FAMILY_HO_OH - -#if P_FAMILY_CELEBI -static const struct SpriteFrameImage sPicTable_Celebi[] = { - overworld_ascending_frames(gObjectEventPic_Celebi, 4, 4), -}; -#endif //P_FAMILY_CELEBI - -#if P_FAMILY_TREECKO -static const struct SpriteFrameImage sPicTable_Treecko[] = { - overworld_ascending_frames(gObjectEventPic_Treecko, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Grovyle[] = { - overworld_ascending_frames(gObjectEventPic_Grovyle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Sceptile[] = { - overworld_ascending_frames(gObjectEventPic_Sceptile, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_SceptileMega[] = { - overworld_ascending_frames(gObjectEventPic_SceptileMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_TREECKO - -#if P_FAMILY_TORCHIC -static const struct SpriteFrameImage sPicTable_Torchic[] = { - overworld_ascending_frames(gObjectEventPic_Torchic, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_TorchicF[] = { - overworld_ascending_frames(gObjectEventPic_TorchicF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Combusken[] = { - overworld_ascending_frames(gObjectEventPic_Combusken, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_CombuskenF[] = { - overworld_ascending_frames(gObjectEventPic_CombuskenF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Blaziken[] = { - overworld_ascending_frames(gObjectEventPic_Blaziken, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_BlazikenF[] = { - overworld_ascending_frames(gObjectEventPic_BlazikenF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_BlazikenMega[] = { - overworld_ascending_frames(gObjectEventPic_BlazikenMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_TORCHIC - -#if P_FAMILY_MUDKIP -static const struct SpriteFrameImage sPicTable_Mudkip[] = { - overworld_ascending_frames(gObjectEventPic_Mudkip, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Marshtomp[] = { - overworld_ascending_frames(gObjectEventPic_Marshtomp, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Swampert[] = { - overworld_ascending_frames(gObjectEventPic_Swampert, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_SwampertMega[] = { - overworld_ascending_frames(gObjectEventPic_SwampertMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MUDKIP - -#if P_FAMILY_POOCHYENA -static const struct SpriteFrameImage sPicTable_Poochyena[] = { - overworld_ascending_frames(gObjectEventPic_Poochyena, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Mightyena[] = { - overworld_ascending_frames(gObjectEventPic_Mightyena, 4, 4), -}; -#endif //P_FAMILY_POOCHYENA - -#if P_FAMILY_ZIGZAGOON -static const struct SpriteFrameImage sPicTable_Zigzagoon[] = { - overworld_ascending_frames(gObjectEventPic_Zigzagoon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Linoone[] = { - overworld_ascending_frames(gObjectEventPic_Linoone, 4, 4), -}; -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_ZigzagoonGalar[] = { - overworld_ascending_frames(gObjectEventPic_ZigzagoonGalar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_LinooneGalar[] = { - overworld_ascending_frames(gObjectEventPic_LinooneGalar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Obstagoon[] = { - overworld_ascending_frames(gObjectEventPic_Obstagoon, 4, 4), -}; -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_ZIGZAGOON - -#if P_FAMILY_WURMPLE -static const struct SpriteFrameImage sPicTable_Wurmple[] = { - overworld_ascending_frames(gObjectEventPic_Wurmple, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Silcoon[] = { - overworld_ascending_frames(gObjectEventPic_Silcoon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Beautifly[] = { - overworld_ascending_frames(gObjectEventPic_Beautifly, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_BeautiflyF[] = { - overworld_ascending_frames(gObjectEventPic_BeautiflyF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Cascoon[] = { - overworld_ascending_frames(gObjectEventPic_Cascoon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dustox[] = { - overworld_ascending_frames(gObjectEventPic_Dustox, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_DustoxF[] = { - overworld_ascending_frames(gObjectEventPic_DustoxF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_WURMPLE - -#if P_FAMILY_LOTAD -static const struct SpriteFrameImage sPicTable_Lotad[] = { - overworld_ascending_frames(gObjectEventPic_Lotad, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Lombre[] = { - overworld_ascending_frames(gObjectEventPic_Lombre, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Ludicolo[] = { - overworld_ascending_frames(gObjectEventPic_Ludicolo, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_LudicoloF[] = { - overworld_ascending_frames(gObjectEventPic_LudicoloF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_LOTAD - -#if P_FAMILY_SEEDOT -static const struct SpriteFrameImage sPicTable_Seedot[] = { - overworld_ascending_frames(gObjectEventPic_Seedot, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Nuzleaf[] = { - overworld_ascending_frames(gObjectEventPic_Nuzleaf, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_NuzleafF[] = { - overworld_ascending_frames(gObjectEventPic_NuzleafF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Shiftry[] = { - overworld_ascending_frames(gObjectEventPic_Shiftry, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_ShiftryF[] = { - overworld_ascending_frames(gObjectEventPic_ShiftryF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_SEEDOT - -#if P_FAMILY_TAILLOW -static const struct SpriteFrameImage sPicTable_Taillow[] = { - overworld_ascending_frames(gObjectEventPic_Taillow, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Swellow[] = { - overworld_ascending_frames(gObjectEventPic_Swellow, 4, 4), -}; -#endif //P_FAMILY_TAILLOW - -#if P_FAMILY_WINGULL -static const struct SpriteFrameImage sPicTable_Wingull[] = { - overworld_ascending_frames(gObjectEventPic_Wingull, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Pelipper[] = { - overworld_ascending_frames(gObjectEventPic_Pelipper, 4, 4), -}; -#endif //P_FAMILY_WINGULL - -#if P_FAMILY_RALTS -static const struct SpriteFrameImage sPicTable_Ralts[] = { - overworld_ascending_frames(gObjectEventPic_Ralts, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Kirlia[] = { - overworld_ascending_frames(gObjectEventPic_Kirlia, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Gardevoir[] = { - overworld_ascending_frames(gObjectEventPic_Gardevoir, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_GardevoirMega[] = { - overworld_ascending_frames(gObjectEventPic_GardevoirMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS - -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Gallade[] = { - overworld_ascending_frames(gObjectEventPic_Gallade, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_GalladeMega[] = { - overworld_ascending_frames(gObjectEventPic_GalladeMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_RALTS - -#if P_FAMILY_SURSKIT -static const struct SpriteFrameImage sPicTable_Surskit[] = { - overworld_ascending_frames(gObjectEventPic_Surskit, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Masquerain[] = { - overworld_ascending_frames(gObjectEventPic_Masquerain, 4, 4), -}; -#endif //P_FAMILY_SURSKIT - -#if P_FAMILY_SHROOMISH -static const struct SpriteFrameImage sPicTable_Shroomish[] = { - overworld_ascending_frames(gObjectEventPic_Shroomish, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Breloom[] = { - overworld_ascending_frames(gObjectEventPic_Breloom, 4, 4), -}; -#endif //P_FAMILY_SHROOMISH - -#if P_FAMILY_SLAKOTH -static const struct SpriteFrameImage sPicTable_Slakoth[] = { - overworld_ascending_frames(gObjectEventPic_Slakoth, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Vigoroth[] = { - overworld_ascending_frames(gObjectEventPic_Vigoroth, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Slaking[] = { - overworld_ascending_frames(gObjectEventPic_Slaking, 4, 4), -}; -#endif //P_FAMILY_SLAKOTH - -#if P_FAMILY_NINCADA -static const struct SpriteFrameImage sPicTable_Nincada[] = { - overworld_ascending_frames(gObjectEventPic_Nincada, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Ninjask[] = { - overworld_ascending_frames(gObjectEventPic_Ninjask, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Shedinja[] = { - overworld_ascending_frames(gObjectEventPic_Shedinja, 4, 4), -}; -#endif //P_FAMILY_NINCADA - -#if P_FAMILY_WHISMUR -static const struct SpriteFrameImage sPicTable_Whismur[] = { - overworld_ascending_frames(gObjectEventPic_Whismur, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Loudred[] = { - overworld_ascending_frames(gObjectEventPic_Loudred, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Exploud[] = { - overworld_ascending_frames(gObjectEventPic_Exploud, 4, 4), -}; -#endif //P_FAMILY_WHISMUR - -#if P_FAMILY_MAKUHITA -static const struct SpriteFrameImage sPicTable_Makuhita[] = { - overworld_ascending_frames(gObjectEventPic_Makuhita, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Hariyama[] = { - overworld_ascending_frames(gObjectEventPic_Hariyama, 4, 4), -}; -#endif //P_FAMILY_MAKUHITA - -#if P_FAMILY_NOSEPASS -static const struct SpriteFrameImage sPicTable_Nosepass[] = { - overworld_ascending_frames(gObjectEventPic_Nosepass, 4, 4), -}; -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Probopass[] = { - overworld_ascending_frames(gObjectEventPic_Probopass, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_NOSEPASS - -#if P_FAMILY_SKITTY -static const struct SpriteFrameImage sPicTable_Skitty[] = { - overworld_ascending_frames(gObjectEventPic_Skitty, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Delcatty[] = { - overworld_ascending_frames(gObjectEventPic_Delcatty, 4, 4), -}; -#endif //P_FAMILY_SKITTY - -#if P_FAMILY_SABLEYE -static const struct SpriteFrameImage sPicTable_Sableye[] = { - overworld_ascending_frames(gObjectEventPic_Sableye, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_SableyeMega[] = { - overworld_ascending_frames(gObjectEventPic_SableyeMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SABLEYE - -#if P_FAMILY_MAWILE -static const struct SpriteFrameImage sPicTable_Mawile[] = { - overworld_ascending_frames(gObjectEventPic_Mawile, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_MawileMega[] = { - overworld_ascending_frames(gObjectEventPic_MawileMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MAWILE - -#if P_FAMILY_ARON -static const struct SpriteFrameImage sPicTable_Aron[] = { - overworld_ascending_frames(gObjectEventPic_Aron, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Lairon[] = { - overworld_ascending_frames(gObjectEventPic_Lairon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Aggron[] = { - overworld_ascending_frames(gObjectEventPic_Aggron, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_AggronMega[] = { - overworld_ascending_frames(gObjectEventPic_AggronMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ARON - -#if P_FAMILY_MEDITITE -static const struct SpriteFrameImage sPicTable_Meditite[] = { - overworld_ascending_frames(gObjectEventPic_Meditite, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_MedititeF[] = { - overworld_ascending_frames(gObjectEventPic_MedititeF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Medicham[] = { - overworld_ascending_frames(gObjectEventPic_Medicham, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_MedichamF[] = { - overworld_ascending_frames(gObjectEventPic_MedichamF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_MedichamMega[] = { - overworld_ascending_frames(gObjectEventPic_MedichamMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_MEDITITE - -#if P_FAMILY_ELECTRIKE -static const struct SpriteFrameImage sPicTable_Electrike[] = { - overworld_ascending_frames(gObjectEventPic_Electrike, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Manectric[] = { - overworld_ascending_frames(gObjectEventPic_Manectric, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_ManectricMega[] = { - overworld_ascending_frames(gObjectEventPic_ManectricMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ELECTRIKE - -#if P_FAMILY_PLUSLE -static const struct SpriteFrameImage sPicTable_Plusle[] = { - overworld_ascending_frames(gObjectEventPic_Plusle, 4, 4), -}; -#endif //P_FAMILY_PLUSLE - -#if P_FAMILY_MINUN -static const struct SpriteFrameImage sPicTable_Minun[] = { - overworld_ascending_frames(gObjectEventPic_Minun, 4, 4), -}; -#endif //P_FAMILY_MINUN - -#if P_FAMILY_VOLBEAT_ILLUMISE -static const struct SpriteFrameImage sPicTable_Volbeat[] = { - overworld_ascending_frames(gObjectEventPic_Volbeat, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Illumise[] = { - overworld_ascending_frames(gObjectEventPic_Illumise, 4, 4), -}; -#endif //P_FAMILY_VOLBEAT_ILLUMISE - -#if P_FAMILY_ROSELIA -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Budew[] = { - overworld_ascending_frames(gObjectEventPic_Budew, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Roselia[] = { - overworld_ascending_frames(gObjectEventPic_Roselia, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_RoseliaF[] = { - overworld_ascending_frames(gObjectEventPic_RoseliaF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Roserade[] = { - overworld_ascending_frames(gObjectEventPic_Roserade, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_RoseradeF[] = { - overworld_ascending_frames(gObjectEventPic_RoseradeF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_ROSELIA - -#if P_FAMILY_GULPIN -static const struct SpriteFrameImage sPicTable_Gulpin[] = { - overworld_ascending_frames(gObjectEventPic_Gulpin, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_GulpinF[] = { - overworld_ascending_frames(gObjectEventPic_GulpinF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Swalot[] = { - overworld_ascending_frames(gObjectEventPic_Swalot, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_SwalotF[] = { - overworld_ascending_frames(gObjectEventPic_SwalotF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_GULPIN - -#if P_FAMILY_CARVANHA -static const struct SpriteFrameImage sPicTable_Carvanha[] = { - overworld_ascending_frames(gObjectEventPic_Carvanha, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Sharpedo[] = { - overworld_ascending_frames(gObjectEventPic_Sharpedo, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_SharpedoMega[] = { - overworld_ascending_frames(gObjectEventPic_SharpedoMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_CARVANHA - -#if P_FAMILY_WAILMER -static const struct SpriteFrameImage sPicTable_Wailmer[] = { - overworld_ascending_frames(gObjectEventPic_Wailmer, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Wailord[] = { - overworld_ascending_frames(gObjectEventPic_Wailord, 8, 8), -}; -#endif //P_FAMILY_WAILMER - -#if P_FAMILY_NUMEL -static const struct SpriteFrameImage sPicTable_Numel[] = { - overworld_ascending_frames(gObjectEventPic_Numel, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_NumelF[] = { - overworld_ascending_frames(gObjectEventPic_NumelF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Camerupt[] = { - overworld_ascending_frames(gObjectEventPic_Camerupt, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_CameruptF[] = { - overworld_ascending_frames(gObjectEventPic_CameruptF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_CameruptMega[] = { - overworld_ascending_frames(gObjectEventPic_CameruptMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_NUMEL - -#if P_FAMILY_TORKOAL -static const struct SpriteFrameImage sPicTable_Torkoal[] = { - overworld_ascending_frames(gObjectEventPic_Torkoal, 4, 4), -}; -#endif //P_FAMILY_TORKOAL - -#if P_FAMILY_SPOINK -static const struct SpriteFrameImage sPicTable_Spoink[] = { - overworld_ascending_frames(gObjectEventPic_Spoink, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Grumpig[] = { - overworld_ascending_frames(gObjectEventPic_Grumpig, 4, 4), -}; -#endif //P_FAMILY_SPOINK - -#if P_FAMILY_SPINDA -static const struct SpriteFrameImage sPicTable_Spinda[] = { - overworld_ascending_frames(gObjectEventPic_Spinda, 4, 4), -}; -#endif //P_FAMILY_SPINDA - -#if P_FAMILY_TRAPINCH -static const struct SpriteFrameImage sPicTable_Trapinch[] = { - overworld_ascending_frames(gObjectEventPic_Trapinch, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Vibrava[] = { - overworld_ascending_frames(gObjectEventPic_Vibrava, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Flygon[] = { - overworld_ascending_frames(gObjectEventPic_Flygon, 4, 4), -}; -#endif //P_FAMILY_TRAPINCH - -#if P_FAMILY_CACNEA -static const struct SpriteFrameImage sPicTable_Cacnea[] = { - overworld_ascending_frames(gObjectEventPic_Cacnea, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Cacturne[] = { - overworld_ascending_frames(gObjectEventPic_Cacturne, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_CacturneF[] = { - overworld_ascending_frames(gObjectEventPic_CacturneF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_CACNEA - -#if P_FAMILY_SWABLU -static const struct SpriteFrameImage sPicTable_Swablu[] = { - overworld_ascending_frames(gObjectEventPic_Swablu, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Altaria[] = { - overworld_ascending_frames(gObjectEventPic_Altaria, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_AltariaMega[] = { - overworld_ascending_frames(gObjectEventPic_AltariaMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SWABLU - -#if P_FAMILY_ZANGOOSE -static const struct SpriteFrameImage sPicTable_Zangoose[] = { - overworld_ascending_frames(gObjectEventPic_Zangoose, 4, 4), -}; -#endif //P_FAMILY_ZANGOOSE - -#if P_FAMILY_SEVIPER -static const struct SpriteFrameImage sPicTable_Seviper[] = { - overworld_ascending_frames(gObjectEventPic_Seviper, 4, 4), -}; -#endif //P_FAMILY_SEVIPER - -#if P_FAMILY_LUNATONE -static const struct SpriteFrameImage sPicTable_Lunatone[] = { - overworld_ascending_frames(gObjectEventPic_Lunatone, 4, 4), -}; -#endif //P_FAMILY_LUNATONE - -#if P_FAMILY_SOLROCK -static const struct SpriteFrameImage sPicTable_Solrock[] = { - overworld_ascending_frames(gObjectEventPic_Solrock, 4, 4), -}; -#endif //P_FAMILY_SOLROCK - -#if P_FAMILY_BARBOACH -static const struct SpriteFrameImage sPicTable_Barboach[] = { - overworld_ascending_frames(gObjectEventPic_Barboach, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Whiscash[] = { - overworld_ascending_frames(gObjectEventPic_Whiscash, 4, 4), -}; -#endif //P_FAMILY_BARBOACH - -#if P_FAMILY_CORPHISH -static const struct SpriteFrameImage sPicTable_Corphish[] = { - overworld_ascending_frames(gObjectEventPic_Corphish, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Crawdaunt[] = { - overworld_ascending_frames(gObjectEventPic_Crawdaunt, 4, 4), -}; -#endif //P_FAMILY_CORPHISH - -#if P_FAMILY_BALTOY -static const struct SpriteFrameImage sPicTable_Baltoy[] = { - overworld_ascending_frames(gObjectEventPic_Baltoy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Claydol[] = { - overworld_ascending_frames(gObjectEventPic_Claydol, 4, 4), -}; -#endif //P_FAMILY_BALTOY - -#if P_FAMILY_LILEEP -static const struct SpriteFrameImage sPicTable_Lileep[] = { - overworld_ascending_frames(gObjectEventPic_Lileep, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Cradily[] = { - overworld_ascending_frames(gObjectEventPic_Cradily, 4, 4), -}; -#endif //P_FAMILY_LILEEP - -#if P_FAMILY_ANORITH -static const struct SpriteFrameImage sPicTable_Anorith[] = { - overworld_ascending_frames(gObjectEventPic_Anorith, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Armaldo[] = { - overworld_ascending_frames(gObjectEventPic_Armaldo, 4, 4), -}; -#endif //P_FAMILY_ANORITH - -#if P_FAMILY_FEEBAS -static const struct SpriteFrameImage sPicTable_Feebas[] = { - overworld_ascending_frames(gObjectEventPic_Feebas, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Milotic[] = { - overworld_ascending_frames(gObjectEventPic_Milotic, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_MiloticF[] = { - overworld_ascending_frames(gObjectEventPic_MiloticF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_FEEBAS - -#if P_FAMILY_CASTFORM -static const struct SpriteFrameImage sPicTable_CastformNormal[] = { - overworld_ascending_frames(gObjectEventPic_CastformNormal, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_CastformSunny[] = { - overworld_ascending_frames(gObjectEventPic_CastformSunny, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_CastformRainy[] = { - overworld_ascending_frames(gObjectEventPic_CastformRainy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_CastformSnowy[] = { - overworld_ascending_frames(gObjectEventPic_CastformSnowy, 4, 4), -}; -#endif //P_FAMILY_CASTFORM - -#if P_FAMILY_KECLEON -static const struct SpriteFrameImage sPicTable_Kecleon[] = { - overworld_ascending_frames(gObjectEventPic_Kecleon, 4, 4), -}; -#endif //P_FAMILY_KECLEON - -#if P_FAMILY_SHUPPET -static const struct SpriteFrameImage sPicTable_Shuppet[] = { - overworld_ascending_frames(gObjectEventPic_Shuppet, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Banette[] = { - overworld_ascending_frames(gObjectEventPic_Banette, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_BanetteMega[] = { - overworld_ascending_frames(gObjectEventPic_BanetteMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SHUPPET - -#if P_FAMILY_DUSKULL -static const struct SpriteFrameImage sPicTable_Duskull[] = { - overworld_ascending_frames(gObjectEventPic_Duskull, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dusclops[] = { - overworld_ascending_frames(gObjectEventPic_Dusclops, 4, 4), -}; -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Dusknoir[] = { - overworld_ascending_frames(gObjectEventPic_Dusknoir, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_DUSKULL - -#if P_FAMILY_TROPIUS -static const struct SpriteFrameImage sPicTable_Tropius[] = { - overworld_ascending_frames(gObjectEventPic_Tropius, 4, 4), -}; -#endif //P_FAMILY_TROPIUS - -#if P_FAMILY_CHIMECHO -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Chingling[] = { - overworld_ascending_frames(gObjectEventPic_Chingling, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Chimecho[] = { - overworld_ascending_frames(gObjectEventPic_Chimecho, 4, 4), -}; -#endif //P_FAMILY_CHIMECHO - -#if P_FAMILY_ABSOL -static const struct SpriteFrameImage sPicTable_Absol[] = { - overworld_ascending_frames(gObjectEventPic_Absol, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_AbsolMega[] = { - overworld_ascending_frames(gObjectEventPic_AbsolMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_ABSOL - -#if P_FAMILY_SNORUNT -static const struct SpriteFrameImage sPicTable_Snorunt[] = { - overworld_ascending_frames(gObjectEventPic_Snorunt, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Glalie[] = { - overworld_ascending_frames(gObjectEventPic_Glalie, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_GlalieMega[] = { - overworld_ascending_frames(gObjectEventPic_GlalieMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS - -#if P_GEN_4_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Froslass[] = { - overworld_ascending_frames(gObjectEventPic_Froslass, 4, 4), -}; -#endif //P_GEN_4_CROSS_EVOS -#endif //P_FAMILY_SNORUNT - -#if P_FAMILY_SPHEAL -static const struct SpriteFrameImage sPicTable_Spheal[] = { - overworld_ascending_frames(gObjectEventPic_Spheal, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Sealeo[] = { - overworld_ascending_frames(gObjectEventPic_Sealeo, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Walrein[] = { - overworld_ascending_frames(gObjectEventPic_Walrein, 4, 4), -}; -#endif //P_FAMILY_SPHEAL - -#if P_FAMILY_CLAMPERL -static const struct SpriteFrameImage sPicTable_Clamperl[] = { - overworld_ascending_frames(gObjectEventPic_Clamperl, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Huntail[] = { - overworld_ascending_frames(gObjectEventPic_Huntail, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Gorebyss[] = { - overworld_ascending_frames(gObjectEventPic_Gorebyss, 4, 4), -}; -#endif //P_FAMILY_CLAMPERL - -#if P_FAMILY_RELICANTH -static const struct SpriteFrameImage sPicTable_Relicanth[] = { - overworld_ascending_frames(gObjectEventPic_Relicanth, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_RelicanthF[] = { - overworld_ascending_frames(gObjectEventPic_RelicanthF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_RELICANTH - -#if P_FAMILY_LUVDISC -static const struct SpriteFrameImage sPicTable_Luvdisc[] = { - overworld_ascending_frames(gObjectEventPic_Luvdisc, 4, 4), -}; -#endif //P_FAMILY_LUVDISC - -#if P_FAMILY_BAGON -static const struct SpriteFrameImage sPicTable_Bagon[] = { - overworld_ascending_frames(gObjectEventPic_Bagon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Shelgon[] = { - overworld_ascending_frames(gObjectEventPic_Shelgon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Salamence[] = { - overworld_ascending_frames(gObjectEventPic_Salamence, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_SalamenceMega[] = { - overworld_ascending_frames(gObjectEventPic_SalamenceMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_BAGON - -#if P_FAMILY_BELDUM -static const struct SpriteFrameImage sPicTable_Beldum[] = { - overworld_ascending_frames(gObjectEventPic_Beldum, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Metang[] = { - overworld_ascending_frames(gObjectEventPic_Metang, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Metagross[] = { - overworld_ascending_frames(gObjectEventPic_Metagross, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_MetagrossMega[] = { - overworld_ascending_frames(gObjectEventPic_MetagrossMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_BELDUM - -#if P_FAMILY_REGIROCK -static const struct SpriteFrameImage sPicTable_Regirock[] = { - overworld_ascending_frames(gObjectEventPic_Regirock, 4, 4), -}; -#endif //P_FAMILY_REGIROCK - -#if P_FAMILY_REGICE -static const struct SpriteFrameImage sPicTable_Regice[] = { - overworld_ascending_frames(gObjectEventPic_Regice, 4, 4), -}; -#endif //P_FAMILY_REGICE - -#if P_FAMILY_REGISTEEL -static const struct SpriteFrameImage sPicTable_Registeel[] = { - overworld_ascending_frames(gObjectEventPic_Registeel, 4, 4), -}; -#endif //P_FAMILY_REGISTEEL - -#if P_FAMILY_LATIAS -static const struct SpriteFrameImage sPicTable_Latias[] = { - overworld_ascending_frames(gObjectEventPic_Latias, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_LatiasMega[] = { - overworld_ascending_frames(gObjectEventPic_LatiasMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_LATIAS - -#if P_FAMILY_LATIOS -static const struct SpriteFrameImage sPicTable_Latios[] = { - overworld_ascending_frames(gObjectEventPic_Latios, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_LatiosMega[] = { - overworld_ascending_frames(gObjectEventPic_LatiosMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_LATIOS - -#if P_FAMILY_KYOGRE -static const struct SpriteFrameImage sPicTable_Kyogre[] = { - overworld_ascending_frames(gObjectEventPic_Kyogre, 8, 8), -}; -#if P_PRIMAL_REVERSIONS -/*static const struct SpriteFrameImage sPicTable_KyogrePrimal[] = { - overworld_ascending_frames(gObjectEventPic_KyogrePrimal, 4, 4), -};*/ -#endif //P_PRIMAL_REVERSIONS -#endif //P_FAMILY_KYOGRE - -#if P_FAMILY_GROUDON -static const struct SpriteFrameImage sPicTable_Groudon[] = { - overworld_ascending_frames(gObjectEventPic_Groudon, 8, 8), -}; -#if P_PRIMAL_REVERSIONS -/*static const struct SpriteFrameImage sPicTable_GroudonPrimal[] = { - overworld_ascending_frames(gObjectEventPic_GroudonPrimal, 4, 4), -};*/ -#endif //P_PRIMAL_REVERSIONS -#endif //P_FAMILY_GROUDON - -#if P_FAMILY_RAYQUAZA -static const struct SpriteFrameImage sPicTable_Rayquaza[] = { - overworld_ascending_frames(gObjectEventPic_Rayquaza, 8, 8), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_RayquazaMega[] = { - overworld_ascending_frames(gObjectEventPic_RayquazaMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_RAYQUAZA - -#if P_FAMILY_JIRACHI -static const struct SpriteFrameImage sPicTable_Jirachi[] = { - overworld_ascending_frames(gObjectEventPic_Jirachi, 4, 4), -}; -#endif //P_FAMILY_JIRACHI - -#if P_FAMILY_DEOXYS -static const struct SpriteFrameImage sPicTable_DeoxysNormal[] = { - overworld_ascending_frames(gObjectEventPic_DeoxysNormal, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_DeoxysAttack[] = { - overworld_ascending_frames(gObjectEventPic_DeoxysAttack, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_DeoxysDefense[] = { - overworld_ascending_frames(gObjectEventPic_DeoxysDefense, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_DeoxysSpeed[] = { - overworld_ascending_frames(gObjectEventPic_DeoxysSpeed, 4, 4), -}; -#endif //P_FAMILY_DEOXYS - -#if P_FAMILY_TURTWIG -static const struct SpriteFrameImage sPicTable_Turtwig[] = { - overworld_ascending_frames(gObjectEventPic_Turtwig, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Grotle[] = { - overworld_ascending_frames(gObjectEventPic_Grotle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Torterra[] = { - overworld_ascending_frames(gObjectEventPic_Torterra, 4, 4), -}; -#endif //P_FAMILY_TURTWIG - -#if P_FAMILY_CHIMCHAR -static const struct SpriteFrameImage sPicTable_Chimchar[] = { - overworld_ascending_frames(gObjectEventPic_Chimchar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Monferno[] = { - overworld_ascending_frames(gObjectEventPic_Monferno, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Infernape[] = { - overworld_ascending_frames(gObjectEventPic_Infernape, 4, 4), -}; -#endif //P_FAMILY_CHIMCHAR - -#if P_FAMILY_PIPLUP -static const struct SpriteFrameImage sPicTable_Piplup[] = { - overworld_ascending_frames(gObjectEventPic_Piplup, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Prinplup[] = { - overworld_ascending_frames(gObjectEventPic_Prinplup, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Empoleon[] = { - overworld_ascending_frames(gObjectEventPic_Empoleon, 4, 4), -}; -#endif //P_FAMILY_PIPLUP - -#if P_FAMILY_STARLY -static const struct SpriteFrameImage sPicTable_Starly[] = { - overworld_ascending_frames(gObjectEventPic_Starly, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_StarlyF[] = { - overworld_ascending_frames(gObjectEventPic_StarlyF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Staravia[] = { - overworld_ascending_frames(gObjectEventPic_Staravia, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_StaraviaF[] = { - overworld_ascending_frames(gObjectEventPic_StaraviaF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Staraptor[] = { - overworld_ascending_frames(gObjectEventPic_Staraptor, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_StaraptorF[] = { - overworld_ascending_frames(gObjectEventPic_StaraptorF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_STARLY - -#if P_FAMILY_BIDOOF -static const struct SpriteFrameImage sPicTable_Bidoof[] = { - overworld_ascending_frames(gObjectEventPic_Bidoof, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_BidoofF[] = { - overworld_ascending_frames(gObjectEventPic_BidoofF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Bibarel[] = { - overworld_ascending_frames(gObjectEventPic_Bibarel, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_BibarelF[] = { - overworld_ascending_frames(gObjectEventPic_BibarelF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_BIDOOF - -#if P_FAMILY_KRICKETOT -static const struct SpriteFrameImage sPicTable_Kricketot[] = { - overworld_ascending_frames(gObjectEventPic_Kricketot, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_KricketotF[] = { - overworld_ascending_frames(gObjectEventPic_KricketotF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Kricketune[] = { - overworld_ascending_frames(gObjectEventPic_Kricketune, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_KricketuneF[] = { - overworld_ascending_frames(gObjectEventPic_KricketuneF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_KRICKETOT - -#if P_FAMILY_SHINX -static const struct SpriteFrameImage sPicTable_Shinx[] = { - overworld_ascending_frames(gObjectEventPic_Shinx, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_ShinxF[] = { - overworld_ascending_frames(gObjectEventPic_ShinxF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Luxio[] = { - overworld_ascending_frames(gObjectEventPic_Luxio, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_LuxioF[] = { - overworld_ascending_frames(gObjectEventPic_LuxioF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Luxray[] = { - overworld_ascending_frames(gObjectEventPic_Luxray, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_LuxrayF[] = { - overworld_ascending_frames(gObjectEventPic_LuxrayF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_SHINX - -#if P_FAMILY_CRANIDOS -static const struct SpriteFrameImage sPicTable_Cranidos[] = { - overworld_ascending_frames(gObjectEventPic_Cranidos, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Rampardos[] = { - overworld_ascending_frames(gObjectEventPic_Rampardos, 4, 4), -}; -#endif //P_FAMILY_CRANIDOS - -#if P_FAMILY_SHIELDON -static const struct SpriteFrameImage sPicTable_Shieldon[] = { - overworld_ascending_frames(gObjectEventPic_Shieldon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Bastiodon[] = { - overworld_ascending_frames(gObjectEventPic_Bastiodon, 4, 4), -}; -#endif //P_FAMILY_SHIELDON - -#if P_FAMILY_BURMY -static const struct SpriteFrameImage sPicTable_BurmyPlant[] = { - overworld_ascending_frames(gObjectEventPic_BurmyPlant, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_BurmySandy[] = { - overworld_ascending_frames(gObjectEventPic_BurmySandy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_BurmyTrash[] = { - overworld_ascending_frames(gObjectEventPic_BurmyTrash, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_WormadamPlant[] = { - overworld_ascending_frames(gObjectEventPic_WormadamPlant, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_WormadamSandy[] = { - overworld_ascending_frames(gObjectEventPic_WormadamSandy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_WormadamTrash[] = { - overworld_ascending_frames(gObjectEventPic_WormadamTrash, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Mothim[] = { - overworld_ascending_frames(gObjectEventPic_Mothim, 4, 4), -}; -#endif //P_FAMILY_BURMY - -#if P_FAMILY_COMBEE -static const struct SpriteFrameImage sPicTable_Combee[] = { - overworld_ascending_frames(gObjectEventPic_Combee, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_CombeeF[] = { - overworld_ascending_frames(gObjectEventPic_CombeeF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Vespiquen[] = { - overworld_ascending_frames(gObjectEventPic_Vespiquen, 4, 4), -}; -#endif //P_FAMILY_COMBEE - -#if P_FAMILY_PACHIRISU -static const struct SpriteFrameImage sPicTable_Pachirisu[] = { - overworld_ascending_frames(gObjectEventPic_Pachirisu, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_PachirisuF[] = { - overworld_ascending_frames(gObjectEventPic_PachirisuF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_PACHIRISU - -#if P_FAMILY_BUIZEL -static const struct SpriteFrameImage sPicTable_Buizel[] = { - overworld_ascending_frames(gObjectEventPic_Buizel, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_BuizelF[] = { - overworld_ascending_frames(gObjectEventPic_BuizelF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Floatzel[] = { - overworld_ascending_frames(gObjectEventPic_Floatzel, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_FloatzelF[] = { - overworld_ascending_frames(gObjectEventPic_FloatzelF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_BUIZEL - -#if P_FAMILY_CHERUBI -static const struct SpriteFrameImage sPicTable_Cherubi[] = { - overworld_ascending_frames(gObjectEventPic_Cherubi, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_CherrimOvercast[] = { - overworld_ascending_frames(gObjectEventPic_CherrimOvercast, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_CherrimSunshine[] = { - overworld_ascending_frames(gObjectEventPic_CherrimSunshine, 4, 4), -};*/ -#endif //P_FAMILY_CHERUBI - -#if P_FAMILY_SHELLOS -static const struct SpriteFrameImage sPicTable_ShellosWestSea[] = { - overworld_ascending_frames(gObjectEventPic_ShellosWestSea, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_ShellosEast[] = { - overworld_ascending_frames(gObjectEventPic_ShellosEast, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_GastrodonWestSea[] = { - overworld_ascending_frames(gObjectEventPic_GastrodonWestSea, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_GastrodonEast[] = { - overworld_ascending_frames(gObjectEventPic_GastrodonEast, 4, 4), -}; -#endif //P_FAMILY_SHELLOS - -#if P_FAMILY_DRIFLOON -static const struct SpriteFrameImage sPicTable_Drifloon[] = { - overworld_ascending_frames(gObjectEventPic_Drifloon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Drifblim[] = { - overworld_ascending_frames(gObjectEventPic_Drifblim, 4, 4), -}; -#endif //P_FAMILY_DRIFLOON - -#if P_FAMILY_BUNEARY -static const struct SpriteFrameImage sPicTable_Buneary[] = { - overworld_ascending_frames(gObjectEventPic_Buneary, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Lopunny[] = { - overworld_ascending_frames(gObjectEventPic_Lopunny, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_LopunnyMega[] = { - overworld_ascending_frames(gObjectEventPic_LopunnyMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_BUNEARY - -#if P_FAMILY_GLAMEOW -static const struct SpriteFrameImage sPicTable_Glameow[] = { - overworld_ascending_frames(gObjectEventPic_Glameow, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Purugly[] = { - overworld_ascending_frames(gObjectEventPic_Purugly, 4, 4), -}; -#endif //P_FAMILY_GLAMEOW - -#if P_FAMILY_STUNKY -static const struct SpriteFrameImage sPicTable_Stunky[] = { - overworld_ascending_frames(gObjectEventPic_Stunky, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Skuntank[] = { - overworld_ascending_frames(gObjectEventPic_Skuntank, 4, 4), -}; -#endif //P_FAMILY_STUNKY - -#if P_FAMILY_BRONZOR -static const struct SpriteFrameImage sPicTable_Bronzor[] = { - overworld_ascending_frames(gObjectEventPic_Bronzor, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Bronzong[] = { - overworld_ascending_frames(gObjectEventPic_Bronzong, 4, 4), -}; -#endif //P_FAMILY_BRONZOR - -#if P_FAMILY_CHATOT -static const struct SpriteFrameImage sPicTable_Chatot[] = { - overworld_ascending_frames(gObjectEventPic_Chatot, 4, 4), -}; -#endif //P_FAMILY_CHATOT - -#if P_FAMILY_SPIRITOMB -static const struct SpriteFrameImage sPicTable_Spiritomb[] = { - overworld_ascending_frames(gObjectEventPic_Spiritomb, 4, 4), -}; -#endif //P_FAMILY_SPIRITOMB - -#if P_FAMILY_GIBLE -static const struct SpriteFrameImage sPicTable_Gible[] = { - overworld_ascending_frames(gObjectEventPic_Gible, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_GibleF[] = { - overworld_ascending_frames(gObjectEventPic_GibleF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Gabite[] = { - overworld_ascending_frames(gObjectEventPic_Gabite, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_GabiteF[] = { - overworld_ascending_frames(gObjectEventPic_GabiteF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Garchomp[] = { - overworld_ascending_frames(gObjectEventPic_Garchomp, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_GarchompF[] = { - overworld_ascending_frames(gObjectEventPic_GarchompF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_GarchompMega[] = { - overworld_ascending_frames(gObjectEventPic_GarchompMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_GIBLE - -#if P_FAMILY_RIOLU -static const struct SpriteFrameImage sPicTable_Riolu[] = { - overworld_ascending_frames(gObjectEventPic_Riolu, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Lucario[] = { - overworld_ascending_frames(gObjectEventPic_Lucario, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_LucarioMega[] = { - overworld_ascending_frames(gObjectEventPic_LucarioMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_RIOLU - -#if P_FAMILY_HIPPOPOTAS -static const struct SpriteFrameImage sPicTable_Hippopotas[] = { - overworld_ascending_frames(gObjectEventPic_Hippopotas, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_HippopotasF[] = { - overworld_ascending_frames(gObjectEventPic_HippopotasF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Hippowdon[] = { - overworld_ascending_frames(gObjectEventPic_Hippowdon, 4, 4), -}; -#endif //P_FAMILY_HIPPOPOTAS - -#if P_FAMILY_SKORUPI -static const struct SpriteFrameImage sPicTable_Skorupi[] = { - overworld_ascending_frames(gObjectEventPic_Skorupi, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Drapion[] = { - overworld_ascending_frames(gObjectEventPic_Drapion, 4, 4), -}; -#endif //P_FAMILY_SKORUPI - -#if P_FAMILY_CROAGUNK -static const struct SpriteFrameImage sPicTable_Croagunk[] = { - overworld_ascending_frames(gObjectEventPic_Croagunk, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_CroagunkF[] = { - overworld_ascending_frames(gObjectEventPic_CroagunkF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Toxicroak[] = { - overworld_ascending_frames(gObjectEventPic_Toxicroak, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_ToxicroakF[] = { - overworld_ascending_frames(gObjectEventPic_ToxicroakF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_CROAGUNK - -#if P_FAMILY_CARNIVINE -static const struct SpriteFrameImage sPicTable_Carnivine[] = { - overworld_ascending_frames(gObjectEventPic_Carnivine, 4, 4), -}; -#endif //P_FAMILY_CARNIVINE - -#if P_FAMILY_FINNEON -static const struct SpriteFrameImage sPicTable_Finneon[] = { - overworld_ascending_frames(gObjectEventPic_Finneon, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_FinneonF[] = { - overworld_ascending_frames(gObjectEventPic_FinneonF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Lumineon[] = { - overworld_ascending_frames(gObjectEventPic_Lumineon, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_LumineonF[] = { - overworld_ascending_frames(gObjectEventPic_LumineonF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_FINNEON - -#if P_FAMILY_SNOVER -static const struct SpriteFrameImage sPicTable_Snover[] = { - overworld_ascending_frames(gObjectEventPic_Snover, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_SnoverF[] = { - overworld_ascending_frames(gObjectEventPic_SnoverF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Abomasnow[] = { - overworld_ascending_frames(gObjectEventPic_Abomasnow, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_AbomasnowF[] = { - overworld_ascending_frames(gObjectEventPic_AbomasnowF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_AbomasnowMega[] = { - overworld_ascending_frames(gObjectEventPic_AbomasnowMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_SNOVER - -#if P_FAMILY_ROTOM -static const struct SpriteFrameImage sPicTable_Rotom[] = { - overworld_ascending_frames(gObjectEventPic_Rotom, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_RotomHeat[] = { - overworld_ascending_frames(gObjectEventPic_RotomHeat, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_RotomWash[] = { - overworld_ascending_frames(gObjectEventPic_RotomWash, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_RotomFrost[] = { - overworld_ascending_frames(gObjectEventPic_RotomFrost, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_RotomFan[] = { - overworld_ascending_frames(gObjectEventPic_RotomFan, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_RotomMow[] = { - overworld_ascending_frames(gObjectEventPic_RotomMow, 4, 4), -}; -#endif //P_FAMILY_ROTOM - -#if P_FAMILY_UXIE -static const struct SpriteFrameImage sPicTable_Uxie[] = { - overworld_ascending_frames(gObjectEventPic_Uxie, 4, 4), -}; -#endif //P_FAMILY_UXIE - -#if P_FAMILY_MESPRIT -static const struct SpriteFrameImage sPicTable_Mesprit[] = { - overworld_ascending_frames(gObjectEventPic_Mesprit, 4, 4), -}; -#endif //P_FAMILY_MESPRIT - -#if P_FAMILY_AZELF -static const struct SpriteFrameImage sPicTable_Azelf[] = { - overworld_ascending_frames(gObjectEventPic_Azelf, 4, 4), -}; -#endif //P_FAMILY_AZELF - -#if P_FAMILY_DIALGA -static const struct SpriteFrameImage sPicTable_Dialga[] = { - overworld_ascending_frames(gObjectEventPic_Dialga, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_DialgaOrigin[] = { - overworld_ascending_frames(gObjectEventPic_DialgaOrigin, 8, 8), -}; -#endif //P_FAMILY_DIALGA - -#if P_FAMILY_PALKIA -static const struct SpriteFrameImage sPicTable_Palkia[] = { - overworld_ascending_frames(gObjectEventPic_Palkia, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_PalkiaOrigin[] = { - overworld_ascending_frames(gObjectEventPic_PalkiaOrigin, 8, 8), -}; -#endif //P_FAMILY_PALKIA - -#if P_FAMILY_HEATRAN -static const struct SpriteFrameImage sPicTable_Heatran[] = { - overworld_ascending_frames(gObjectEventPic_Heatran, 4, 4), -}; -#endif //P_FAMILY_HEATRAN - -#if P_FAMILY_REGIGIGAS -static const struct SpriteFrameImage sPicTable_Regigigas[] = { - overworld_ascending_frames(gObjectEventPic_Regigigas, 8, 8), -}; -#endif //P_FAMILY_REGIGIGAS - -#if P_FAMILY_GIRATINA -static const struct SpriteFrameImage sPicTable_GiratinaAltered[] = { - overworld_ascending_frames(gObjectEventPic_GiratinaAltered, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_GiratinaOrigin[] = { - overworld_ascending_frames(gObjectEventPic_GiratinaOrigin, 8, 8), -}; -#endif //P_FAMILY_GIRATINA - -#if P_FAMILY_CRESSELIA -static const struct SpriteFrameImage sPicTable_Cresselia[] = { - overworld_ascending_frames(gObjectEventPic_Cresselia, 4, 4), -}; -#endif //P_FAMILY_CRESSELIA - -#if P_FAMILY_MANAPHY -static const struct SpriteFrameImage sPicTable_Phione[] = { - overworld_ascending_frames(gObjectEventPic_Phione, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Manaphy[] = { - overworld_ascending_frames(gObjectEventPic_Manaphy, 4, 4), -}; -#endif //P_FAMILY_MANAPHY - -#if P_FAMILY_DARKRAI -static const struct SpriteFrameImage sPicTable_Darkrai[] = { - overworld_ascending_frames(gObjectEventPic_Darkrai, 4, 4), -}; -#endif //P_FAMILY_DARKRAI - -#if P_FAMILY_SHAYMIN -static const struct SpriteFrameImage sPicTable_ShayminLand[] = { - overworld_ascending_frames(gObjectEventPic_ShayminLand, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_ShayminSky[] = { - overworld_ascending_frames(gObjectEventPic_ShayminSky, 4, 4), -}; -#endif //P_FAMILY_SHAYMIN - -#if P_FAMILY_ARCEUS - -static const struct SpriteFrameImage sPicTable_ArceusNormal[] = { - overworld_ascending_frames(gObjectEventPic_ArceusNormal, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusFighting[] = { - overworld_ascending_frames(gObjectEventPic_ArceusFighting, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusFlying[] = { - overworld_ascending_frames(gObjectEventPic_ArceusFlying, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusPoison[] = { - overworld_ascending_frames(gObjectEventPic_ArceusPoison, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusGround[] = { - overworld_ascending_frames(gObjectEventPic_ArceusGround, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusRock[] = { - overworld_ascending_frames(gObjectEventPic_ArceusRock, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusBug[] = { - overworld_ascending_frames(gObjectEventPic_ArceusBug, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusGhost[] = { - overworld_ascending_frames(gObjectEventPic_ArceusGhost, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusSteel[] = { - overworld_ascending_frames(gObjectEventPic_ArceusSteel, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusFire[] = { - overworld_ascending_frames(gObjectEventPic_ArceusFire, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusWater[] = { - overworld_ascending_frames(gObjectEventPic_ArceusWater, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusGrass[] = { - overworld_ascending_frames(gObjectEventPic_ArceusGrass, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusElectric[] = { - overworld_ascending_frames(gObjectEventPic_ArceusElectric, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusPsychic[] = { - overworld_ascending_frames(gObjectEventPic_ArceusPsychic, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusIce[] = { - overworld_ascending_frames(gObjectEventPic_ArceusIce, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusDragon[] = { - overworld_ascending_frames(gObjectEventPic_ArceusDragon, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusDark[] = { - overworld_ascending_frames(gObjectEventPic_ArceusDark, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_ArceusFairy[] = { - overworld_ascending_frames(gObjectEventPic_ArceusFairy, 8, 8), -}; -#endif //P_FAMILY_ARCEUS - -#if P_FAMILY_VICTINI -static const struct SpriteFrameImage sPicTable_Victini[] = { - overworld_ascending_frames(gObjectEventPic_Victini, 4, 4), -}; -#endif //P_FAMILY_VICTINI - -#if P_FAMILY_SNIVY -static const struct SpriteFrameImage sPicTable_Snivy[] = { - overworld_ascending_frames(gObjectEventPic_Snivy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Servine[] = { - overworld_ascending_frames(gObjectEventPic_Servine, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Serperior[] = { - overworld_ascending_frames(gObjectEventPic_Serperior, 4, 4), -}; -#endif //P_FAMILY_SNIVY - -#if P_FAMILY_TEPIG -static const struct SpriteFrameImage sPicTable_Tepig[] = { - overworld_ascending_frames(gObjectEventPic_Tepig, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Pignite[] = { - overworld_ascending_frames(gObjectEventPic_Pignite, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Emboar[] = { - overworld_ascending_frames(gObjectEventPic_Emboar, 4, 4), -}; -#endif //P_FAMILY_TEPIG - -#if P_FAMILY_OSHAWOTT -static const struct SpriteFrameImage sPicTable_Oshawott[] = { - overworld_ascending_frames(gObjectEventPic_Oshawott, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dewott[] = { - overworld_ascending_frames(gObjectEventPic_Dewott, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Samurott[] = { - overworld_ascending_frames(gObjectEventPic_Samurott, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_SamurottHisui[] = { - overworld_ascending_frames(gObjectEventPic_SamurottHisui, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_OSHAWOTT - -#if P_FAMILY_PATRAT -static const struct SpriteFrameImage sPicTable_Patrat[] = { - overworld_ascending_frames(gObjectEventPic_Patrat, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Watchog[] = { - overworld_ascending_frames(gObjectEventPic_Watchog, 4, 4), -}; -#endif //P_FAMILY_PATRAT - -#if P_FAMILY_LILLIPUP -static const struct SpriteFrameImage sPicTable_Lillipup[] = { - overworld_ascending_frames(gObjectEventPic_Lillipup, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Herdier[] = { - overworld_ascending_frames(gObjectEventPic_Herdier, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Stoutland[] = { - overworld_ascending_frames(gObjectEventPic_Stoutland, 4, 4), -}; -#endif //P_FAMILY_LILLIPUP - -#if P_FAMILY_PURRLOIN -static const struct SpriteFrameImage sPicTable_Purrloin[] = { - overworld_ascending_frames(gObjectEventPic_Purrloin, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Liepard[] = { - overworld_ascending_frames(gObjectEventPic_Liepard, 4, 4), -}; -#endif //P_FAMILY_PURRLOIN - -#if P_FAMILY_PANSAGE -static const struct SpriteFrameImage sPicTable_Pansage[] = { - overworld_ascending_frames(gObjectEventPic_Pansage, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Simisage[] = { - overworld_ascending_frames(gObjectEventPic_Simisage, 4, 4), -}; -#endif //P_FAMILY_PANSAGE - -#if P_FAMILY_PANSEAR -static const struct SpriteFrameImage sPicTable_Pansear[] = { - overworld_ascending_frames(gObjectEventPic_Pansear, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Simisear[] = { - overworld_ascending_frames(gObjectEventPic_Simisear, 4, 4), -}; -#endif //P_FAMILY_PANSEAR - -#if P_FAMILY_PANPOUR -static const struct SpriteFrameImage sPicTable_Panpour[] = { - overworld_ascending_frames(gObjectEventPic_Panpour, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Simipour[] = { - overworld_ascending_frames(gObjectEventPic_Simipour, 4, 4), -}; -#endif //P_FAMILY_PANPOUR - -#if P_FAMILY_MUNNA -static const struct SpriteFrameImage sPicTable_Munna[] = { - overworld_ascending_frames(gObjectEventPic_Munna, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Musharna[] = { - overworld_ascending_frames(gObjectEventPic_Musharna, 4, 4), -}; -#endif //P_FAMILY_MUNNA - -#if P_FAMILY_PIDOVE -static const struct SpriteFrameImage sPicTable_Pidove[] = { - overworld_ascending_frames(gObjectEventPic_Pidove, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Tranquill[] = { - overworld_ascending_frames(gObjectEventPic_Tranquill, 4, 4), -}; - -static const struct SpriteFrameImage sPicTable_Unfezant[] = { - overworld_ascending_frames(gObjectEventPic_Unfezant, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_UnfezantF[] = { - overworld_ascending_frames(gObjectEventPic_UnfezantF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_PIDOVE - -#if P_FAMILY_BLITZLE -static const struct SpriteFrameImage sPicTable_Blitzle[] = { - overworld_ascending_frames(gObjectEventPic_Blitzle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Zebstrika[] = { - overworld_ascending_frames(gObjectEventPic_Zebstrika, 4, 4), -}; -#endif //P_FAMILY_BLITZLE - -#if P_FAMILY_ROGGENROLA -static const struct SpriteFrameImage sPicTable_Roggenrola[] = { - overworld_ascending_frames(gObjectEventPic_Roggenrola, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Boldore[] = { - overworld_ascending_frames(gObjectEventPic_Boldore, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Gigalith[] = { - overworld_ascending_frames(gObjectEventPic_Gigalith, 4, 4), -}; -#endif //P_FAMILY_ROGGENROLA - -#if P_FAMILY_WOOBAT -static const struct SpriteFrameImage sPicTable_Woobat[] = { - overworld_ascending_frames(gObjectEventPic_Woobat, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Swoobat[] = { - overworld_ascending_frames(gObjectEventPic_Swoobat, 4, 4), -}; -#endif //P_FAMILY_WOOBAT - -#if P_FAMILY_DRILBUR -static const struct SpriteFrameImage sPicTable_Drilbur[] = { - overworld_ascending_frames(gObjectEventPic_Drilbur, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Excadrill[] = { - overworld_ascending_frames(gObjectEventPic_Excadrill, 4, 4), -}; -#endif //P_FAMILY_DRILBUR - -#if P_FAMILY_AUDINO -static const struct SpriteFrameImage sPicTable_Audino[] = { - overworld_ascending_frames(gObjectEventPic_Audino, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_AudinoMega[] = { - overworld_ascending_frames(gObjectEventPic_AudinoMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_AUDINO - -#if P_FAMILY_TIMBURR -static const struct SpriteFrameImage sPicTable_Timburr[] = { - overworld_ascending_frames(gObjectEventPic_Timburr, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Gurdurr[] = { - overworld_ascending_frames(gObjectEventPic_Gurdurr, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Conkeldurr[] = { - overworld_ascending_frames(gObjectEventPic_Conkeldurr, 4, 4), -}; -#endif //P_FAMILY_TIMBURR - -#if P_FAMILY_TYMPOLE -static const struct SpriteFrameImage sPicTable_Tympole[] = { - overworld_ascending_frames(gObjectEventPic_Tympole, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Palpitoad[] = { - overworld_ascending_frames(gObjectEventPic_Palpitoad, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Seismitoad[] = { - overworld_ascending_frames(gObjectEventPic_Seismitoad, 4, 4), -}; -#endif //P_FAMILY_TYMPOLE - -#if P_FAMILY_THROH -static const struct SpriteFrameImage sPicTable_Throh[] = { - overworld_ascending_frames(gObjectEventPic_Throh, 4, 4), -}; -#endif //P_FAMILY_THROH - -#if P_FAMILY_SAWK -static const struct SpriteFrameImage sPicTable_Sawk[] = { - overworld_ascending_frames(gObjectEventPic_Sawk, 4, 4), -}; -#endif //P_FAMILY_SAWK - -#if P_FAMILY_SEWADDLE -static const struct SpriteFrameImage sPicTable_Sewaddle[] = { - overworld_ascending_frames(gObjectEventPic_Sewaddle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Swadloon[] = { - overworld_ascending_frames(gObjectEventPic_Swadloon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Leavanny[] = { - overworld_ascending_frames(gObjectEventPic_Leavanny, 4, 4), -}; -#endif //P_FAMILY_SEWADDLE - -#if P_FAMILY_VENIPEDE -static const struct SpriteFrameImage sPicTable_Venipede[] = { - overworld_ascending_frames(gObjectEventPic_Venipede, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Whirlipede[] = { - overworld_ascending_frames(gObjectEventPic_Whirlipede, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Scolipede[] = { - overworld_ascending_frames(gObjectEventPic_Scolipede, 4, 4), -}; -#endif //P_FAMILY_VENIPEDE - -#if P_FAMILY_COTTONEE -static const struct SpriteFrameImage sPicTable_Cottonee[] = { - overworld_ascending_frames(gObjectEventPic_Cottonee, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Whimsicott[] = { - overworld_ascending_frames(gObjectEventPic_Whimsicott, 4, 4), -}; -#endif //P_FAMILY_COTTONEE - -#if P_FAMILY_PETILIL -static const struct SpriteFrameImage sPicTable_Petilil[] = { - overworld_ascending_frames(gObjectEventPic_Petilil, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Lilligant[] = { - overworld_ascending_frames(gObjectEventPic_Lilligant, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_LilligantHisui[] = { - overworld_ascending_frames(gObjectEventPic_LilligantHisui, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_PETILIL - -#if P_FAMILY_BASCULIN -static const struct SpriteFrameImage sPicTable_BasculinRedStriped[] = { - overworld_ascending_frames(gObjectEventPic_BasculinRedStriped, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_BasculinBlueStriped[] = { - overworld_ascending_frames(gObjectEventPic_BasculinBlueStriped, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_BasculinWhiteStriped[] = { - overworld_ascending_frames(gObjectEventPic_BasculinWhiteStriped, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_BasculegionM[] = { - overworld_ascending_frames(gObjectEventPic_BasculegionM, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_BasculegionF[] = { - overworld_ascending_frames(gObjectEventPic_BasculegionF, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_BASCULIN - -#if P_FAMILY_SANDILE -static const struct SpriteFrameImage sPicTable_Sandile[] = { - overworld_ascending_frames(gObjectEventPic_Sandile, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Krokorok[] = { - overworld_ascending_frames(gObjectEventPic_Krokorok, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Krookodile[] = { - overworld_ascending_frames(gObjectEventPic_Krookodile, 4, 4), -}; -#endif //P_FAMILY_SANDILE - -#if P_FAMILY_DARUMAKA -static const struct SpriteFrameImage sPicTable_Darumaka[] = { - overworld_ascending_frames(gObjectEventPic_Darumaka, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_DarmanitanStandard[] = { - overworld_ascending_frames(gObjectEventPic_DarmanitanStandard, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_DarmanitanZen[] = { - overworld_ascending_frames(gObjectEventPic_DarmanitanZen, 4, 4), -};*/ -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_DarumakaGalar[] = { - overworld_ascending_frames(gObjectEventPic_DarumakaGalar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_DarmanitanGalarStandard[] = { - overworld_ascending_frames(gObjectEventPic_DarmanitanGalarStandard, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_DarmanitanGalarZen[] = { - overworld_ascending_frames(gObjectEventPic_DarmanitanGalarZen, 4, 4), -};*/ -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_DARUMAKA - -#if P_FAMILY_MARACTUS -static const struct SpriteFrameImage sPicTable_Maractus[] = { - overworld_ascending_frames(gObjectEventPic_Maractus, 4, 4), -}; -#endif //P_FAMILY_MARACTUS - -#if P_FAMILY_DWEBBLE -static const struct SpriteFrameImage sPicTable_Dwebble[] = { - overworld_ascending_frames(gObjectEventPic_Dwebble, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Crustle[] = { - overworld_ascending_frames(gObjectEventPic_Crustle, 4, 4), -}; -#endif //P_FAMILY_DWEBBLE - -#if P_FAMILY_SCRAGGY -static const struct SpriteFrameImage sPicTable_Scraggy[] = { - overworld_ascending_frames(gObjectEventPic_Scraggy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Scrafty[] = { - overworld_ascending_frames(gObjectEventPic_Scrafty, 4, 4), -}; -#endif //P_FAMILY_SCRAGGY - -#if P_FAMILY_SIGILYPH -static const struct SpriteFrameImage sPicTable_Sigilyph[] = { - overworld_ascending_frames(gObjectEventPic_Sigilyph, 4, 4), -}; -#endif //P_FAMILY_SIGILYPH - -#if P_FAMILY_YAMASK -static const struct SpriteFrameImage sPicTable_Yamask[] = { - overworld_ascending_frames(gObjectEventPic_Yamask, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Cofagrigus[] = { - overworld_ascending_frames(gObjectEventPic_Cofagrigus, 4, 4), -}; -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_YamaskGalar[] = { - overworld_ascending_frames(gObjectEventPic_YamaskGalar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Runerigus[] = { - overworld_ascending_frames(gObjectEventPic_Runerigus, 4, 4), -}; -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_YAMASK - -#if P_FAMILY_TIRTOUGA -static const struct SpriteFrameImage sPicTable_Tirtouga[] = { - overworld_ascending_frames(gObjectEventPic_Tirtouga, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Carracosta[] = { - overworld_ascending_frames(gObjectEventPic_Carracosta, 4, 4), -}; -#endif //P_FAMILY_TIRTOUGA - -#if P_FAMILY_ARCHEN -static const struct SpriteFrameImage sPicTable_Archen[] = { - overworld_ascending_frames(gObjectEventPic_Archen, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Archeops[] = { - overworld_ascending_frames(gObjectEventPic_Archeops, 4, 4), -}; -#endif //P_FAMILY_ARCHEN - -#if P_FAMILY_TRUBBISH -static const struct SpriteFrameImage sPicTable_Trubbish[] = { - overworld_ascending_frames(gObjectEventPic_Trubbish, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Garbodor[] = { - overworld_ascending_frames(gObjectEventPic_Garbodor, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_GarbodorGmax[] = { - overworld_ascending_frames(gObjectEventPic_GarbodorGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_TRUBBISH - -#if P_FAMILY_ZORUA -static const struct SpriteFrameImage sPicTable_Zorua[] = { - overworld_ascending_frames(gObjectEventPic_Zorua, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Zoroark[] = { - overworld_ascending_frames(gObjectEventPic_Zoroark, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_ZoruaHisui[] = { - overworld_ascending_frames(gObjectEventPic_ZoruaHisui, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_ZoroarkHisui[] = { - overworld_ascending_frames(gObjectEventPic_ZoroarkHisui, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_ZORUA - -#if P_FAMILY_MINCCINO -static const struct SpriteFrameImage sPicTable_Minccino[] = { - overworld_ascending_frames(gObjectEventPic_Minccino, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Cinccino[] = { - overworld_ascending_frames(gObjectEventPic_Cinccino, 4, 4), -}; -#endif //P_FAMILY_MINCCINO - -#if P_FAMILY_GOTHITA -static const struct SpriteFrameImage sPicTable_Gothita[] = { - overworld_ascending_frames(gObjectEventPic_Gothita, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Gothorita[] = { - overworld_ascending_frames(gObjectEventPic_Gothorita, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Gothitelle[] = { - overworld_ascending_frames(gObjectEventPic_Gothitelle, 4, 4), -}; -#endif //P_FAMILY_GOTHITA - -#if P_FAMILY_SOLOSIS -static const struct SpriteFrameImage sPicTable_Solosis[] = { - overworld_ascending_frames(gObjectEventPic_Solosis, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Duosion[] = { - overworld_ascending_frames(gObjectEventPic_Duosion, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Reuniclus[] = { - overworld_ascending_frames(gObjectEventPic_Reuniclus, 4, 4), -}; -#endif //P_FAMILY_SOLOSIS - -#if P_FAMILY_DUCKLETT -static const struct SpriteFrameImage sPicTable_Ducklett[] = { - overworld_ascending_frames(gObjectEventPic_Ducklett, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Swanna[] = { - overworld_ascending_frames(gObjectEventPic_Swanna, 4, 4), -}; -#endif //P_FAMILY_DUCKLETT - -#if P_FAMILY_VANILLITE -static const struct SpriteFrameImage sPicTable_Vanillite[] = { - overworld_ascending_frames(gObjectEventPic_Vanillite, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Vanillish[] = { - overworld_ascending_frames(gObjectEventPic_Vanillish, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Vanilluxe[] = { - overworld_ascending_frames(gObjectEventPic_Vanilluxe, 4, 4), -}; -#endif //P_FAMILY_VANILLITE - -#if P_FAMILY_DEERLING - -static const struct SpriteFrameImage sPicTable_DeerlingSpring[] = { - overworld_ascending_frames(gObjectEventPic_DeerlingSpring, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_DeerlingSummer[] = { - overworld_ascending_frames(gObjectEventPic_DeerlingSummer, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_DeerlingAutumn[] = { - overworld_ascending_frames(gObjectEventPic_DeerlingAutumn, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_DeerlingWinter[] = { - overworld_ascending_frames(gObjectEventPic_DeerlingWinter, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_SawsbuckSpring[] = { - overworld_ascending_frames(gObjectEventPic_SawsbuckSpring, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_SawsbuckSummer[] = { - overworld_ascending_frames(gObjectEventPic_SawsbuckSummer, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_SawsbuckAutumn[] = { - overworld_ascending_frames(gObjectEventPic_SawsbuckAutumn, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_SawsbuckWinter[] = { - overworld_ascending_frames(gObjectEventPic_SawsbuckWinter, 4, 4), -}; -#endif //P_FAMILY_DEERLING - -#if P_FAMILY_EMOLGA -static const struct SpriteFrameImage sPicTable_Emolga[] = { - overworld_ascending_frames(gObjectEventPic_Emolga, 4, 4), -}; -#endif //P_FAMILY_EMOLGA - -#if P_FAMILY_KARRABLAST -static const struct SpriteFrameImage sPicTable_Karrablast[] = { - overworld_ascending_frames(gObjectEventPic_Karrablast, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Escavalier[] = { - overworld_ascending_frames(gObjectEventPic_Escavalier, 4, 4), -}; -#endif //P_FAMILY_KARRABLAST - -#if P_FAMILY_FOONGUS -static const struct SpriteFrameImage sPicTable_Foongus[] = { - overworld_ascending_frames(gObjectEventPic_Foongus, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Amoonguss[] = { - overworld_ascending_frames(gObjectEventPic_Amoonguss, 4, 4), -}; -#endif //P_FAMILY_FOONGUS - -#if P_FAMILY_FRILLISH -static const struct SpriteFrameImage sPicTable_Frillish[] = { - overworld_ascending_frames(gObjectEventPic_Frillish, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_FrillishF[] = { - overworld_ascending_frames(gObjectEventPic_FrillishF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_Jellicent[] = { - overworld_ascending_frames(gObjectEventPic_Jellicent, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_JellicentF[] = { - overworld_ascending_frames(gObjectEventPic_JellicentF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_FRILLISH - -#if P_FAMILY_ALOMOMOLA -static const struct SpriteFrameImage sPicTable_Alomomola[] = { - overworld_ascending_frames(gObjectEventPic_Alomomola, 4, 4), -}; -#endif //P_FAMILY_ALOMOMOLA - -#if P_FAMILY_JOLTIK -static const struct SpriteFrameImage sPicTable_Joltik[] = { - overworld_ascending_frames(gObjectEventPic_Joltik, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Galvantula[] = { - overworld_ascending_frames(gObjectEventPic_Galvantula, 4, 4), -}; -#endif //P_FAMILY_JOLTIK - -#if P_FAMILY_FERROSEED -static const struct SpriteFrameImage sPicTable_Ferroseed[] = { - overworld_ascending_frames(gObjectEventPic_Ferroseed, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Ferrothorn[] = { - overworld_ascending_frames(gObjectEventPic_Ferrothorn, 4, 4), -}; -#endif //P_FAMILY_FERROSEED - -#if P_FAMILY_KLINK -static const struct SpriteFrameImage sPicTable_Klink[] = { - overworld_ascending_frames(gObjectEventPic_Klink, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Klang[] = { - overworld_ascending_frames(gObjectEventPic_Klang, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Klinklang[] = { - overworld_ascending_frames(gObjectEventPic_Klinklang, 4, 4), -}; -#endif //P_FAMILY_KLINK - -#if P_FAMILY_TYNAMO -static const struct SpriteFrameImage sPicTable_Tynamo[] = { - overworld_ascending_frames(gObjectEventPic_Tynamo, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Eelektrik[] = { - overworld_ascending_frames(gObjectEventPic_Eelektrik, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Eelektross[] = { - overworld_ascending_frames(gObjectEventPic_Eelektross, 4, 4), -}; -#endif //P_FAMILY_TYNAMO - -#if P_FAMILY_ELGYEM -static const struct SpriteFrameImage sPicTable_Elgyem[] = { - overworld_ascending_frames(gObjectEventPic_Elgyem, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Beheeyem[] = { - overworld_ascending_frames(gObjectEventPic_Beheeyem, 4, 4), -}; -#endif //P_FAMILY_ELGYEM - -#if P_FAMILY_LITWICK -static const struct SpriteFrameImage sPicTable_Litwick[] = { - overworld_ascending_frames(gObjectEventPic_Litwick, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Lampent[] = { - overworld_ascending_frames(gObjectEventPic_Lampent, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Chandelure[] = { - overworld_ascending_frames(gObjectEventPic_Chandelure, 4, 4), -}; -#endif //P_FAMILY_LITWICK - -#if P_FAMILY_AXEW -static const struct SpriteFrameImage sPicTable_Axew[] = { - overworld_ascending_frames(gObjectEventPic_Axew, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Fraxure[] = { - overworld_ascending_frames(gObjectEventPic_Fraxure, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Haxorus[] = { - overworld_ascending_frames(gObjectEventPic_Haxorus, 4, 4), -}; -#endif //P_FAMILY_AXEW - -#if P_FAMILY_CUBCHOO -static const struct SpriteFrameImage sPicTable_Cubchoo[] = { - overworld_ascending_frames(gObjectEventPic_Cubchoo, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Beartic[] = { - overworld_ascending_frames(gObjectEventPic_Beartic, 4, 4), -}; -#endif //P_FAMILY_CUBCHOO - -#if P_FAMILY_CRYOGONAL -static const struct SpriteFrameImage sPicTable_Cryogonal[] = { - overworld_ascending_frames(gObjectEventPic_Cryogonal, 4, 4), -}; -#endif //P_FAMILY_CRYOGONAL - -#if P_FAMILY_SHELMET -static const struct SpriteFrameImage sPicTable_Shelmet[] = { - overworld_ascending_frames(gObjectEventPic_Shelmet, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Accelgor[] = { - overworld_ascending_frames(gObjectEventPic_Accelgor, 4, 4), -}; -#endif //P_FAMILY_SHELMET - -#if P_FAMILY_STUNFISK -static const struct SpriteFrameImage sPicTable_Stunfisk[] = { - overworld_ascending_frames(gObjectEventPic_Stunfisk, 4, 4), -}; -#if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_StunfiskGalar[] = { - overworld_ascending_frames(gObjectEventPic_StunfiskGalar, 4, 4), -}; -#endif //P_GALARIAN_FORMS -#endif //P_FAMILY_STUNFISK - -#if P_FAMILY_MIENFOO -static const struct SpriteFrameImage sPicTable_Mienfoo[] = { - overworld_ascending_frames(gObjectEventPic_Mienfoo, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Mienshao[] = { - overworld_ascending_frames(gObjectEventPic_Mienshao, 4, 4), -}; -#endif //P_FAMILY_MIENFOO - -#if P_FAMILY_DRUDDIGON -static const struct SpriteFrameImage sPicTable_Druddigon[] = { - overworld_ascending_frames(gObjectEventPic_Druddigon, 4, 4), -}; -#endif //P_FAMILY_DRUDDIGON - -#if P_FAMILY_GOLETT -static const struct SpriteFrameImage sPicTable_Golett[] = { - overworld_ascending_frames(gObjectEventPic_Golett, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Golurk[] = { - overworld_ascending_frames(gObjectEventPic_Golurk, 4, 4), -}; -#endif //P_FAMILY_GOLETT - -#if P_FAMILY_PAWNIARD -static const struct SpriteFrameImage sPicTable_Pawniard[] = { - overworld_ascending_frames(gObjectEventPic_Pawniard, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Bisharp[] = { - overworld_ascending_frames(gObjectEventPic_Bisharp, 4, 4), -}; -#if P_GEN_9_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Kingambit[] = { - overworld_ascending_frames(gObjectEventPic_Kingambit, 8, 8), -}; -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_PAWNIARD - -#if P_FAMILY_BOUFFALANT -static const struct SpriteFrameImage sPicTable_Bouffalant[] = { - overworld_ascending_frames(gObjectEventPic_Bouffalant, 4, 4), -}; -#endif //P_FAMILY_BOUFFALANT - -#if P_FAMILY_RUFFLET -static const struct SpriteFrameImage sPicTable_Rufflet[] = { - overworld_ascending_frames(gObjectEventPic_Rufflet, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Braviary[] = { - overworld_ascending_frames(gObjectEventPic_Braviary, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_BraviaryHisui[] = { - overworld_ascending_frames(gObjectEventPic_BraviaryHisui, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_RUFFLET - -#if P_FAMILY_VULLABY -static const struct SpriteFrameImage sPicTable_Vullaby[] = { - overworld_ascending_frames(gObjectEventPic_Vullaby, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Mandibuzz[] = { - overworld_ascending_frames(gObjectEventPic_Mandibuzz, 4, 4), -}; -#endif //P_FAMILY_VULLABY - -#if P_FAMILY_HEATMOR -static const struct SpriteFrameImage sPicTable_Heatmor[] = { - overworld_ascending_frames(gObjectEventPic_Heatmor, 4, 4), -}; -#endif //P_FAMILY_HEATMOR - -#if P_FAMILY_DURANT -static const struct SpriteFrameImage sPicTable_Durant[] = { - overworld_ascending_frames(gObjectEventPic_Durant, 4, 4), -}; -#endif //P_FAMILY_DURANT - -#if P_FAMILY_DEINO -static const struct SpriteFrameImage sPicTable_Deino[] = { - overworld_ascending_frames(gObjectEventPic_Deino, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Zweilous[] = { - overworld_ascending_frames(gObjectEventPic_Zweilous, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Hydreigon[] = { - overworld_ascending_frames(gObjectEventPic_Hydreigon, 4, 4), -}; -#endif //P_FAMILY_DEINO - -#if P_FAMILY_LARVESTA -static const struct SpriteFrameImage sPicTable_Larvesta[] = { - overworld_ascending_frames(gObjectEventPic_Larvesta, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Volcarona[] = { - overworld_ascending_frames(gObjectEventPic_Volcarona, 4, 4), -}; -#endif //P_FAMILY_LARVESTA - -#if P_FAMILY_COBALION -static const struct SpriteFrameImage sPicTable_Cobalion[] = { - overworld_ascending_frames(gObjectEventPic_Cobalion, 4, 4), -}; -#endif //P_FAMILY_COBALION - -#if P_FAMILY_TERRAKION -static const struct SpriteFrameImage sPicTable_Terrakion[] = { - overworld_ascending_frames(gObjectEventPic_Terrakion, 4, 4), -}; -#endif //P_FAMILY_TERRAKION - -#if P_FAMILY_VIRIZION -static const struct SpriteFrameImage sPicTable_Virizion[] = { - overworld_ascending_frames(gObjectEventPic_Virizion, 4, 4), -}; -#endif //P_FAMILY_VIRIZION - -#if P_FAMILY_TORNADUS - -static const struct SpriteFrameImage sPicTable_TornadusIncarnate[] = { - overworld_ascending_frames(gObjectEventPic_TornadusIncarnate, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_TornadusTherian[] = { - overworld_ascending_frames(gObjectEventPic_TornadusTherian, 8, 8), -}; -#endif //P_FAMILY_TORNADUS - -#if P_FAMILY_THUNDURUS - -static const struct SpriteFrameImage sPicTable_ThundurusIncarnate[] = { - overworld_ascending_frames(gObjectEventPic_ThundurusIncarnate, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_ThundurusTherian[] = { - overworld_ascending_frames(gObjectEventPic_ThundurusTherian, 8, 8), -}; -#endif //P_FAMILY_THUNDURUS - -#if P_FAMILY_RESHIRAM -static const struct SpriteFrameImage sPicTable_Reshiram[] = { - overworld_ascending_frames(gObjectEventPic_Reshiram, 8, 8), -}; -#endif //P_FAMILY_RESHIRAM - -#if P_FAMILY_ZEKROM -static const struct SpriteFrameImage sPicTable_Zekrom[] = { - overworld_ascending_frames(gObjectEventPic_Zekrom, 8, 8), -}; -#endif //P_FAMILY_ZEKROM - -#if P_FAMILY_LANDORUS - -static const struct SpriteFrameImage sPicTable_LandorusIncarnate[] = { - overworld_ascending_frames(gObjectEventPic_LandorusIncarnate, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_LandorusTherian[] = { - overworld_ascending_frames(gObjectEventPic_LandorusTherian, 4, 4), -}; -#endif //P_FAMILY_LANDORUS - -#if P_FAMILY_ENAMORUS -static const struct SpriteFrameImage sPicTable_EnamorusIncarnate[] = { - overworld_ascending_frames(gObjectEventPic_EnamorusIncarnate, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_EnamorusTherian[] = { - overworld_ascending_frames(gObjectEventPic_EnamorusTherian, 8, 8), -}; -#endif //P_FAMILY_ENAMORUS - -#if P_FAMILY_KYUREM -static const struct SpriteFrameImage sPicTable_Kyurem[] = { - overworld_ascending_frames(gObjectEventPic_Kyurem, 8, 8), -}; -#if P_FUSION_FORMS -static const struct SpriteFrameImage sPicTable_KyuremWhite[] = { - overworld_ascending_frames(gObjectEventPic_KyuremWhite, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_KyuremBlack[] = { - overworld_ascending_frames(gObjectEventPic_KyuremBlack, 4, 4), -}; -#endif //P_FUSION_FORMS -#endif //P_FAMILY_KYUREM - -#if P_FAMILY_KELDEO -static const struct SpriteFrameImage sPicTable_KeldeoOrdinary[] = { - overworld_ascending_frames(gObjectEventPic_KeldeoOrdinary, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_KeldeoResolute[] = { - overworld_ascending_frames(gObjectEventPic_KeldeoResolute, 4, 4), -};*/ -#endif //P_FAMILY_KELDEO - -#if P_FAMILY_MELOETTA -static const struct SpriteFrameImage sPicTable_MeloettaAria[] = { - overworld_ascending_frames(gObjectEventPic_MeloettaAria, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MeloettaPirouette[] = { - overworld_ascending_frames(gObjectEventPic_MeloettaPirouette, 4, 4), -}; -#endif //P_FAMILY_MELOETTA - -#if P_FAMILY_GENESECT -static const struct SpriteFrameImage sPicTable_Genesect[] = { - overworld_ascending_frames(gObjectEventPic_Genesect, 4, 4), -}; - - - - -#endif //P_FAMILY_GENESECT - -#if P_FAMILY_CHESPIN -static const struct SpriteFrameImage sPicTable_Chespin[] = { - overworld_ascending_frames(gObjectEventPic_Chespin, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Quilladin[] = { - overworld_ascending_frames(gObjectEventPic_Quilladin, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Chesnaught[] = { - overworld_ascending_frames(gObjectEventPic_Chesnaught, 4, 4), -}; -#endif //P_FAMILY_CHESPIN - -#if P_FAMILY_FENNEKIN -static const struct SpriteFrameImage sPicTable_Fennekin[] = { - overworld_ascending_frames(gObjectEventPic_Fennekin, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Braixen[] = { - overworld_ascending_frames(gObjectEventPic_Braixen, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Delphox[] = { - overworld_ascending_frames(gObjectEventPic_Delphox, 4, 4), -}; -#endif //P_FAMILY_FENNEKIN - -#if P_FAMILY_FROAKIE -static const struct SpriteFrameImage sPicTable_Froakie[] = { - overworld_ascending_frames(gObjectEventPic_Froakie, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Frogadier[] = { - overworld_ascending_frames(gObjectEventPic_Frogadier, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Greninja[] = { - overworld_ascending_frames(gObjectEventPic_Greninja, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_GreninjaAsh[] = { - overworld_ascending_frames(gObjectEventPic_GreninjaAsh, 4, 4), -};*/ -#endif //P_FAMILY_FROAKIE - -#if P_FAMILY_BUNNELBY -static const struct SpriteFrameImage sPicTable_Bunnelby[] = { - overworld_ascending_frames(gObjectEventPic_Bunnelby, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Diggersby[] = { - overworld_ascending_frames(gObjectEventPic_Diggersby, 4, 4), -}; -#endif //P_FAMILY_BUNNELBY - -#if P_FAMILY_FLETCHLING -static const struct SpriteFrameImage sPicTable_Fletchling[] = { - overworld_ascending_frames(gObjectEventPic_Fletchling, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Fletchinder[] = { - overworld_ascending_frames(gObjectEventPic_Fletchinder, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Talonflame[] = { - overworld_ascending_frames(gObjectEventPic_Talonflame, 4, 4), -}; -#endif //P_FAMILY_FLETCHLING - -#if P_FAMILY_SCATTERBUG -static const struct SpriteFrameImage sPicTable_Scatterbug[] = { - overworld_ascending_frames(gObjectEventPic_Scatterbug, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Spewpa[] = { - overworld_ascending_frames(gObjectEventPic_Spewpa, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonIcySnow[] = { - overworld_ascending_frames(gObjectEventPic_VivillonIcySnow, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonPolar[] = { - overworld_ascending_frames(gObjectEventPic_VivillonPolar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonTundra[] = { - overworld_ascending_frames(gObjectEventPic_VivillonTundra, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonContinental[] = { - overworld_ascending_frames(gObjectEventPic_VivillonContinental, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonGarden[] = { - overworld_ascending_frames(gObjectEventPic_VivillonGarden, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonElegant[] = { - overworld_ascending_frames(gObjectEventPic_VivillonElegant, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonMeadow[] = { - overworld_ascending_frames(gObjectEventPic_VivillonMeadow, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonModern[] = { - overworld_ascending_frames(gObjectEventPic_VivillonModern, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonMarine[] = { - overworld_ascending_frames(gObjectEventPic_VivillonMarine, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonArchipelago[] = { - overworld_ascending_frames(gObjectEventPic_VivillonArchipelago, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonHighPlains[] = { - overworld_ascending_frames(gObjectEventPic_VivillonHighPlains, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonSandstorm[] = { - overworld_ascending_frames(gObjectEventPic_VivillonSandstorm, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonRiver[] = { - overworld_ascending_frames(gObjectEventPic_VivillonRiver, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonMonsoon[] = { - overworld_ascending_frames(gObjectEventPic_VivillonMonsoon, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonSavanna[] = { - overworld_ascending_frames(gObjectEventPic_VivillonSavanna, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonSun[] = { - overworld_ascending_frames(gObjectEventPic_VivillonSun, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonOcean[] = { - overworld_ascending_frames(gObjectEventPic_VivillonOcean, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonJungle[] = { - overworld_ascending_frames(gObjectEventPic_VivillonJungle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonFancy[] = { - overworld_ascending_frames(gObjectEventPic_VivillonFancy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_VivillonPokeBall[] = { - overworld_ascending_frames(gObjectEventPic_VivillonPokeBall, 4, 4), -}; -#endif //P_FAMILY_SCATTERBUG - -#if P_FAMILY_LITLEO -static const struct SpriteFrameImage sPicTable_Litleo[] = { - overworld_ascending_frames(gObjectEventPic_Litleo, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Pyroar[] = { - overworld_ascending_frames(gObjectEventPic_Pyroar, 4, 4), -}; -#if P_GENDER_DIFFERENCES -static const struct SpriteFrameImage sPicTable_PyroarF[] = { - overworld_ascending_frames(gObjectEventPic_PyroarF, 4, 4), -}; -#endif //P_GENDER_DIFFERENCES -#endif //P_FAMILY_LITLEO - -#if P_FAMILY_FLABEBE - -static const struct SpriteFrameImage sPicTable_FlabebeRed[] = { - overworld_ascending_frames(gObjectEventPic_FlabebeRed, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FlabebeYellow[] = { - overworld_ascending_frames(gObjectEventPic_FlabebeYellow, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FlabebeOrange[] = { - overworld_ascending_frames(gObjectEventPic_FlabebeOrange, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FlabebeBlue[] = { - overworld_ascending_frames(gObjectEventPic_FlabebeBlue, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FlabebeWhite[] = { - overworld_ascending_frames(gObjectEventPic_FlabebeWhite, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FloetteRed[] = { - overworld_ascending_frames(gObjectEventPic_FloetteRed, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FloetteYellow[] = { - overworld_ascending_frames(gObjectEventPic_FloetteYellow, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FloetteOrange[] = { - overworld_ascending_frames(gObjectEventPic_FloetteOrange, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FloetteBlue[] = { - overworld_ascending_frames(gObjectEventPic_FloetteBlue, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FloetteWhite[] = { - overworld_ascending_frames(gObjectEventPic_FloetteWhite, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FloetteEternal[] = { - overworld_ascending_frames(gObjectEventPic_FloetteEternal, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FlorgesRed[] = { - overworld_ascending_frames(gObjectEventPic_FlorgesRed, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FlorgesYellow[] = { - overworld_ascending_frames(gObjectEventPic_FlorgesYellow, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FlorgesOrange[] = { - overworld_ascending_frames(gObjectEventPic_FlorgesOrange, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FlorgesBlue[] = { - overworld_ascending_frames(gObjectEventPic_FlorgesBlue, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FlorgesWhite[] = { - overworld_ascending_frames(gObjectEventPic_FlorgesWhite, 4, 4), -}; -#endif //P_FAMILY_FLABEBE - -#if P_FAMILY_SKIDDO -static const struct SpriteFrameImage sPicTable_Skiddo[] = { - overworld_ascending_frames(gObjectEventPic_Skiddo, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Gogoat[] = { - overworld_ascending_frames(gObjectEventPic_Gogoat, 4, 4), -}; -#endif //P_FAMILY_SKIDDO - -#if P_FAMILY_PANCHAM -static const struct SpriteFrameImage sPicTable_Pancham[] = { - overworld_ascending_frames(gObjectEventPic_Pancham, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Pangoro[] = { - overworld_ascending_frames(gObjectEventPic_Pangoro, 4, 4), -}; -#endif //P_FAMILY_PANCHAM - -#if P_FAMILY_FURFROU -static const struct SpriteFrameImage sPicTable_FurfrouNatural[] = { - overworld_ascending_frames(gObjectEventPic_FurfrouNatural, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FurfrouHeart[] = { - overworld_ascending_frames(gObjectEventPic_FurfrouHeart, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FurfrouStar[] = { - overworld_ascending_frames(gObjectEventPic_FurfrouStar, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FurfrouDiamond[] = { - overworld_ascending_frames(gObjectEventPic_FurfrouDiamond, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FurfrouDebutante[] = { - overworld_ascending_frames(gObjectEventPic_FurfrouDebutante, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FurfrouMatron[] = { - overworld_ascending_frames(gObjectEventPic_FurfrouMatron, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FurfrouDandy[] = { - overworld_ascending_frames(gObjectEventPic_FurfrouDandy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FurfrouLaReine[] = { - overworld_ascending_frames(gObjectEventPic_FurfrouLaReine, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FurfrouKabuki[] = { - overworld_ascending_frames(gObjectEventPic_FurfrouKabuki, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_FurfrouPharaoh[] = { - overworld_ascending_frames(gObjectEventPic_FurfrouPharaoh, 4, 4), -}; -#endif //P_FAMILY_FURFROU - -#if P_FAMILY_ESPURR -static const struct SpriteFrameImage sPicTable_Espurr[] = { - overworld_ascending_frames(gObjectEventPic_Espurr, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MeowsticM[] = { - overworld_ascending_frames(gObjectEventPic_MeowsticM, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MeowsticF[] = { - overworld_ascending_frames(gObjectEventPic_MeowsticF, 4, 4), -}; -#endif //P_FAMILY_ESPURR - -#if P_FAMILY_HONEDGE -static const struct SpriteFrameImage sPicTable_Honedge[] = { - overworld_ascending_frames(gObjectEventPic_Honedge, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Doublade[] = { - overworld_ascending_frames(gObjectEventPic_Doublade, 4, 4), -}; - -static const struct SpriteFrameImage sPicTable_AegislashShield[] = { - overworld_ascending_frames(gObjectEventPic_AegislashShield, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_AegislashBlade[] = { - overworld_ascending_frames(gObjectEventPic_AegislashBlade, 4, 4), -};*/ -#endif //P_FAMILY_HONEDGE - -#if P_FAMILY_SPRITZEE -static const struct SpriteFrameImage sPicTable_Spritzee[] = { - overworld_ascending_frames(gObjectEventPic_Spritzee, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Aromatisse[] = { - overworld_ascending_frames(gObjectEventPic_Aromatisse, 4, 4), -}; -#endif //P_FAMILY_SPRITZEE - -#if P_FAMILY_SWIRLIX -static const struct SpriteFrameImage sPicTable_Swirlix[] = { - overworld_ascending_frames(gObjectEventPic_Swirlix, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Slurpuff[] = { - overworld_ascending_frames(gObjectEventPic_Slurpuff, 4, 4), -}; -#endif //P_FAMILY_SWIRLIX - -#if P_FAMILY_INKAY -static const struct SpriteFrameImage sPicTable_Inkay[] = { - overworld_ascending_frames(gObjectEventPic_Inkay, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Malamar[] = { - overworld_ascending_frames(gObjectEventPic_Malamar, 4, 4), -}; -#endif //P_FAMILY_INKAY - -#if P_FAMILY_BINACLE -static const struct SpriteFrameImage sPicTable_Binacle[] = { - overworld_ascending_frames(gObjectEventPic_Binacle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Barbaracle[] = { - overworld_ascending_frames(gObjectEventPic_Barbaracle, 4, 4), -}; -#endif //P_FAMILY_BINACLE - -#if P_FAMILY_SKRELP -static const struct SpriteFrameImage sPicTable_Skrelp[] = { - overworld_ascending_frames(gObjectEventPic_Skrelp, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dragalge[] = { - overworld_ascending_frames(gObjectEventPic_Dragalge, 4, 4), -}; -#endif //P_FAMILY_SKRELP - -#if P_FAMILY_CLAUNCHER -static const struct SpriteFrameImage sPicTable_Clauncher[] = { - overworld_ascending_frames(gObjectEventPic_Clauncher, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Clawitzer[] = { - overworld_ascending_frames(gObjectEventPic_Clawitzer, 4, 4), -}; -#endif //P_FAMILY_CLAUNCHER - -#if P_FAMILY_HELIOPTILE -static const struct SpriteFrameImage sPicTable_Helioptile[] = { - overworld_ascending_frames(gObjectEventPic_Helioptile, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Heliolisk[] = { - overworld_ascending_frames(gObjectEventPic_Heliolisk, 4, 4), -}; -#endif //P_FAMILY_HELIOPTILE - -#if P_FAMILY_TYRUNT -static const struct SpriteFrameImage sPicTable_Tyrunt[] = { - overworld_ascending_frames(gObjectEventPic_Tyrunt, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Tyrantrum[] = { - overworld_ascending_frames(gObjectEventPic_Tyrantrum, 4, 4), -}; -#endif //P_FAMILY_TYRUNT - -#if P_FAMILY_AMAURA -static const struct SpriteFrameImage sPicTable_Amaura[] = { - overworld_ascending_frames(gObjectEventPic_Amaura, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Aurorus[] = { - overworld_ascending_frames(gObjectEventPic_Aurorus, 4, 4), -}; -#endif //P_FAMILY_AMAURA - -#if P_FAMILY_HAWLUCHA -static const struct SpriteFrameImage sPicTable_Hawlucha[] = { - overworld_ascending_frames(gObjectEventPic_Hawlucha, 4, 4), -}; -#endif //P_FAMILY_HAWLUCHA - -#if P_FAMILY_DEDENNE -static const struct SpriteFrameImage sPicTable_Dedenne[] = { - overworld_ascending_frames(gObjectEventPic_Dedenne, 4, 4), -}; -#endif //P_FAMILY_DEDENNE - -#if P_FAMILY_CARBINK -static const struct SpriteFrameImage sPicTable_Carbink[] = { - overworld_ascending_frames(gObjectEventPic_Carbink, 4, 4), -}; -#endif //P_FAMILY_CARBINK - -#if P_FAMILY_GOOMY -static const struct SpriteFrameImage sPicTable_Goomy[] = { - overworld_ascending_frames(gObjectEventPic_Goomy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Sliggoo[] = { - overworld_ascending_frames(gObjectEventPic_Sliggoo, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_SliggooHisui[] = { - overworld_ascending_frames(gObjectEventPic_SliggooHisui, 4, 4), -}; -#endif //P_HISUIAN_FORMS - -static const struct SpriteFrameImage sPicTable_Goodra[] = { - overworld_ascending_frames(gObjectEventPic_Goodra, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_GoodraHisui[] = { - overworld_ascending_frames(gObjectEventPic_GoodraHisui, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_GOOMY - -#if P_FAMILY_KLEFKI -static const struct SpriteFrameImage sPicTable_Klefki[] = { - overworld_ascending_frames(gObjectEventPic_Klefki, 4, 4), -}; -#endif //P_FAMILY_KLEFKI - -#if P_FAMILY_PHANTUMP -static const struct SpriteFrameImage sPicTable_Phantump[] = { - overworld_ascending_frames(gObjectEventPic_Phantump, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Trevenant[] = { - overworld_ascending_frames(gObjectEventPic_Trevenant, 4, 4), -}; -#endif //P_FAMILY_PHANTUMP - -#if P_FAMILY_PUMPKABOO - -static const struct SpriteFrameImage sPicTable_PumpkabooAverage[] = { - overworld_ascending_frames(gObjectEventPic_PumpkabooAverage, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PumpkabooSmall[] = { - overworld_ascending_frames(gObjectEventPic_PumpkabooSmall, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PumpkabooLarge[] = { - overworld_ascending_frames(gObjectEventPic_PumpkabooLarge, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PumpkabooSuper[] = { - overworld_ascending_frames(gObjectEventPic_PumpkabooSuper, 4, 4), -}; - -static const struct SpriteFrameImage sPicTable_GourgeistAverage[] = { - overworld_ascending_frames(gObjectEventPic_GourgeistAverage, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_GourgeistSmall[] = { - overworld_ascending_frames(gObjectEventPic_GourgeistSmall, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_GourgeistLarge[] = { - overworld_ascending_frames(gObjectEventPic_GourgeistLarge, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_GourgeistSuper[] = { - overworld_ascending_frames(gObjectEventPic_GourgeistSuper, 4, 4), -}; -#endif //P_FAMILY_PUMPKABOO - -#if P_FAMILY_BERGMITE -static const struct SpriteFrameImage sPicTable_Bergmite[] = { - overworld_ascending_frames(gObjectEventPic_Bergmite, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Avalugg[] = { - overworld_ascending_frames(gObjectEventPic_Avalugg, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_AvaluggHisui[] = { - overworld_ascending_frames(gObjectEventPic_AvaluggHisui, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_BERGMITE - -#if P_FAMILY_NOIBAT -static const struct SpriteFrameImage sPicTable_Noibat[] = { - overworld_ascending_frames(gObjectEventPic_Noibat, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Noivern[] = { - overworld_ascending_frames(gObjectEventPic_Noivern, 4, 4), -}; -#endif //P_FAMILY_NOIBAT - -#if P_FAMILY_XERNEAS - -static const struct SpriteFrameImage sPicTable_XerneasNeutral[] = { - overworld_ascending_frames(gObjectEventPic_XerneasNeutral, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_XerneasActive[] = { - overworld_ascending_frames(gObjectEventPic_XerneasActive, 8, 8), -}; -#endif //P_FAMILY_XERNEAS - -#if P_FAMILY_YVELTAL -static const struct SpriteFrameImage sPicTable_Yveltal[] = { - overworld_ascending_frames(gObjectEventPic_Yveltal, 8, 8), -}; -#endif //P_FAMILY_YVELTAL - -#if P_FAMILY_ZYGARDE - -static const struct SpriteFrameImage sPicTable_Zygarde50[] = { - overworld_ascending_frames(gObjectEventPic_Zygarde50, 8, 8), -}; -static const struct SpriteFrameImage sPicTable_Zygarde10[] = { - overworld_ascending_frames(gObjectEventPic_Zygarde10, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_ZygardeComplete[] = { - overworld_ascending_frames(gObjectEventPic_ZygardeComplete, 4, 4), -}; - -#endif //P_FAMILY_ZYGARDE - -#if P_FAMILY_DIANCIE -static const struct SpriteFrameImage sPicTable_Diancie[] = { - overworld_ascending_frames(gObjectEventPic_Diancie, 4, 4), -}; -#if P_MEGA_EVOLUTIONS -/*static const struct SpriteFrameImage sPicTable_DiancieMega[] = { - overworld_ascending_frames(gObjectEventPic_DiancieMega, 4, 4), -};*/ -#endif //P_MEGA_EVOLUTIONS -#endif //P_FAMILY_DIANCIE - -#if P_FAMILY_HOOPA -static const struct SpriteFrameImage sPicTable_HoopaConfined[] = { - overworld_ascending_frames(gObjectEventPic_HoopaConfined, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_HoopaUnbound[] = { - overworld_ascending_frames(gObjectEventPic_HoopaUnbound, 8, 8), -}; -#endif //P_FAMILY_HOOPA - -#if P_FAMILY_VOLCANION -static const struct SpriteFrameImage sPicTable_Volcanion[] = { - overworld_ascending_frames(gObjectEventPic_Volcanion, 4, 4), -}; -#endif //P_FAMILY_VOLCANION - -#if P_FAMILY_ROWLET -static const struct SpriteFrameImage sPicTable_Rowlet[] = { - overworld_ascending_frames(gObjectEventPic_Rowlet, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dartrix[] = { - overworld_ascending_frames(gObjectEventPic_Dartrix, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Decidueye[] = { - overworld_ascending_frames(gObjectEventPic_Decidueye, 4, 4), -}; -#if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_DecidueyeHisui[] = { - overworld_ascending_frames(gObjectEventPic_DecidueyeHisui, 4, 4), -}; -#endif //P_HISUIAN_FORMS -#endif //P_FAMILY_ROWLET - -#if P_FAMILY_LITTEN -static const struct SpriteFrameImage sPicTable_Litten[] = { - overworld_ascending_frames(gObjectEventPic_Litten, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Torracat[] = { - overworld_ascending_frames(gObjectEventPic_Torracat, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Incineroar[] = { - overworld_ascending_frames(gObjectEventPic_Incineroar, 4, 4), -}; -#endif //P_FAMILY_LITTEN - -#if P_FAMILY_POPPLIO -static const struct SpriteFrameImage sPicTable_Popplio[] = { - overworld_ascending_frames(gObjectEventPic_Popplio, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Brionne[] = { - overworld_ascending_frames(gObjectEventPic_Brionne, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Primarina[] = { - overworld_ascending_frames(gObjectEventPic_Primarina, 4, 4), -}; -#endif //P_FAMILY_POPPLIO - -#if P_FAMILY_PIKIPEK -static const struct SpriteFrameImage sPicTable_Pikipek[] = { - overworld_ascending_frames(gObjectEventPic_Pikipek, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Trumbeak[] = { - overworld_ascending_frames(gObjectEventPic_Trumbeak, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Toucannon[] = { - overworld_ascending_frames(gObjectEventPic_Toucannon, 4, 4), -}; -#endif //P_FAMILY_PIKIPEK - -#if P_FAMILY_YUNGOOS -static const struct SpriteFrameImage sPicTable_Yungoos[] = { - overworld_ascending_frames(gObjectEventPic_Yungoos, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Gumshoos[] = { - overworld_ascending_frames(gObjectEventPic_Gumshoos, 4, 4), -}; -#endif //P_FAMILY_YUNGOOS - -#if P_FAMILY_GRUBBIN -static const struct SpriteFrameImage sPicTable_Grubbin[] = { - overworld_ascending_frames(gObjectEventPic_Grubbin, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Charjabug[] = { - overworld_ascending_frames(gObjectEventPic_Charjabug, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Vikavolt[] = { - overworld_ascending_frames(gObjectEventPic_Vikavolt, 4, 4), -}; -#endif //P_FAMILY_GRUBBIN - -#if P_FAMILY_CRABRAWLER -static const struct SpriteFrameImage sPicTable_Crabrawler[] = { - overworld_ascending_frames(gObjectEventPic_Crabrawler, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Crabominable[] = { - overworld_ascending_frames(gObjectEventPic_Crabominable, 4, 4), -}; -#endif //P_FAMILY_CRABRAWLER - -#if P_FAMILY_ORICORIO - -static const struct SpriteFrameImage sPicTable_OricorioBaile[] = { - overworld_ascending_frames(gObjectEventPic_OricorioBaile, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OricorioPomPom[] = { - overworld_ascending_frames(gObjectEventPic_OricorioPomPom, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OricorioPau[] = { - overworld_ascending_frames(gObjectEventPic_OricorioPau, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OricorioSensu[] = { - overworld_ascending_frames(gObjectEventPic_OricorioSensu, 4, 4), -}; -#endif //P_FAMILY_ORICORIO - -#if P_FAMILY_CUTIEFLY -static const struct SpriteFrameImage sPicTable_Cutiefly[] = { - overworld_ascending_frames(gObjectEventPic_Cutiefly, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Ribombee[] = { - overworld_ascending_frames(gObjectEventPic_Ribombee, 4, 4), -}; -#endif //P_FAMILY_CUTIEFLY - -#if P_FAMILY_ROCKRUFF -static const struct SpriteFrameImage sPicTable_Rockruff[] = { - overworld_ascending_frames(gObjectEventPic_Rockruff, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_LycanrocMidday[] = { - overworld_ascending_frames(gObjectEventPic_LycanrocMidday, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_LycanrocMidnight[] = { - overworld_ascending_frames(gObjectEventPic_LycanrocMidnight, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_LycanrocDusk[] = { - overworld_ascending_frames(gObjectEventPic_LycanrocDusk, 4, 4), -}; -#endif //P_FAMILY_ROCKRUFF - -#if P_FAMILY_WISHIWASHI - -static const struct SpriteFrameImage sPicTable_WishiwashiSolo[] = { - overworld_ascending_frames(gObjectEventPic_WishiwashiSolo, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_WishiwashiSchool[] = { - overworld_ascending_frames(gObjectEventPic_WishiwashiSchool, 4, 4), -};*/ -#endif //P_FAMILY_WISHIWASHI - -#if P_FAMILY_MAREANIE -static const struct SpriteFrameImage sPicTable_Mareanie[] = { - overworld_ascending_frames(gObjectEventPic_Mareanie, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Toxapex[] = { - overworld_ascending_frames(gObjectEventPic_Toxapex, 4, 4), -}; -#endif //P_FAMILY_MAREANIE - -#if P_FAMILY_MUDBRAY -static const struct SpriteFrameImage sPicTable_Mudbray[] = { - overworld_ascending_frames(gObjectEventPic_Mudbray, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Mudsdale[] = { - overworld_ascending_frames(gObjectEventPic_Mudsdale, 4, 4), -}; -#endif //P_FAMILY_MUDBRAY - -#if P_FAMILY_DEWPIDER -static const struct SpriteFrameImage sPicTable_Dewpider[] = { - overworld_ascending_frames(gObjectEventPic_Dewpider, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Araquanid[] = { - overworld_ascending_frames(gObjectEventPic_Araquanid, 4, 4), -}; -#endif //P_FAMILY_DEWPIDER - -#if P_FAMILY_FOMANTIS -static const struct SpriteFrameImage sPicTable_Fomantis[] = { - overworld_ascending_frames(gObjectEventPic_Fomantis, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Lurantis[] = { - overworld_ascending_frames(gObjectEventPic_Lurantis, 4, 4), -}; -#endif //P_FAMILY_FOMANTIS - -#if P_FAMILY_MORELULL -static const struct SpriteFrameImage sPicTable_Morelull[] = { - overworld_ascending_frames(gObjectEventPic_Morelull, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Shiinotic[] = { - overworld_ascending_frames(gObjectEventPic_Shiinotic, 4, 4), -}; -#endif //P_FAMILY_MORELULL - -#if P_FAMILY_SALANDIT -static const struct SpriteFrameImage sPicTable_Salandit[] = { - overworld_ascending_frames(gObjectEventPic_Salandit, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Salazzle[] = { - overworld_ascending_frames(gObjectEventPic_Salazzle, 4, 4), -}; -#endif //P_FAMILY_SALANDIT - -#if P_FAMILY_STUFFUL -static const struct SpriteFrameImage sPicTable_Stufful[] = { - overworld_ascending_frames(gObjectEventPic_Stufful, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Bewear[] = { - overworld_ascending_frames(gObjectEventPic_Bewear, 4, 4), -}; -#endif //P_FAMILY_STUFFUL - -#if P_FAMILY_BOUNSWEET -static const struct SpriteFrameImage sPicTable_Bounsweet[] = { - overworld_ascending_frames(gObjectEventPic_Bounsweet, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Steenee[] = { - overworld_ascending_frames(gObjectEventPic_Steenee, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Tsareena[] = { - overworld_ascending_frames(gObjectEventPic_Tsareena, 4, 4), -}; -#endif //P_FAMILY_BOUNSWEET - -#if P_FAMILY_COMFEY -static const struct SpriteFrameImage sPicTable_Comfey[] = { - overworld_ascending_frames(gObjectEventPic_Comfey, 4, 4), -}; -#endif //P_FAMILY_COMFEY - -#if P_FAMILY_ORANGURU -static const struct SpriteFrameImage sPicTable_Oranguru[] = { - overworld_ascending_frames(gObjectEventPic_Oranguru, 4, 4), -}; -#endif //P_FAMILY_ORANGURU - -#if P_FAMILY_PASSIMIAN -static const struct SpriteFrameImage sPicTable_Passimian[] = { - overworld_ascending_frames(gObjectEventPic_Passimian, 4, 4), -}; -#endif //P_FAMILY_PASSIMIAN - -#if P_FAMILY_WIMPOD -static const struct SpriteFrameImage sPicTable_Wimpod[] = { - overworld_ascending_frames(gObjectEventPic_Wimpod, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Golisopod[] = { - overworld_ascending_frames(gObjectEventPic_Golisopod, 4, 4), -}; -#endif //P_FAMILY_WIMPOD - -#if P_FAMILY_SANDYGAST -static const struct SpriteFrameImage sPicTable_Sandygast[] = { - overworld_ascending_frames(gObjectEventPic_Sandygast, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Palossand[] = { - overworld_ascending_frames(gObjectEventPic_Palossand, 4, 4), -}; -#endif //P_FAMILY_SANDYGAST - -#if P_FAMILY_PYUKUMUKU -static const struct SpriteFrameImage sPicTable_Pyukumuku[] = { - overworld_ascending_frames(gObjectEventPic_Pyukumuku, 4, 4), -}; -#endif //P_FAMILY_PYUKUMUKU - -#if P_FAMILY_TYPE_NULL -static const struct SpriteFrameImage sPicTable_TypeNull[] = { - overworld_ascending_frames(gObjectEventPic_TypeNull, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Silvally[] = { - overworld_ascending_frames(gObjectEventPic_Silvally, 4, 4), -}; -#endif //P_FAMILY_TYPE_NULL - -#if P_FAMILY_MINIOR -static const struct SpriteFrameImage sPicTable_MiniorMeteor[] = { - overworld_ascending_frames(gObjectEventPic_MiniorMeteor, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_MiniorCoreRed[] = { - overworld_ascending_frames(gObjectEventPic_MiniorCoreRed, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MiniorCoreOrange[] = { - overworld_ascending_frames(gObjectEventPic_MiniorCoreOrange, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MiniorCoreYellow[] = { - overworld_ascending_frames(gObjectEventPic_MiniorCoreYellow, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MiniorCoreGreen[] = { - overworld_ascending_frames(gObjectEventPic_MiniorCoreGreen, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MiniorCoreBlue[] = { - overworld_ascending_frames(gObjectEventPic_MiniorCoreBlue, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MiniorCoreIndigo[] = { - overworld_ascending_frames(gObjectEventPic_MiniorCoreIndigo, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MiniorCoreViolet[] = { - overworld_ascending_frames(gObjectEventPic_MiniorCoreViolet, 4, 4), -};*/ -#endif //P_FAMILY_MINIOR - -#if P_FAMILY_KOMALA -static const struct SpriteFrameImage sPicTable_Komala[] = { - overworld_ascending_frames(gObjectEventPic_Komala, 4, 4), -}; -#endif //P_FAMILY_KOMALA - -#if P_FAMILY_TURTONATOR -static const struct SpriteFrameImage sPicTable_Turtonator[] = { - overworld_ascending_frames(gObjectEventPic_Turtonator, 4, 4), -}; -#endif //P_FAMILY_TURTONATOR - -#if P_FAMILY_TOGEDEMARU -static const struct SpriteFrameImage sPicTable_Togedemaru[] = { - overworld_ascending_frames(gObjectEventPic_Togedemaru, 4, 4), -}; -#endif //P_FAMILY_TOGEDEMARU - -#if P_FAMILY_MIMIKYU -static const struct SpriteFrameImage sPicTable_MimikyuDisguised[] = { - overworld_ascending_frames(gObjectEventPic_MimikyuDisguised, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_MimikyuBusted[] = { - overworld_ascending_frames(gObjectEventPic_MimikyuBusted, 4, 4), -};*/ -#endif //P_FAMILY_MIMIKYU - -#if P_FAMILY_BRUXISH -static const struct SpriteFrameImage sPicTable_Bruxish[] = { - overworld_ascending_frames(gObjectEventPic_Bruxish, 4, 4), -}; -#endif //P_FAMILY_BRUXISH - -#if P_FAMILY_DRAMPA -static const struct SpriteFrameImage sPicTable_Drampa[] = { - overworld_ascending_frames(gObjectEventPic_Drampa, 4, 4), -}; -#endif //P_FAMILY_DRAMPA - -#if P_FAMILY_DHELMISE -static const struct SpriteFrameImage sPicTable_Dhelmise[] = { - overworld_ascending_frames(gObjectEventPic_Dhelmise, 4, 4), -}; -#endif //P_FAMILY_DHELMISE - -#if P_FAMILY_JANGMO_O -static const struct SpriteFrameImage sPicTable_JangmoO[] = { - overworld_ascending_frames(gObjectEventPic_JangmoO, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_HakamoO[] = { - overworld_ascending_frames(gObjectEventPic_HakamoO, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_KommoO[] = { - overworld_ascending_frames(gObjectEventPic_KommoO, 4, 4), -}; -#endif //P_FAMILY_JANGMO_O - -#if P_FAMILY_TAPU_KOKO -static const struct SpriteFrameImage sPicTable_TapuKoko[] = { - overworld_ascending_frames(gObjectEventPic_TapuKoko, 4, 4), -}; -#endif //P_FAMILY_TAPU_KOKO - -#if P_FAMILY_TAPU_LELE -static const struct SpriteFrameImage sPicTable_TapuLele[] = { - overworld_ascending_frames(gObjectEventPic_TapuLele, 4, 4), -}; -#endif //P_FAMILY_TAPU_LELE - -#if P_FAMILY_TAPU_BULU -static const struct SpriteFrameImage sPicTable_TapuBulu[] = { - overworld_ascending_frames(gObjectEventPic_TapuBulu, 4, 4), -}; -#endif //P_FAMILY_TAPU_BULU - -#if P_FAMILY_TAPU_FINI -static const struct SpriteFrameImage sPicTable_TapuFini[] = { - overworld_ascending_frames(gObjectEventPic_TapuFini, 4, 4), -}; -#endif //P_FAMILY_TAPU_FINI - -#if P_FAMILY_COSMOG -static const struct SpriteFrameImage sPicTable_Cosmog[] = { - overworld_ascending_frames(gObjectEventPic_Cosmog, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Cosmoem[] = { - overworld_ascending_frames(gObjectEventPic_Cosmoem, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Solgaleo[] = { - overworld_ascending_frames(gObjectEventPic_Solgaleo, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Lunala[] = { - overworld_ascending_frames(gObjectEventPic_Lunala, 4, 4), -}; -#endif //P_FAMILY_COSMOG - -#if P_FAMILY_NIHILEGO -static const struct SpriteFrameImage sPicTable_Nihilego[] = { - overworld_ascending_frames(gObjectEventPic_Nihilego, 4, 4), -}; -#endif //P_FAMILY_NIHILEGO - -#if P_FAMILY_BUZZWOLE -static const struct SpriteFrameImage sPicTable_Buzzwole[] = { - overworld_ascending_frames(gObjectEventPic_Buzzwole, 4, 4), -}; -#endif //P_FAMILY_BUZZWOLE - -#if P_FAMILY_PHEROMOSA -static const struct SpriteFrameImage sPicTable_Pheromosa[] = { - overworld_ascending_frames(gObjectEventPic_Pheromosa, 4, 4), -}; -#endif //P_FAMILY_PHEROMOSA - -#if P_FAMILY_XURKITREE -static const struct SpriteFrameImage sPicTable_Xurkitree[] = { - overworld_ascending_frames(gObjectEventPic_Xurkitree, 4, 4), -}; -#endif //P_FAMILY_XURKITREE - -#if P_FAMILY_CELESTEELA -static const struct SpriteFrameImage sPicTable_Celesteela[] = { - overworld_ascending_frames(gObjectEventPic_Celesteela, 4, 4), -}; -#endif //P_FAMILY_CELESTEELA - -#if P_FAMILY_KARTANA -static const struct SpriteFrameImage sPicTable_Kartana[] = { - overworld_ascending_frames(gObjectEventPic_Kartana, 4, 4), -}; -#endif //P_FAMILY_KARTANA - -#if P_FAMILY_GUZZLORD -static const struct SpriteFrameImage sPicTable_Guzzlord[] = { - overworld_ascending_frames(gObjectEventPic_Guzzlord, 4, 4), -}; -#endif //P_FAMILY_GUZZLORD - -#if P_FAMILY_NECROZMA -static const struct SpriteFrameImage sPicTable_Necrozma[] = { - overworld_ascending_frames(gObjectEventPic_Necrozma, 4, 4), -}; -#if P_FUSION_FORMS - -static const struct SpriteFrameImage sPicTable_NecrozmaDuskMane[] = { - overworld_ascending_frames(gObjectEventPic_NecrozmaDuskMane, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_NecrozmaDawnWings[] = { - overworld_ascending_frames(gObjectEventPic_NecrozmaDawnWings, 4, 4), -}; -#if P_ULTRA_BURST_FORMS -/*static const struct SpriteFrameImage sPicTable_NecrozmaUltra[] = { - overworld_ascending_frames(gObjectEventPic_NecrozmaUltra, 4, 4), -};*/ -#endif //P_ULTRA_BURST_FORMS -#endif //P_FUSION_FORMS -#endif //P_FAMILY_NECROZMA - -#if P_FAMILY_MAGEARNA -static const struct SpriteFrameImage sPicTable_Magearna[] = { - overworld_ascending_frames(gObjectEventPic_Magearna, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MagearnaOriginal[] = { - overworld_ascending_frames(gObjectEventPic_MagearnaOriginal, 4, 4), -}; -#endif //P_FAMILY_MAGEARNA - -#if P_FAMILY_MARSHADOW -static const struct SpriteFrameImage sPicTable_Marshadow[] = { - overworld_ascending_frames(gObjectEventPic_Marshadow, 4, 4), -}; -#endif //P_FAMILY_MARSHADOW - -#if P_FAMILY_POIPOLE -static const struct SpriteFrameImage sPicTable_Poipole[] = { - overworld_ascending_frames(gObjectEventPic_Poipole, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Naganadel[] = { - overworld_ascending_frames(gObjectEventPic_Naganadel, 4, 4), -}; -#endif //P_FAMILY_POIPOLE - -#if P_FAMILY_STAKATAKA -static const struct SpriteFrameImage sPicTable_Stakataka[] = { - overworld_ascending_frames(gObjectEventPic_Stakataka, 4, 4), -}; -#endif //P_FAMILY_STAKATAKA - -#if P_FAMILY_BLACEPHALON -static const struct SpriteFrameImage sPicTable_Blacephalon[] = { - overworld_ascending_frames(gObjectEventPic_Blacephalon, 4, 4), -}; -#endif //P_FAMILY_BLACEPHALON - -#if P_FAMILY_ZERAORA -static const struct SpriteFrameImage sPicTable_Zeraora[] = { - overworld_ascending_frames(gObjectEventPic_Zeraora, 4, 4), -}; -#endif //P_FAMILY_ZERAORA - -#if P_FAMILY_MELTAN -static const struct SpriteFrameImage sPicTable_Meltan[] = { - overworld_ascending_frames(gObjectEventPic_Meltan, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Melmetal[] = { - overworld_ascending_frames(gObjectEventPic_Melmetal, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_MelmetalGmax[] = { - overworld_ascending_frames(gObjectEventPic_MelmetalGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MELTAN - -#if P_FAMILY_GROOKEY -static const struct SpriteFrameImage sPicTable_Grookey[] = { - overworld_ascending_frames(gObjectEventPic_Grookey, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Thwackey[] = { - overworld_ascending_frames(gObjectEventPic_Thwackey, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Rillaboom[] = { - overworld_ascending_frames(gObjectEventPic_Rillaboom, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_RillaboomGmax[] = { - overworld_ascending_frames(gObjectEventPic_RillaboomGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_GROOKEY - -#if P_FAMILY_SCORBUNNY -static const struct SpriteFrameImage sPicTable_Scorbunny[] = { - overworld_ascending_frames(gObjectEventPic_Scorbunny, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Raboot[] = { - overworld_ascending_frames(gObjectEventPic_Raboot, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Cinderace[] = { - overworld_ascending_frames(gObjectEventPic_Cinderace, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CinderaceGmax[] = { - overworld_ascending_frames(gObjectEventPic_CinderaceGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SCORBUNNY - -#if P_FAMILY_SOBBLE -static const struct SpriteFrameImage sPicTable_Sobble[] = { - overworld_ascending_frames(gObjectEventPic_Sobble, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Drizzile[] = { - overworld_ascending_frames(gObjectEventPic_Drizzile, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Inteleon[] = { - overworld_ascending_frames(gObjectEventPic_Inteleon, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_InteleonGmax[] = { - overworld_ascending_frames(gObjectEventPic_InteleonGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SOBBLE - -#if P_FAMILY_SKWOVET -static const struct SpriteFrameImage sPicTable_Skwovet[] = { - overworld_ascending_frames(gObjectEventPic_Skwovet, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Greedent[] = { - overworld_ascending_frames(gObjectEventPic_Greedent, 4, 4), -}; -#endif //P_FAMILY_SKWOVET - -#if P_FAMILY_ROOKIDEE -static const struct SpriteFrameImage sPicTable_Rookidee[] = { - overworld_ascending_frames(gObjectEventPic_Rookidee, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Corvisquire[] = { - overworld_ascending_frames(gObjectEventPic_Corvisquire, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Corviknight[] = { - overworld_ascending_frames(gObjectEventPic_Corviknight, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CorviknightGmax[] = { - overworld_ascending_frames(gObjectEventPic_CorviknightGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_ROOKIDEE - -#if P_FAMILY_BLIPBUG -static const struct SpriteFrameImage sPicTable_Blipbug[] = { - overworld_ascending_frames(gObjectEventPic_Blipbug, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dottler[] = { - overworld_ascending_frames(gObjectEventPic_Dottler, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Orbeetle[] = { - overworld_ascending_frames(gObjectEventPic_Orbeetle, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_OrbeetleGmax[] = { - overworld_ascending_frames(gObjectEventPic_OrbeetleGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_BLIPBUG - -#if P_FAMILY_NICKIT -static const struct SpriteFrameImage sPicTable_Nickit[] = { - overworld_ascending_frames(gObjectEventPic_Nickit, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Thievul[] = { - overworld_ascending_frames(gObjectEventPic_Thievul, 4, 4), -}; -#endif //P_FAMILY_NICKIT - -#if P_FAMILY_GOSSIFLEUR -static const struct SpriteFrameImage sPicTable_Gossifleur[] = { - overworld_ascending_frames(gObjectEventPic_Gossifleur, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Eldegoss[] = { - overworld_ascending_frames(gObjectEventPic_Eldegoss, 4, 4), -}; -#endif //P_FAMILY_GOSSIFLEUR - -#if P_FAMILY_WOOLOO -static const struct SpriteFrameImage sPicTable_Wooloo[] = { - overworld_ascending_frames(gObjectEventPic_Wooloo, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dubwool[] = { - overworld_ascending_frames(gObjectEventPic_Dubwool, 4, 4), -}; -#endif //P_FAMILY_WOOLOO - -#if P_FAMILY_CHEWTLE -static const struct SpriteFrameImage sPicTable_Chewtle[] = { - overworld_ascending_frames(gObjectEventPic_Chewtle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Drednaw[] = { - overworld_ascending_frames(gObjectEventPic_Drednaw, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_DrednawGmax[] = { - overworld_ascending_frames(gObjectEventPic_DrednawGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CHEWTLE - -#if P_FAMILY_YAMPER -static const struct SpriteFrameImage sPicTable_Yamper[] = { - overworld_ascending_frames(gObjectEventPic_Yamper, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Boltund[] = { - overworld_ascending_frames(gObjectEventPic_Boltund, 4, 4), -}; -#endif //P_FAMILY_YAMPER - -#if P_FAMILY_ROLYCOLY -static const struct SpriteFrameImage sPicTable_Rolycoly[] = { - overworld_ascending_frames(gObjectEventPic_Rolycoly, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Carkol[] = { - overworld_ascending_frames(gObjectEventPic_Carkol, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Coalossal[] = { - overworld_ascending_frames(gObjectEventPic_Coalossal, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CoalossalGmax[] = { - overworld_ascending_frames(gObjectEventPic_CoalossalGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_ROLYCOLY - -#if P_FAMILY_APPLIN -static const struct SpriteFrameImage sPicTable_Applin[] = { - overworld_ascending_frames(gObjectEventPic_Applin, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Flapple[] = { - overworld_ascending_frames(gObjectEventPic_Flapple, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_FlappleGmax[] = { - overworld_ascending_frames(gObjectEventPic_FlappleGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS - -static const struct SpriteFrameImage sPicTable_Appletun[] = { - overworld_ascending_frames(gObjectEventPic_Appletun, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_AppletunGmax[] = { - overworld_ascending_frames(gObjectEventPic_AppletunGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS - -#if P_GEN_9_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Dipplin[] = { - overworld_ascending_frames(gObjectEventPic_Dipplin, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Hydrapple[] = { - overworld_ascending_frames(gObjectEventPic_Hydrapple, 8, 8), -}; -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_APPLIN - -#if P_FAMILY_SILICOBRA -static const struct SpriteFrameImage sPicTable_Silicobra[] = { - overworld_ascending_frames(gObjectEventPic_Silicobra, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Sandaconda[] = { - overworld_ascending_frames(gObjectEventPic_Sandaconda, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_SandacondaGmax[] = { - overworld_ascending_frames(gObjectEventPic_SandacondaGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SILICOBRA - -#if P_FAMILY_CRAMORANT -static const struct SpriteFrameImage sPicTable_Cramorant[] = { - overworld_ascending_frames(gObjectEventPic_Cramorant, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_CramorantGulping[] = { - overworld_ascending_frames(gObjectEventPic_CramorantGulping, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_CramorantGorging[] = { - overworld_ascending_frames(gObjectEventPic_CramorantGorging, 4, 4), -};*/ -#endif //P_FAMILY_CRAMORANT - -#if P_FAMILY_ARROKUDA -static const struct SpriteFrameImage sPicTable_Arrokuda[] = { - overworld_ascending_frames(gObjectEventPic_Arrokuda, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Barraskewda[] = { - overworld_ascending_frames(gObjectEventPic_Barraskewda, 4, 4), -}; -#endif //P_FAMILY_ARROKUDA - -#if P_FAMILY_TOXEL -static const struct SpriteFrameImage sPicTable_Toxel[] = { - overworld_ascending_frames(gObjectEventPic_Toxel, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_ToxtricityAmped[] = { - overworld_ascending_frames(gObjectEventPic_ToxtricityAmped, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_ToxtricityLowKey[] = { - overworld_ascending_frames(gObjectEventPic_ToxtricityLowKey, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_ToxtricityGmax[] = { - overworld_ascending_frames(gObjectEventPic_ToxtricityGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_TOXEL - -#if P_FAMILY_SIZZLIPEDE -static const struct SpriteFrameImage sPicTable_Sizzlipede[] = { - overworld_ascending_frames(gObjectEventPic_Sizzlipede, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Centiskorch[] = { - overworld_ascending_frames(gObjectEventPic_Centiskorch, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CentiskorchGmax[] = { - overworld_ascending_frames(gObjectEventPic_CentiskorchGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_SIZZLIPEDE - -#if P_FAMILY_CLOBBOPUS -static const struct SpriteFrameImage sPicTable_Clobbopus[] = { - overworld_ascending_frames(gObjectEventPic_Clobbopus, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Grapploct[] = { - overworld_ascending_frames(gObjectEventPic_Grapploct, 4, 4), -}; -#endif //P_FAMILY_CLOBBOPUS - -#if P_FAMILY_SINISTEA -static const struct SpriteFrameImage sPicTable_Sinistea[] = { - overworld_ascending_frames(gObjectEventPic_Sinistea, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Polteageist[] = { - overworld_ascending_frames(gObjectEventPic_Polteageist, 4, 4), -}; -#endif //P_FAMILY_SINISTEA - -#if P_FAMILY_HATENNA -static const struct SpriteFrameImage sPicTable_Hatenna[] = { - overworld_ascending_frames(gObjectEventPic_Hatenna, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Hattrem[] = { - overworld_ascending_frames(gObjectEventPic_Hattrem, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Hatterene[] = { - overworld_ascending_frames(gObjectEventPic_Hatterene, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_HattereneGmax[] = { - overworld_ascending_frames(gObjectEventPic_HattereneGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_HATENNA - -#if P_FAMILY_IMPIDIMP -static const struct SpriteFrameImage sPicTable_Impidimp[] = { - overworld_ascending_frames(gObjectEventPic_Impidimp, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Morgrem[] = { - overworld_ascending_frames(gObjectEventPic_Morgrem, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Grimmsnarl[] = { - overworld_ascending_frames(gObjectEventPic_Grimmsnarl, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_GrimmsnarlGmax[] = { - overworld_ascending_frames(gObjectEventPic_GrimmsnarlGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_IMPIDIMP - -#if P_FAMILY_MILCERY -static const struct SpriteFrameImage sPicTable_Milcery[] = { - overworld_ascending_frames(gObjectEventPic_Milcery, 4, 4), -}; - -static const struct SpriteFrameImage sPicTable_AlcremieStrawberry[] = { - overworld_ascending_frames(gObjectEventPic_AlcremieStrawberry, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_AlcremieGmax[] = { - overworld_ascending_frames(gObjectEventPic_AlcremieGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_MILCERY - -#if P_FAMILY_FALINKS -static const struct SpriteFrameImage sPicTable_Falinks[] = { - overworld_ascending_frames(gObjectEventPic_Falinks, 4, 4), -}; -#endif //P_FAMILY_FALINKS - -#if P_FAMILY_PINCURCHIN -static const struct SpriteFrameImage sPicTable_Pincurchin[] = { - overworld_ascending_frames(gObjectEventPic_Pincurchin, 4, 4), -}; -#endif //P_FAMILY_PINCURCHIN - -#if P_FAMILY_SNOM -static const struct SpriteFrameImage sPicTable_Snom[] = { - overworld_ascending_frames(gObjectEventPic_Snom, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Frosmoth[] = { - overworld_ascending_frames(gObjectEventPic_Frosmoth, 4, 4), -}; -#endif //P_FAMILY_SNOM - -#if P_FAMILY_STONJOURNER -static const struct SpriteFrameImage sPicTable_Stonjourner[] = { - overworld_ascending_frames(gObjectEventPic_Stonjourner, 4, 4), -}; -#endif //P_FAMILY_STONJOURNER - -#if P_FAMILY_EISCUE -static const struct SpriteFrameImage sPicTable_EiscueIce[] = { - overworld_ascending_frames(gObjectEventPic_EiscueIce, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_EiscueNoice[] = { - overworld_ascending_frames(gObjectEventPic_EiscueNoice, 4, 4), -};*/ -#endif //P_FAMILY_EISCUE - -#if P_FAMILY_INDEEDEE -static const struct SpriteFrameImage sPicTable_IndeedeeM[] = { - overworld_ascending_frames(gObjectEventPic_IndeedeeM, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_IndeedeeF[] = { - overworld_ascending_frames(gObjectEventPic_IndeedeeF, 4, 4), -}; -#endif //P_FAMILY_INDEEDEE - -#if P_FAMILY_MORPEKO -static const struct SpriteFrameImage sPicTable_MorpekoFullBelly[] = { - overworld_ascending_frames(gObjectEventPic_MorpekoFullBelly, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_MorpekoHangry[] = { - overworld_ascending_frames(gObjectEventPic_MorpekoHangry, 4, 4), -};*/ -#endif //P_FAMILY_MORPEKO - -#if P_FAMILY_CUFANT -static const struct SpriteFrameImage sPicTable_Cufant[] = { - overworld_ascending_frames(gObjectEventPic_Cufant, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Copperajah[] = { - overworld_ascending_frames(gObjectEventPic_Copperajah, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CopperajahGmax[] = { - overworld_ascending_frames(gObjectEventPic_CopperajahGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_CUFANT - -#if P_FAMILY_DRACOZOLT -static const struct SpriteFrameImage sPicTable_Dracozolt[] = { - overworld_ascending_frames(gObjectEventPic_Dracozolt, 4, 4), -}; -#endif //P_FAMILY_DRACOZOLT - -#if P_FAMILY_ARCTOZOLT -static const struct SpriteFrameImage sPicTable_Arctozolt[] = { - overworld_ascending_frames(gObjectEventPic_Arctozolt, 4, 4), -}; -#endif //P_FAMILY_ARCTOZOLT - -#if P_FAMILY_DRACOVISH -static const struct SpriteFrameImage sPicTable_Dracovish[] = { - overworld_ascending_frames(gObjectEventPic_Dracovish, 4, 4), -}; -#endif //P_FAMILY_DRACOVISH - -#if P_FAMILY_ARCTOVISH -static const struct SpriteFrameImage sPicTable_Arctovish[] = { - overworld_ascending_frames(gObjectEventPic_Arctovish, 4, 4), -}; -#endif //P_FAMILY_ARCTOVISH - -#if P_FAMILY_DURALUDON -static const struct SpriteFrameImage sPicTable_Duraludon[] = { - overworld_ascending_frames(gObjectEventPic_Duraludon, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_DuraludonGmax[] = { - overworld_ascending_frames(gObjectEventPic_DuraludonGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS - -#if P_GEN_9_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_Archaludon[] = { - overworld_ascending_frames(gObjectEventPic_Archaludon, 4, 4), -}; -#endif //P_GEN_9_CROSS_EVOS -#endif //P_FAMILY_DURALUDON - -#if P_FAMILY_DREEPY -static const struct SpriteFrameImage sPicTable_Dreepy[] = { - overworld_ascending_frames(gObjectEventPic_Dreepy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Drakloak[] = { - overworld_ascending_frames(gObjectEventPic_Drakloak, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dragapult[] = { - overworld_ascending_frames(gObjectEventPic_Dragapult, 4, 4), -}; -#endif //P_FAMILY_DREEPY - -#if P_FAMILY_ZACIAN -static const struct SpriteFrameImage sPicTable_ZacianHero[] = { - overworld_ascending_frames(gObjectEventPic_ZacianHero, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_ZacianCrowned[] = { - overworld_ascending_frames(gObjectEventPic_ZacianCrowned, 4, 4), -}; -#endif //P_FAMILY_ZACIAN - -#if P_FAMILY_ZAMAZENTA -static const struct SpriteFrameImage sPicTable_ZamazentaHero[] = { - overworld_ascending_frames(gObjectEventPic_ZamazentaHero, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_ZamazentaCrowned[] = { - overworld_ascending_frames(gObjectEventPic_ZamazentaCrowned, 4, 4), -}; -#endif //P_FAMILY_ZAMAZENTA - -#if P_FAMILY_ETERNATUS -static const struct SpriteFrameImage sPicTable_Eternatus[] = { - overworld_ascending_frames(gObjectEventPic_Eternatus, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_EternatusEternamax[] = { - overworld_ascending_frames(gObjectEventPic_EternatusEternamax, 4, 4), -};*/ -#endif //P_FAMILY_ETERNATUS - -#if P_FAMILY_KUBFU -static const struct SpriteFrameImage sPicTable_Kubfu[] = { - overworld_ascending_frames(gObjectEventPic_Kubfu, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Urshifu[] = { - overworld_ascending_frames(gObjectEventPic_Urshifu, 4, 4), -}; -#if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_UrshifuSingleStrikeGmax[] = { - overworld_ascending_frames(gObjectEventPic_UrshifuSingleStrikeGmax, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_UrshifuRapidStrikeGmax[] = { - overworld_ascending_frames(gObjectEventPic_UrshifuRapidStrikeGmax, 4, 4), -};*/ -#endif //P_GIGANTAMAX_FORMS -#endif //P_FAMILY_KUBFU - -#if P_FAMILY_ZARUDE - -static const struct SpriteFrameImage sPicTable_Zarude[] = { - overworld_ascending_frames(gObjectEventPic_Zarude, 4, 4), -}; -/*static const struct SpriteFrameImage sPicTable_ZarudeDada[] = { - overworld_ascending_frames(gObjectEventPic_ZarudeDada, 4, 4), -};*/ -#endif //P_FAMILY_ZARUDE - -#if P_FAMILY_REGIELEKI -static const struct SpriteFrameImage sPicTable_Regieleki[] = { - overworld_ascending_frames(gObjectEventPic_Regieleki, 4, 4), -}; -#endif //P_FAMILY_REGIELEKI - -#if P_FAMILY_REGIDRAGO -static const struct SpriteFrameImage sPicTable_Regidrago[] = { - overworld_ascending_frames(gObjectEventPic_Regidrago, 4, 4), -}; -#endif //P_FAMILY_REGIDRAGO - -#if P_FAMILY_GLASTRIER -static const struct SpriteFrameImage sPicTable_Glastrier[] = { - overworld_ascending_frames(gObjectEventPic_Glastrier, 4, 4), -}; -#endif //P_FAMILY_GLASTRIER - -#if P_FAMILY_SPECTRIER -static const struct SpriteFrameImage sPicTable_Spectrier[] = { - overworld_ascending_frames(gObjectEventPic_Spectrier, 4, 4), -}; -#endif //P_FAMILY_SPECTRIER - -#if P_FAMILY_CALYREX -static const struct SpriteFrameImage sPicTable_Calyrex[] = { - overworld_ascending_frames(gObjectEventPic_Calyrex, 4, 4), -}; -#if P_FUSION_FORMS -static const struct SpriteFrameImage sPicTable_CalyrexIce[] = { - overworld_ascending_frames(gObjectEventPic_CalyrexIce, 4, 4), -}; -#endif //P_FUSION_FORMS - -#if P_FUSION_FORMS -static const struct SpriteFrameImage sPicTable_CalyrexShadow[] = { - overworld_ascending_frames(gObjectEventPic_CalyrexShadow, 4, 4), -}; -#endif //P_FUSION_FORMS -#endif //P_FAMILY_CALYREX - -#if P_FAMILY_SPRIGATITO -static const struct SpriteFrameImage sPicTable_Sprigatito[] = { - overworld_ascending_frames(gObjectEventPic_Sprigatito, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Floragato[] = { - overworld_ascending_frames(gObjectEventPic_Floragato, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Meowscarada[] = { - overworld_ascending_frames(gObjectEventPic_Meowscarada, 4, 4), -}; -#endif //P_FAMILY_SPRIGATITO - -#if P_FAMILY_FUECOCO -static const struct SpriteFrameImage sPicTable_Fuecoco[] = { - overworld_ascending_frames(gObjectEventPic_Fuecoco, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Crocalor[] = { - overworld_ascending_frames(gObjectEventPic_Crocalor, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Skeledirge[] = { - overworld_ascending_frames(gObjectEventPic_Skeledirge, 4, 4), -}; -#endif //P_FAMILY_FUECOCO - -#if P_FAMILY_QUAXLY -static const struct SpriteFrameImage sPicTable_Quaxly[] = { - overworld_ascending_frames(gObjectEventPic_Quaxly, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Quaxwell[] = { - overworld_ascending_frames(gObjectEventPic_Quaxwell, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Quaquaval[] = { - overworld_ascending_frames(gObjectEventPic_Quaquaval, 4, 4), -}; -#endif //P_FAMILY_QUAXLY - -#if P_FAMILY_LECHONK -static const struct SpriteFrameImage sPicTable_Lechonk[] = { - overworld_ascending_frames(gObjectEventPic_Lechonk, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OinkologneM[] = { - overworld_ascending_frames(gObjectEventPic_OinkologneM, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OinkologneF[] = { - overworld_ascending_frames(gObjectEventPic_OinkologneF, 4, 4), -}; -#endif //P_FAMILY_LECHONK - -#if P_FAMILY_TAROUNTULA -static const struct SpriteFrameImage sPicTable_Tarountula[] = { - overworld_ascending_frames(gObjectEventPic_Tarountula, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Spidops[] = { - overworld_ascending_frames(gObjectEventPic_Spidops, 4, 4), -}; -#endif //P_FAMILY_TAROUNTULA - -#if P_FAMILY_NYMBLE -static const struct SpriteFrameImage sPicTable_Nymble[] = { - overworld_ascending_frames(gObjectEventPic_Nymble, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Lokix[] = { - overworld_ascending_frames(gObjectEventPic_Lokix, 4, 4), -}; -#endif //P_FAMILY_NYMBLE - -#if P_FAMILY_PAWMI -static const struct SpriteFrameImage sPicTable_Pawmi[] = { - overworld_ascending_frames(gObjectEventPic_Pawmi, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Pawmo[] = { - overworld_ascending_frames(gObjectEventPic_Pawmo, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Pawmot[] = { - overworld_ascending_frames(gObjectEventPic_Pawmot, 4, 4), -}; -#endif //P_FAMILY_PAWMI - -#if P_FAMILY_TANDEMAUS -static const struct SpriteFrameImage sPicTable_Tandemaus[] = { - overworld_ascending_frames(gObjectEventPic_Tandemaus, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MausholdThree[] = { - overworld_ascending_frames(gObjectEventPic_MausholdThree, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_MausholdFour[] = { - overworld_ascending_frames(gObjectEventPic_MausholdFour, 4, 4), -}; -#endif //P_FAMILY_TANDEMAUS - -#if P_FAMILY_FIDOUGH -static const struct SpriteFrameImage sPicTable_Fidough[] = { - overworld_ascending_frames(gObjectEventPic_Fidough, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dachsbun[] = { - overworld_ascending_frames(gObjectEventPic_Dachsbun, 4, 4), -}; -#endif //P_FAMILY_FIDOUGH - -#if P_FAMILY_SMOLIV -static const struct SpriteFrameImage sPicTable_Smoliv[] = { - overworld_ascending_frames(gObjectEventPic_Smoliv, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Dolliv[] = { - overworld_ascending_frames(gObjectEventPic_Dolliv, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Arboliva[] = { - overworld_ascending_frames(gObjectEventPic_Arboliva, 4, 4), -}; -#endif //P_FAMILY_SMOLIV - -#if P_FAMILY_SQUAWKABILLY -static const struct SpriteFrameImage sPicTable_SquawkabillyGreen[] = { - overworld_ascending_frames(gObjectEventPic_SquawkabillyGreen, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_SquawkabillyBlue[] = { - overworld_ascending_frames(gObjectEventPic_SquawkabillyBlue, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_SquawkabillyYellow[] = { - overworld_ascending_frames(gObjectEventPic_SquawkabillyYellow, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_SquawkabillyWhite[] = { - overworld_ascending_frames(gObjectEventPic_SquawkabillyWhite, 4, 4), -}; -#endif //P_FAMILY_SQUAWKABILLY - -#if P_FAMILY_NACLI -static const struct SpriteFrameImage sPicTable_Nacli[] = { - overworld_ascending_frames(gObjectEventPic_Nacli, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Naclstack[] = { - overworld_ascending_frames(gObjectEventPic_Naclstack, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Garganacl[] = { - overworld_ascending_frames(gObjectEventPic_Garganacl, 4, 4), -}; -#endif //P_FAMILY_NACLI - -#if P_FAMILY_CHARCADET -static const struct SpriteFrameImage sPicTable_Charcadet[] = { - overworld_ascending_frames(gObjectEventPic_Charcadet, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Armarouge[] = { - overworld_ascending_frames(gObjectEventPic_Armarouge, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Ceruledge[] = { - overworld_ascending_frames(gObjectEventPic_Ceruledge, 4, 4), -}; -#endif //P_FAMILY_CHARCADET - -#if P_FAMILY_TADBULB -static const struct SpriteFrameImage sPicTable_Tadbulb[] = { - overworld_ascending_frames(gObjectEventPic_Tadbulb, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Bellibolt[] = { - overworld_ascending_frames(gObjectEventPic_Bellibolt, 4, 4), -}; -#endif //P_FAMILY_TADBULB - -#if P_FAMILY_WATTREL -static const struct SpriteFrameImage sPicTable_Wattrel[] = { - overworld_ascending_frames(gObjectEventPic_Wattrel, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Kilowattrel[] = { - overworld_ascending_frames(gObjectEventPic_Kilowattrel, 4, 4), -}; -#endif //P_FAMILY_WATTREL - -#if P_FAMILY_MASCHIFF -static const struct SpriteFrameImage sPicTable_Maschiff[] = { - overworld_ascending_frames(gObjectEventPic_Maschiff, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Mabosstiff[] = { - overworld_ascending_frames(gObjectEventPic_Mabosstiff, 4, 4), -}; -#endif //P_FAMILY_MASCHIFF - -#if P_FAMILY_SHROODLE -static const struct SpriteFrameImage sPicTable_Shroodle[] = { - overworld_ascending_frames(gObjectEventPic_Shroodle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Grafaiai[] = { - overworld_ascending_frames(gObjectEventPic_Grafaiai, 4, 4), -}; -#endif //P_FAMILY_SHROODLE - -#if P_FAMILY_BRAMBLIN -static const struct SpriteFrameImage sPicTable_Bramblin[] = { - overworld_ascending_frames(gObjectEventPic_Bramblin, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Brambleghast[] = { - overworld_ascending_frames(gObjectEventPic_Brambleghast, 4, 4), -}; -#endif //P_FAMILY_BRAMBLIN - -#if P_FAMILY_TOEDSCOOL -static const struct SpriteFrameImage sPicTable_Toedscool[] = { - overworld_ascending_frames(gObjectEventPic_Toedscool, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Toedscruel[] = { - overworld_ascending_frames(gObjectEventPic_Toedscruel, 4, 4), -}; -#endif //P_FAMILY_TOEDSCOOL - -#if P_FAMILY_KLAWF -static const struct SpriteFrameImage sPicTable_Klawf[] = { - overworld_ascending_frames(gObjectEventPic_Klawf, 4, 4), -}; -#endif //P_FAMILY_KLAWF - -#if P_FAMILY_CAPSAKID -static const struct SpriteFrameImage sPicTable_Capsakid[] = { - overworld_ascending_frames(gObjectEventPic_Capsakid, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Scovillain[] = { - overworld_ascending_frames(gObjectEventPic_Scovillain, 4, 4), -}; -#endif //P_FAMILY_CAPSAKID - -#if P_FAMILY_RELLOR -static const struct SpriteFrameImage sPicTable_Rellor[] = { - overworld_ascending_frames(gObjectEventPic_Rellor, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Rabsca[] = { - overworld_ascending_frames(gObjectEventPic_Rabsca, 4, 4), -}; -#endif //P_FAMILY_RELLOR - -#if P_FAMILY_FLITTLE -static const struct SpriteFrameImage sPicTable_Flittle[] = { - overworld_ascending_frames(gObjectEventPic_Flittle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Espathra[] = { - overworld_ascending_frames(gObjectEventPic_Espathra, 4, 4), -}; -#endif //P_FAMILY_FLITTLE - -#if P_FAMILY_TINKATINK -static const struct SpriteFrameImage sPicTable_Tinkatink[] = { - overworld_ascending_frames(gObjectEventPic_Tinkatink, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Tinkatuff[] = { - overworld_ascending_frames(gObjectEventPic_Tinkatuff, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Tinkaton[] = { - overworld_ascending_frames(gObjectEventPic_Tinkaton, 4, 4), -}; -#endif //P_FAMILY_TINKATINK - -#if P_FAMILY_WIGLETT -static const struct SpriteFrameImage sPicTable_Wiglett[] = { - overworld_ascending_frames(gObjectEventPic_Wiglett, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Wugtrio[] = { - overworld_ascending_frames(gObjectEventPic_Wugtrio, 4, 4), -}; -#endif //P_FAMILY_WIGLETT - -#if P_FAMILY_BOMBIRDIER -static const struct SpriteFrameImage sPicTable_Bombirdier[] = { - overworld_ascending_frames(gObjectEventPic_Bombirdier, 4, 4), -}; -#endif //P_FAMILY_BOMBIRDIER - -#if P_FAMILY_FINIZEN -static const struct SpriteFrameImage sPicTable_Finizen[] = { - overworld_ascending_frames(gObjectEventPic_Finizen, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PalafinZero[] = { - overworld_ascending_frames(gObjectEventPic_PalafinZero, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_PalafinHero[] = { - overworld_ascending_frames(gObjectEventPic_PalafinHero, 4, 4), -}; -#endif //P_FAMILY_FINIZEN - -#if P_FAMILY_VAROOM -static const struct SpriteFrameImage sPicTable_Varoom[] = { - overworld_ascending_frames(gObjectEventPic_Varoom, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Revavroom[] = { - overworld_ascending_frames(gObjectEventPic_Revavroom, 4, 4), -}; -#endif //P_FAMILY_VAROOM - -#if P_FAMILY_CYCLIZAR -static const struct SpriteFrameImage sPicTable_Cyclizar[] = { - overworld_ascending_frames(gObjectEventPic_Cyclizar, 4, 4), -}; -#endif //P_FAMILY_CYCLIZAR - -#if P_FAMILY_ORTHWORM -static const struct SpriteFrameImage sPicTable_Orthworm[] = { - overworld_ascending_frames(gObjectEventPic_Orthworm, 4, 4), -}; -#endif //P_FAMILY_ORTHWORM - -#if P_FAMILY_GLIMMET -static const struct SpriteFrameImage sPicTable_Glimmet[] = { - overworld_ascending_frames(gObjectEventPic_Glimmet, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Glimmora[] = { - overworld_ascending_frames(gObjectEventPic_Glimmora, 4, 4), -}; -#endif //P_FAMILY_GLIMMET - -#if P_FAMILY_GREAVARD -static const struct SpriteFrameImage sPicTable_Greavard[] = { - overworld_ascending_frames(gObjectEventPic_Greavard, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Houndstone[] = { - overworld_ascending_frames(gObjectEventPic_Houndstone, 4, 4), -}; -#endif //P_FAMILY_GREAVARD - -#if P_FAMILY_FLAMIGO -static const struct SpriteFrameImage sPicTable_Flamigo[] = { - overworld_ascending_frames(gObjectEventPic_Flamigo, 4, 4), -}; -#endif //P_FAMILY_FLAMIGO - -#if P_FAMILY_CETODDLE -static const struct SpriteFrameImage sPicTable_Cetoddle[] = { - overworld_ascending_frames(gObjectEventPic_Cetoddle, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Cetitan[] = { - overworld_ascending_frames(gObjectEventPic_Cetitan, 4, 4), -}; -#endif //P_FAMILY_CETODDLE - -#if P_FAMILY_VELUZA -static const struct SpriteFrameImage sPicTable_Veluza[] = { - overworld_ascending_frames(gObjectEventPic_Veluza, 4, 4), -}; -#endif //P_FAMILY_VELUZA - -#if P_FAMILY_DONDOZO -static const struct SpriteFrameImage sPicTable_Dondozo[] = { - overworld_ascending_frames(gObjectEventPic_Dondozo, 8, 8), -}; -#endif //P_FAMILY_DONDOZO - -#if P_FAMILY_TATSUGIRI -static const struct SpriteFrameImage sPicTable_TatsugiriCurly[] = { - overworld_ascending_frames(gObjectEventPic_TatsugiriCurly, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_TatsugiriDroopy[] = { - overworld_ascending_frames(gObjectEventPic_TatsugiriDroopy, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_TatsugiriStretchy[] = { - overworld_ascending_frames(gObjectEventPic_TatsugiriStretchy, 4, 4), -}; -#endif //P_FAMILY_DONDOZO - -#if P_FAMILY_GREAT_TUSK -static const struct SpriteFrameImage sPicTable_GreatTusk[] = { - overworld_ascending_frames(gObjectEventPic_GreatTusk, 4, 4), -}; -#endif //P_FAMILY_GREAT_TUSK - -#if P_FAMILY_SCREAM_TAIL -static const struct SpriteFrameImage sPicTable_ScreamTail[] = { - overworld_ascending_frames(gObjectEventPic_ScreamTail, 4, 4), -}; -#endif //P_FAMILY_SCREAM_TAIL - -#if P_FAMILY_BRUTE_BONNET -static const struct SpriteFrameImage sPicTable_BruteBonnet[] = { - overworld_ascending_frames(gObjectEventPic_BruteBonnet, 4, 4), -}; -#endif //P_FAMILY_BRUTE_BONNET - -#if P_FAMILY_FLUTTER_MANE -static const struct SpriteFrameImage sPicTable_FlutterMane[] = { - overworld_ascending_frames(gObjectEventPic_FlutterMane, 4, 4), -}; -#endif //P_FAMILY_FLUTTER_MANE - -#if P_FAMILY_SLITHER_WING -static const struct SpriteFrameImage sPicTable_SlitherWing[] = { - overworld_ascending_frames(gObjectEventPic_SlitherWing, 4, 4), -}; -#endif //P_FAMILY_SLITHER_WING - -#if P_FAMILY_SANDY_SHOCKS -static const struct SpriteFrameImage sPicTable_SandyShocks[] = { - overworld_ascending_frames(gObjectEventPic_SandyShocks, 4, 4), -}; -#endif //P_FAMILY_SANDY_SHOCKS - -#if P_FAMILY_IRON_TREADS -static const struct SpriteFrameImage sPicTable_IronTreads[] = { - overworld_ascending_frames(gObjectEventPic_IronTreads, 4, 4), -}; -#endif //P_FAMILY_IRON_TREADS - -#if P_FAMILY_IRON_BUNDLE -static const struct SpriteFrameImage sPicTable_IronBundle[] = { - overworld_ascending_frames(gObjectEventPic_IronBundle, 4, 4), -}; -#endif //P_FAMILY_IRON_BUNDLE - -#if P_FAMILY_IRON_HANDS -static const struct SpriteFrameImage sPicTable_IronHands[] = { - overworld_ascending_frames(gObjectEventPic_IronHands, 4, 4), -}; -#endif //P_FAMILY_IRON_HANDS - -#if P_FAMILY_IRON_JUGULIS -static const struct SpriteFrameImage sPicTable_IronJugulis[] = { - overworld_ascending_frames(gObjectEventPic_IronJugulis, 4, 4), -}; -#endif //P_FAMILY_IRON_JUGULIS - -#if P_FAMILY_IRON_MOTH -static const struct SpriteFrameImage sPicTable_IronMoth[] = { - overworld_ascending_frames(gObjectEventPic_IronMoth, 4, 4), -}; -#endif //P_FAMILY_IRON_MOTH - -#if P_FAMILY_IRON_THORNS -static const struct SpriteFrameImage sPicTable_IronThorns[] = { - overworld_ascending_frames(gObjectEventPic_IronThorns, 4, 4), -}; -#endif //P_FAMILY_IRON_THORNS - -#if P_FAMILY_FRIGIBAX -static const struct SpriteFrameImage sPicTable_Frigibax[] = { - overworld_ascending_frames(gObjectEventPic_Frigibax, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Arctibax[] = { - overworld_ascending_frames(gObjectEventPic_Arctibax, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Baxcalibur[] = { - overworld_ascending_frames(gObjectEventPic_Baxcalibur, 4, 4), -}; -#endif //P_FAMILY_FRIGIBAX - -#if P_FAMILY_GIMMIGHOUL -static const struct SpriteFrameImage sPicTable_GimmighoulChest[] = { - overworld_ascending_frames(gObjectEventPic_GimmighoulChest, 4, 4), -}; -//static const struct SpriteFrameImage sPicTable_GimmighoulRoaming[] = { -// overworld_ascending_frames(gObjectEventPic_GimmighoulRoaming, 4, 4), -//}; -static const struct SpriteFrameImage sPicTable_Gholdengo[] = { - overworld_ascending_frames(gObjectEventPic_Gholdengo, 4, 4), -}; -#endif //P_FAMILY_GIMMIGHOUL - -#if P_FAMILY_WO_CHIEN -static const struct SpriteFrameImage sPicTable_WoChien[] = { - overworld_ascending_frames(gObjectEventPic_WoChien, 4, 4), -}; -#endif //P_FAMILY_WO_CHIEN - -#if P_FAMILY_CHIEN_PAO -static const struct SpriteFrameImage sPicTable_ChienPao[] = { - overworld_ascending_frames(gObjectEventPic_ChienPao, 4, 4), -}; -#endif //P_FAMILY_CHIEN_PAO - -#if P_FAMILY_TING_LU -static const struct SpriteFrameImage sPicTable_TingLu[] = { - overworld_ascending_frames(gObjectEventPic_TingLu, 4, 4), -}; -#endif //P_FAMILY_TING_LU - -#if P_FAMILY_CHI_YU -static const struct SpriteFrameImage sPicTable_ChiYu[] = { - overworld_ascending_frames(gObjectEventPic_ChiYu, 4, 4), -}; -#endif //P_FAMILY_CHI_YU - -#if P_FAMILY_ROARING_MOON -static const struct SpriteFrameImage sPicTable_RoaringMoon[] = { - overworld_ascending_frames(gObjectEventPic_RoaringMoon, 4, 4), -}; -#endif //P_FAMILY_ROARING_MOON - -#if P_FAMILY_IRON_VALIANT -static const struct SpriteFrameImage sPicTable_IronValiant[] = { - overworld_ascending_frames(gObjectEventPic_IronValiant, 4, 4), -}; -#endif //P_FAMILY_IRON_VALIANT - -#if P_FAMILY_KORAIDON -static const struct SpriteFrameImage sPicTable_Koraidon[] = { - overworld_ascending_frames(gObjectEventPic_Koraidon, 8, 8), -}; -#endif //P_FAMILY_KORAIDON - -#if P_FAMILY_MIRAIDON -static const struct SpriteFrameImage sPicTable_Miraidon[] = { - overworld_ascending_frames(gObjectEventPic_Miraidon, 8, 8), -}; -#endif //P_FAMILY_MIRAIDON - -#if P_FAMILY_WALKING_WAKE -static const struct SpriteFrameImage sPicTable_WalkingWake[] = { - overworld_ascending_frames(gObjectEventPic_WalkingWake, 4, 4), -}; -#endif //P_FAMILY_WALKING_WAKE - -#if P_FAMILY_IRON_LEAVES -static const struct SpriteFrameImage sPicTable_IronLeaves[] = { - overworld_ascending_frames(gObjectEventPic_IronLeaves, 4, 4), -}; -#endif //P_FAMILY_IRON_LEAVES - -#if P_FAMILY_POLTCHAGEIST -static const struct SpriteFrameImage sPicTable_Poltchageist[] = { - overworld_ascending_frames(gObjectEventPic_Poltchageist, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_Sinistcha[] = { - overworld_ascending_frames(gObjectEventPic_Sinistcha, 4, 4), -}; -#endif //P_FAMILY_POLTCHAGEIST - -#if P_FAMILY_OKIDOGI -static const struct SpriteFrameImage sPicTable_Okidogi[] = { - overworld_ascending_frames(gObjectEventPic_Okidogi, 4, 4), -}; -#endif //P_FAMILY_OKIDOGI - -#if P_FAMILY_MUNKIDORI -static const struct SpriteFrameImage sPicTable_Munkidori[] = { - overworld_ascending_frames(gObjectEventPic_Munkidori, 4, 4), -}; -#endif //P_FAMILY_MUNKIDORI - -#if P_FAMILY_FEZANDIPITI -static const struct SpriteFrameImage sPicTable_Fezandipiti[] = { - overworld_ascending_frames(gObjectEventPic_Fezandipiti, 4, 4), -}; -#endif //P_FAMILY_FEZANDIPITI - -#if P_FAMILY_OGERPON -static const struct SpriteFrameImage sPicTable_OgerponTeal[] = { - overworld_ascending_frames(gObjectEventPic_OgerponTeal, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OgerponWellspring[] = { - overworld_ascending_frames(gObjectEventPic_OgerponWellspring, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OgerponHearthflame[] = { - overworld_ascending_frames(gObjectEventPic_OgerponHearthflame, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OgerponCornerstone[] = { - overworld_ascending_frames(gObjectEventPic_OgerponCornerstone, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OgerponTealTera[] = { - overworld_ascending_frames(gObjectEventPic_OgerponTeal, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OgerponWellspringTera[] = { - overworld_ascending_frames(gObjectEventPic_OgerponWellspring, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OgerponHearthflameTera[] = { - overworld_ascending_frames(gObjectEventPic_OgerponHearthflame, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_OgerponCornerstoneTera[] = { - overworld_ascending_frames(gObjectEventPic_OgerponCornerstone, 4, 4), -}; -#endif //P_FAMILY_OGERPON - -#if P_FAMILY_GOUGING_FIRE -static const struct SpriteFrameImage sPicTable_GougingFire[] = { - overworld_ascending_frames(gObjectEventPic_GougingFire, 4, 4), -}; -#endif //P_FAMILY_GOUGING_FIRE - -#if P_FAMILY_RAGING_BOLT -static const struct SpriteFrameImage sPicTable_RagingBolt[] = { - overworld_ascending_frames(gObjectEventPic_RagingBolt, 8, 8), -}; -#endif //P_FAMILY_RAGING_BOLT - -#if P_FAMILY_IRON_BOULDER -static const struct SpriteFrameImage sPicTable_IronBoulder[] = { - overworld_ascending_frames(gObjectEventPic_IronBoulder, 4, 4), -}; -#endif //P_FAMILY_IRON_BOULDER - -#if P_FAMILY_IRON_CROWN -static const struct SpriteFrameImage sPicTable_IronCrown[] = { - overworld_ascending_frames(gObjectEventPic_IronCrown, 4, 4), -}; -#endif //P_FAMILY_IRON_CROWN - -#if P_FAMILY_TERAPAGOS -static const struct SpriteFrameImage sPicTable_TerapagosNormal[] = { - overworld_ascending_frames(gObjectEventPic_TerapagosNormal, 4, 4), -}; -static const struct SpriteFrameImage sPicTable_TerapagosTerastal[] = { - overworld_ascending_frames(gObjectEventPic_TerapagosTerastal, 4, 4), -}; -//static const struct SpriteFrameImage sPicTable_TerapagosStellar[] = { -// overworld_ascending_frames(gObjectEventPic_TerapagosStellar, 4, 4), -//}; -#endif //P_FAMILY_TERAPAGOS - -#if P_FAMILY_PECHARUNT -static const struct SpriteFrameImage sPicTable_Pecharunt[] = { - overworld_ascending_frames(gObjectEventPic_Pecharunt, 4, 4), -}; -#endif //P_FAMILY_PECHARUNT - -#endif //OW_POKEMON_OBJECT_EVENTS diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index 226689701d..9c2fc2450a 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -45,77 +45,41 @@ #define OVERWORLD_PAL_FEMALE(...) #endif //OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE -#define OVERWORLD(picTable, _size, shadow, _tracks, ...) \ -.overworldData = { \ - .tileTag = TAG_NONE, \ - .paletteTag = OBJ_EVENT_PAL_TAG_DYNAMIC, \ - .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, \ - .size = (_size == SIZE_32x32 ? 512 : 2048), \ - .width = (_size == SIZE_32x32 ? 32 : 64), \ - .height = (_size == SIZE_32x32 ? 32 : 64), \ - .paletteSlot = PALSLOT_NPC_1, \ - .shadowSize = shadow, \ - .inanimate = FALSE, \ - .compressed = COMP, \ - .tracks = _tracks, \ - .oam = (_size == SIZE_32x32 ? &gObjectEventBaseOam_32x32 : &gObjectEventBaseOam_64x64), \ - .subspriteTables = (_size == SIZE_32x32 ? sOamTables_32x32 : sOamTables_64x64), \ - .anims = sAnimTable_Following, \ - .images = picTable, \ - .affineAnims = gDummySpriteAffineAnimTable, \ -}, \ - OVERWORLD_PAL(__VA_ARGS__) +#define OVERWORLD_DATA(objEventPic, _size, shadow, _tracks, _anims) \ +{ \ + .tileTag = TAG_NONE, \ + .paletteTag = OBJ_EVENT_PAL_TAG_DYNAMIC, \ + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, \ + .size = (_size == SIZE_32x32 ? 512 : 2048), \ + .width = (_size == SIZE_32x32 ? 32 : 64), \ + .height = (_size == SIZE_32x32 ? 32 : 64), \ + .paletteSlot = PALSLOT_NPC_1, \ + .shadowSize = shadow, \ + .inanimate = FALSE, \ + .compressed = COMP, \ + .tracks = _tracks, \ + .oam = (_size == SIZE_32x32 ? &gObjectEventBaseOam_32x32 : &gObjectEventBaseOam_64x64), \ + .subspriteTables = (_size == SIZE_32x32 ? sOamTables_32x32 : sOamTables_64x64), \ + .anims = _anims, \ + .images = (const struct SpriteFrameImage[]) { overworld_ascending_frames(objEventPic, SIZE_32x32 ? 4 : 8, SIZE_32x32 ? 4 : 8), }, \ + .affineAnims = gDummySpriteAffineAnimTable, \ +} -#define OVERWORLD_SET_ANIM(picTable, _size, shadow, _tracks, _anims, ...) \ -.overworldData = { \ - .tileTag = TAG_NONE, \ - .paletteTag = OBJ_EVENT_PAL_TAG_DYNAMIC, \ - .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, \ - .size = (_size == SIZE_32x32 ? 512 : 2048), \ - .width = (_size == SIZE_32x32 ? 32 : 64), \ - .height = (_size == SIZE_32x32 ? 32 : 64), \ - .paletteSlot = PALSLOT_NPC_1, \ - .shadowSize = shadow, \ - .inanimate = FALSE, \ - .compressed = COMP, \ - .tracks = _tracks, \ - .oam = (_size == SIZE_32x32 ? &gObjectEventBaseOam_32x32 : &gObjectEventBaseOam_64x64), \ - .subspriteTables = (_size == SIZE_32x32 ? sOamTables_32x32 : sOamTables_64x64), \ - .anims = _anims, \ - .images = picTable, \ - .affineAnims = gDummySpriteAffineAnimTable, \ -}, \ +#define OVERWORLD(objEventPic, _size, shadow, _tracks, _anims, ...) \ + .overworldData = OVERWORLD_DATA(objEventPic, _size, shadow, _tracks, _anims), \ OVERWORLD_PAL(__VA_ARGS__) #if P_GENDER_DIFFERENCES -#define OVERWORLD_FEMALE(picTable, _size, shadow, _tracks, ...) \ -.overworldDataFemale = { \ - .tileTag = TAG_NONE, \ - .paletteTag = OBJ_EVENT_PAL_TAG_DYNAMIC, \ - .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, \ - .size = (_size == SIZE_32x32 ? 512 : 2048), \ - .width = (_size == SIZE_32x32 ? 32 : 64), \ - .height = (_size == SIZE_32x32 ? 32 : 64), \ - .paletteSlot = PALSLOT_NPC_1, \ - .shadowSize = shadow, \ - .inanimate = FALSE, \ - .compressed = COMP, \ - .tracks = _tracks, \ - .oam = (_size == SIZE_32x32 ? &gObjectEventBaseOam_32x32 : &gObjectEventBaseOam_64x64), \ - .subspriteTables = (_size == SIZE_32x32 ? sOamTables_32x32 : sOamTables_64x64), \ - .anims = sAnimTable_Following, \ - .images = picTable, \ - .affineAnims = gDummySpriteAffineAnimTable, \ -}, \ +#define OVERWORLD_FEMALE(objEventPic, _size, shadow, _tracks, _anims, ...) \ + .overworldDataFemale = OVERWORLD_DATA(objEventPic, _size, shadow, _tracks, _anims), \ OVERWORLD_PAL_FEMALE(__VA_ARGS__) #else -#define OVERWORLD_FEMALE(picTable, _size, shadow, _tracks, ...) +#define OVERWORLD_FEMALE(...) #endif //P_GENDER_DIFFERENCES #else -#define OVERWORLD(picTable, _size, shadow, _tracks, ...) -#define OVERWORLD_SET_ANIM(picTable, _size, shadow, _tracks, _anims, ...) -#define OVERWORLD_FEMALE(picTable, _size, shadow, _tracks, ...) +#define OVERWORLD(...) +#define OVERWORLD_FEMALE(...) #define OVERWORLD_PAL(...) #define OVERWORLD_PAL_FEMALE(...) #endif //OW_POKEMON_OBJECT_EVENTS @@ -175,7 +139,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, .anims = sAnimTable_Following, - .images = sPicTable_Substitute, + .images = (const struct SpriteFrameImage[]) { overworld_ascending_frames(gObjectEventPic_Substitute, 4, 4), }, .affineAnims = gDummySpriteAffineAnimTable, }, #endif diff --git a/src/data/pokemon/species_info/gen_1_families.h b/src/data/pokemon/species_info/gen_1_families.h index 221b37a655..f419eaff6c 100644 --- a/src/data/pokemon/species_info/gen_1_families.h +++ b/src/data/pokemon/species_info/gen_1_families.h @@ -58,10 +58,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Bulbasaur) OVERWORLD( - sPicTable_Bulbasaur, + gObjectEventPic_Bulbasaur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bulbasaur, gShinyOverworldPalette_Bulbasaur ) @@ -126,10 +127,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 3, SHADOW_SIZE_L) FOOTPRINT(Ivysaur) OVERWORLD( - sPicTable_Ivysaur, + gObjectEventPic_Ivysaur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ivysaur, gShinyOverworldPalette_Ivysaur ) @@ -205,18 +207,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Venusaur) OVERWORLD( - sPicTable_Venusaur, + gObjectEventPic_Venusaur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Venusaur, gShinyOverworldPalette_Venusaur ) OVERWORLD_FEMALE( - sPicTable_VenusaurF, + gObjectEventPic_VenusaurF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sVenusaurLevelUpLearnset, .teachableLearnset = sVenusaurTeachableLearnset, @@ -397,10 +401,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Charmander) OVERWORLD( - sPicTable_Charmander, + gObjectEventPic_Charmander, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Charmander, gShinyOverworldPalette_Charmander ) @@ -465,10 +470,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Charmeleon) OVERWORLD( - sPicTable_Charmeleon, + gObjectEventPic_Charmeleon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Charmeleon, gShinyOverworldPalette_Charmeleon ) @@ -536,10 +542,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Charizard) OVERWORLD( - sPicTable_Charizard, + gObjectEventPic_Charizard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Charizard, gShinyOverworldPalette_Charizard ) @@ -777,10 +784,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Squirtle) OVERWORLD( - sPicTable_Squirtle, + gObjectEventPic_Squirtle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Squirtle, gShinyOverworldPalette_Squirtle ) @@ -845,10 +853,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Wartortle) OVERWORLD( - sPicTable_Wartortle, + gObjectEventPic_Wartortle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Wartortle, gShinyOverworldPalette_Wartortle ) @@ -919,10 +928,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Blastoise) OVERWORLD( - sPicTable_Blastoise, + gObjectEventPic_Blastoise, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Blastoise, gShinyOverworldPalette_Blastoise ) @@ -1109,10 +1119,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 1, SHADOW_SIZE_S) FOOTPRINT(Caterpie) OVERWORLD( - sPicTable_Caterpie, + gObjectEventPic_Caterpie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Caterpie, gShinyOverworldPalette_Caterpie ) @@ -1175,10 +1186,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 0, SHADOW_SIZE_S) FOOTPRINT(Metapod) OVERWORLD( - sPicTable_Metapod, + gObjectEventPic_Metapod, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Metapod, gShinyOverworldPalette_Metapod ) @@ -1271,18 +1283,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Butterfree) OVERWORLD( - sPicTable_Butterfree, + gObjectEventPic_Butterfree, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Butterfree, gShinyOverworldPalette_Butterfree ) OVERWORLD_FEMALE( - sPicTable_ButterfreeF, + gObjectEventPic_ButterfreeF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sButterfreeLevelUpLearnset, .teachableLearnset = sButterfreeTeachableLearnset, @@ -1412,10 +1426,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Weedle) OVERWORLD( - sPicTable_Weedle, + gObjectEventPic_Weedle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Weedle, gShinyOverworldPalette_Weedle ) @@ -1488,10 +1503,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Kakuna) OVERWORLD( - sPicTable_Kakuna, + gObjectEventPic_Kakuna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Kakuna, gShinyOverworldPalette_Kakuna ) @@ -1572,10 +1588,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 15, SHADOW_SIZE_M) FOOTPRINT(Beedrill) OVERWORLD( - sPicTable_Beedrill, + gObjectEventPic_Beedrill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Beedrill, gShinyOverworldPalette_Beedrill ) @@ -1707,10 +1724,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Pidgey) OVERWORLD( - sPicTable_Pidgey, + gObjectEventPic_Pidgey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pidgey, gShinyOverworldPalette_Pidgey ) @@ -1781,10 +1799,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 6, SHADOW_SIZE_M) FOOTPRINT(Pidgeotto) OVERWORLD( - sPicTable_Pidgeotto, + gObjectEventPic_Pidgeotto, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pidgeotto, gShinyOverworldPalette_Pidgeotto ) @@ -1861,10 +1880,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-7, 14, SHADOW_SIZE_M) FOOTPRINT(Pidgeot) OVERWORLD( - sPicTable_Pidgeot, + gObjectEventPic_Pidgeot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pidgeot, gShinyOverworldPalette_Pidgeot ) @@ -1995,18 +2015,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, -3, SHADOW_SIZE_S) FOOTPRINT(Rattata) OVERWORLD( - sPicTable_Rattata, + gObjectEventPic_Rattata, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rattata, gShinyOverworldPalette_Rattata ) OVERWORLD_FEMALE( - sPicTable_RattataF, + gObjectEventPic_RattataF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sRattataLevelUpLearnset, .teachableLearnset = sRattataTeachableLearnset, @@ -2084,18 +2106,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Raticate) OVERWORLD( - sPicTable_Raticate, + gObjectEventPic_Raticate, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Raticate, gShinyOverworldPalette_Raticate ) OVERWORLD_FEMALE( - sPicTable_RaticateF, + gObjectEventPic_RaticateF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sRaticateLevelUpLearnset, .teachableLearnset = sRaticateTeachableLearnset, @@ -2154,10 +2178,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Rattata) OVERWORLD( - sPicTable_RattataAlola, + gObjectEventPic_RattataAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RattataAlola, gShinyOverworldPalette_RattataAlola ) @@ -2217,10 +2242,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 3, SHADOW_SIZE_L) FOOTPRINT(Raticate) OVERWORLD( - sPicTable_RaticateAlola, + gObjectEventPic_RaticateAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RaticateAlola, gShinyOverworldPalette_RaticateAlola ) @@ -2277,10 +2303,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 3, SHADOW_SIZE_L) FOOTPRINT(Raticate) OVERWORLD( - sPicTable_RaticateAlola, + gObjectEventPic_RaticateAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RaticateAlola, gShinyOverworldPalette_RaticateAlola ) @@ -2351,10 +2378,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Spearow) OVERWORLD( - sPicTable_Spearow, + gObjectEventPic_Spearow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Spearow, gShinyOverworldPalette_Spearow ) @@ -2426,10 +2454,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 17, SHADOW_SIZE_M) FOOTPRINT(Fearow) OVERWORLD( - sPicTable_Fearow, + gObjectEventPic_Fearow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Fearow, gShinyOverworldPalette_Fearow ) @@ -2497,10 +2526,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Ekans) OVERWORLD( - sPicTable_Ekans, + gObjectEventPic_Ekans, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Ekans, gShinyOverworldPalette_Ekans ) @@ -2570,10 +2600,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Arbok) OVERWORLD( - sPicTable_Arbok, + gObjectEventPic_Arbok, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Arbok, gShinyOverworldPalette_Arbok ) @@ -2637,10 +2668,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Pichu) OVERWORLD( - sPicTable_Pichu, + gObjectEventPic_Pichu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pichu, gShinyOverworldPalette_Pichu ) @@ -2705,8 +2737,8 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .iconPalIndex = 1, SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Pichu) - OVERWORLD_SET_ANIM( - sPicTable_PichuSpikyEared, + OVERWORLD( + gObjectEventPic_PichuSpikyEared, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2791,18 +2823,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_GENDER_DIFFERENCES SHADOW(-3, 5, SHADOW_SIZE_M) OVERWORLD( - sPicTable_Pikachu, + gObjectEventPic_Pikachu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pikachu, gShinyOverworldPalette_Pikachu ) OVERWORLD_FEMALE( - sPicTable_PikachuF, + gObjectEventPic_PikachuF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, @@ -3691,10 +3725,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) OVERWORLD( - sPicTable_Pikachu, + gObjectEventPic_Pikachu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pikachu, gShinyOverworldPalette_Pikachu ) @@ -3777,18 +3812,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 10, SHADOW_SIZE_M) FOOTPRINT(Raichu) OVERWORLD( - sPicTable_Raichu, + gObjectEventPic_Raichu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Raichu, gShinyOverworldPalette_Raichu ) OVERWORLD_FEMALE( - sPicTable_RaichuF, + gObjectEventPic_RaichuF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sRaichuLevelUpLearnset, .teachableLearnset = sRaichuTeachableLearnset, @@ -3847,10 +3884,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 15, SHADOW_SIZE_M) FOOTPRINT(Raichu) OVERWORLD( - sPicTable_RaichuAlola, + gObjectEventPic_RaichuAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RaichuAlola, gShinyOverworldPalette_RaichuAlola ) @@ -3920,10 +3958,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Sandshrew) OVERWORLD( - sPicTable_Sandshrew, + gObjectEventPic_Sandshrew, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sandshrew, gShinyOverworldPalette_Sandshrew ) @@ -3991,10 +4030,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 4, SHADOW_SIZE_L) FOOTPRINT(Sandslash) OVERWORLD( - sPicTable_Sandslash, + gObjectEventPic_Sandslash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sandslash, gShinyOverworldPalette_Sandslash ) @@ -4055,10 +4095,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, -1, SHADOW_SIZE_M) FOOTPRINT(Sandshrew) OVERWORLD( - sPicTable_SandshrewAlola, + gObjectEventPic_SandshrewAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SandshrewAlola, gShinyOverworldPalette_SandshrewAlola ) @@ -4121,10 +4162,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 9, SHADOW_SIZE_L) FOOTPRINT(Sandslash) OVERWORLD( - sPicTable_SandslashAlola, + gObjectEventPic_SandslashAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SandslashAlola, gShinyOverworldPalette_SandslashAlola ) @@ -4202,10 +4244,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(NidoranF) OVERWORLD( - sPicTable_NidoranF, + gObjectEventPic_NidoranF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_NidoranF, gShinyOverworldPalette_NidoranF ) @@ -4272,10 +4315,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 5, SHADOW_SIZE_M) FOOTPRINT(Nidorina) OVERWORLD( - sPicTable_Nidorina, + gObjectEventPic_Nidorina, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Nidorina, gShinyOverworldPalette_Nidorina ) @@ -4349,10 +4393,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Nidoqueen) OVERWORLD( - sPicTable_Nidoqueen, + gObjectEventPic_Nidoqueen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Nidoqueen, gShinyOverworldPalette_Nidoqueen ) @@ -4418,10 +4463,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(NidoranM) OVERWORLD( - sPicTable_NidoranM, + gObjectEventPic_NidoranM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_NidoranM, gShinyOverworldPalette_NidoranM ) @@ -4489,10 +4535,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 1, SHADOW_SIZE_L) FOOTPRINT(Nidorino) OVERWORLD( - sPicTable_Nidorino, + gObjectEventPic_Nidorino, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Nidorino, gShinyOverworldPalette_Nidorino ) @@ -4569,10 +4616,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Nidoking) OVERWORLD( - sPicTable_Nidoking, + gObjectEventPic_Nidoking, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Nidoking, gShinyOverworldPalette_Nidoking ) @@ -4650,10 +4698,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -4, SHADOW_SIZE_S) FOOTPRINT(Cleffa) OVERWORLD( - sPicTable_Cleffa, + gObjectEventPic_Cleffa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cleffa, gShinyOverworldPalette_Cleffa ) @@ -4724,10 +4773,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Clefairy) OVERWORLD( - sPicTable_Clefairy, + gObjectEventPic_Clefairy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Clefairy, gShinyOverworldPalette_Clefairy ) @@ -4804,10 +4854,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Clefable) OVERWORLD( - sPicTable_Clefable, + gObjectEventPic_Clefable, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Clefable, gShinyOverworldPalette_Clefable ) @@ -4874,10 +4925,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Vulpix) OVERWORLD( - sPicTable_Vulpix, + gObjectEventPic_Vulpix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vulpix, gShinyOverworldPalette_Vulpix ) @@ -4946,10 +4998,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ninetales) OVERWORLD( - sPicTable_Ninetales, + gObjectEventPic_Ninetales, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ninetales, gShinyOverworldPalette_Ninetales ) @@ -5010,10 +5063,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 3, SHADOW_SIZE_M) FOOTPRINT(Vulpix) OVERWORLD( - sPicTable_VulpixAlola, + gObjectEventPic_VulpixAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_VulpixAlola, gShinyOverworldPalette_VulpixAlola ) @@ -5077,10 +5131,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ninetales) OVERWORLD( - sPicTable_NinetalesAlola, + gObjectEventPic_NinetalesAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_NinetalesAlola, gShinyOverworldPalette_NinetalesAlola ) @@ -5161,10 +5216,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -3, SHADOW_SIZE_S) FOOTPRINT(Igglybuff) OVERWORLD( - sPicTable_Igglybuff, + gObjectEventPic_Igglybuff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Igglybuff, gShinyOverworldPalette_Igglybuff ) @@ -5237,10 +5293,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Jigglypuff) OVERWORLD( - sPicTable_Jigglypuff, + gObjectEventPic_Jigglypuff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Jigglypuff, gShinyOverworldPalette_Jigglypuff ) @@ -5319,10 +5376,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Wigglytuff) OVERWORLD( - sPicTable_Wigglytuff, + gObjectEventPic_Wigglytuff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Wigglytuff, gShinyOverworldPalette_Wigglytuff ) @@ -5403,18 +5461,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 11, SHADOW_SIZE_S) FOOTPRINT(Zubat) OVERWORLD( - sPicTable_Zubat, + gObjectEventPic_Zubat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zubat, gShinyOverworldPalette_Zubat ) OVERWORLD_FEMALE( - sPicTable_ZubatF, + gObjectEventPic_ZubatF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sZubatLevelUpLearnset, .teachableLearnset = sZubatTeachableLearnset, @@ -5499,18 +5559,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Golbat) OVERWORLD( - sPicTable_Golbat, + gObjectEventPic_Golbat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Golbat, gShinyOverworldPalette_Golbat ) OVERWORLD_FEMALE( - sPicTable_GolbatF, + gObjectEventPic_GolbatF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sGolbatLevelUpLearnset, .teachableLearnset = sGolbatTeachableLearnset, @@ -5593,10 +5655,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Crobat) OVERWORLD( - sPicTable_Crobat, + gObjectEventPic_Crobat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Crobat, gShinyOverworldPalette_Crobat ) @@ -5666,10 +5729,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Oddish) OVERWORLD( - sPicTable_Oddish, + gObjectEventPic_Oddish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Oddish, gShinyOverworldPalette_Oddish ) @@ -5741,18 +5805,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Gloom) OVERWORLD( - sPicTable_Gloom, + gObjectEventPic_Gloom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gloom, gShinyOverworldPalette_Gloom ) OVERWORLD_FEMALE( - sPicTable_GloomF, + gObjectEventPic_GloomF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sGloomLevelUpLearnset, .teachableLearnset = sGloomTeachableLearnset, @@ -5828,18 +5894,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Vileplume) OVERWORLD( - sPicTable_Vileplume, + gObjectEventPic_Vileplume, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vileplume, gShinyOverworldPalette_Vileplume ) OVERWORLD_FEMALE( - sPicTable_VileplumeF, + gObjectEventPic_VileplumeF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sVileplumeLevelUpLearnset, .teachableLearnset = sVileplumeTeachableLearnset, @@ -5922,10 +5990,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Bellossom) OVERWORLD( - sPicTable_Bellossom, + gObjectEventPic_Bellossom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bellossom, gShinyOverworldPalette_Bellossom ) @@ -6010,10 +6079,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(7, -11, SHADOW_SIZE_M) FOOTPRINT(Paras) OVERWORLD( - sPicTable_Paras, + gObjectEventPic_Paras, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Paras, gShinyOverworldPalette_Paras ) @@ -6088,10 +6158,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(5, 2, SHADOW_SIZE_L) FOOTPRINT(Parasect) OVERWORLD( - sPicTable_Parasect, + gObjectEventPic_Parasect, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Parasect, gShinyOverworldPalette_Parasect ) @@ -6163,10 +6234,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 5, SHADOW_SIZE_M) FOOTPRINT(Venonat) OVERWORLD( - sPicTable_Venonat, + gObjectEventPic_Venonat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Venonat, gShinyOverworldPalette_Venonat ) @@ -6256,10 +6328,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-5, 18, SHADOW_SIZE_M) FOOTPRINT(Venomoth) OVERWORLD( - sPicTable_Venomoth, + gObjectEventPic_Venomoth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Venomoth, gShinyOverworldPalette_Venomoth ) @@ -6336,10 +6409,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = NO_SHADOW FOOTPRINT(Diglett) OVERWORLD( - sPicTable_Diglett, + gObjectEventPic_Diglett, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Diglett, gShinyOverworldPalette_Diglett ) @@ -6413,10 +6487,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = NO_SHADOW FOOTPRINT(Dugtrio) OVERWORLD( - sPicTable_Dugtrio, + gObjectEventPic_Dugtrio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Dugtrio, gShinyOverworldPalette_Dugtrio ) @@ -6477,10 +6552,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = NO_SHADOW FOOTPRINT(Diglett) OVERWORLD( - sPicTable_DiglettAlola, + gObjectEventPic_DiglettAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DiglettAlola, gShinyOverworldPalette_DiglettAlola ) @@ -6544,10 +6620,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = NO_SHADOW FOOTPRINT(Dugtrio) OVERWORLD( - sPicTable_DugtrioAlola, + gObjectEventPic_DugtrioAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DugtrioAlola, gShinyOverworldPalette_DugtrioAlola ) @@ -6623,10 +6700,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Meowth) OVERWORLD( - sPicTable_Meowth, + gObjectEventPic_Meowth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Meowth, gShinyOverworldPalette_Meowth ) @@ -6697,10 +6775,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Persian) OVERWORLD( - sPicTable_Persian, + gObjectEventPic_Persian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Persian, gShinyOverworldPalette_Persian ) @@ -6761,10 +6840,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 5, SHADOW_SIZE_M) FOOTPRINT(Meowth) OVERWORLD( - sPicTable_MeowthAlola, + gObjectEventPic_MeowthAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MeowthAlola, gShinyOverworldPalette_MeowthAlola ) @@ -6827,10 +6907,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Persian) OVERWORLD( - sPicTable_PersianAlola, + gObjectEventPic_PersianAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_PersianAlola, gShinyOverworldPalette_PersianAlola ) @@ -6892,10 +6973,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Meowth) OVERWORLD( - sPicTable_MeowthGalar, + gObjectEventPic_MeowthGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MeowthGalar, gShinyOverworldPalette_MeowthGalar ) @@ -6956,10 +7038,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Perrserker) OVERWORLD( - sPicTable_Perrserker, + gObjectEventPic_Perrserker, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Perrserker, gShinyOverworldPalette_Perrserker ) @@ -7086,10 +7169,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Psyduck) OVERWORLD( - sPicTable_Psyduck, + gObjectEventPic_Psyduck, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Psyduck, gShinyOverworldPalette_Psyduck ) @@ -7155,10 +7239,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Golduck) OVERWORLD( - sPicTable_Golduck, + gObjectEventPic_Golduck, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Golduck, gShinyOverworldPalette_Golduck ) @@ -7230,10 +7315,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Mankey) OVERWORLD( - sPicTable_Mankey, + gObjectEventPic_Mankey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mankey, gShinyOverworldPalette_Mankey ) @@ -7305,10 +7391,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Primeape) OVERWORLD( - sPicTable_Primeape, + gObjectEventPic_Primeape, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Primeape, gShinyOverworldPalette_Primeape ) @@ -7368,10 +7455,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Annihilape) OVERWORLD( - sPicTable_Annihilape, + gObjectEventPic_Annihilape, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Annihilape, gShinyOverworldPalette_Annihilape ) @@ -7440,10 +7528,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Growlithe) OVERWORLD( - sPicTable_Growlithe, + gObjectEventPic_Growlithe, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Growlithe, gShinyOverworldPalette_Growlithe ) @@ -7508,10 +7597,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Arcanine) OVERWORLD( - sPicTable_Arcanine, + gObjectEventPic_Arcanine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Arcanine, gShinyOverworldPalette_Arcanine ) @@ -7571,10 +7661,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, -2, SHADOW_SIZE_M) FOOTPRINT(Growlithe) OVERWORLD( - sPicTable_GrowlitheHisui, + gObjectEventPic_GrowlitheHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GrowlitheHisui, gShinyOverworldPalette_GrowlitheHisui ) @@ -7635,10 +7726,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Arcanine) OVERWORLD( - sPicTable_ArcanineHisui, + gObjectEventPic_ArcanineHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ArcanineHisui, gShinyOverworldPalette_ArcanineHisui ) @@ -7706,10 +7798,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Poliwag) OVERWORLD( - sPicTable_Poliwag, + gObjectEventPic_Poliwag, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Poliwag, gShinyOverworldPalette_Poliwag ) @@ -7778,10 +7871,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 4, SHADOW_SIZE_M) FOOTPRINT(Poliwhirl) OVERWORLD( - sPicTable_Poliwhirl, + gObjectEventPic_Poliwhirl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Poliwhirl, gShinyOverworldPalette_Poliwhirl ) @@ -7855,10 +7949,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Poliwrath) OVERWORLD( - sPicTable_Poliwrath, + gObjectEventPic_Poliwrath, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Poliwrath, gShinyOverworldPalette_Poliwrath ) @@ -7939,18 +8034,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Politoed) OVERWORLD( - sPicTable_Politoed, + gObjectEventPic_Politoed, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Politoed, gShinyOverworldPalette_Politoed ) OVERWORLD_FEMALE( - sPicTable_PolitoedF, + gObjectEventPic_PolitoedF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sPolitoedLevelUpLearnset, .teachableLearnset = sPolitoedTeachableLearnset, @@ -8022,10 +8119,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_L) FOOTPRINT(Abra) OVERWORLD( - sPicTable_Abra, + gObjectEventPic_Abra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Abra, gShinyOverworldPalette_Abra ) @@ -8097,18 +8195,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Kadabra) OVERWORLD( - sPicTable_Kadabra, + gObjectEventPic_Kadabra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Kadabra, gShinyOverworldPalette_Kadabra ) OVERWORLD_FEMALE( - sPicTable_KadabraF, + gObjectEventPic_KadabraF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_NONE + TRACKS_NONE, + sAnimTable_Following ) .levelUpLearnset = sKadabraLevelUpLearnset, .teachableLearnset = sKadabraTeachableLearnset, @@ -8187,18 +8287,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Alakazam) OVERWORLD( - sPicTable_Alakazam, + gObjectEventPic_Alakazam, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Alakazam, gShinyOverworldPalette_Alakazam ) OVERWORLD_FEMALE( - sPicTable_AlakazamF, + gObjectEventPic_AlakazamF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_NONE + TRACKS_NONE, + sAnimTable_Following ) .levelUpLearnset = sAlakazamLevelUpLearnset, .teachableLearnset = sAlakazamTeachableLearnset, @@ -8334,10 +8436,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Machop) OVERWORLD( - sPicTable_Machop, + gObjectEventPic_Machop, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Machop, gShinyOverworldPalette_Machop ) @@ -8407,10 +8510,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Machoke) OVERWORLD( - sPicTable_Machoke, + gObjectEventPic_Machoke, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Machoke, gShinyOverworldPalette_Machoke ) @@ -8491,10 +8595,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(7, 13, SHADOW_SIZE_L) FOOTPRINT(Machamp) OVERWORLD( - sPicTable_Machamp, + gObjectEventPic_Machamp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Machamp, gShinyOverworldPalette_Machamp ) @@ -8623,10 +8728,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Bellsprout) OVERWORLD( - sPicTable_Bellsprout, + gObjectEventPic_Bellsprout, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bellsprout, gShinyOverworldPalette_Bellsprout ) @@ -8695,10 +8801,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 3, SHADOW_SIZE_M) FOOTPRINT(Weepinbell) OVERWORLD( - sPicTable_Weepinbell, + gObjectEventPic_Weepinbell, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Weepinbell, gShinyOverworldPalette_Weepinbell ) @@ -8773,10 +8880,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 8, SHADOW_SIZE_M) FOOTPRINT(Victreebel) OVERWORLD( - sPicTable_Victreebel, + gObjectEventPic_Victreebel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Victreebel, gShinyOverworldPalette_Victreebel ) @@ -8843,10 +8951,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Tentacool) OVERWORLD( - sPicTable_Tentacool, + gObjectEventPic_Tentacool, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Tentacool, gShinyOverworldPalette_Tentacool ) @@ -8913,10 +9022,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tentacruel) OVERWORLD( - sPicTable_Tentacruel, + gObjectEventPic_Tentacruel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Tentacruel, gShinyOverworldPalette_Tentacruel ) @@ -9003,10 +9113,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Geodude) OVERWORLD( - sPicTable_Geodude, + gObjectEventPic_Geodude, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Geodude, gShinyOverworldPalette_Geodude ) @@ -9074,10 +9185,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Graveler) OVERWORLD( - sPicTable_Graveler, + gObjectEventPic_Graveler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Graveler, gShinyOverworldPalette_Graveler ) @@ -9145,10 +9257,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Golem) OVERWORLD( - sPicTable_Golem, + gObjectEventPic_Golem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Golem, gShinyOverworldPalette_Golem ) @@ -9210,10 +9323,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Geodude) OVERWORLD( - sPicTable_GeodudeAlola, + gObjectEventPic_GeodudeAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GeodudeAlola, gShinyOverworldPalette_GeodudeAlola ) @@ -9276,10 +9390,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Graveler) OVERWORLD( - sPicTable_GravelerAlola, + gObjectEventPic_GravelerAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GravelerAlola, gShinyOverworldPalette_GravelerAlola ) @@ -9342,10 +9457,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Golem) OVERWORLD( - sPicTable_GolemAlola, + gObjectEventPic_GolemAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GolemAlola, gShinyOverworldPalette_GolemAlola ) @@ -9412,10 +9528,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Ponyta) OVERWORLD( - sPicTable_Ponyta, + gObjectEventPic_Ponyta, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ponyta, gShinyOverworldPalette_Ponyta ) @@ -9480,10 +9597,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rapidash) OVERWORLD( - sPicTable_Rapidash, + gObjectEventPic_Rapidash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rapidash, gShinyOverworldPalette_Rapidash ) @@ -9543,10 +9661,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Ponyta) OVERWORLD( - sPicTable_PonytaGalar, + gObjectEventPic_PonytaGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_PonytaGalar, gShinyOverworldPalette_PonytaGalar ) @@ -9608,10 +9727,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rapidash) OVERWORLD( - sPicTable_RapidashGalar, + gObjectEventPic_RapidashGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RapidashGalar, gShinyOverworldPalette_RapidashGalar ) @@ -9679,10 +9799,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, -5, SHADOW_SIZE_L) FOOTPRINT(Slowpoke) OVERWORLD( - sPicTable_Slowpoke, + gObjectEventPic_Slowpoke, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Slowpoke, gShinyOverworldPalette_Slowpoke ) @@ -9749,10 +9870,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 8, SHADOW_SIZE_L) FOOTPRINT(Slowbro) OVERWORLD( - sPicTable_Slowbro, + gObjectEventPic_Slowbro, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Slowbro, gShinyOverworldPalette_Slowbro ) @@ -9818,10 +9940,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Slowking) OVERWORLD( - sPicTable_Slowking, + gObjectEventPic_Slowking, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Slowking, gShinyOverworldPalette_Slowking ) @@ -9941,10 +10064,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, -8, SHADOW_SIZE_L) FOOTPRINT(Slowpoke) OVERWORLD( - sPicTable_SlowpokeGalar, + gObjectEventPic_SlowpokeGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SlowpokeGalar, gShinyOverworldPalette_SlowpokeGalar ) @@ -10007,8 +10131,8 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .iconPalIndex = 0, SHADOW(-5, 9, SHADOW_SIZE_L) FOOTPRINT(Slowbro) - OVERWORLD_SET_ANIM( - sPicTable_SlowbroGalar, + OVERWORLD( + gObjectEventPic_SlowbroGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10073,10 +10197,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Slowking) OVERWORLD( - sPicTable_SlowkingGalar, + gObjectEventPic_SlowkingGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SlowkingGalar, gShinyOverworldPalette_SlowkingGalar ) @@ -10148,10 +10273,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Magnemite) OVERWORLD( - sPicTable_Magnemite, + gObjectEventPic_Magnemite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Magnemite, gShinyOverworldPalette_Magnemite ) @@ -10220,10 +10346,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Magneton) OVERWORLD( - sPicTable_Magneton, + gObjectEventPic_Magneton, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Magneton, gShinyOverworldPalette_Magneton ) @@ -10298,10 +10425,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Magnezone) OVERWORLD( - sPicTable_Magnezone, + gObjectEventPic_Magnezone, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Magnezone, gShinyOverworldPalette_Magnezone ) @@ -10385,8 +10513,8 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .iconPalIndex = 1, SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Farfetchd) - OVERWORLD_SET_ANIM( - sPicTable_Farfetchd, + OVERWORLD( + gObjectEventPic_Farfetchd, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -10452,10 +10580,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-7, 2, SHADOW_SIZE_L) FOOTPRINT(Farfetchd) OVERWORLD( - sPicTable_FarfetchdGalar, + gObjectEventPic_FarfetchdGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_FarfetchdGalar, gShinyOverworldPalette_FarfetchdGalar ) @@ -10518,10 +10647,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Sirfetchd) OVERWORLD( - sPicTable_Sirfetchd, + gObjectEventPic_Sirfetchd, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sirfetchd, gShinyOverworldPalette_Sirfetchd ) @@ -10595,18 +10725,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(6, 5, SHADOW_SIZE_M) FOOTPRINT(Doduo) OVERWORLD( - sPicTable_Doduo, + gObjectEventPic_Doduo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Doduo, gShinyOverworldPalette_Doduo ) OVERWORLD_FEMALE( - sPicTable_DoduoF, + gObjectEventPic_DoduoF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sDoduoLevelUpLearnset, .teachableLearnset = sDoduoTeachableLearnset, @@ -10685,18 +10817,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Dodrio) OVERWORLD( - sPicTable_Dodrio, + gObjectEventPic_Dodrio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dodrio, gShinyOverworldPalette_Dodrio ) OVERWORLD_FEMALE( - sPicTable_DodrioF, + gObjectEventPic_DodrioF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sDodrioLevelUpLearnset, .teachableLearnset = sDodrioTeachableLearnset, @@ -10763,10 +10897,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Seel) OVERWORLD( - sPicTable_Seel, + gObjectEventPic_Seel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Seel, gShinyOverworldPalette_Seel ) @@ -10834,10 +10969,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dewgong) OVERWORLD( - sPicTable_Dewgong, + gObjectEventPic_Dewgong, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dewgong, gShinyOverworldPalette_Dewgong ) @@ -10904,10 +11040,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 3, SHADOW_SIZE_M) FOOTPRINT(Grimer) OVERWORLD( - sPicTable_Grimer, + gObjectEventPic_Grimer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Grimer, gShinyOverworldPalette_Grimer ) @@ -10977,10 +11114,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Muk) OVERWORLD( - sPicTable_Muk, + gObjectEventPic_Muk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Muk, gShinyOverworldPalette_Muk ) @@ -11041,10 +11179,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 1, SHADOW_SIZE_M) FOOTPRINT(Grimer) OVERWORLD( - sPicTable_GrimerAlola, + gObjectEventPic_GrimerAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GrimerAlola, gShinyOverworldPalette_GrimerAlola ) @@ -11109,10 +11248,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Muk) OVERWORLD( - sPicTable_MukAlola, + gObjectEventPic_MukAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MukAlola, gShinyOverworldPalette_MukAlola ) @@ -11187,10 +11327,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -4, SHADOW_SIZE_S) FOOTPRINT(Shellder) OVERWORLD( - sPicTable_Shellder, + gObjectEventPic_Shellder, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Shellder, gShinyOverworldPalette_Shellder ) @@ -11261,10 +11402,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Cloyster) OVERWORLD( - sPicTable_Cloyster, + gObjectEventPic_Cloyster, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Cloyster, gShinyOverworldPalette_Cloyster ) @@ -11333,10 +11475,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Gastly) OVERWORLD( - sPicTable_Gastly, + gObjectEventPic_Gastly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Gastly, gShinyOverworldPalette_Gastly ) @@ -11404,10 +11547,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Haunter) OVERWORLD( - sPicTable_Haunter, + gObjectEventPic_Haunter, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Haunter, gShinyOverworldPalette_Haunter ) @@ -11483,10 +11627,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 5, SHADOW_SIZE_L) FOOTPRINT(Gengar) OVERWORLD( - sPicTable_Gengar, + gObjectEventPic_Gengar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gengar, gShinyOverworldPalette_Gengar ) @@ -11667,10 +11812,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Onix) OVERWORLD( - sPicTable_Onix, + gObjectEventPic_Onix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Onix, gShinyOverworldPalette_Onix ) @@ -11746,18 +11892,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Steelix) OVERWORLD( - sPicTable_Steelix, + gObjectEventPic_Steelix, SIZE_64x64, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Steelix, gShinyOverworldPalette_Steelix ) OVERWORLD_FEMALE( - sPicTable_SteelixF, + gObjectEventPic_SteelixF, SIZE_64x64, SHADOW_SIZE_M, - TRACKS_SLITHER + TRACKS_SLITHER, + sAnimTable_Following ) .levelUpLearnset = sSteelixLevelUpLearnset, .teachableLearnset = sSteelixTeachableLearnset, @@ -11889,10 +12037,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Drowzee) OVERWORLD( - sPicTable_Drowzee, + gObjectEventPic_Drowzee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Drowzee, gShinyOverworldPalette_Drowzee ) @@ -11971,18 +12120,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 9, SHADOW_SIZE_L) FOOTPRINT(Hypno) OVERWORLD( - sPicTable_Hypno, + gObjectEventPic_Hypno, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hypno, gShinyOverworldPalette_Hypno ) OVERWORLD_FEMALE( - sPicTable_HypnoF, + gObjectEventPic_HypnoF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sHypnoLevelUpLearnset, .teachableLearnset = sHypnoTeachableLearnset, @@ -12047,10 +12198,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Krabby) OVERWORLD( - sPicTable_Krabby, + gObjectEventPic_Krabby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Krabby, gShinyOverworldPalette_Krabby ) @@ -12115,10 +12267,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kingler) OVERWORLD( - sPicTable_Kingler, + gObjectEventPic_Kingler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Kingler, gShinyOverworldPalette_Kingler ) @@ -12254,10 +12407,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Voltorb) OVERWORLD( - sPicTable_Voltorb, + gObjectEventPic_Voltorb, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Voltorb, gShinyOverworldPalette_Voltorb ) @@ -12323,10 +12477,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Electrode) OVERWORLD( - sPicTable_Electrode, + gObjectEventPic_Electrode, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Electrode, gShinyOverworldPalette_Electrode ) @@ -12386,10 +12541,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, -4, SHADOW_SIZE_S) FOOTPRINT(Voltorb) OVERWORLD( - sPicTable_VoltorbHisui, + gObjectEventPic_VoltorbHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_VoltorbHisui, gShinyOverworldPalette_VoltorbHisui ) @@ -12450,10 +12606,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 4, SHADOW_SIZE_M) FOOTPRINT(Electrode) OVERWORLD( - sPicTable_ElectrodeHisui, + gObjectEventPic_ElectrodeHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ElectrodeHisui, gShinyOverworldPalette_ElectrodeHisui ) @@ -12527,10 +12684,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -5, SHADOW_SIZE_L) FOOTPRINT(Exeggcute) OVERWORLD( - sPicTable_Exeggcute, + gObjectEventPic_Exeggcute, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Exeggcute, gShinyOverworldPalette_Exeggcute ) @@ -12604,10 +12762,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Exeggutor) OVERWORLD( - sPicTable_Exeggutor, + gObjectEventPic_Exeggutor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Exeggutor, gShinyOverworldPalette_Exeggutor ) @@ -12667,10 +12826,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(6, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Exeggutor) OVERWORLD( - sPicTable_ExeggutorAlola, + gObjectEventPic_ExeggutorAlola, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ExeggutorAlola, gShinyOverworldPalette_ExeggutorAlola ) @@ -12742,10 +12902,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Cubone) OVERWORLD( - sPicTable_Cubone, + gObjectEventPic_Cubone, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cubone, gShinyOverworldPalette_Cubone ) @@ -12815,10 +12976,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(6, 6, SHADOW_SIZE_M) FOOTPRINT(Marowak) OVERWORLD( - sPicTable_Marowak, + gObjectEventPic_Marowak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Marowak, gShinyOverworldPalette_Marowak ) @@ -12875,10 +13037,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Marowak) OVERWORLD( - sPicTable_MarowakAlola, + gObjectEventPic_MarowakAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MarowakAlola, gShinyOverworldPalette_MarowakAlola ) @@ -12935,10 +13098,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Marowak) OVERWORLD( - sPicTable_MarowakAlola, + gObjectEventPic_MarowakAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MarowakAlola, gShinyOverworldPalette_MarowakAlola ) @@ -13011,10 +13175,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Tyrogue) OVERWORLD( - sPicTable_Tyrogue, + gObjectEventPic_Tyrogue, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tyrogue, gShinyOverworldPalette_Tyrogue ) @@ -13085,10 +13250,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Hitmonlee) OVERWORLD( - sPicTable_Hitmonlee, + gObjectEventPic_Hitmonlee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hitmonlee, gShinyOverworldPalette_Hitmonlee ) @@ -13162,10 +13328,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Hitmonchan) OVERWORLD( - sPicTable_Hitmonchan, + gObjectEventPic_Hitmonchan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hitmonchan, gShinyOverworldPalette_Hitmonchan ) @@ -13234,10 +13401,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Hitmontop) OVERWORLD( - sPicTable_Hitmontop, + gObjectEventPic_Hitmontop, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hitmontop, gShinyOverworldPalette_Hitmontop ) @@ -13302,10 +13470,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Lickitung) OVERWORLD( - sPicTable_Lickitung, + gObjectEventPic_Lickitung, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lickitung, gShinyOverworldPalette_Lickitung ) @@ -13377,10 +13546,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Lickilicky) OVERWORLD( - sPicTable_Lickilicky, + gObjectEventPic_Lickilicky, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lickilicky, gShinyOverworldPalette_Lickilicky ) @@ -13453,10 +13623,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Koffing) OVERWORLD( - sPicTable_Koffing, + gObjectEventPic_Koffing, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Koffing, gShinyOverworldPalette_Koffing ) @@ -13530,10 +13701,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Weezing) OVERWORLD( - sPicTable_Weezing, + gObjectEventPic_Weezing, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Weezing, gShinyOverworldPalette_Weezing ) @@ -13596,10 +13768,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(7, 17, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Weezing) OVERWORLD( - sPicTable_WeezingGalar, + gObjectEventPic_WeezingGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_WeezingGalar, gShinyOverworldPalette_WeezingGalar ) @@ -13674,18 +13847,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_L) FOOTPRINT(Rhyhorn) OVERWORLD( - sPicTable_Rhyhorn, + gObjectEventPic_Rhyhorn, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rhyhorn, gShinyOverworldPalette_Rhyhorn ) OVERWORLD_FEMALE( - sPicTable_RhyhornF, + gObjectEventPic_RhyhornF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sRhyhornLevelUpLearnset, .teachableLearnset = sRhyhornTeachableLearnset, @@ -13752,18 +13927,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rhydon) OVERWORLD( - sPicTable_Rhydon, + gObjectEventPic_Rhydon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rhydon, gShinyOverworldPalette_Rhydon ) OVERWORLD_FEMALE( - sPicTable_RhydonF, + gObjectEventPic_RhydonF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sRhydonLevelUpLearnset, .teachableLearnset = sRhydonTeachableLearnset, @@ -13840,18 +14017,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rhyperior) OVERWORLD( - sPicTable_Rhyperior, + gObjectEventPic_Rhyperior, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rhyperior, gShinyOverworldPalette_Rhyperior ) OVERWORLD_FEMALE( - sPicTable_RhyperiorF, + gObjectEventPic_RhyperiorF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sRhyperiorLevelUpLearnset, .teachableLearnset = sRhyperiorTeachableLearnset, @@ -13916,10 +14095,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Happiny) OVERWORLD( - sPicTable_Happiny, + gObjectEventPic_Happiny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Happiny, gShinyOverworldPalette_Happiny ) @@ -13986,10 +14166,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 4, SHADOW_SIZE_L) FOOTPRINT(Chansey) OVERWORLD( - sPicTable_Chansey, + gObjectEventPic_Chansey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Chansey, gShinyOverworldPalette_Chansey ) @@ -14055,10 +14236,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Blissey) OVERWORLD( - sPicTable_Blissey, + gObjectEventPic_Blissey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Blissey, gShinyOverworldPalette_Blissey ) @@ -14127,10 +14309,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Tangela) OVERWORLD( - sPicTable_Tangela, + gObjectEventPic_Tangela, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tangela, gShinyOverworldPalette_Tangela ) @@ -14203,18 +14386,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tangrowth) OVERWORLD( - sPicTable_Tangrowth, + gObjectEventPic_Tangrowth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tangrowth, gShinyOverworldPalette_Tangrowth ) OVERWORLD_FEMALE( - sPicTable_TangrowthF, + gObjectEventPic_TangrowthF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sTangrowthLevelUpLearnset, .teachableLearnset = sTangrowthTeachableLearnset, @@ -14278,10 +14463,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kangaskhan) OVERWORLD( - sPicTable_Kangaskhan, + gObjectEventPic_Kangaskhan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Kangaskhan, gShinyOverworldPalette_Kangaskhan ) @@ -14414,10 +14600,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Horsea) OVERWORLD( - sPicTable_Horsea, + gObjectEventPic_Horsea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Horsea, gShinyOverworldPalette_Horsea ) @@ -14489,10 +14676,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 7, SHADOW_SIZE_M) FOOTPRINT(Seadra) OVERWORLD( - sPicTable_Seadra, + gObjectEventPic_Seadra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Seadra, gShinyOverworldPalette_Seadra ) @@ -14572,10 +14760,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 12, SHADOW_SIZE_M) FOOTPRINT(Kingdra) OVERWORLD( - sPicTable_Kingdra, + gObjectEventPic_Kingdra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Kingdra, gShinyOverworldPalette_Kingdra ) @@ -14653,18 +14842,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-6, 0, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Goldeen) OVERWORLD( - sPicTable_Goldeen, + gObjectEventPic_Goldeen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Goldeen, gShinyOverworldPalette_Goldeen ) OVERWORLD_FEMALE( - sPicTable_GoldeenF, + gObjectEventPic_GoldeenF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_SPOT + TRACKS_SPOT, + sAnimTable_Following ) .levelUpLearnset = sGoldeenLevelUpLearnset, .teachableLearnset = sGoldeenTeachableLearnset, @@ -14735,18 +14926,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Seaking) OVERWORLD( - sPicTable_Seaking, + gObjectEventPic_Seaking, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Seaking, gShinyOverworldPalette_Seaking ) OVERWORLD_FEMALE( - sPicTable_SeakingF, + gObjectEventPic_SeakingF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_SPOT + TRACKS_SPOT, + sAnimTable_Following ) .levelUpLearnset = sSeakingLevelUpLearnset, .teachableLearnset = sSeakingTeachableLearnset, @@ -14813,10 +15006,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Staryu) OVERWORLD( - sPicTable_Staryu, + gObjectEventPic_Staryu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Staryu, gShinyOverworldPalette_Staryu ) @@ -14883,10 +15077,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Starmie) OVERWORLD( - sPicTable_Starmie, + gObjectEventPic_Starmie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Starmie, gShinyOverworldPalette_Starmie ) @@ -14962,10 +15157,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-5, 4, SHADOW_SIZE_S) FOOTPRINT(MimeJr) OVERWORLD( - sPicTable_MimeJr, + gObjectEventPic_MimeJr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MimeJr, gShinyOverworldPalette_MimeJr ) @@ -15038,10 +15234,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(MrMime) OVERWORLD( - sPicTable_MrMime, + gObjectEventPic_MrMime, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MrMime, gShinyOverworldPalette_MrMime ) @@ -15102,10 +15299,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(MrMime) OVERWORLD( - sPicTable_MrMimeGalar, + gObjectEventPic_MrMimeGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MrMimeGalar, gShinyOverworldPalette_MrMimeGalar ) @@ -15166,10 +15364,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 9, SHADOW_SIZE_L) FOOTPRINT(MrRime) OVERWORLD( - sPicTable_MrRime, + gObjectEventPic_MrRime, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MrRime, gShinyOverworldPalette_MrRime ) @@ -15248,18 +15447,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Scyther) OVERWORLD( - sPicTable_Scyther, + gObjectEventPic_Scyther, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Scyther, gShinyOverworldPalette_Scyther ) OVERWORLD_FEMALE( - sPicTable_ScytherF, + gObjectEventPic_ScytherF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sScytherLevelUpLearnset, .teachableLearnset = sScytherTeachableLearnset, @@ -15332,18 +15533,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Scizor) OVERWORLD( - sPicTable_Scizor, + gObjectEventPic_Scizor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Scizor, gShinyOverworldPalette_Scizor ) OVERWORLD_FEMALE( - sPicTable_ScizorF, + gObjectEventPic_ScizorF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sScizorLevelUpLearnset, .teachableLearnset = sScizorTeachableLearnset, @@ -15461,10 +15664,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kleavor) OVERWORLD( - sPicTable_Kleavor, + gObjectEventPic_Kleavor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Kleavor, gShinyOverworldPalette_Kleavor ) @@ -15534,10 +15738,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Smoochum) OVERWORLD( - sPicTable_Smoochum, + gObjectEventPic_Smoochum, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Smoochum, gShinyOverworldPalette_Smoochum ) @@ -15608,10 +15813,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Jynx) OVERWORLD( - sPicTable_Jynx, + gObjectEventPic_Jynx, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Jynx, gShinyOverworldPalette_Jynx ) @@ -15678,10 +15884,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Elekid) OVERWORLD( - sPicTable_Elekid, + gObjectEventPic_Elekid, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Elekid, gShinyOverworldPalette_Elekid ) @@ -15750,10 +15957,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 9, SHADOW_SIZE_L) FOOTPRINT(Electabuzz) OVERWORLD( - sPicTable_Electabuzz, + gObjectEventPic_Electabuzz, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Electabuzz, gShinyOverworldPalette_Electabuzz ) @@ -15825,10 +16033,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Electivire) OVERWORLD( - sPicTable_Electivire, + gObjectEventPic_Electivire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Electivire, gShinyOverworldPalette_Electivire ) @@ -15897,10 +16106,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Magby) OVERWORLD( - sPicTable_Magby, + gObjectEventPic_Magby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Magby, gShinyOverworldPalette_Magby ) @@ -15965,10 +16175,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Magmar) OVERWORLD( - sPicTable_Magmar, + gObjectEventPic_Magmar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Magmar, gShinyOverworldPalette_Magmar ) @@ -16040,10 +16251,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Magmortar) OVERWORLD( - sPicTable_Magmortar, + gObjectEventPic_Magmortar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Magmortar, gShinyOverworldPalette_Magmortar ) @@ -16114,10 +16326,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Pinsir) OVERWORLD( - sPicTable_Pinsir, + gObjectEventPic_Pinsir, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pinsir, gShinyOverworldPalette_Pinsir ) @@ -16251,10 +16464,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( - sPicTable_Tauros, + gObjectEventPic_Tauros, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tauros, gShinyOverworldPalette_Tauros ) @@ -16314,10 +16528,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( - sPicTable_TaurosPaldeaCombat, + gObjectEventPic_TaurosPaldeaCombat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TaurosPaldeaCombat, gShinyOverworldPalette_TaurosPaldeaCombat ) @@ -16378,10 +16593,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( - sPicTable_TaurosPaldeaBlaze, + gObjectEventPic_TaurosPaldeaBlaze, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TaurosPaldeaBlaze, gShinyOverworldPalette_TaurosPaldeaBlaze ) @@ -16442,10 +16658,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( - sPicTable_TaurosPaldeaAqua, + gObjectEventPic_TaurosPaldeaAqua, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TaurosPaldeaAqua, gShinyOverworldPalette_TaurosPaldeaAqua ) @@ -16525,18 +16742,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_M) FOOTPRINT(Magikarp) OVERWORLD( - sPicTable_Magikarp, + gObjectEventPic_Magikarp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Magikarp, gShinyOverworldPalette_Magikarp ) OVERWORLD_FEMALE( - sPicTable_MagikarpF, + gObjectEventPic_MagikarpF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_SPOT + TRACKS_SPOT, + sAnimTable_Following ) .tmIlliterate = TRUE, .levelUpLearnset = sMagikarpLevelUpLearnset, @@ -16604,18 +16823,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(5, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gyarados) OVERWORLD( - sPicTable_Gyarados, + gObjectEventPic_Gyarados, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Gyarados, gShinyOverworldPalette_Gyarados ) OVERWORLD_FEMALE( - sPicTable_GyaradosF, + gObjectEventPic_GyaradosF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_SLITHER + TRACKS_SLITHER, + sAnimTable_Following ) .levelUpLearnset = sGyaradosLevelUpLearnset, .teachableLearnset = sGyaradosTeachableLearnset, @@ -16739,10 +16960,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Lapras) OVERWORLD( - sPicTable_Lapras, + gObjectEventPic_Lapras, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Lapras, gShinyOverworldPalette_Lapras ) @@ -16873,10 +17095,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Ditto) OVERWORLD( - sPicTable_Ditto, + gObjectEventPic_Ditto, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Ditto, gShinyOverworldPalette_Ditto ) @@ -16946,18 +17169,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Eevee) OVERWORLD( - sPicTable_Eevee, + gObjectEventPic_Eevee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Eevee, gShinyOverworldPalette_Eevee ) OVERWORLD_FEMALE( - sPicTable_EeveeF, + gObjectEventPic_EeveeF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sEeveeLevelUpLearnset, .teachableLearnset = sEeveeTeachableLearnset, @@ -17094,10 +17319,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Eevee) OVERWORLD( - sPicTable_Eevee, + gObjectEventPic_Eevee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Eevee, gShinyOverworldPalette_Eevee ) @@ -17162,10 +17388,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 3, SHADOW_SIZE_M) FOOTPRINT(Vaporeon) OVERWORLD( - sPicTable_Vaporeon, + gObjectEventPic_Vaporeon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vaporeon, gShinyOverworldPalette_Vaporeon ) @@ -17226,10 +17453,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Jolteon) OVERWORLD( - sPicTable_Jolteon, + gObjectEventPic_Jolteon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Jolteon, gShinyOverworldPalette_Jolteon ) @@ -17290,10 +17518,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 1, SHADOW_SIZE_L) FOOTPRINT(Flareon) OVERWORLD( - sPicTable_Flareon, + gObjectEventPic_Flareon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Flareon, gShinyOverworldPalette_Flareon ) @@ -17356,10 +17585,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Espeon) OVERWORLD( - sPicTable_Espeon, + gObjectEventPic_Espeon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Espeon, gShinyOverworldPalette_Espeon ) @@ -17420,10 +17650,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Umbreon) OVERWORLD( - sPicTable_Umbreon, + gObjectEventPic_Umbreon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Umbreon, gShinyOverworldPalette_Umbreon ) @@ -17487,10 +17718,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Leafeon) OVERWORLD( - sPicTable_Leafeon, + gObjectEventPic_Leafeon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Leafeon, gShinyOverworldPalette_Leafeon ) @@ -17552,10 +17784,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Glaceon) OVERWORLD( - sPicTable_Glaceon, + gObjectEventPic_Glaceon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Glaceon, gShinyOverworldPalette_Glaceon ) @@ -17620,10 +17853,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 9, SHADOW_SIZE_M) FOOTPRINT(Sylveon) OVERWORLD( - sPicTable_Sylveon, + gObjectEventPic_Sylveon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sylveon, gShinyOverworldPalette_Sylveon ) @@ -17693,10 +17927,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Porygon) OVERWORLD( - sPicTable_Porygon, + gObjectEventPic_Porygon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Porygon, gShinyOverworldPalette_Porygon ) @@ -17768,10 +18003,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Porygon2) OVERWORLD( - sPicTable_Porygon2, + gObjectEventPic_Porygon2, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Porygon2, gShinyOverworldPalette_Porygon2 ) @@ -17844,10 +18080,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 17, SHADOW_SIZE_S) FOOTPRINT(PorygonZ) OVERWORLD( - sPicTable_PorygonZ, + gObjectEventPic_PorygonZ, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_PorygonZ, gShinyOverworldPalette_PorygonZ ) @@ -17924,10 +18161,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, -2, SHADOW_SIZE_S) FOOTPRINT(Omanyte) OVERWORLD( - sPicTable_Omanyte, + gObjectEventPic_Omanyte, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Omanyte, gShinyOverworldPalette_Omanyte ) @@ -17992,10 +18230,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Omastar) OVERWORLD( - sPicTable_Omastar, + gObjectEventPic_Omastar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Omastar, gShinyOverworldPalette_Omastar ) @@ -18070,10 +18309,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Kabuto) OVERWORLD( - sPicTable_Kabuto, + gObjectEventPic_Kabuto, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Kabuto, gShinyOverworldPalette_Kabuto ) @@ -18144,10 +18384,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kabutops) OVERWORLD( - sPicTable_Kabutops, + gObjectEventPic_Kabutops, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Kabutops, gShinyOverworldPalette_Kabutops ) @@ -18213,10 +18454,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 16, SHADOW_SIZE_M) FOOTPRINT(Aerodactyl) OVERWORLD( - sPicTable_Aerodactyl, + gObjectEventPic_Aerodactyl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Aerodactyl, gShinyOverworldPalette_Aerodactyl ) @@ -18345,10 +18587,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Munchlax) OVERWORLD( - sPicTable_Munchlax, + gObjectEventPic_Munchlax, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Munchlax, gShinyOverworldPalette_Munchlax ) @@ -18415,10 +18658,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Snorlax) OVERWORLD( - sPicTable_Snorlax, + gObjectEventPic_Snorlax, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Snorlax, gShinyOverworldPalette_Snorlax ) @@ -18554,10 +18798,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 10, SHADOW_SIZE_M) FOOTPRINT(Articuno) OVERWORLD( - sPicTable_Articuno, + gObjectEventPic_Articuno, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Articuno, gShinyOverworldPalette_Articuno ) @@ -18620,10 +18865,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Articuno) OVERWORLD( - sPicTable_ArticunoGalar, + gObjectEventPic_ArticunoGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ArticunoGalar, gShinyOverworldPalette_ArticunoGalar ) @@ -18704,10 +18950,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(Zapdos) OVERWORLD( - sPicTable_Zapdos, + gObjectEventPic_Zapdos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Zapdos, gShinyOverworldPalette_Zapdos ) @@ -18769,10 +19016,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Zapdos) OVERWORLD( - sPicTable_ZapdosGalar, + gObjectEventPic_ZapdosGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ZapdosGalar, gShinyOverworldPalette_ZapdosGalar ) @@ -18877,10 +19125,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Moltres) OVERWORLD( - sPicTable_Moltres, + gObjectEventPic_Moltres, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Moltres, gShinyOverworldPalette_Moltres ) @@ -18942,10 +19191,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Moltres) OVERWORLD( - sPicTable_MoltresGalar, + gObjectEventPic_MoltresGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MoltresGalar, gShinyOverworldPalette_MoltresGalar ) @@ -19015,10 +19265,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 3, SHADOW_SIZE_L) FOOTPRINT(Dratini) OVERWORLD( - sPicTable_Dratini, + gObjectEventPic_Dratini, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Dratini, gShinyOverworldPalette_Dratini ) @@ -19084,10 +19335,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dragonair) OVERWORLD( - sPicTable_Dragonair, + gObjectEventPic_Dragonair, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Dragonair, gShinyOverworldPalette_Dragonair ) @@ -19158,10 +19410,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dragonite) OVERWORLD( - sPicTable_Dragonite, + gObjectEventPic_Dragonite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Dragonite, gShinyOverworldPalette_Dragonite ) @@ -19230,10 +19483,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(6, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Mewtwo) OVERWORLD( - sPicTable_Mewtwo, + gObjectEventPic_Mewtwo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mewtwo, gShinyOverworldPalette_Mewtwo ) @@ -19432,10 +19686,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Mew) OVERWORLD( - sPicTable_Mew, + gObjectEventPic_Mew, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Mew, gShinyOverworldPalette_Mew ) diff --git a/src/data/pokemon/species_info/gen_2_families.h b/src/data/pokemon/species_info/gen_2_families.h index 34668b5115..d7db791052 100644 --- a/src/data/pokemon/species_info/gen_2_families.h +++ b/src/data/pokemon/species_info/gen_2_families.h @@ -58,10 +58,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Chikorita) OVERWORLD( - sPicTable_Chikorita, + gObjectEventPic_Chikorita, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Chikorita, gShinyOverworldPalette_Chikorita ) @@ -125,10 +126,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Bayleef) OVERWORLD( - sPicTable_Bayleef, + gObjectEventPic_Bayleef, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bayleef, gShinyOverworldPalette_Bayleef ) @@ -203,18 +205,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Meganium) OVERWORLD( - sPicTable_Meganium, + gObjectEventPic_Meganium, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Meganium, gShinyOverworldPalette_Meganium ) OVERWORLD_FEMALE( - sPicTable_MeganiumF, + gObjectEventPic_MeganiumF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sMeganiumLevelUpLearnset, .teachableLearnset = sMeganiumTeachableLearnset, @@ -277,10 +281,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Cyndaquil) OVERWORLD( - sPicTable_Cyndaquil, + gObjectEventPic_Cyndaquil, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cyndaquil, gShinyOverworldPalette_Cyndaquil ) @@ -344,10 +349,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Quilava) OVERWORLD( - sPicTable_Quilava, + gObjectEventPic_Quilava, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Quilava, gShinyOverworldPalette_Quilava ) @@ -419,10 +425,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Typhlosion) OVERWORLD( - sPicTable_Typhlosion, + gObjectEventPic_Typhlosion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Typhlosion, gShinyOverworldPalette_Typhlosion ) @@ -482,10 +489,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(Typhlosion) OVERWORLD( - sPicTable_TyphlosionHisui, + gObjectEventPic_TyphlosionHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TyphlosionHisui, gShinyOverworldPalette_TyphlosionHisui ) @@ -555,10 +563,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Totodile) OVERWORLD( - sPicTable_Totodile, + gObjectEventPic_Totodile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Totodile, gShinyOverworldPalette_Totodile ) @@ -623,10 +632,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Croconaw) OVERWORLD( - sPicTable_Croconaw, + gObjectEventPic_Croconaw, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Croconaw, gShinyOverworldPalette_Croconaw ) @@ -698,10 +708,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Feraligatr) OVERWORLD( - sPicTable_Feraligatr, + gObjectEventPic_Feraligatr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Feraligatr, gShinyOverworldPalette_Feraligatr ) @@ -766,10 +777,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Sentret) OVERWORLD( - sPicTable_Sentret, + gObjectEventPic_Sentret, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sentret, gShinyOverworldPalette_Sentret ) @@ -832,10 +844,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Furret) OVERWORLD( - sPicTable_Furret, + gObjectEventPic_Furret, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Furret, gShinyOverworldPalette_Furret ) @@ -908,10 +921,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Hoothoot) OVERWORLD( - sPicTable_Hoothoot, + gObjectEventPic_Hoothoot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hoothoot, gShinyOverworldPalette_Hoothoot ) @@ -980,10 +994,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Noctowl) OVERWORLD( - sPicTable_Noctowl, + gObjectEventPic_Noctowl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Noctowl, gShinyOverworldPalette_Noctowl ) @@ -1054,18 +1069,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Ledyba) OVERWORLD( - sPicTable_Ledyba, + gObjectEventPic_Ledyba, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Ledyba, gShinyOverworldPalette_Ledyba ) OVERWORLD_FEMALE( - sPicTable_LedybaF, + gObjectEventPic_LedybaF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_BUG + TRACKS_BUG, + sAnimTable_Following ) .levelUpLearnset = sLedybaLevelUpLearnset, .teachableLearnset = sLedybaTeachableLearnset, @@ -1135,18 +1152,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Ledian) OVERWORLD( - sPicTable_Ledian, + gObjectEventPic_Ledian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ledian, gShinyOverworldPalette_Ledian ) OVERWORLD_FEMALE( - sPicTable_LedianF, + gObjectEventPic_LedianF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sLedianLevelUpLearnset, .teachableLearnset = sLedianTeachableLearnset, @@ -1213,10 +1232,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, -8, SHADOW_SIZE_M) FOOTPRINT(Spinarak) OVERWORLD( - sPicTable_Spinarak, + gObjectEventPic_Spinarak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Spinarak, gShinyOverworldPalette_Spinarak ) @@ -1287,10 +1307,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ariados) OVERWORLD( - sPicTable_Ariados, + gObjectEventPic_Ariados, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Ariados, gShinyOverworldPalette_Ariados ) @@ -1357,10 +1378,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Chinchou) OVERWORLD( - sPicTable_Chinchou, + gObjectEventPic_Chinchou, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Chinchou, gShinyOverworldPalette_Chinchou ) @@ -1427,10 +1449,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(5, 4, SHADOW_SIZE_M) FOOTPRINT(Lanturn) OVERWORLD( - sPicTable_Lanturn, + gObjectEventPic_Lanturn, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Lanturn, gShinyOverworldPalette_Lanturn ) @@ -1496,10 +1519,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Togepi) OVERWORLD( - sPicTable_Togepi, + gObjectEventPic_Togepi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Togepi, gShinyOverworldPalette_Togepi ) @@ -1563,10 +1587,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Togetic) OVERWORLD( - sPicTable_Togetic, + gObjectEventPic_Togetic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Togetic, gShinyOverworldPalette_Togetic ) @@ -1643,10 +1668,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(4, 15, SHADOW_SIZE_M) FOOTPRINT(Togekiss) OVERWORLD( - sPicTable_Togekiss, + gObjectEventPic_Togekiss, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Togekiss, gShinyOverworldPalette_Togekiss ) @@ -1714,10 +1740,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, -4, SHADOW_SIZE_S) FOOTPRINT(Natu) OVERWORLD( - sPicTable_Natu, + gObjectEventPic_Natu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Natu, gShinyOverworldPalette_Natu ) @@ -1790,18 +1817,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Xatu) OVERWORLD( - sPicTable_Xatu, + gObjectEventPic_Xatu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Xatu, gShinyOverworldPalette_Xatu ) OVERWORLD_FEMALE( - sPicTable_XatuF, + gObjectEventPic_XatuF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sXatuLevelUpLearnset, .teachableLearnset = sXatuTeachableLearnset, @@ -1867,10 +1896,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 1, SHADOW_SIZE_M) FOOTPRINT(Mareep) OVERWORLD( - sPicTable_Mareep, + gObjectEventPic_Mareep, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mareep, gShinyOverworldPalette_Mareep ) @@ -1936,10 +1966,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Flaaffy) OVERWORLD( - sPicTable_Flaaffy, + gObjectEventPic_Flaaffy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Flaaffy, gShinyOverworldPalette_Flaaffy ) @@ -2013,10 +2044,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 11, SHADOW_SIZE_M) FOOTPRINT(Ampharos) OVERWORLD( - sPicTable_Ampharos, + gObjectEventPic_Ampharos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ampharos, gShinyOverworldPalette_Ampharos ) @@ -2149,10 +2181,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-4, 3, SHADOW_SIZE_S) FOOTPRINT(Azurill) OVERWORLD( - sPicTable_Azurill, + gObjectEventPic_Azurill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Azurill, gShinyOverworldPalette_Azurill ) @@ -2221,10 +2254,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Marill) OVERWORLD( - sPicTable_Marill, + gObjectEventPic_Marill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Marill, gShinyOverworldPalette_Marill ) @@ -2302,10 +2336,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-4, 8, SHADOW_SIZE_S) FOOTPRINT(Azumarill) OVERWORLD( - sPicTable_Azumarill, + gObjectEventPic_Azumarill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Azumarill, gShinyOverworldPalette_Azumarill ) @@ -2372,10 +2407,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Bonsly) OVERWORLD( - sPicTable_Bonsly, + gObjectEventPic_Bonsly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bonsly, gShinyOverworldPalette_Bonsly ) @@ -2449,18 +2485,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Sudowoodo) OVERWORLD( - sPicTable_Sudowoodo, + gObjectEventPic_Sudowoodo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sudowoodo, gShinyOverworldPalette_Sudowoodo ) OVERWORLD_FEMALE( - sPicTable_SudowoodoF, + gObjectEventPic_SudowoodoF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sSudowoodoLevelUpLearnset, .teachableLearnset = sSudowoodoTeachableLearnset, @@ -2529,10 +2567,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Hoppip) OVERWORLD( - sPicTable_Hoppip, + gObjectEventPic_Hoppip, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Hoppip, gShinyOverworldPalette_Hoppip ) @@ -2606,10 +2645,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Skiploom) OVERWORLD( - sPicTable_Skiploom, + gObjectEventPic_Skiploom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Skiploom, gShinyOverworldPalette_Skiploom ) @@ -2688,10 +2728,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Jumpluff) OVERWORLD( - sPicTable_Jumpluff, + gObjectEventPic_Jumpluff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Jumpluff, gShinyOverworldPalette_Jumpluff ) @@ -2760,18 +2801,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Aipom) OVERWORLD( - sPicTable_Aipom, + gObjectEventPic_Aipom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Aipom, gShinyOverworldPalette_Aipom ) OVERWORLD_FEMALE( - sPicTable_AipomF, + gObjectEventPic_AipomF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sAipomLevelUpLearnset, .teachableLearnset = sAipomTeachableLearnset, @@ -2840,18 +2883,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Ambipom) OVERWORLD( - sPicTable_Ambipom, + gObjectEventPic_Ambipom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ambipom, gShinyOverworldPalette_Ambipom ) OVERWORLD_FEMALE( - sPicTable_AmbipomF, + gObjectEventPic_AmbipomF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sAmbipomLevelUpLearnset, .teachableLearnset = sAmbipomTeachableLearnset, @@ -2921,10 +2966,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, -4, SHADOW_SIZE_S) FOOTPRINT(Sunkern) OVERWORLD( - sPicTable_Sunkern, + gObjectEventPic_Sunkern, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Sunkern, gShinyOverworldPalette_Sunkern ) @@ -2992,10 +3038,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Sunflora) OVERWORLD( - sPicTable_Sunflora, + gObjectEventPic_Sunflora, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sunflora, gShinyOverworldPalette_Sunflora ) @@ -3080,10 +3127,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Yanma) OVERWORLD( - sPicTable_Yanma, + gObjectEventPic_Yanma, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Yanma, gShinyOverworldPalette_Yanma ) @@ -3173,10 +3221,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Yanmega) OVERWORLD( - sPicTable_Yanmega, + gObjectEventPic_Yanmega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Yanmega, gShinyOverworldPalette_Yanmega ) @@ -3247,18 +3296,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Wooper) OVERWORLD( - sPicTable_Wooper, + gObjectEventPic_Wooper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Wooper, gShinyOverworldPalette_Wooper ) OVERWORLD_FEMALE( - sPicTable_WooperF, + gObjectEventPic_WooperF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sWooperLevelUpLearnset, .teachableLearnset = sWooperTeachableLearnset, @@ -3326,18 +3377,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 8, SHADOW_SIZE_M) FOOTPRINT(Quagsire) OVERWORLD( - sPicTable_Quagsire, + gObjectEventPic_Quagsire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Quagsire, gShinyOverworldPalette_Quagsire ) OVERWORLD_FEMALE( - sPicTable_QuagsireF, + gObjectEventPic_QuagsireF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sQuagsireLevelUpLearnset, .teachableLearnset = sQuagsireTeachableLearnset, @@ -3394,10 +3447,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Wooper) OVERWORLD( - sPicTable_WooperPaldea, + gObjectEventPic_WooperPaldea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_WooperPaldea, gShinyOverworldPalette_WooperPaldea ) @@ -3459,10 +3513,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 3, SHADOW_SIZE_L) FOOTPRINT(Clodsire) OVERWORLD( - sPicTable_Clodsire, + gObjectEventPic_Clodsire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Clodsire, gShinyOverworldPalette_Clodsire ) @@ -3537,18 +3592,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 8, SHADOW_SIZE_S) FOOTPRINT(Murkrow) OVERWORLD( - sPicTable_Murkrow, + gObjectEventPic_Murkrow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Murkrow, gShinyOverworldPalette_Murkrow ) OVERWORLD_FEMALE( - sPicTable_MurkrowF, + gObjectEventPic_MurkrowF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sMurkrowLevelUpLearnset, .teachableLearnset = sMurkrowTeachableLearnset, @@ -3612,10 +3669,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(5, 7, SHADOW_SIZE_M) FOOTPRINT(Honchkrow) OVERWORLD( - sPicTable_Honchkrow, + gObjectEventPic_Honchkrow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Honchkrow, gShinyOverworldPalette_Honchkrow ) @@ -3689,10 +3747,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Misdreavus) OVERWORLD( - sPicTable_Misdreavus, + gObjectEventPic_Misdreavus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Misdreavus, gShinyOverworldPalette_Misdreavus ) @@ -3766,10 +3825,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Mismagius) OVERWORLD( - sPicTable_Mismagius, + gObjectEventPic_Mismagius, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mismagius, gShinyOverworldPalette_Mismagius ) @@ -3829,10 +3889,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 3, SHADOW_SIZE_S) \ FOOTPRINT(Unown) \ OVERWORLD( \ - sPicTable_Unown ##letter, \ + gObjectEventPic_Unown ##letter, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_NONE, \ + sAnimTable_Following, \ gOverworldPalette_Unown, \ gShinyOverworldPalette_Unown, \ ) \ @@ -3931,10 +3992,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Wynaut) OVERWORLD( - sPicTable_Wynaut, + gObjectEventPic_Wynaut, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Wynaut, gShinyOverworldPalette_Wynaut ) @@ -4011,18 +4073,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-3, 8, SHADOW_SIZE_M) FOOTPRINT(Wobbuffet) OVERWORLD( - sPicTable_Wobbuffet, + gObjectEventPic_Wobbuffet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Wobbuffet, gShinyOverworldPalette_Wobbuffet ) OVERWORLD_FEMALE( - sPicTable_WobbuffetF, + gObjectEventPic_WobbuffetF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .tmIlliterate = TRUE, .levelUpLearnset = sWobbuffetLevelUpLearnset, @@ -4091,18 +4155,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Girafarig) OVERWORLD( - sPicTable_Girafarig, + gObjectEventPic_Girafarig, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Girafarig, gShinyOverworldPalette_Girafarig ) OVERWORLD_FEMALE( - sPicTable_GirafarigF, + gObjectEventPic_GirafarigF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sGirafarigLevelUpLearnset, .teachableLearnset = sGirafarigTeachableLearnset, @@ -4161,10 +4227,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(11, 13, SHADOW_SIZE_L) FOOTPRINT(Farigiraf) OVERWORLD( - sPicTable_Farigiraf, + gObjectEventPic_Farigiraf, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Farigiraf, gShinyOverworldPalette_Farigiraf ) @@ -4234,10 +4301,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Pineco) OVERWORLD( - sPicTable_Pineco, + gObjectEventPic_Pineco, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Pineco, gShinyOverworldPalette_Pineco ) @@ -4302,10 +4370,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 6, SHADOW_SIZE_L) FOOTPRINT(Forretress) OVERWORLD( - sPicTable_Forretress, + gObjectEventPic_Forretress, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Forretress, gShinyOverworldPalette_Forretress ) @@ -4377,10 +4446,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Dunsparce) OVERWORLD( - sPicTable_Dunsparce, + gObjectEventPic_Dunsparce, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Dunsparce, gShinyOverworldPalette_Dunsparce ) @@ -4442,10 +4512,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 5, SHADOW_SIZE_L) FOOTPRINT(Dudunsparce) OVERWORLD( - sPicTable_DudunsparceTwoSegment, + gObjectEventPic_DudunsparceTwoSegment, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Dudunsparce, gShinyOverworldPalette_Dudunsparce ) @@ -4504,10 +4575,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(4, 4, SHADOW_SIZE_L) FOOTPRINT(Dudunsparce) OVERWORLD( - sPicTable_DudunsparceThreeSegment, + gObjectEventPic_DudunsparceThreeSegment, SIZE_64x64, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_DudunsparceThreeSegment, gShinyOverworldPalette_DudunsparceThreeSegment ) @@ -4579,18 +4651,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Gligar) OVERWORLD( - sPicTable_Gligar, + gObjectEventPic_Gligar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Gligar, gShinyOverworldPalette_Gligar ) OVERWORLD_FEMALE( - sPicTable_GligarF, + gObjectEventPic_GligarF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_NONE + TRACKS_NONE, + sAnimTable_Following ) .levelUpLearnset = sGligarLevelUpLearnset, .teachableLearnset = sGligarTeachableLearnset, @@ -4656,10 +4730,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Gliscor) OVERWORLD( - sPicTable_Gliscor, + gObjectEventPic_Gliscor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gliscor, gShinyOverworldPalette_Gliscor ) @@ -4727,10 +4802,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Snubbull) OVERWORLD( - sPicTable_Snubbull, + gObjectEventPic_Snubbull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Snubbull, gShinyOverworldPalette_Snubbull ) @@ -4801,10 +4877,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 10, SHADOW_SIZE_L) FOOTPRINT(Granbull) OVERWORLD( - sPicTable_Granbull, + gObjectEventPic_Granbull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Granbull, gShinyOverworldPalette_Granbull ) @@ -4883,10 +4960,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Qwilfish) OVERWORLD( - sPicTable_Qwilfish, + gObjectEventPic_Qwilfish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Qwilfish, gShinyOverworldPalette_Qwilfish ) @@ -4949,10 +5027,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-5, 4, SHADOW_SIZE_S) FOOTPRINT(Qwilfish) OVERWORLD( - sPicTable_QwilfishHisui, + gObjectEventPic_QwilfishHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_QwilfishHisui, gShinyOverworldPalette_QwilfishHisui ) @@ -5013,10 +5092,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Overqwil) OVERWORLD( - sPicTable_Overqwil, + gObjectEventPic_Overqwil, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Overqwil, gShinyOverworldPalette_Overqwil ) @@ -5088,10 +5168,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Shuckle) OVERWORLD( - sPicTable_Shuckle, + gObjectEventPic_Shuckle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Shuckle, gShinyOverworldPalette_Shuckle ) @@ -5164,18 +5245,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Heracross) OVERWORLD( - sPicTable_Heracross, + gObjectEventPic_Heracross, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Heracross, gShinyOverworldPalette_Heracross ) OVERWORLD_FEMALE( - sPicTable_HeracrossF, + gObjectEventPic_HeracrossF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sHeracrossLevelUpLearnset, .teachableLearnset = sHeracrossTeachableLearnset, @@ -5310,18 +5393,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Sneasel) OVERWORLD( - sPicTable_Sneasel, + gObjectEventPic_Sneasel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sneasel, gShinyOverworldPalette_Sneasel ) OVERWORLD_FEMALE( - sPicTable_SneaselF, + gObjectEventPic_SneaselF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sSneaselLevelUpLearnset, .teachableLearnset = sSneaselTeachableLearnset, @@ -5393,18 +5478,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-4, 10, SHADOW_SIZE_M) FOOTPRINT(Weavile) OVERWORLD( - sPicTable_Weavile, + gObjectEventPic_Weavile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Weavile, gShinyOverworldPalette_Weavile ) OVERWORLD_FEMALE( - sPicTable_WeavileF, + gObjectEventPic_WeavileF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sWeavileLevelUpLearnset, .teachableLearnset = sWeavileTeachableLearnset, @@ -5470,18 +5557,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Sneasel) OVERWORLD( - sPicTable_SneaselHisui, + gObjectEventPic_SneaselHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SneaselHisui, gShinyOverworldPalette_SneaselHisui ) OVERWORLD_FEMALE( - sPicTable_SneaselHisuiF, + gObjectEventPic_SneaselHisuiF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .isHisuianForm = TRUE, .levelUpLearnset = sSneaselHisuiLevelUpLearnset, @@ -5541,10 +5630,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Sneasler) OVERWORLD( - sPicTable_Sneasler, + gObjectEventPic_Sneasler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sneasler, gShinyOverworldPalette_Sneasler ) @@ -5614,10 +5704,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Teddiursa) OVERWORLD( - sPicTable_Teddiursa, + gObjectEventPic_Teddiursa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Teddiursa, gShinyOverworldPalette_Teddiursa ) @@ -5690,18 +5781,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Ursaring) OVERWORLD( - sPicTable_Ursaring, + gObjectEventPic_Ursaring, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ursaring, gShinyOverworldPalette_Ursaring ) OVERWORLD_FEMALE( - sPicTable_UrsaringF, + gObjectEventPic_UrsaringF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sUrsaringLevelUpLearnset, .teachableLearnset = sUrsaringTeachableLearnset, @@ -5759,10 +5852,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ursaluna) OVERWORLD( - sPicTable_Ursaluna, + gObjectEventPic_Ursaluna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ursaluna, gShinyOverworldPalette_Ursaluna ) @@ -5884,10 +5978,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Slugma) OVERWORLD( - sPicTable_Slugma, + gObjectEventPic_Slugma, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Slugma, gShinyOverworldPalette_Slugma ) @@ -5960,10 +6055,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Magcargo) OVERWORLD( - sPicTable_Magcargo, + gObjectEventPic_Magcargo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Magcargo, gShinyOverworldPalette_Magcargo ) @@ -6032,10 +6128,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-3, -6, SHADOW_SIZE_S) FOOTPRINT(Swinub) OVERWORLD( - sPicTable_Swinub, + gObjectEventPic_Swinub, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Swinub, gShinyOverworldPalette_Swinub ) @@ -6111,18 +6208,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Piloswine) OVERWORLD( - sPicTable_Piloswine, + gObjectEventPic_Piloswine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Piloswine, gShinyOverworldPalette_Piloswine ) OVERWORLD_FEMALE( - sPicTable_PiloswineF, + gObjectEventPic_PiloswineF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sPiloswineLevelUpLearnset, .teachableLearnset = sPiloswineTeachableLearnset, @@ -6194,18 +6293,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(7, 7, SHADOW_SIZE_L) FOOTPRINT(Mamoswine) OVERWORLD( - sPicTable_Mamoswine, + gObjectEventPic_Mamoswine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mamoswine, gShinyOverworldPalette_Mamoswine ) OVERWORLD_FEMALE( - sPicTable_MamoswineF, + gObjectEventPic_MamoswineF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sMamoswineLevelUpLearnset, .teachableLearnset = sMamoswineTeachableLearnset, @@ -6282,10 +6383,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Corsola) OVERWORLD( - sPicTable_Corsola, + gObjectEventPic_Corsola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Corsola, gShinyOverworldPalette_Corsola ) @@ -6346,10 +6448,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Corsola) OVERWORLD( - sPicTable_CorsolaGalar, + gObjectEventPic_CorsolaGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_CorsolaGalar, gShinyOverworldPalette_CorsolaGalar ) @@ -6411,10 +6514,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Cursola) OVERWORLD( - sPicTable_Cursola, + gObjectEventPic_Cursola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cursola, gShinyOverworldPalette_Cursola ) @@ -6483,10 +6587,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Remoraid) OVERWORLD( - sPicTable_Remoraid, + gObjectEventPic_Remoraid, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Remoraid, gShinyOverworldPalette_Remoraid ) @@ -6563,18 +6668,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Octillery) OVERWORLD( - sPicTable_Octillery, + gObjectEventPic_Octillery, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Octillery, gShinyOverworldPalette_Octillery ) OVERWORLD_FEMALE( - sPicTable_OctilleryF, + gObjectEventPic_OctilleryF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_SLITHER + TRACKS_SLITHER, + sAnimTable_Following ) .levelUpLearnset = sOctilleryLevelUpLearnset, .teachableLearnset = sOctilleryTeachableLearnset, @@ -6635,10 +6742,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Delibird) OVERWORLD( - sPicTable_Delibird, + gObjectEventPic_Delibird, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Delibird, gShinyOverworldPalette_Delibird ) @@ -6705,10 +6813,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Mantyke) OVERWORLD( - sPicTable_Mantyke, + gObjectEventPic_Mantyke, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mantyke, gShinyOverworldPalette_Mantyke ) @@ -6781,10 +6890,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Mantine) OVERWORLD( - sPicTable_Mantine, + gObjectEventPic_Mantine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Mantine, gShinyOverworldPalette_Mantine ) @@ -6849,10 +6959,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 9, SHADOW_SIZE_M) FOOTPRINT(Skarmory) OVERWORLD( - sPicTable_Skarmory, + gObjectEventPic_Skarmory, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Skarmory, gShinyOverworldPalette_Skarmory ) @@ -6916,10 +7027,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Houndour) OVERWORLD( - sPicTable_Houndour, + gObjectEventPic_Houndour, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Houndour, gShinyOverworldPalette_Houndour ) @@ -6988,18 +7100,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-5, 13, SHADOW_SIZE_L) FOOTPRINT(Houndoom) OVERWORLD( - sPicTable_Houndoom, + gObjectEventPic_Houndoom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Houndoom, gShinyOverworldPalette_Houndoom ) OVERWORLD_FEMALE( - sPicTable_HoundoomF, + gObjectEventPic_HoundoomF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sHoundoomLevelUpLearnset, .teachableLearnset = sHoundoomTeachableLearnset, @@ -7124,10 +7238,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, -2, SHADOW_SIZE_M) FOOTPRINT(Phanpy) OVERWORLD( - sPicTable_Phanpy, + gObjectEventPic_Phanpy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Phanpy, gShinyOverworldPalette_Phanpy ) @@ -7198,18 +7313,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(7, 2, SHADOW_SIZE_L) FOOTPRINT(Donphan) OVERWORLD( - sPicTable_Donphan, + gObjectEventPic_Donphan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Donphan, gShinyOverworldPalette_Donphan ) OVERWORLD_FEMALE( - sPicTable_DonphanF, + gObjectEventPic_DonphanF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sDonphanLevelUpLearnset, .teachableLearnset = sDonphanTeachableLearnset, @@ -7274,10 +7391,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Stantler) OVERWORLD( - sPicTable_Stantler, + gObjectEventPic_Stantler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Stantler, gShinyOverworldPalette_Stantler ) @@ -7339,10 +7457,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Wyrdeer) OVERWORLD( - sPicTable_Wyrdeer, + gObjectEventPic_Wyrdeer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Wyrdeer, gShinyOverworldPalette_Wyrdeer ) @@ -7412,10 +7531,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(6, 7, SHADOW_SIZE_S) FOOTPRINT(Smeargle) OVERWORLD( - sPicTable_Smeargle, + gObjectEventPic_Smeargle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Smeargle, gShinyOverworldPalette_Smeargle ) @@ -7485,10 +7605,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-3, 4, SHADOW_SIZE_M) FOOTPRINT(Miltank) OVERWORLD( - sPicTable_Miltank, + gObjectEventPic_Miltank, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Miltank, gShinyOverworldPalette_Miltank ) @@ -7564,10 +7685,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-4, 7, SHADOW_SIZE_L) FOOTPRINT(Raikou) OVERWORLD( - sPicTable_Raikou, + gObjectEventPic_Raikou, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Raikou, gShinyOverworldPalette_Raikou ) @@ -7643,10 +7765,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 8, SHADOW_SIZE_L) FOOTPRINT(Entei) OVERWORLD( - sPicTable_Entei, + gObjectEventPic_Entei, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Entei, gShinyOverworldPalette_Entei ) @@ -7722,10 +7845,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Suicune) OVERWORLD( - sPicTable_Suicune, + gObjectEventPic_Suicune, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Suicune, gShinyOverworldPalette_Suicune ) @@ -7792,10 +7916,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Larvitar) OVERWORLD( - sPicTable_Larvitar, + gObjectEventPic_Larvitar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Larvitar, gShinyOverworldPalette_Larvitar ) @@ -7858,10 +7983,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Pupitar) OVERWORLD( - sPicTable_Pupitar, + gObjectEventPic_Pupitar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Pupitar, gShinyOverworldPalette_Pupitar ) @@ -7931,10 +8057,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Tyranitar) OVERWORLD( - sPicTable_Tyranitar, + gObjectEventPic_Tyranitar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tyranitar, gShinyOverworldPalette_Tyranitar ) @@ -8075,10 +8202,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 17, SHADOW_SIZE_L) FOOTPRINT(Lugia) OVERWORLD( - sPicTable_Lugia, + gObjectEventPic_Lugia, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Lugia, gShinyOverworldPalette_Lugia ) @@ -8153,10 +8281,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 17, SHADOW_SIZE_L) FOOTPRINT(HoOh) OVERWORLD( - sPicTable_HoOh, + gObjectEventPic_HoOh, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_HoOh, gShinyOverworldPalette_HoOh ) @@ -8233,10 +8362,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 14, SHADOW_SIZE_S) FOOTPRINT(Celebi) OVERWORLD( - sPicTable_Celebi, + gObjectEventPic_Celebi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Celebi, gShinyOverworldPalette_Celebi ) diff --git a/src/data/pokemon/species_info/gen_3_families.h b/src/data/pokemon/species_info/gen_3_families.h index 4f72924cce..76125eb10a 100644 --- a/src/data/pokemon/species_info/gen_3_families.h +++ b/src/data/pokemon/species_info/gen_3_families.h @@ -60,10 +60,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Treecko) OVERWORLD( - sPicTable_Treecko, + gObjectEventPic_Treecko, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Treecko, gShinyOverworldPalette_Treecko ) @@ -129,10 +130,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 7, SHADOW_SIZE_M) FOOTPRINT(Grovyle) OVERWORLD( - sPicTable_Grovyle, + gObjectEventPic_Grovyle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Grovyle, gShinyOverworldPalette_Grovyle ) @@ -201,10 +203,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Sceptile) OVERWORLD( - sPicTable_Sceptile, + gObjectEventPic_Sceptile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sceptile, gShinyOverworldPalette_Sceptile ) @@ -336,18 +339,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Torchic) OVERWORLD( - sPicTable_Torchic, + gObjectEventPic_Torchic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Torchic, gShinyOverworldPalette_Torchic ) OVERWORLD_FEMALE( - sPicTable_TorchicF, + gObjectEventPic_TorchicF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sTorchicLevelUpLearnset, .teachableLearnset = sTorchicTeachableLearnset, @@ -416,18 +421,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Combusken) OVERWORLD( - sPicTable_Combusken, + gObjectEventPic_Combusken, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Combusken, gShinyOverworldPalette_Combusken ) OVERWORLD_FEMALE( - sPicTable_CombuskenF, + gObjectEventPic_CombuskenF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sCombuskenLevelUpLearnset, .teachableLearnset = sCombuskenTeachableLearnset, @@ -502,18 +509,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Blaziken) OVERWORLD( - sPicTable_Blaziken, + gObjectEventPic_Blaziken, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Blaziken, gShinyOverworldPalette_Blaziken ) OVERWORLD_FEMALE( - sPicTable_BlazikenF, + gObjectEventPic_BlazikenF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sBlazikenLevelUpLearnset, .teachableLearnset = sBlazikenTeachableLearnset, @@ -637,10 +646,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Mudkip) OVERWORLD( - sPicTable_Mudkip, + gObjectEventPic_Mudkip, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mudkip, gShinyOverworldPalette_Mudkip ) @@ -710,10 +720,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Marshtomp) OVERWORLD( - sPicTable_Marshtomp, + gObjectEventPic_Marshtomp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Marshtomp, gShinyOverworldPalette_Marshtomp ) @@ -784,10 +795,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Swampert) OVERWORLD( - sPicTable_Swampert, + gObjectEventPic_Swampert, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Swampert, gShinyOverworldPalette_Swampert ) @@ -921,10 +933,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Poochyena) OVERWORLD( - sPicTable_Poochyena, + gObjectEventPic_Poochyena, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Poochyena, gShinyOverworldPalette_Poochyena ) @@ -994,10 +1007,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 6, SHADOW_SIZE_L) FOOTPRINT(Mightyena) OVERWORLD( - sPicTable_Mightyena, + gObjectEventPic_Mightyena, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mightyena, gShinyOverworldPalette_Mightyena ) @@ -1077,10 +1091,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-4, 0, SHADOW_SIZE_M) FOOTPRINT(Zigzagoon) OVERWORLD( - sPicTable_Zigzagoon, + gObjectEventPic_Zigzagoon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zigzagoon, gShinyOverworldPalette_Zigzagoon ) @@ -1153,10 +1168,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-6, 0, SHADOW_SIZE_L) FOOTPRINT(Linoone) OVERWORLD( - sPicTable_Linoone, + gObjectEventPic_Linoone, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Linoone, gShinyOverworldPalette_Linoone ) @@ -1216,10 +1232,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-5, 0, SHADOW_SIZE_M) FOOTPRINT(Zigzagoon) OVERWORLD( - sPicTable_ZigzagoonGalar, + gObjectEventPic_ZigzagoonGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ZigzagoonGalar, gShinyOverworldPalette_ZigzagoonGalar ) @@ -1281,10 +1298,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-4, 0, SHADOW_SIZE_L) FOOTPRINT(Linoone) OVERWORLD( - sPicTable_LinooneGalar, + gObjectEventPic_LinooneGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_LinooneGalar, gShinyOverworldPalette_LinooneGalar ) @@ -1345,10 +1363,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Obstagoon) OVERWORLD( - sPicTable_Obstagoon, + gObjectEventPic_Obstagoon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Obstagoon, gShinyOverworldPalette_Obstagoon ) @@ -1421,10 +1440,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Wurmple) OVERWORLD( - sPicTable_Wurmple, + gObjectEventPic_Wurmple, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Wurmple, gShinyOverworldPalette_Wurmple ) @@ -1489,10 +1509,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Silcoon) OVERWORLD( - sPicTable_Silcoon, + gObjectEventPic_Silcoon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Silcoon, gShinyOverworldPalette_Silcoon ) @@ -1578,18 +1599,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Beautifly) OVERWORLD( - sPicTable_Beautifly, + gObjectEventPic_Beautifly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Beautifly, gShinyOverworldPalette_Beautifly ) OVERWORLD_FEMALE( - sPicTable_BeautiflyF, + gObjectEventPic_BeautiflyF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_NONE + TRACKS_NONE, + sAnimTable_Following ) .levelUpLearnset = sBeautiflyLevelUpLearnset, .teachableLearnset = sBeautiflyTeachableLearnset, @@ -1657,10 +1680,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Cascoon) OVERWORLD( - sPicTable_Cascoon, + gObjectEventPic_Cascoon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Cascoon, gShinyOverworldPalette_Cascoon ) @@ -1754,18 +1778,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Dustox) OVERWORLD( - sPicTable_Dustox, + gObjectEventPic_Dustox, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Dustox, gShinyOverworldPalette_Dustox ) OVERWORLD_FEMALE( - sPicTable_DustoxF, + gObjectEventPic_DustoxF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_NONE + TRACKS_NONE, + sAnimTable_Following ) .levelUpLearnset = sDustoxLevelUpLearnset, .teachableLearnset = sDustoxTeachableLearnset, @@ -1828,10 +1854,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Lotad) OVERWORLD( - sPicTable_Lotad, + gObjectEventPic_Lotad, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lotad, gShinyOverworldPalette_Lotad ) @@ -1898,10 +1925,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 2, SHADOW_SIZE_S) FOOTPRINT(Lombre) OVERWORLD( - sPicTable_Lombre, + gObjectEventPic_Lombre, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lombre, gShinyOverworldPalette_Lombre ) @@ -1981,18 +2009,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Ludicolo) OVERWORLD( - sPicTable_Ludicolo, + gObjectEventPic_Ludicolo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ludicolo, gShinyOverworldPalette_Ludicolo ) OVERWORLD_FEMALE( - sPicTable_LudicoloF, + gObjectEventPic_LudicoloF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sLudicoloLevelUpLearnset, .teachableLearnset = sLudicoloTeachableLearnset, @@ -2061,10 +2091,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Seedot) OVERWORLD( - sPicTable_Seedot, + gObjectEventPic_Seedot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Seedot, gShinyOverworldPalette_Seedot ) @@ -2141,18 +2172,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Nuzleaf) OVERWORLD( - sPicTable_Nuzleaf, + gObjectEventPic_Nuzleaf, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Nuzleaf, gShinyOverworldPalette_Nuzleaf ) OVERWORLD_FEMALE( - sPicTable_NuzleafF, + gObjectEventPic_NuzleafF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sNuzleafLevelUpLearnset, .teachableLearnset = sNuzleafTeachableLearnset, @@ -2230,18 +2263,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Shiftry) OVERWORLD( - sPicTable_Shiftry, + gObjectEventPic_Shiftry, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Shiftry, gShinyOverworldPalette_Shiftry ) OVERWORLD_FEMALE( - sPicTable_ShiftryF, + gObjectEventPic_ShiftryF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sShiftryLevelUpLearnset, .teachableLearnset = sShiftryTeachableLearnset, @@ -2309,10 +2344,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Taillow) OVERWORLD( - sPicTable_Taillow, + gObjectEventPic_Taillow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Taillow, gShinyOverworldPalette_Taillow ) @@ -2382,10 +2418,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-7, 7, SHADOW_SIZE_M) FOOTPRINT(Swellow) OVERWORLD( - sPicTable_Swellow, + gObjectEventPic_Swellow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Swellow, gShinyOverworldPalette_Swellow ) @@ -2455,10 +2492,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 15, SHADOW_SIZE_S) FOOTPRINT(Wingull) OVERWORLD( - sPicTable_Wingull, + gObjectEventPic_Wingull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Wingull, gShinyOverworldPalette_Wingull ) @@ -2540,10 +2578,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 17, SHADOW_SIZE_M) FOOTPRINT(Pelipper) OVERWORLD( - sPicTable_Pelipper, + gObjectEventPic_Pelipper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Pelipper, gShinyOverworldPalette_Pelipper ) @@ -2615,10 +2654,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Ralts) OVERWORLD( - sPicTable_Ralts, + gObjectEventPic_Ralts, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ralts, gShinyOverworldPalette_Ralts ) @@ -2682,10 +2722,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Kirlia) OVERWORLD( - sPicTable_Kirlia, + gObjectEventPic_Kirlia, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Kirlia, gShinyOverworldPalette_Kirlia ) @@ -2755,10 +2796,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Gardevoir) OVERWORLD( - sPicTable_Gardevoir, + gObjectEventPic_Gardevoir, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gardevoir, gShinyOverworldPalette_Gardevoir ) @@ -2890,10 +2932,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 13, SHADOW_SIZE_L) FOOTPRINT(Gallade) OVERWORLD( - sPicTable_Gallade, + gObjectEventPic_Gallade, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gallade, gShinyOverworldPalette_Gallade ) @@ -3021,10 +3064,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Surskit) OVERWORLD( - sPicTable_Surskit, + gObjectEventPic_Surskit, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Surskit, gShinyOverworldPalette_Surskit ) @@ -3103,10 +3147,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-4, 17, SHADOW_SIZE_M) FOOTPRINT(Masquerain) OVERWORLD( - sPicTable_Masquerain, + gObjectEventPic_Masquerain, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Masquerain, gShinyOverworldPalette_Masquerain ) @@ -3184,10 +3229,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Shroomish) OVERWORLD( - sPicTable_Shroomish, + gObjectEventPic_Shroomish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Shroomish, gShinyOverworldPalette_Shroomish ) @@ -3259,10 +3305,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-4, 9, SHADOW_SIZE_M) FOOTPRINT(Breloom) OVERWORLD( - sPicTable_Breloom, + gObjectEventPic_Breloom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Breloom, gShinyOverworldPalette_Breloom ) @@ -3329,10 +3376,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, -4, SHADOW_SIZE_M) FOOTPRINT(Slakoth) OVERWORLD( - sPicTable_Slakoth, + gObjectEventPic_Slakoth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Slakoth, gShinyOverworldPalette_Slakoth ) @@ -3400,10 +3448,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 6, SHADOW_SIZE_M) FOOTPRINT(Vigoroth) OVERWORLD( - sPicTable_Vigoroth, + gObjectEventPic_Vigoroth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vigoroth, gShinyOverworldPalette_Vigoroth ) @@ -3476,10 +3525,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Slaking) OVERWORLD( - sPicTable_Slaking, + gObjectEventPic_Slaking, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Slaking, gShinyOverworldPalette_Slaking ) @@ -3546,10 +3596,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, -3, SHADOW_SIZE_M) FOOTPRINT(Nincada) OVERWORLD( - sPicTable_Nincada, + gObjectEventPic_Nincada, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Nincada, gShinyOverworldPalette_Nincada ) @@ -3630,10 +3681,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Ninjask) OVERWORLD( - sPicTable_Ninjask, + gObjectEventPic_Ninjask, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Ninjask, gShinyOverworldPalette_Ninjask ) @@ -3698,10 +3750,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 9, SHADOW_SIZE_S) FOOTPRINT(Shedinja) OVERWORLD( - sPicTable_Shedinja, + gObjectEventPic_Shedinja, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Shedinja, gShinyOverworldPalette_Shedinja ) @@ -3772,10 +3825,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Whismur) OVERWORLD( - sPicTable_Whismur, + gObjectEventPic_Whismur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Whismur, gShinyOverworldPalette_Whismur ) @@ -3841,10 +3895,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Loudred) OVERWORLD( - sPicTable_Loudred, + gObjectEventPic_Loudred, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Loudred, gShinyOverworldPalette_Loudred ) @@ -3915,10 +3970,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 12, SHADOW_SIZE_L) FOOTPRINT(Exploud) OVERWORLD( - sPicTable_Exploud, + gObjectEventPic_Exploud, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Exploud, gShinyOverworldPalette_Exploud ) @@ -3989,10 +4045,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Makuhita) OVERWORLD( - sPicTable_Makuhita, + gObjectEventPic_Makuhita, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Makuhita, gShinyOverworldPalette_Makuhita ) @@ -4058,10 +4115,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 9, SHADOW_SIZE_L) FOOTPRINT(Hariyama) OVERWORLD( - sPicTable_Hariyama, + gObjectEventPic_Hariyama, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hariyama, gShinyOverworldPalette_Hariyama ) @@ -4130,10 +4188,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Nosepass) OVERWORLD( - sPicTable_Nosepass, + gObjectEventPic_Nosepass, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Nosepass, gShinyOverworldPalette_Nosepass ) @@ -4204,10 +4263,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 13, SHADOW_SIZE_L) FOOTPRINT(Probopass) OVERWORLD( - sPicTable_Probopass, + gObjectEventPic_Probopass, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Probopass, gShinyOverworldPalette_Probopass ) @@ -4276,10 +4336,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Skitty) OVERWORLD( - sPicTable_Skitty, + gObjectEventPic_Skitty, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Skitty, gShinyOverworldPalette_Skitty ) @@ -4354,10 +4415,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Delcatty) OVERWORLD( - sPicTable_Delcatty, + gObjectEventPic_Delcatty, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Delcatty, gShinyOverworldPalette_Delcatty ) @@ -4429,10 +4491,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Sableye) OVERWORLD( - sPicTable_Sableye, + gObjectEventPic_Sableye, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sableye, gShinyOverworldPalette_Sableye ) @@ -4570,10 +4633,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 4, SHADOW_SIZE_L) FOOTPRINT(Mawile) OVERWORLD( - sPicTable_Mawile, + gObjectEventPic_Mawile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mawile, gShinyOverworldPalette_Mawile ) @@ -4703,10 +4767,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Aron) OVERWORLD( - sPicTable_Aron, + gObjectEventPic_Aron, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Aron, gShinyOverworldPalette_Aron ) @@ -4773,10 +4838,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 2, SHADOW_SIZE_L) FOOTPRINT(Lairon) OVERWORLD( - sPicTable_Lairon, + gObjectEventPic_Lairon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lairon, gShinyOverworldPalette_Lairon ) @@ -4846,10 +4912,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(5, 12, SHADOW_SIZE_L) FOOTPRINT(Aggron) OVERWORLD( - sPicTable_Aggron, + gObjectEventPic_Aggron, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Aggron, gShinyOverworldPalette_Aggron ) @@ -4980,18 +5047,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Meditite) OVERWORLD( - sPicTable_Meditite, + gObjectEventPic_Meditite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Meditite, gShinyOverworldPalette_Meditite ) OVERWORLD_FEMALE( - sPicTable_MedititeF, + gObjectEventPic_MedititeF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sMedititeLevelUpLearnset, .teachableLearnset = sMedititeTeachableLearnset, @@ -5063,18 +5132,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 13, SHADOW_SIZE_S) FOOTPRINT(Medicham) OVERWORLD( - sPicTable_Medicham, + gObjectEventPic_Medicham, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Medicham, gShinyOverworldPalette_Medicham ) OVERWORLD_FEMALE( - sPicTable_MedichamF, + gObjectEventPic_MedichamF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sMedichamLevelUpLearnset, .teachableLearnset = sMedichamTeachableLearnset, @@ -5198,10 +5269,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(3, -1, SHADOW_SIZE_M) FOOTPRINT(Electrike) OVERWORLD( - sPicTable_Electrike, + gObjectEventPic_Electrike, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Electrike, gShinyOverworldPalette_Electrike ) @@ -5267,10 +5339,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 10, SHADOW_SIZE_M) FOOTPRINT(Manectric) OVERWORLD( - sPicTable_Manectric, + gObjectEventPic_Manectric, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Manectric, gShinyOverworldPalette_Manectric ) @@ -5400,10 +5473,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Plusle) OVERWORLD( - sPicTable_Plusle, + gObjectEventPic_Plusle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Plusle, gShinyOverworldPalette_Plusle ) @@ -5475,10 +5549,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-4, 3, SHADOW_SIZE_S) FOOTPRINT(Minun) OVERWORLD( - sPicTable_Minun, + gObjectEventPic_Minun, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Minun, gShinyOverworldPalette_Minun ) @@ -5554,10 +5629,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Volbeat) OVERWORLD( - sPicTable_Volbeat, + gObjectEventPic_Volbeat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Volbeat, gShinyOverworldPalette_Volbeat ) @@ -5633,10 +5709,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Illumise) OVERWORLD( - sPicTable_Illumise, + gObjectEventPic_Illumise, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Illumise, gShinyOverworldPalette_Illumise ) @@ -5704,10 +5781,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Budew) OVERWORLD( - sPicTable_Budew, + gObjectEventPic_Budew, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Budew, gShinyOverworldPalette_Budew ) @@ -5780,18 +5858,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Roselia) OVERWORLD( - sPicTable_Roselia, + gObjectEventPic_Roselia, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Roselia, gShinyOverworldPalette_Roselia ) OVERWORLD_FEMALE( - sPicTable_RoseliaF, + gObjectEventPic_RoseliaF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sRoseliaLevelUpLearnset, .teachableLearnset = sRoseliaTeachableLearnset, @@ -5869,18 +5949,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Roserade) OVERWORLD( - sPicTable_Roserade, + gObjectEventPic_Roserade, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Roserade, gShinyOverworldPalette_Roserade ) OVERWORLD_FEMALE( - sPicTable_RoseradeF, + gObjectEventPic_RoseradeF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sRoseradeLevelUpLearnset, .teachableLearnset = sRoseradeTeachableLearnset, @@ -5953,18 +6035,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Gulpin) OVERWORLD( - sPicTable_Gulpin, + gObjectEventPic_Gulpin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Gulpin, gShinyOverworldPalette_Gulpin ) OVERWORLD_FEMALE( - sPicTable_GulpinF, + gObjectEventPic_GulpinF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_SPOT + TRACKS_SPOT, + sAnimTable_Following ) .levelUpLearnset = sGulpinLevelUpLearnset, .teachableLearnset = sGulpinTeachableLearnset, @@ -6035,18 +6119,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 3, SHADOW_SIZE_L) FOOTPRINT(Swalot) OVERWORLD( - sPicTable_Swalot, + gObjectEventPic_Swalot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Swalot, gShinyOverworldPalette_Swalot ) OVERWORLD_FEMALE( - sPicTable_SwalotF, + gObjectEventPic_SwalotF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_SLITHER + TRACKS_SLITHER, + sAnimTable_Following ) .levelUpLearnset = sSwalotLevelUpLearnset, .teachableLearnset = sSwalotTeachableLearnset, @@ -6115,10 +6201,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Carvanha) OVERWORLD( - sPicTable_Carvanha, + gObjectEventPic_Carvanha, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Carvanha, gShinyOverworldPalette_Carvanha ) @@ -6189,10 +6276,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Sharpedo) OVERWORLD( - sPicTable_Sharpedo, + gObjectEventPic_Sharpedo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Sharpedo, gShinyOverworldPalette_Sharpedo ) @@ -6322,10 +6410,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Wailmer) OVERWORLD( - sPicTable_Wailmer, + gObjectEventPic_Wailmer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Wailmer, gShinyOverworldPalette_Wailmer ) @@ -6390,10 +6479,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Wailord) OVERWORLD( - sPicTable_Wailord, + gObjectEventPic_Wailord, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Wailord, gShinyOverworldPalette_Wailord ) @@ -6469,18 +6559,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 2, SHADOW_SIZE_S) FOOTPRINT(Numel) OVERWORLD( - sPicTable_Numel, + gObjectEventPic_Numel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Numel, gShinyOverworldPalette_Numel ) OVERWORLD_FEMALE( - sPicTable_NumelF, + gObjectEventPic_NumelF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sNumelLevelUpLearnset, .teachableLearnset = sNumelTeachableLearnset, @@ -6557,18 +6649,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 4, SHADOW_SIZE_L) FOOTPRINT(Camerupt) OVERWORLD( - sPicTable_Camerupt, + gObjectEventPic_Camerupt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Camerupt, gShinyOverworldPalette_Camerupt ) OVERWORLD_FEMALE( - sPicTable_CameruptF, + gObjectEventPic_CameruptF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sCameruptLevelUpLearnset, .teachableLearnset = sCameruptTeachableLearnset, @@ -6698,10 +6792,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(Torkoal) OVERWORLD( - sPicTable_Torkoal, + gObjectEventPic_Torkoal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Torkoal, gShinyOverworldPalette_Torkoal ) @@ -6774,10 +6869,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Spoink) OVERWORLD( - sPicTable_Spoink, + gObjectEventPic_Spoink, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Spoink, gShinyOverworldPalette_Spoink ) @@ -6844,10 +6940,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Grumpig) OVERWORLD( - sPicTable_Grumpig, + gObjectEventPic_Grumpig, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Grumpig, gShinyOverworldPalette_Grumpig ) @@ -6918,10 +7015,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 6, SHADOW_SIZE_S) FOOTPRINT(Spinda) OVERWORLD( - sPicTable_Spinda, + gObjectEventPic_Spinda, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Spinda, gShinyOverworldPalette_Spinda ) @@ -6993,10 +7091,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, -1, SHADOW_SIZE_S) FOOTPRINT(Trapinch) OVERWORLD( - sPicTable_Trapinch, + gObjectEventPic_Trapinch, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Trapinch, gShinyOverworldPalette_Trapinch ) @@ -7069,10 +7168,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 0, SHADOW_SIZE_L) FOOTPRINT(Vibrava) OVERWORLD( - sPicTable_Vibrava, + gObjectEventPic_Vibrava, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vibrava, gShinyOverworldPalette_Vibrava ) @@ -7151,10 +7251,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 17, SHADOW_SIZE_M) FOOTPRINT(Flygon) OVERWORLD( - sPicTable_Flygon, + gObjectEventPic_Flygon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Flygon, gShinyOverworldPalette_Flygon ) @@ -7227,10 +7328,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Cacnea) OVERWORLD( - sPicTable_Cacnea, + gObjectEventPic_Cacnea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cacnea, gShinyOverworldPalette_Cacnea ) @@ -7302,18 +7404,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 14, SHADOW_SIZE_M) FOOTPRINT(Cacturne) OVERWORLD( - sPicTable_Cacturne, + gObjectEventPic_Cacturne, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cacturne, gShinyOverworldPalette_Cacturne ) OVERWORLD_FEMALE( - sPicTable_CacturneF, + gObjectEventPic_CacturneF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sCacturneLevelUpLearnset, .teachableLearnset = sCacturneTeachableLearnset, @@ -7380,10 +7484,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Swablu) OVERWORLD( - sPicTable_Swablu, + gObjectEventPic_Swablu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Swablu, gShinyOverworldPalette_Swablu ) @@ -7450,10 +7555,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Altaria) OVERWORLD( - sPicTable_Altaria, + gObjectEventPic_Altaria, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Altaria, gShinyOverworldPalette_Altaria ) @@ -7584,10 +7690,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Zangoose) OVERWORLD( - sPicTable_Zangoose, + gObjectEventPic_Zangoose, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zangoose, gShinyOverworldPalette_Zangoose ) @@ -7659,10 +7766,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 7, SHADOW_SIZE_L) FOOTPRINT(Seviper) OVERWORLD( - sPicTable_Seviper, + gObjectEventPic_Seviper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BIKE_TIRE, + sAnimTable_Following, gOverworldPalette_Seviper, gShinyOverworldPalette_Seviper ) @@ -7738,10 +7846,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Lunatone) OVERWORLD( - sPicTable_Lunatone, + gObjectEventPic_Lunatone, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Lunatone, gShinyOverworldPalette_Lunatone ) @@ -7816,10 +7925,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(Solrock) OVERWORLD( - sPicTable_Solrock, + gObjectEventPic_Solrock, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Solrock, gShinyOverworldPalette_Solrock ) @@ -7898,10 +8008,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Barboach) OVERWORLD( - sPicTable_Barboach, + gObjectEventPic_Barboach, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Barboach, gShinyOverworldPalette_Barboach ) @@ -7979,10 +8090,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Whiscash) OVERWORLD( - sPicTable_Whiscash, + gObjectEventPic_Whiscash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Whiscash, gShinyOverworldPalette_Whiscash ) @@ -8050,10 +8162,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Corphish) OVERWORLD( - sPicTable_Corphish, + gObjectEventPic_Corphish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Corphish, gShinyOverworldPalette_Corphish ) @@ -8119,10 +8232,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(6, 9, SHADOW_SIZE_M) FOOTPRINT(Crawdaunt) OVERWORLD( - sPicTable_Crawdaunt, + gObjectEventPic_Crawdaunt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Crawdaunt, gShinyOverworldPalette_Crawdaunt ) @@ -8192,10 +8306,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Baltoy) OVERWORLD( - sPicTable_Baltoy, + gObjectEventPic_Baltoy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Baltoy, gShinyOverworldPalette_Baltoy ) @@ -8264,10 +8379,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 18, SHADOW_SIZE_M) FOOTPRINT(Claydol) OVERWORLD( - sPicTable_Claydol, + gObjectEventPic_Claydol, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Claydol, gShinyOverworldPalette_Claydol ) @@ -8340,10 +8456,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Lileep) OVERWORLD( - sPicTable_Lileep, + gObjectEventPic_Lileep, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Lileep, gShinyOverworldPalette_Lileep ) @@ -8418,10 +8535,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Cradily) OVERWORLD( - sPicTable_Cradily, + gObjectEventPic_Cradily, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Cradily, gShinyOverworldPalette_Cradily ) @@ -8495,10 +8613,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Anorith) OVERWORLD( - sPicTable_Anorith, + gObjectEventPic_Anorith, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Anorith, gShinyOverworldPalette_Anorith ) @@ -8570,10 +8689,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 11, SHADOW_SIZE_L) FOOTPRINT(Armaldo) OVERWORLD( - sPicTable_Armaldo, + gObjectEventPic_Armaldo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Armaldo, gShinyOverworldPalette_Armaldo ) @@ -8645,10 +8765,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Feebas) OVERWORLD( - sPicTable_Feebas, + gObjectEventPic_Feebas, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Feebas, gShinyOverworldPalette_Feebas ) @@ -8729,18 +8850,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Milotic) OVERWORLD( - sPicTable_Milotic, + gObjectEventPic_Milotic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Milotic, gShinyOverworldPalette_Milotic ) OVERWORLD_FEMALE( - sPicTable_MiloticF, + gObjectEventPic_MiloticF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_SLITHER + TRACKS_SLITHER, + sAnimTable_Following ) .levelUpLearnset = sMiloticLevelUpLearnset, .teachableLearnset = sMiloticTeachableLearnset, @@ -8807,10 +8930,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 10, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( - sPicTable_CastformNormal, + gObjectEventPic_CastformNormal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_CastformNormal, gShinyOverworldPalette_CastformNormal ) @@ -8882,10 +9006,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( - sPicTable_CastformSunny, + gObjectEventPic_CastformSunny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_CastformSunny, gShinyOverworldPalette_CastformSunny ) @@ -8955,10 +9080,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( - sPicTable_CastformRainy, + gObjectEventPic_CastformRainy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_CastformRainy, gShinyOverworldPalette_CastformRainy ) @@ -9028,10 +9154,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( - sPicTable_CastformSnowy, + gObjectEventPic_CastformSnowy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_CastformSnowy, gShinyOverworldPalette_CastformSnowy ) @@ -9105,10 +9232,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 8, SHADOW_SIZE_S) FOOTPRINT(Kecleon) OVERWORLD( - sPicTable_Kecleon, + gObjectEventPic_Kecleon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Kecleon, gShinyOverworldPalette_Kecleon ) @@ -9183,10 +9311,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 12, SHADOW_SIZE_S) FOOTPRINT(Shuppet) OVERWORLD( - sPicTable_Shuppet, + gObjectEventPic_Shuppet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Shuppet, gShinyOverworldPalette_Shuppet ) @@ -9260,10 +9389,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Banette) OVERWORLD( - sPicTable_Banette, + gObjectEventPic_Banette, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Banette, gShinyOverworldPalette_Banette ) @@ -9397,10 +9527,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Duskull) OVERWORLD( - sPicTable_Duskull, + gObjectEventPic_Duskull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Duskull, gShinyOverworldPalette_Duskull ) @@ -9473,10 +9604,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Dusclops) OVERWORLD( - sPicTable_Dusclops, + gObjectEventPic_Dusclops, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dusclops, gShinyOverworldPalette_Dusclops ) @@ -9561,10 +9693,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(6, 13, SHADOW_SIZE_M) FOOTPRINT(Dusknoir) OVERWORLD( - sPicTable_Dusknoir, + gObjectEventPic_Dusknoir, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dusknoir, gShinyOverworldPalette_Dusknoir ) @@ -9635,10 +9768,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-6, 13, SHADOW_SIZE_L) FOOTPRINT(Tropius) OVERWORLD( - sPicTable_Tropius, + gObjectEventPic_Tropius, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tropius, gShinyOverworldPalette_Tropius ) @@ -9710,10 +9844,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Chingling) OVERWORLD( - sPicTable_Chingling, + gObjectEventPic_Chingling, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Chingling, gShinyOverworldPalette_Chingling ) @@ -9793,10 +9928,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 16, SHADOW_SIZE_S) FOOTPRINT(Chimecho) OVERWORLD( - sPicTable_Chimecho, + gObjectEventPic_Chimecho, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Chimecho, gShinyOverworldPalette_Chimecho ) @@ -9869,10 +10005,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Absol) OVERWORLD( - sPicTable_Absol, + gObjectEventPic_Absol, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Absol, gShinyOverworldPalette_Absol ) @@ -10007,10 +10144,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Snorunt) OVERWORLD( - sPicTable_Snorunt, + gObjectEventPic_Snorunt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Snorunt, gShinyOverworldPalette_Snorunt ) @@ -10082,10 +10220,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(Glalie) OVERWORLD( - sPicTable_Glalie, + gObjectEventPic_Glalie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Glalie, gShinyOverworldPalette_Glalie ) @@ -10209,10 +10348,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Froslass) OVERWORLD( - sPicTable_Froslass, + gObjectEventPic_Froslass, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Froslass, gShinyOverworldPalette_Froslass ) @@ -10287,10 +10427,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Spheal) OVERWORLD( - sPicTable_Spheal, + gObjectEventPic_Spheal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Spheal, gShinyOverworldPalette_Spheal ) @@ -10360,10 +10501,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 2, SHADOW_SIZE_L) FOOTPRINT(Sealeo) OVERWORLD( - sPicTable_Sealeo, + gObjectEventPic_Sealeo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sealeo, gShinyOverworldPalette_Sealeo ) @@ -10438,10 +10580,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Walrein) OVERWORLD( - sPicTable_Walrein, + gObjectEventPic_Walrein, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Walrein, gShinyOverworldPalette_Walrein ) @@ -10509,10 +10652,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Clamperl) OVERWORLD( - sPicTable_Clamperl, + gObjectEventPic_Clamperl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Clamperl, gShinyOverworldPalette_Clamperl ) @@ -10583,10 +10727,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(Huntail) OVERWORLD( - sPicTable_Huntail, + gObjectEventPic_Huntail, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Huntail, gShinyOverworldPalette_Huntail ) @@ -10651,10 +10796,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 5, SHADOW_SIZE_M) FOOTPRINT(Gorebyss) OVERWORLD( - sPicTable_Gorebyss, + gObjectEventPic_Gorebyss, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Gorebyss, gShinyOverworldPalette_Gorebyss ) @@ -10728,18 +10874,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Relicanth) OVERWORLD( - sPicTable_Relicanth, + gObjectEventPic_Relicanth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Relicanth, gShinyOverworldPalette_Relicanth ) OVERWORLD_FEMALE( - sPicTable_RelicanthF, + gObjectEventPic_RelicanthF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_NONE + TRACKS_NONE, + sAnimTable_Following ) .levelUpLearnset = sRelicanthLevelUpLearnset, .teachableLearnset = sRelicanthTeachableLearnset, @@ -10805,10 +10953,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Luvdisc) OVERWORLD( - sPicTable_Luvdisc, + gObjectEventPic_Luvdisc, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, + sAnimTable_Following, gOverworldPalette_Luvdisc, gShinyOverworldPalette_Luvdisc ) @@ -10876,10 +11025,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 3, SHADOW_SIZE_S) FOOTPRINT(Bagon) OVERWORLD( - sPicTable_Bagon, + gObjectEventPic_Bagon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bagon, gShinyOverworldPalette_Bagon ) @@ -10946,10 +11096,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Shelgon) OVERWORLD( - sPicTable_Shelgon, + gObjectEventPic_Shelgon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Shelgon, gShinyOverworldPalette_Shelgon ) @@ -11022,10 +11173,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Salamence) OVERWORLD( - sPicTable_Salamence, + gObjectEventPic_Salamence, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Salamence, gShinyOverworldPalette_Salamence ) @@ -11154,10 +11306,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Beldum) OVERWORLD( - sPicTable_Beldum, + gObjectEventPic_Beldum, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Beldum, gShinyOverworldPalette_Beldum ) @@ -11224,10 +11377,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Metang) OVERWORLD( - sPicTable_Metang, + gObjectEventPic_Metang, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Metang, gShinyOverworldPalette_Metang ) @@ -11299,10 +11453,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, -2, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Metagross) OVERWORLD( - sPicTable_Metagross, + gObjectEventPic_Metagross, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Metagross, gShinyOverworldPalette_Metagross ) @@ -11436,10 +11591,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Regirock) OVERWORLD( - sPicTable_Regirock, + gObjectEventPic_Regirock, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Regirock, gShinyOverworldPalette_Regirock ) @@ -11513,10 +11669,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Regice) OVERWORLD( - sPicTable_Regice, + gObjectEventPic_Regice, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Regice, gShinyOverworldPalette_Regice ) @@ -11591,10 +11748,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Registeel) OVERWORLD( - sPicTable_Registeel, + gObjectEventPic_Registeel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Registeel, gShinyOverworldPalette_Registeel ) @@ -11669,10 +11827,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(3, 15, SHADOW_SIZE_M) FOOTPRINT(Latias) OVERWORLD( - sPicTable_Latias, + gObjectEventPic_Latias, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Latias, gShinyOverworldPalette_Latias ) @@ -11810,10 +11969,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 17, SHADOW_SIZE_M) FOOTPRINT(Latios) OVERWORLD( - sPicTable_Latios, + gObjectEventPic_Latios, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Latios, gShinyOverworldPalette_Latios ) @@ -11951,10 +12111,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kyogre) OVERWORLD( - sPicTable_Kyogre, + gObjectEventPic_Kyogre, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Kyogre, gShinyOverworldPalette_Kyogre ) @@ -12091,10 +12252,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Groudon) OVERWORLD( - sPicTable_Groudon, + gObjectEventPic_Groudon, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Groudon, gShinyOverworldPalette_Groudon ) @@ -12235,10 +12397,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 17, SHADOW_SIZE_L) FOOTPRINT(Rayquaza) OVERWORLD( - sPicTable_Rayquaza, + gObjectEventPic_Rayquaza, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Rayquaza, gShinyOverworldPalette_Rayquaza ) @@ -12386,10 +12549,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Jirachi) OVERWORLD( - sPicTable_Jirachi, + gObjectEventPic_Jirachi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Jirachi, gShinyOverworldPalette_Jirachi ) @@ -12464,10 +12628,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( - sPicTable_DeoxysNormal, + gObjectEventPic_DeoxysNormal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DeoxysNormal, gShinyOverworldPalette_DeoxysNormal ) @@ -12532,10 +12697,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .iconPalIndex = 0, SHADOW(0, 14, SHADOW_SIZE_M) OVERWORLD( - sPicTable_DeoxysAttack, + gObjectEventPic_DeoxysAttack, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DeoxysAttack, gShinyOverworldPalette_DeoxysAttack ) @@ -12601,10 +12767,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( - sPicTable_DeoxysDefense, + gObjectEventPic_DeoxysDefense, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DeoxysDefense, gShinyOverworldPalette_DeoxysDefense ) @@ -12670,10 +12837,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( - sPicTable_DeoxysSpeed, + gObjectEventPic_DeoxysSpeed, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DeoxysSpeed, gShinyOverworldPalette_DeoxysSpeed ) diff --git a/src/data/pokemon/species_info/gen_4_families.h b/src/data/pokemon/species_info/gen_4_families.h index 034d595208..44b221040c 100644 --- a/src/data/pokemon/species_info/gen_4_families.h +++ b/src/data/pokemon/species_info/gen_4_families.h @@ -58,10 +58,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Turtwig) OVERWORLD( - sPicTable_Turtwig, + gObjectEventPic_Turtwig, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Turtwig, gShinyOverworldPalette_Turtwig ) @@ -126,10 +127,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 2, SHADOW_SIZE_L) FOOTPRINT(Grotle) OVERWORLD( - sPicTable_Grotle, + gObjectEventPic_Grotle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Grotle, gShinyOverworldPalette_Grotle ) @@ -199,10 +201,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Torterra) OVERWORLD( - sPicTable_Torterra, + gObjectEventPic_Torterra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Torterra, gShinyOverworldPalette_Torterra ) @@ -270,10 +273,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 3, SHADOW_SIZE_S) FOOTPRINT(Chimchar) OVERWORLD( - sPicTable_Chimchar, + gObjectEventPic_Chimchar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Chimchar, gShinyOverworldPalette_Chimchar ) @@ -341,10 +345,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-7, 6, SHADOW_SIZE_S) FOOTPRINT(Monferno) OVERWORLD( - sPicTable_Monferno, + gObjectEventPic_Monferno, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Monferno, gShinyOverworldPalette_Monferno ) @@ -415,10 +420,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 9, SHADOW_SIZE_L) FOOTPRINT(Infernape) OVERWORLD( - sPicTable_Infernape, + gObjectEventPic_Infernape, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Infernape, gShinyOverworldPalette_Infernape ) @@ -486,10 +492,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Piplup) OVERWORLD( - sPicTable_Piplup, + gObjectEventPic_Piplup, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Piplup, gShinyOverworldPalette_Piplup ) @@ -563,10 +570,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Prinplup) OVERWORLD( - sPicTable_Prinplup, + gObjectEventPic_Prinplup, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Prinplup, gShinyOverworldPalette_Prinplup ) @@ -639,10 +647,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 12, SHADOW_SIZE_M) FOOTPRINT(Empoleon) OVERWORLD( - sPicTable_Empoleon, + gObjectEventPic_Empoleon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Empoleon, gShinyOverworldPalette_Empoleon ) @@ -718,18 +727,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Starly) OVERWORLD( - sPicTable_Starly, + gObjectEventPic_Starly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Starly, gShinyOverworldPalette_Starly ) OVERWORLD_FEMALE( - sPicTable_StarlyF, + gObjectEventPic_StarlyF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sStarlyLevelUpLearnset, .teachableLearnset = sStarlyTeachableLearnset, @@ -796,18 +807,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Staravia) OVERWORLD( - sPicTable_Staravia, + gObjectEventPic_Staravia, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Staravia, gShinyOverworldPalette_Staravia ) OVERWORLD_FEMALE( - sPicTable_StaraviaF, + gObjectEventPic_StaraviaF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sStaraviaLevelUpLearnset, .teachableLearnset = sStaraviaTeachableLearnset, @@ -879,18 +892,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 10, SHADOW_SIZE_M) FOOTPRINT(Staraptor) OVERWORLD( - sPicTable_Staraptor, + gObjectEventPic_Staraptor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Staraptor, gShinyOverworldPalette_Staraptor ) OVERWORLD_FEMALE( - sPicTable_StaraptorF, + gObjectEventPic_StaraptorF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sStaraptorLevelUpLearnset, .teachableLearnset = sStaraptorTeachableLearnset, @@ -962,18 +977,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 1, SHADOW_SIZE_M) FOOTPRINT(Bidoof) OVERWORLD( - sPicTable_Bidoof, + gObjectEventPic_Bidoof, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bidoof, gShinyOverworldPalette_Bidoof ) OVERWORLD_FEMALE( - sPicTable_BidoofF, + gObjectEventPic_BidoofF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sBidoofLevelUpLearnset, .teachableLearnset = sBidoofTeachableLearnset, @@ -1041,18 +1058,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Bibarel) OVERWORLD( - sPicTable_Bibarel, + gObjectEventPic_Bibarel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bibarel, gShinyOverworldPalette_Bibarel ) OVERWORLD_FEMALE( - sPicTable_BibarelF, + gObjectEventPic_BibarelF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sBibarelLevelUpLearnset, .teachableLearnset = sBibarelTeachableLearnset, @@ -1134,18 +1153,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-5, 2, SHADOW_SIZE_S) FOOTPRINT(Kricketot) OVERWORLD( - sPicTable_Kricketot, + gObjectEventPic_Kricketot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Kricketot, gShinyOverworldPalette_Kricketot ) OVERWORLD_FEMALE( - sPicTable_KricketotF, + gObjectEventPic_KricketotF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .tmIlliterate = TRUE, .levelUpLearnset = sKricketotLevelUpLearnset, @@ -1218,18 +1239,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-3, 6, SHADOW_SIZE_S) FOOTPRINT(Kricketune) OVERWORLD( - sPicTable_Kricketune, + gObjectEventPic_Kricketune, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Kricketune, gShinyOverworldPalette_Kricketune ) OVERWORLD_FEMALE( - sPicTable_KricketuneF, + gObjectEventPic_KricketuneF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sKricketuneLevelUpLearnset, .teachableLearnset = sKricketuneTeachableLearnset, @@ -1297,18 +1320,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Shinx) OVERWORLD( - sPicTable_Shinx, + gObjectEventPic_Shinx, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Shinx, gShinyOverworldPalette_Shinx ) OVERWORLD_FEMALE( - sPicTable_ShinxF, + gObjectEventPic_ShinxF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sShinxLevelUpLearnset, .teachableLearnset = sShinxTeachableLearnset, @@ -1375,18 +1400,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-4, 2, SHADOW_SIZE_M) FOOTPRINT(Luxio) OVERWORLD( - sPicTable_Luxio, + gObjectEventPic_Luxio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Luxio, gShinyOverworldPalette_Luxio ) OVERWORLD_FEMALE( - sPicTable_LuxioF, + gObjectEventPic_LuxioF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sLuxioLevelUpLearnset, .teachableLearnset = sLuxioTeachableLearnset, @@ -1461,18 +1488,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 10, SHADOW_SIZE_L) FOOTPRINT(Luxray) OVERWORLD( - sPicTable_Luxray, + gObjectEventPic_Luxray, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Luxray, gShinyOverworldPalette_Luxray ) OVERWORLD_FEMALE( - sPicTable_LuxrayF, + gObjectEventPic_LuxrayF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sLuxrayLevelUpLearnset, .teachableLearnset = sLuxrayTeachableLearnset, @@ -1533,10 +1562,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 4, SHADOW_SIZE_S) FOOTPRINT(Cranidos) OVERWORLD( - sPicTable_Cranidos, + gObjectEventPic_Cranidos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cranidos, gShinyOverworldPalette_Cranidos ) @@ -1602,10 +1632,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(7, 11, SHADOW_SIZE_L) FOOTPRINT(Rampardos) OVERWORLD( - sPicTable_Rampardos, + gObjectEventPic_Rampardos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rampardos, gShinyOverworldPalette_Rampardos ) @@ -1669,10 +1700,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, -1, SHADOW_SIZE_S) FOOTPRINT(Shieldon) OVERWORLD( - sPicTable_Shieldon, + gObjectEventPic_Shieldon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Shieldon, gShinyOverworldPalette_Shieldon ) @@ -1736,10 +1768,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Bastiodon) OVERWORLD( - sPicTable_Bastiodon, + gObjectEventPic_Bastiodon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bastiodon, gShinyOverworldPalette_Bastiodon ) @@ -1800,10 +1833,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( - sPicTable_BurmyPlant, + gObjectEventPic_BurmyPlant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_BurmyPlant, gShinyOverworldPalette_BurmyPlant ) @@ -1867,10 +1901,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( - sPicTable_BurmySandy, + gObjectEventPic_BurmySandy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_BurmySandy, gShinyOverworldPalette_BurmySandy ) @@ -1934,10 +1969,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( - sPicTable_BurmyTrash, + gObjectEventPic_BurmyTrash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_BurmyTrash, gShinyOverworldPalette_BurmyTrash ) @@ -2002,10 +2038,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( - sPicTable_WormadamPlant, + gObjectEventPic_WormadamPlant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_WormadamPlant, gShinyOverworldPalette_WormadamPlant ) @@ -2066,10 +2103,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( - sPicTable_WormadamSandy, + gObjectEventPic_WormadamSandy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_WormadamSandy, gShinyOverworldPalette_WormadamSandy ) @@ -2131,10 +2169,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( - sPicTable_WormadamTrash, + gObjectEventPic_WormadamTrash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_WormadamTrash, gShinyOverworldPalette_WormadamTrash ) @@ -2189,13 +2228,14 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Mothim, \ .iconSprite = gMonIcon_Mothim, \ .iconPalIndex = 0, \ - SHADOW(-1, 9, SHADOW_SIZE_S) \ + SHADOW(-1, 9, SHADOW_SIZE_S) \ FOOTPRINT(Mothim) \ - OVERWORLD( \ - sPicTable_Mothim, \ + OVERWORLD( \ + gObjectEventPic_Mothim, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Mothim, \ gShinyOverworldPalette_Mothim \ ) \ @@ -2274,18 +2314,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-4, 10, SHADOW_SIZE_S) FOOTPRINT(Combee) OVERWORLD( - sPicTable_Combee, + gObjectEventPic_Combee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Combee, gShinyOverworldPalette_Combee ) OVERWORLD_FEMALE( - sPicTable_CombeeF, + gObjectEventPic_CombeeF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .tmIlliterate = TRUE, .levelUpLearnset = sCombeeLevelUpLearnset, @@ -2356,10 +2398,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Vespiquen) OVERWORLD( - sPicTable_Vespiquen, + gObjectEventPic_Vespiquen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vespiquen, gShinyOverworldPalette_Vespiquen ) @@ -2433,18 +2476,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Pachirisu) OVERWORLD( - sPicTable_Pachirisu, + gObjectEventPic_Pachirisu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pachirisu, gShinyOverworldPalette_Pachirisu ) OVERWORLD_FEMALE( - sPicTable_PachirisuF, + gObjectEventPic_PachirisuF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sPachirisuLevelUpLearnset, .teachableLearnset = sPachirisuTeachableLearnset, @@ -2511,18 +2556,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Buizel) OVERWORLD( - sPicTable_Buizel, + gObjectEventPic_Buizel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Buizel, gShinyOverworldPalette_Buizel ) OVERWORLD_FEMALE( - sPicTable_BuizelF, + gObjectEventPic_BuizelF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sBuizelLevelUpLearnset, .teachableLearnset = sBuizelTeachableLearnset, @@ -2591,18 +2638,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-4, 10, SHADOW_SIZE_M) FOOTPRINT(Floatzel) OVERWORLD( - sPicTable_Floatzel, + gObjectEventPic_Floatzel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Floatzel, gShinyOverworldPalette_Floatzel ) OVERWORLD_FEMALE( - sPicTable_FloatzelF, + gObjectEventPic_FloatzelF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sFloatzelLevelUpLearnset, .teachableLearnset = sFloatzelTeachableLearnset, @@ -2671,10 +2720,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-4, -2, SHADOW_SIZE_S) FOOTPRINT(Cherubi) OVERWORLD( - sPicTable_Cherubi, + gObjectEventPic_Cherubi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cherubi, gShinyOverworldPalette_Cherubi ) @@ -2741,10 +2791,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Cherrim) OVERWORLD( - sPicTable_CherrimOvercast, + gObjectEventPic_CherrimOvercast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_CherrimOvercast, gShinyOverworldPalette_CherrimOvercast ) @@ -2869,10 +2920,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Shellos) OVERWORLD( - sPicTable_ShellosWestSea, + gObjectEventPic_ShellosWestSea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ShellosWestSea, gShinyOverworldPalette_ShellosWestSea ) @@ -2933,10 +2985,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, -1, SHADOW_SIZE_S) FOOTPRINT(Shellos) OVERWORLD( - sPicTable_ShellosEast, + gObjectEventPic_ShellosEast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ShellosEast, gShinyOverworldPalette_ShellosEast ) @@ -2997,10 +3050,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Gastrodon) OVERWORLD( - sPicTable_GastrodonWestSea, + gObjectEventPic_GastrodonWestSea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GastrodonWestSea, gShinyOverworldPalette_GastrodonWestSea ) @@ -3059,10 +3113,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Gastrodon) OVERWORLD( - sPicTable_GastrodonEast, + gObjectEventPic_GastrodonEast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GastrodonEast, gShinyOverworldPalette_GastrodonEast ) @@ -3129,10 +3184,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 9, SHADOW_SIZE_S) FOOTPRINT(Drifloon) OVERWORLD( - sPicTable_Drifloon, + gObjectEventPic_Drifloon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Drifloon, gShinyOverworldPalette_Drifloon ) @@ -3200,10 +3256,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Drifblim) OVERWORLD( - sPicTable_Drifblim, + gObjectEventPic_Drifblim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Drifblim, gShinyOverworldPalette_Drifblim ) @@ -3266,10 +3323,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 5, SHADOW_SIZE_S) FOOTPRINT(Buneary) OVERWORLD( - sPicTable_Buneary, + gObjectEventPic_Buneary, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Buneary, gShinyOverworldPalette_Buneary ) @@ -3333,10 +3391,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Lopunny) OVERWORLD( - sPicTable_Lopunny, + gObjectEventPic_Lopunny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lopunny, gShinyOverworldPalette_Lopunny ) @@ -3460,10 +3519,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-3, 6, SHADOW_SIZE_S) FOOTPRINT(Glameow) OVERWORLD( - sPicTable_Glameow, + gObjectEventPic_Glameow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Glameow, gShinyOverworldPalette_Glameow ) @@ -3531,10 +3591,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Purugly) OVERWORLD( - sPicTable_Purugly, + gObjectEventPic_Purugly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Purugly, gShinyOverworldPalette_Purugly ) @@ -3600,10 +3661,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 0, SHADOW_SIZE_M) FOOTPRINT(Stunky) OVERWORLD( - sPicTable_Stunky, + gObjectEventPic_Stunky, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Stunky, gShinyOverworldPalette_Stunky ) @@ -3667,10 +3729,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-3, 6, SHADOW_SIZE_L) FOOTPRINT(Skuntank) OVERWORLD( - sPicTable_Skuntank, + gObjectEventPic_Skuntank, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Skuntank, gShinyOverworldPalette_Skuntank ) @@ -3743,10 +3806,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Bronzor) OVERWORLD( - sPicTable_Bronzor, + gObjectEventPic_Bronzor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bronzor, gShinyOverworldPalette_Bronzor ) @@ -3814,10 +3878,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(5, 12, SHADOW_SIZE_M) FOOTPRINT(Bronzong) OVERWORLD( - sPicTable_Bronzong, + gObjectEventPic_Bronzong, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bronzong, gShinyOverworldPalette_Bronzong ) @@ -3895,10 +3960,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Chatot) OVERWORLD( - sPicTable_Chatot, + gObjectEventPic_Chatot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Chatot, gShinyOverworldPalette_Chatot ) @@ -3963,10 +4029,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Spiritomb) OVERWORLD( - sPicTable_Spiritomb, + gObjectEventPic_Spiritomb, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Spiritomb, gShinyOverworldPalette_Spiritomb ) @@ -4037,18 +4104,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Gible) OVERWORLD( - sPicTable_Gible, + gObjectEventPic_Gible, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gible, gShinyOverworldPalette_Gible ) OVERWORLD_FEMALE( - sPicTable_GibleF, + gObjectEventPic_GibleF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sGibleLevelUpLearnset, .teachableLearnset = sGibleTeachableLearnset, @@ -4115,18 +4184,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 8, SHADOW_SIZE_M) FOOTPRINT(Gabite) OVERWORLD( - sPicTable_Gabite, + gObjectEventPic_Gabite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gabite, gShinyOverworldPalette_Gabite ) OVERWORLD_FEMALE( - sPicTable_GabiteF, + gObjectEventPic_GabiteF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sGabiteLevelUpLearnset, .teachableLearnset = sGabiteTeachableLearnset, @@ -4200,18 +4271,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(5, 11, SHADOW_SIZE_L) FOOTPRINT(Garchomp) OVERWORLD( - sPicTable_Garchomp, + gObjectEventPic_Garchomp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Garchomp, gShinyOverworldPalette_Garchomp ) OVERWORLD_FEMALE( - sPicTable_GarchompF, + gObjectEventPic_GarchompF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sGarchompLevelUpLearnset, .teachableLearnset = sGarchompTeachableLearnset, @@ -4334,10 +4407,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Riolu) OVERWORLD( - sPicTable_Riolu, + gObjectEventPic_Riolu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Riolu, gShinyOverworldPalette_Riolu ) @@ -4401,10 +4475,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Lucario) OVERWORLD( - sPicTable_Lucario, + gObjectEventPic_Lucario, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lucario, gShinyOverworldPalette_Lucario ) @@ -4537,18 +4612,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, -1, SHADOW_SIZE_L) FOOTPRINT(Hippopotas) OVERWORLD( - sPicTable_Hippopotas, + gObjectEventPic_Hippopotas, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hippopotas, gShinyOverworldPalette_Hippopotas ) OVERWORLD_FEMALE( - sPicTable_HippopotasF, + gObjectEventPic_HippopotasF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sHippopotasLevelUpLearnset, .teachableLearnset = sHippopotasTeachableLearnset, @@ -4617,10 +4694,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = NO_SHADOW FOOTPRINT(Hippowdon) OVERWORLD( - sPicTable_Hippowdon, + gObjectEventPic_Hippowdon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hippowdon, gShinyOverworldPalette_Hippowdon ) @@ -4702,10 +4780,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Skorupi) OVERWORLD( - sPicTable_Skorupi, + gObjectEventPic_Skorupi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Skorupi, gShinyOverworldPalette_Skorupi ) @@ -4776,10 +4855,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-3, 6, SHADOW_SIZE_L) FOOTPRINT(Drapion) OVERWORLD( - sPicTable_Drapion, + gObjectEventPic_Drapion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Drapion, gShinyOverworldPalette_Drapion ) @@ -4851,18 +4931,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Croagunk) OVERWORLD( - sPicTable_Croagunk, + gObjectEventPic_Croagunk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Croagunk, gShinyOverworldPalette_Croagunk ) OVERWORLD_FEMALE( - sPicTable_CroagunkF, + gObjectEventPic_CroagunkF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sCroagunkLevelUpLearnset, .teachableLearnset = sCroagunkTeachableLearnset, @@ -4933,18 +5015,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Toxicroak) OVERWORLD( - sPicTable_Toxicroak, + gObjectEventPic_Toxicroak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Toxicroak, gShinyOverworldPalette_Toxicroak ) OVERWORLD_FEMALE( - sPicTable_ToxicroakF, + gObjectEventPic_ToxicroakF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sToxicroakLevelUpLearnset, .teachableLearnset = sToxicroakTeachableLearnset, @@ -5016,10 +5100,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Carnivine) OVERWORLD( - sPicTable_Carnivine, + gObjectEventPic_Carnivine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Carnivine, gShinyOverworldPalette_Carnivine ) @@ -5095,18 +5180,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Finneon) OVERWORLD( - sPicTable_Finneon, + gObjectEventPic_Finneon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Finneon, gShinyOverworldPalette_Finneon ) OVERWORLD_FEMALE( - sPicTable_FinneonF, + gObjectEventPic_FinneonF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sFinneonLevelUpLearnset, .teachableLearnset = sFinneonTeachableLearnset, @@ -5177,18 +5264,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Lumineon) OVERWORLD( - sPicTable_Lumineon, + gObjectEventPic_Lumineon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lumineon, gShinyOverworldPalette_Lumineon ) OVERWORLD_FEMALE( - sPicTable_LumineonF, + gObjectEventPic_LumineonF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sLumineonLevelUpLearnset, .teachableLearnset = sLumineonTeachableLearnset, @@ -5257,18 +5346,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Snover) OVERWORLD( - sPicTable_Snover, + gObjectEventPic_Snover, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Snover, gShinyOverworldPalette_Snover ) OVERWORLD_FEMALE( - sPicTable_SnoverF, + gObjectEventPic_SnoverF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sSnoverLevelUpLearnset, .teachableLearnset = sSnoverTeachableLearnset, @@ -5336,18 +5427,20 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 11, SHADOW_SIZE_L) FOOTPRINT(Abomasnow) OVERWORLD( - sPicTable_Abomasnow, + gObjectEventPic_Abomasnow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Abomasnow, gShinyOverworldPalette_Abomasnow ) OVERWORLD_FEMALE( - sPicTable_AbomasnowF, + gObjectEventPic_AbomasnowF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sAbomasnowLevelUpLearnset, .teachableLearnset = sAbomasnowTeachableLearnset, @@ -5475,10 +5568,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Rotom) OVERWORLD( - sPicTable_Rotom, + gObjectEventPic_Rotom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rotom, gShinyOverworldPalette_Rotom ) @@ -5552,10 +5646,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( - sPicTable_RotomHeat, + gObjectEventPic_RotomHeat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RotomHeat, gShinyOverworldPalette_RotomHeat ) @@ -5622,10 +5717,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( - sPicTable_RotomWash, + gObjectEventPic_RotomWash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RotomWash, gShinyOverworldPalette_RotomWash ) @@ -5690,10 +5786,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( - sPicTable_RotomFrost, + gObjectEventPic_RotomFrost, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RotomFrost, gShinyOverworldPalette_RotomFrost ) @@ -5783,10 +5880,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 9, SHADOW_SIZE_S) FOOTPRINT(Rotom) OVERWORLD( - sPicTable_RotomFan, + gObjectEventPic_RotomFan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RotomFan, gShinyOverworldPalette_RotomFan ) @@ -5854,10 +5952,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( - sPicTable_RotomMow, + gObjectEventPic_RotomMow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RotomMow, gShinyOverworldPalette_RotomMow ) @@ -5931,10 +6030,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 11, SHADOW_SIZE_S) FOOTPRINT(Uxie) OVERWORLD( - sPicTable_Uxie, + gObjectEventPic_Uxie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Uxie, gShinyOverworldPalette_Uxie ) @@ -6014,10 +6114,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Mesprit) OVERWORLD( - sPicTable_Mesprit, + gObjectEventPic_Mesprit, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mesprit, gShinyOverworldPalette_Mesprit ) @@ -6091,10 +6192,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 17, SHADOW_SIZE_S) FOOTPRINT(Azelf) OVERWORLD( - sPicTable_Azelf, + gObjectEventPic_Azelf, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Azelf, gShinyOverworldPalette_Azelf ) @@ -6167,10 +6269,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 12, SHADOW_SIZE_L) FOOTPRINT(Dialga) OVERWORLD( - sPicTable_Dialga, + gObjectEventPic_Dialga, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dialga, gShinyOverworldPalette_Dialga ) @@ -6233,10 +6336,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Dialga) OVERWORLD( - sPicTable_DialgaOrigin, + gObjectEventPic_DialgaOrigin, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_DialgaOrigin, gShinyOverworldPalette_DialgaOrigin ) @@ -6312,10 +6416,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 10, SHADOW_SIZE_L) FOOTPRINT(Palkia) OVERWORLD( - sPicTable_Palkia, + gObjectEventPic_Palkia, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Palkia, gShinyOverworldPalette_Palkia ) @@ -6378,10 +6483,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-3, 14, SHADOW_SIZE_L) FOOTPRINT(Palkia) OVERWORLD( - sPicTable_PalkiaOrigin, + gObjectEventPic_PalkiaOrigin, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_PalkiaOrigin, gShinyOverworldPalette_PalkiaOrigin ) @@ -6456,10 +6562,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 2, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Heatran) OVERWORLD( - sPicTable_Heatran, + gObjectEventPic_Heatran, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Heatran, gShinyOverworldPalette_Heatran ) @@ -6530,10 +6637,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Regigigas) OVERWORLD( - sPicTable_Regigigas, + gObjectEventPic_Regigigas, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Regigigas, gShinyOverworldPalette_Regigigas ) @@ -6607,10 +6715,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 11, SHADOW_SIZE_L) FOOTPRINT(GiratinaAltered) OVERWORLD( - sPicTable_GiratinaAltered, + gObjectEventPic_GiratinaAltered, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GiratinaAltered, gShinyOverworldPalette_GiratinaAltered ) @@ -6680,10 +6789,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 18, SHADOW_SIZE_L) FOOTPRINT(GiratinaOrigin) OVERWORLD( - sPicTable_GiratinaOrigin, + gObjectEventPic_GiratinaOrigin, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GiratinaOrigin, gShinyOverworldPalette_GiratinaOrigin ) @@ -6762,10 +6872,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Cresselia) OVERWORLD( - sPicTable_Cresselia, + gObjectEventPic_Cresselia, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cresselia, gShinyOverworldPalette_Cresselia ) @@ -6838,10 +6949,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Phione) OVERWORLD( - sPicTable_Phione, + gObjectEventPic_Phione, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Phione, gShinyOverworldPalette_Phione ) @@ -6913,10 +7025,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-5, 8, SHADOW_SIZE_S) FOOTPRINT(Manaphy) OVERWORLD( - sPicTable_Manaphy, + gObjectEventPic_Manaphy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Manaphy, gShinyOverworldPalette_Manaphy ) @@ -6991,10 +7104,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 12, SHADOW_SIZE_M) FOOTPRINT(Darkrai) OVERWORLD( - sPicTable_Darkrai, + gObjectEventPic_Darkrai, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Darkrai, gShinyOverworldPalette_Darkrai ) @@ -7071,10 +7185,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, -3, SHADOW_SIZE_S) FOOTPRINT(Shaymin) OVERWORLD( - sPicTable_ShayminLand, + gObjectEventPic_ShayminLand, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ShayminLand, gShinyOverworldPalette_ShayminLand ) @@ -7148,10 +7263,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Shaymin) OVERWORLD( - sPicTable_ShayminSky, + gObjectEventPic_ShayminSky, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ShayminSky, gShinyOverworldPalette_ShayminSky ) @@ -7228,10 +7344,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 15, SHADOW_SIZE_XL_BATTLE_ONLY) \ FOOTPRINT(Arceus) \ OVERWORLD( \ - sPicTable_Arceus ##typeName, \ + gObjectEventPic_Arceus ##typeName, \ SIZE_64x64, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Arceus ##typeName, \ gShinyOverworldPalette_Arceus ##typeName \ ) \ diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index a05e7ff46c..e66657c3ef 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -58,10 +58,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Victini) OVERWORLD( - sPicTable_Victini, + gObjectEventPic_Victini, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Victini, gShinyOverworldPalette_Victini ) @@ -128,10 +129,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Snivy) OVERWORLD( - sPicTable_Snivy, + gObjectEventPic_Snivy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Snivy, gShinyOverworldPalette_Snivy ) @@ -199,10 +201,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Servine) OVERWORLD( - sPicTable_Servine, + gObjectEventPic_Servine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Servine, gShinyOverworldPalette_Servine ) @@ -267,10 +270,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Serperior) OVERWORLD( - sPicTable_Serperior, + gObjectEventPic_Serperior, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Serperior, gShinyOverworldPalette_Serperior ) @@ -336,10 +340,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Tepig) OVERWORLD( - sPicTable_Tepig, + gObjectEventPic_Tepig, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tepig, gShinyOverworldPalette_Tepig ) @@ -403,10 +408,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Pignite) OVERWORLD( - sPicTable_Pignite, + gObjectEventPic_Pignite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pignite, gShinyOverworldPalette_Pignite ) @@ -489,10 +495,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 12, SHADOW_SIZE_L) FOOTPRINT(Emboar) OVERWORLD( - sPicTable_Emboar, + gObjectEventPic_Emboar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Emboar, gShinyOverworldPalette_Emboar ) @@ -560,10 +567,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Oshawott) OVERWORLD( - sPicTable_Oshawott, + gObjectEventPic_Oshawott, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Oshawott, gShinyOverworldPalette_Oshawott ) @@ -629,10 +637,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Dewott) OVERWORLD( - sPicTable_Dewott, + gObjectEventPic_Dewott, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dewott, gShinyOverworldPalette_Dewott ) @@ -695,10 +704,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 13, SHADOW_SIZE_L) FOOTPRINT(Samurott) OVERWORLD( - sPicTable_Samurott, + gObjectEventPic_Samurott, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Samurott, gShinyOverworldPalette_Samurott ) @@ -758,10 +768,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 13, SHADOW_SIZE_L) FOOTPRINT(Samurott) OVERWORLD( - sPicTable_SamurottHisui, + gObjectEventPic_SamurottHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SamurottHisui, gShinyOverworldPalette_SamurottHisui ) @@ -827,10 +838,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Patrat) OVERWORLD( - sPicTable_Patrat, + gObjectEventPic_Patrat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Patrat, gShinyOverworldPalette_Patrat ) @@ -898,10 +910,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-4, 11, SHADOW_SIZE_S) FOOTPRINT(Watchog) OVERWORLD( - sPicTable_Watchog, + gObjectEventPic_Watchog, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Watchog, gShinyOverworldPalette_Watchog ) @@ -969,10 +982,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Lillipup) OVERWORLD( - sPicTable_Lillipup, + gObjectEventPic_Lillipup, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lillipup, gShinyOverworldPalette_Lillipup ) @@ -1039,10 +1053,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 5, SHADOW_SIZE_M) FOOTPRINT(Herdier) OVERWORLD( - sPicTable_Herdier, + gObjectEventPic_Herdier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Herdier, gShinyOverworldPalette_Herdier ) @@ -1113,10 +1128,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-4, 9, SHADOW_SIZE_L) FOOTPRINT(Stoutland) OVERWORLD( - sPicTable_Stoutland, + gObjectEventPic_Stoutland, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Stoutland, gShinyOverworldPalette_Stoutland ) @@ -1180,10 +1196,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Purrloin) OVERWORLD( - sPicTable_Purrloin, + gObjectEventPic_Purrloin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Purrloin, gShinyOverworldPalette_Purrloin ) @@ -1247,10 +1264,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Liepard) OVERWORLD( - sPicTable_Liepard, + gObjectEventPic_Liepard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Liepard, gShinyOverworldPalette_Liepard ) @@ -1316,10 +1334,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Pansage) OVERWORLD( - sPicTable_Pansage, + gObjectEventPic_Pansage, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pansage, gShinyOverworldPalette_Pansage ) @@ -1383,10 +1402,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Simisage) OVERWORLD( - sPicTable_Simisage, + gObjectEventPic_Simisage, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Simisage, gShinyOverworldPalette_Simisage ) @@ -1450,10 +1470,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 3, SHADOW_SIZE_S) FOOTPRINT(Pansear) OVERWORLD( - sPicTable_Pansear, + gObjectEventPic_Pansear, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pansear, gShinyOverworldPalette_Pansear ) @@ -1520,10 +1541,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Simisear) OVERWORLD( - sPicTable_Simisear, + gObjectEventPic_Simisear, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Simisear, gShinyOverworldPalette_Simisear ) @@ -1587,10 +1609,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Panpour) OVERWORLD( - sPicTable_Panpour, + gObjectEventPic_Panpour, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Panpour, gShinyOverworldPalette_Panpour ) @@ -1653,10 +1676,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Simipour) OVERWORLD( - sPicTable_Simipour, + gObjectEventPic_Simipour, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Simipour, gShinyOverworldPalette_Simipour ) @@ -1726,10 +1750,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Munna) OVERWORLD( - sPicTable_Munna, + gObjectEventPic_Munna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Munna, gShinyOverworldPalette_Munna ) @@ -1796,10 +1821,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(6, 10, SHADOW_SIZE_M) FOOTPRINT(Musharna) OVERWORLD( - sPicTable_Musharna, + gObjectEventPic_Musharna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Musharna, gShinyOverworldPalette_Musharna ) @@ -1863,10 +1889,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Pidove) OVERWORLD( - sPicTable_Pidove, + gObjectEventPic_Pidove, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pidove, gShinyOverworldPalette_Pidove ) @@ -1930,10 +1957,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Tranquill) OVERWORLD( - sPicTable_Tranquill, + gObjectEventPic_Tranquill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tranquill, gShinyOverworldPalette_Tranquill ) @@ -2012,18 +2040,20 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Unfezant) OVERWORLD( - sPicTable_Unfezant, + gObjectEventPic_Unfezant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Unfezant, gShinyOverworldPalette_Unfezant ) OVERWORLD_FEMALE( - sPicTable_UnfezantF, + gObjectEventPic_UnfezantF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_UnfezantF, gShinyOverworldPalette_UnfezantF ) @@ -2090,10 +2120,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 9, SHADOW_SIZE_M) FOOTPRINT(Blitzle) OVERWORLD( - sPicTable_Blitzle, + gObjectEventPic_Blitzle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Blitzle, gShinyOverworldPalette_Blitzle ) @@ -2157,10 +2188,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 13, SHADOW_SIZE_M) FOOTPRINT(Zebstrika) OVERWORLD( - sPicTable_Zebstrika, + gObjectEventPic_Zebstrika, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zebstrika, gShinyOverworldPalette_Zebstrika ) @@ -2230,10 +2262,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Roggenrola) OVERWORLD( - sPicTable_Roggenrola, + gObjectEventPic_Roggenrola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Roggenrola, gShinyOverworldPalette_Roggenrola ) @@ -2307,10 +2340,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 3, SHADOW_SIZE_L) FOOTPRINT(Boldore) OVERWORLD( - sPicTable_Boldore, + gObjectEventPic_Boldore, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Boldore, gShinyOverworldPalette_Boldore ) @@ -2386,10 +2420,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gigalith) OVERWORLD( - sPicTable_Gigalith, + gObjectEventPic_Gigalith, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gigalith, gShinyOverworldPalette_Gigalith ) @@ -2470,10 +2505,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 14, SHADOW_SIZE_S) FOOTPRINT(Woobat) OVERWORLD( - sPicTable_Woobat, + gObjectEventPic_Woobat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Woobat, gShinyOverworldPalette_Woobat ) @@ -2541,10 +2577,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 17, SHADOW_SIZE_M) FOOTPRINT(Swoobat) OVERWORLD( - sPicTable_Swoobat, + gObjectEventPic_Swoobat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Swoobat, gShinyOverworldPalette_Swoobat ) @@ -2611,10 +2648,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Drilbur) OVERWORLD( - sPicTable_Drilbur, + gObjectEventPic_Drilbur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Drilbur, gShinyOverworldPalette_Drilbur ) @@ -2680,10 +2718,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Excadrill) OVERWORLD( - sPicTable_Excadrill, + gObjectEventPic_Excadrill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Excadrill, gShinyOverworldPalette_Excadrill ) @@ -2749,10 +2788,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Audino) OVERWORLD( - sPicTable_Audino, + gObjectEventPic_Audino, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Audino, gShinyOverworldPalette_Audino ) @@ -2880,10 +2920,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-4, 2, SHADOW_SIZE_S) FOOTPRINT(Timburr) OVERWORLD( - sPicTable_Timburr, + gObjectEventPic_Timburr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Timburr, gShinyOverworldPalette_Timburr ) @@ -2951,10 +2992,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Gurdurr) OVERWORLD( - sPicTable_Gurdurr, + gObjectEventPic_Gurdurr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gurdurr, gShinyOverworldPalette_Gurdurr ) @@ -3017,10 +3059,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Conkeldurr) OVERWORLD( - sPicTable_Conkeldurr, + gObjectEventPic_Conkeldurr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Conkeldurr, gShinyOverworldPalette_Conkeldurr ) @@ -3083,10 +3126,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Tympole) OVERWORLD( - sPicTable_Tympole, + gObjectEventPic_Tympole, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tympole, gShinyOverworldPalette_Tympole ) @@ -3152,10 +3196,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Palpitoad) OVERWORLD( - sPicTable_Palpitoad, + gObjectEventPic_Palpitoad, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Palpitoad, gShinyOverworldPalette_Palpitoad ) @@ -3228,10 +3273,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, 10, SHADOW_SIZE_L) FOOTPRINT(Seismitoad) OVERWORLD( - sPicTable_Seismitoad, + gObjectEventPic_Seismitoad, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Seismitoad, gShinyOverworldPalette_Seismitoad ) @@ -3297,10 +3343,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 4, SHADOW_SIZE_M) FOOTPRINT(Throh) OVERWORLD( - sPicTable_Throh, + gObjectEventPic_Throh, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Throh, gShinyOverworldPalette_Throh ) @@ -3365,10 +3412,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(Sawk) OVERWORLD( - sPicTable_Sawk, + gObjectEventPic_Sawk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sawk, gShinyOverworldPalette_Sawk ) @@ -3435,10 +3483,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Sewaddle) OVERWORLD( - sPicTable_Sewaddle, + gObjectEventPic_Sewaddle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sewaddle, gShinyOverworldPalette_Sewaddle ) @@ -3504,10 +3553,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 1, SHADOW_SIZE_L) FOOTPRINT(Swadloon) OVERWORLD( - sPicTable_Swadloon, + gObjectEventPic_Swadloon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Swadloon, gShinyOverworldPalette_Swadloon ) @@ -3577,10 +3627,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 14, SHADOW_SIZE_S) FOOTPRINT(Leavanny) OVERWORLD( - sPicTable_Leavanny, + gObjectEventPic_Leavanny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Leavanny, gShinyOverworldPalette_Leavanny ) @@ -3653,10 +3704,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, -3, SHADOW_SIZE_M) FOOTPRINT(Venipede) OVERWORLD( - sPicTable_Venipede, + gObjectEventPic_Venipede, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Venipede, gShinyOverworldPalette_Venipede ) @@ -3728,10 +3780,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Whirlipede) OVERWORLD( - sPicTable_Whirlipede, + gObjectEventPic_Whirlipede, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Whirlipede, gShinyOverworldPalette_Whirlipede ) @@ -3804,10 +3857,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Scolipede) OVERWORLD( - sPicTable_Scolipede, + gObjectEventPic_Scolipede, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Scolipede, gShinyOverworldPalette_Scolipede ) @@ -3884,10 +3938,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, -5, SHADOW_SIZE_M) FOOTPRINT(Cottonee) OVERWORLD( - sPicTable_Cottonee, + gObjectEventPic_Cottonee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cottonee, gShinyOverworldPalette_Cottonee ) @@ -3952,10 +4007,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Whimsicott) OVERWORLD( - sPicTable_Whimsicott, + gObjectEventPic_Whimsicott, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Whimsicott, gShinyOverworldPalette_Whimsicott ) @@ -4023,10 +4079,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Petilil) OVERWORLD( - sPicTable_Petilil, + gObjectEventPic_Petilil, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Petilil, gShinyOverworldPalette_Petilil ) @@ -4093,10 +4150,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 13, SHADOW_SIZE_M) FOOTPRINT(Lilligant) OVERWORLD( - sPicTable_Lilligant, + gObjectEventPic_Lilligant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lilligant, gShinyOverworldPalette_Lilligant ) @@ -4159,10 +4217,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Lilligant) OVERWORLD( - sPicTable_LilligantHisui, + gObjectEventPic_LilligantHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_LilligantHisui, gShinyOverworldPalette_LilligantHisui ) @@ -4227,10 +4286,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( - sPicTable_BasculinRedStriped, + gObjectEventPic_BasculinRedStriped, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_BasculinRedStriped, gShinyOverworldPalette_BasculinRedStriped ) @@ -4292,10 +4352,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( - sPicTable_BasculinBlueStriped, + gObjectEventPic_BasculinBlueStriped, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_BasculinBlueStriped, gShinyOverworldPalette_BasculinBlueStriped ) @@ -4358,10 +4419,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( - sPicTable_BasculinWhiteStriped, + gObjectEventPic_BasculinWhiteStriped, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_BasculinWhiteStriped, gShinyOverworldPalette_BasculinWhiteStriped ) @@ -4423,10 +4485,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 16, SHADOW_SIZE_M) FOOTPRINT(Basculegion) OVERWORLD( - sPicTable_BasculegionM, + gObjectEventPic_BasculegionM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_BasculegionM, gShinyOverworldPalette_BasculegionM ) @@ -4485,10 +4548,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 16, SHADOW_SIZE_M) FOOTPRINT(Basculegion) OVERWORLD( - sPicTable_BasculegionF, + gObjectEventPic_BasculegionF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_BasculegionF, gShinyOverworldPalette_BasculegionF ) @@ -4555,10 +4619,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, -5, SHADOW_SIZE_M) FOOTPRINT(Sandile) OVERWORLD( - sPicTable_Sandile, + gObjectEventPic_Sandile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sandile, gShinyOverworldPalette_Sandile ) @@ -4622,10 +4687,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Krokorok) OVERWORLD( - sPicTable_Krokorok, + gObjectEventPic_Krokorok, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Krokorok, gShinyOverworldPalette_Krokorok ) @@ -4697,10 +4763,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Krookodile) OVERWORLD( - sPicTable_Krookodile, + gObjectEventPic_Krookodile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Krookodile, gShinyOverworldPalette_Krookodile ) @@ -4764,10 +4831,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Darumaka) OVERWORLD( - sPicTable_Darumaka, + gObjectEventPic_Darumaka, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Darumaka, gShinyOverworldPalette_Darumaka ) @@ -4833,10 +4901,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 5, SHADOW_SIZE_L) FOOTPRINT(Darmanitan) OVERWORLD( - sPicTable_DarmanitanStandard, + gObjectEventPic_DarmanitanStandard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DarmanitanStandard, gShinyOverworldPalette_DarmanitanStandard ) @@ -4954,10 +5023,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, -1, SHADOW_SIZE_S) FOOTPRINT(Darumaka) OVERWORLD( - sPicTable_DarumakaGalar, + gObjectEventPic_DarumakaGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DarumakaGalar, gShinyOverworldPalette_DarumakaGalar ) @@ -5019,10 +5089,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Darmanitan) OVERWORLD( - sPicTable_DarmanitanGalarStandard, + gObjectEventPic_DarmanitanGalarStandard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DarmanitanGalarStandard, gShinyOverworldPalette_DarmanitanGalarStandard ) @@ -5151,10 +5222,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Maractus) OVERWORLD( - sPicTable_Maractus, + gObjectEventPic_Maractus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Maractus, gShinyOverworldPalette_Maractus ) @@ -5226,10 +5298,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Dwebble) OVERWORLD( - sPicTable_Dwebble, + gObjectEventPic_Dwebble, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dwebble, gShinyOverworldPalette_Dwebble ) @@ -5297,10 +5370,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Crustle) OVERWORLD( - sPicTable_Crustle, + gObjectEventPic_Crustle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Crustle, gShinyOverworldPalette_Crustle ) @@ -5365,10 +5439,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-4, 2, SHADOW_SIZE_S) FOOTPRINT(Scraggy) OVERWORLD( - sPicTable_Scraggy, + gObjectEventPic_Scraggy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Scraggy, gShinyOverworldPalette_Scraggy ) @@ -5434,10 +5509,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 9, SHADOW_SIZE_M) FOOTPRINT(Scrafty) OVERWORLD( - sPicTable_Scrafty, + gObjectEventPic_Scrafty, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Scrafty, gShinyOverworldPalette_Scrafty ) @@ -5507,10 +5583,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 18, SHADOW_SIZE_S) FOOTPRINT(Sigilyph) OVERWORLD( - sPicTable_Sigilyph, + gObjectEventPic_Sigilyph, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sigilyph, gShinyOverworldPalette_Sigilyph ) @@ -5579,10 +5656,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Yamask) OVERWORLD( - sPicTable_Yamask, + gObjectEventPic_Yamask, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Yamask, gShinyOverworldPalette_Yamask ) @@ -5648,10 +5726,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(6, 12, SHADOW_SIZE_M) FOOTPRINT(Cofagrigus) OVERWORLD( - sPicTable_Cofagrigus, + gObjectEventPic_Cofagrigus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cofagrigus, gShinyOverworldPalette_Cofagrigus ) @@ -5711,10 +5790,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Yamask) OVERWORLD( - sPicTable_YamaskGalar, + gObjectEventPic_YamaskGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_YamaskGalar, gShinyOverworldPalette_YamaskGalar ) @@ -5776,10 +5856,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(14, 14, SHADOW_SIZE_M) FOOTPRINT(Runerigus) OVERWORLD( - sPicTable_Runerigus, + gObjectEventPic_Runerigus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Runerigus, gShinyOverworldPalette_Runerigus ) @@ -5845,10 +5926,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -3, SHADOW_SIZE_M) FOOTPRINT(Tirtouga) OVERWORLD( - sPicTable_Tirtouga, + gObjectEventPic_Tirtouga, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tirtouga, gShinyOverworldPalette_Tirtouga ) @@ -5919,10 +6001,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Carracosta) OVERWORLD( - sPicTable_Carracosta, + gObjectEventPic_Carracosta, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Carracosta, gShinyOverworldPalette_Carracosta ) @@ -5986,10 +6069,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, -2, SHADOW_SIZE_S) FOOTPRINT(Archen) OVERWORLD( - sPicTable_Archen, + gObjectEventPic_Archen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Archen, gShinyOverworldPalette_Archen ) @@ -6059,10 +6143,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 18, SHADOW_SIZE_M) FOOTPRINT(Archeops) OVERWORLD( - sPicTable_Archeops, + gObjectEventPic_Archeops, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Archeops, gShinyOverworldPalette_Archeops ) @@ -6127,10 +6212,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Trubbish) OVERWORLD( - sPicTable_Trubbish, + gObjectEventPic_Trubbish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Trubbish, gShinyOverworldPalette_Trubbish ) @@ -6197,10 +6283,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Garbodor) OVERWORLD( - sPicTable_Garbodor, + gObjectEventPic_Garbodor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Garbodor, gShinyOverworldPalette_Garbodor ) @@ -6329,10 +6416,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Zorua) OVERWORLD( - sPicTable_Zorua, + gObjectEventPic_Zorua, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zorua, gShinyOverworldPalette_Zorua ) @@ -6399,10 +6487,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Zoroark) OVERWORLD( - sPicTable_Zoroark, + gObjectEventPic_Zoroark, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zoroark, gShinyOverworldPalette_Zoroark ) @@ -6462,10 +6551,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 12, SHADOW_SIZE_S) FOOTPRINT(Zorua) OVERWORLD( - sPicTable_ZoruaHisui, + gObjectEventPic_ZoruaHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ZoruaHisui, gShinyOverworldPalette_ZoruaHisui ) @@ -6526,10 +6616,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(11, 13, SHADOW_SIZE_L) FOOTPRINT(Zoroark) OVERWORLD( - sPicTable_ZoroarkHisui, + gObjectEventPic_ZoroarkHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ZoroarkHisui, gShinyOverworldPalette_ZoroarkHisui ) @@ -6596,10 +6687,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 3, SHADOW_SIZE_S) FOOTPRINT(Minccino) OVERWORLD( - sPicTable_Minccino, + gObjectEventPic_Minccino, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Minccino, gShinyOverworldPalette_Minccino ) @@ -6666,10 +6758,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Cinccino) OVERWORLD( - sPicTable_Cinccino, + gObjectEventPic_Cinccino, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cinccino, gShinyOverworldPalette_Cinccino ) @@ -6738,10 +6831,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Gothita) OVERWORLD( - sPicTable_Gothita, + gObjectEventPic_Gothita, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gothita, gShinyOverworldPalette_Gothita ) @@ -6811,10 +6905,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Gothorita) OVERWORLD( - sPicTable_Gothorita, + gObjectEventPic_Gothorita, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gothorita, gShinyOverworldPalette_Gothorita ) @@ -6882,10 +6977,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Gothitelle) OVERWORLD( - sPicTable_Gothitelle, + gObjectEventPic_Gothitelle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gothitelle, gShinyOverworldPalette_Gothitelle ) @@ -6952,10 +7048,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Solosis) OVERWORLD( - sPicTable_Solosis, + gObjectEventPic_Solosis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Solosis, gShinyOverworldPalette_Solosis ) @@ -7021,10 +7118,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(Duosion) OVERWORLD( - sPicTable_Duosion, + gObjectEventPic_Duosion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Duosion, gShinyOverworldPalette_Duosion ) @@ -7090,10 +7188,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 8, SHADOW_SIZE_M) FOOTPRINT(Reuniclus) OVERWORLD( - sPicTable_Reuniclus, + gObjectEventPic_Reuniclus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Reuniclus, gShinyOverworldPalette_Reuniclus ) @@ -7161,10 +7260,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Ducklett) OVERWORLD( - sPicTable_Ducklett, + gObjectEventPic_Ducklett, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ducklett, gShinyOverworldPalette_Ducklett ) @@ -7227,10 +7327,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Swanna) OVERWORLD( - sPicTable_Swanna, + gObjectEventPic_Swanna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Swanna, gShinyOverworldPalette_Swanna ) @@ -7301,10 +7402,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Vanillite) OVERWORLD( - sPicTable_Vanillite, + gObjectEventPic_Vanillite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vanillite, gShinyOverworldPalette_Vanillite ) @@ -7373,10 +7475,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 9, SHADOW_SIZE_S) FOOTPRINT(Vanillish) OVERWORLD( - sPicTable_Vanillish, + gObjectEventPic_Vanillish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vanillish, gShinyOverworldPalette_Vanillish ) @@ -7444,10 +7547,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Vanilluxe) OVERWORLD( - sPicTable_Vanilluxe, + gObjectEventPic_Vanilluxe, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vanilluxe, gShinyOverworldPalette_Vanilluxe ) @@ -7507,10 +7611,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( - sPicTable_DeerlingSpring, + gObjectEventPic_DeerlingSpring, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DeerlingSpring, gShinyOverworldPalette_DeerlingSpring ) @@ -7571,10 +7676,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( - sPicTable_DeerlingSummer, + gObjectEventPic_DeerlingSummer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DeerlingSummer, gShinyOverworldPalette_DeerlingSummer ) @@ -7635,10 +7741,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( - sPicTable_DeerlingAutumn, + gObjectEventPic_DeerlingAutumn, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DeerlingAutumn, gShinyOverworldPalette_DeerlingAutumn ) @@ -7699,10 +7806,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( - sPicTable_DeerlingWinter, + gObjectEventPic_DeerlingWinter, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DeerlingWinter, gShinyOverworldPalette_DeerlingWinter ) @@ -7763,10 +7871,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( - sPicTable_SawsbuckSpring, + gObjectEventPic_SawsbuckSpring, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SawsbuckSpring, gShinyOverworldPalette_SawsbuckSpring ) @@ -7825,10 +7934,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( - sPicTable_SawsbuckSummer, + gObjectEventPic_SawsbuckSummer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SawsbuckSummer, gShinyOverworldPalette_SawsbuckSummer ) @@ -7887,10 +7997,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( - sPicTable_SawsbuckAutumn, + gObjectEventPic_SawsbuckAutumn, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SawsbuckAutumn, gShinyOverworldPalette_SawsbuckAutumn ) @@ -7949,10 +8060,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( - sPicTable_SawsbuckWinter, + gObjectEventPic_SawsbuckWinter, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SawsbuckWinter, gShinyOverworldPalette_SawsbuckWinter ) @@ -8020,10 +8132,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Emolga) OVERWORLD( - sPicTable_Emolga, + gObjectEventPic_Emolga, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Emolga, gShinyOverworldPalette_Emolga ) @@ -8087,10 +8200,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Karrablast) OVERWORLD( - sPicTable_Karrablast, + gObjectEventPic_Karrablast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Karrablast, gShinyOverworldPalette_Karrablast ) @@ -8154,10 +8268,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Escavalier) OVERWORLD( - sPicTable_Escavalier, + gObjectEventPic_Escavalier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Escavalier, gShinyOverworldPalette_Escavalier ) @@ -8225,10 +8340,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Foongus) OVERWORLD( - sPicTable_Foongus, + gObjectEventPic_Foongus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Foongus, gShinyOverworldPalette_Foongus ) @@ -8298,10 +8414,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Amoonguss) OVERWORLD( - sPicTable_Amoonguss, + gObjectEventPic_Amoonguss, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Amoonguss, gShinyOverworldPalette_Amoonguss ) @@ -8376,18 +8493,20 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Frillish) OVERWORLD( - sPicTable_Frillish, + gObjectEventPic_Frillish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Frillish, gShinyOverworldPalette_Frillish ) OVERWORLD_FEMALE( - sPicTable_FrillishF, + gObjectEventPic_FrillishF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_FrillishF, gShinyOverworldPalette_FrillishF ) @@ -8463,18 +8582,20 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Jellicent) OVERWORLD( - sPicTable_Jellicent, + gObjectEventPic_Jellicent, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Jellicent, gShinyOverworldPalette_Jellicent ) OVERWORLD_FEMALE( - sPicTable_JellicentF, + gObjectEventPic_JellicentF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_JellicentF, gShinyOverworldPalette_JellicentF ) @@ -8538,10 +8659,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Alomomola) OVERWORLD( - sPicTable_Alomomola, + gObjectEventPic_Alomomola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Alomomola, gShinyOverworldPalette_Alomomola ) @@ -8608,10 +8730,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -5, SHADOW_SIZE_S) FOOTPRINT(Joltik) OVERWORLD( - sPicTable_Joltik, + gObjectEventPic_Joltik, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Joltik, gShinyOverworldPalette_Joltik ) @@ -8680,10 +8803,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -2, SHADOW_SIZE_L) FOOTPRINT(Galvantula) OVERWORLD( - sPicTable_Galvantula, + gObjectEventPic_Galvantula, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Galvantula, gShinyOverworldPalette_Galvantula ) @@ -8750,10 +8874,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Ferroseed) OVERWORLD( - sPicTable_Ferroseed, + gObjectEventPic_Ferroseed, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ferroseed, gShinyOverworldPalette_Ferroseed ) @@ -8825,10 +8950,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 17, SHADOW_SIZE_M) FOOTPRINT(Ferrothorn) OVERWORLD( - sPicTable_Ferrothorn, + gObjectEventPic_Ferrothorn, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ferrothorn, gShinyOverworldPalette_Ferrothorn ) @@ -8895,10 +9021,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Klink) OVERWORLD( - sPicTable_Klink, + gObjectEventPic_Klink, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Klink, gShinyOverworldPalette_Klink ) @@ -8964,10 +9091,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Klang) OVERWORLD( - sPicTable_Klang, + gObjectEventPic_Klang, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Klang, gShinyOverworldPalette_Klang ) @@ -9033,10 +9161,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Klinklang) OVERWORLD( - sPicTable_Klinklang, + gObjectEventPic_Klinklang, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Klinklang, gShinyOverworldPalette_Klinklang ) @@ -9114,10 +9243,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Tynamo) OVERWORLD( - sPicTable_Tynamo, + gObjectEventPic_Tynamo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tynamo, gShinyOverworldPalette_Tynamo ) @@ -9184,10 +9314,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Eelektrik) OVERWORLD( - sPicTable_Eelektrik, + gObjectEventPic_Eelektrik, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Eelektrik, gShinyOverworldPalette_Eelektrik ) @@ -9254,10 +9385,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Eelektross) OVERWORLD( - sPicTable_Eelektross, + gObjectEventPic_Eelektross, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Eelektross, gShinyOverworldPalette_Eelektross ) @@ -9326,10 +9458,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Elgyem) OVERWORLD( - sPicTable_Elgyem, + gObjectEventPic_Elgyem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Elgyem, gShinyOverworldPalette_Elgyem ) @@ -9392,10 +9525,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Beheeyem) OVERWORLD( - sPicTable_Beheeyem, + gObjectEventPic_Beheeyem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Beheeyem, gShinyOverworldPalette_Beheeyem ) @@ -9465,10 +9599,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Litwick) OVERWORLD( - sPicTable_Litwick, + gObjectEventPic_Litwick, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Litwick, gShinyOverworldPalette_Litwick ) @@ -9538,10 +9673,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Lampent) OVERWORLD( - sPicTable_Lampent, + gObjectEventPic_Lampent, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lampent, gShinyOverworldPalette_Lampent ) @@ -9609,10 +9745,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 13, SHADOW_SIZE_S) FOOTPRINT(Chandelure) OVERWORLD( - sPicTable_Chandelure, + gObjectEventPic_Chandelure, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Chandelure, gShinyOverworldPalette_Chandelure ) @@ -9675,10 +9812,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Axew) OVERWORLD( - sPicTable_Axew, + gObjectEventPic_Axew, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Axew, gShinyOverworldPalette_Axew ) @@ -9741,10 +9879,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 8, SHADOW_SIZE_L) FOOTPRINT(Fraxure) OVERWORLD( - sPicTable_Fraxure, + gObjectEventPic_Fraxure, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Fraxure, gShinyOverworldPalette_Fraxure ) @@ -9808,10 +9947,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 9, SHADOW_SIZE_L) FOOTPRINT(Haxorus) OVERWORLD( - sPicTable_Haxorus, + gObjectEventPic_Haxorus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Haxorus, gShinyOverworldPalette_Haxorus ) @@ -9879,10 +10019,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Cubchoo) OVERWORLD( - sPicTable_Cubchoo, + gObjectEventPic_Cubchoo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cubchoo, gShinyOverworldPalette_Cubchoo ) @@ -9951,10 +10092,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Beartic) OVERWORLD( - sPicTable_Beartic, + gObjectEventPic_Beartic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Beartic, gShinyOverworldPalette_Beartic ) @@ -10022,10 +10164,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Cryogonal) OVERWORLD( - sPicTable_Cryogonal, + gObjectEventPic_Cryogonal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cryogonal, gShinyOverworldPalette_Cryogonal ) @@ -10091,10 +10234,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Shelmet) OVERWORLD( - sPicTable_Shelmet, + gObjectEventPic_Shelmet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Shelmet, gShinyOverworldPalette_Shelmet ) @@ -10157,10 +10301,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-14, 8, SHADOW_SIZE_S) FOOTPRINT(Accelgor) OVERWORLD( - sPicTable_Accelgor, + gObjectEventPic_Accelgor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Accelgor, gShinyOverworldPalette_Accelgor ) @@ -10224,10 +10369,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Stunfisk) OVERWORLD( - sPicTable_Stunfisk, + gObjectEventPic_Stunfisk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Stunfisk, gShinyOverworldPalette_Stunfisk ) @@ -10288,10 +10434,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Stunfisk) OVERWORLD( - sPicTable_StunfiskGalar, + gObjectEventPic_StunfiskGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_StunfiskGalar, gShinyOverworldPalette_StunfiskGalar ) @@ -10358,10 +10505,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Mienfoo) OVERWORLD( - sPicTable_Mienfoo, + gObjectEventPic_Mienfoo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mienfoo, gShinyOverworldPalette_Mienfoo ) @@ -10429,10 +10577,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Mienshao) OVERWORLD( - sPicTable_Mienshao, + gObjectEventPic_Mienshao, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mienshao, gShinyOverworldPalette_Mienshao ) @@ -10501,10 +10650,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 9, SHADOW_SIZE_M) FOOTPRINT(Druddigon) OVERWORLD( - sPicTable_Druddigon, + gObjectEventPic_Druddigon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Druddigon, gShinyOverworldPalette_Druddigon ) @@ -10571,10 +10721,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Golett) OVERWORLD( - sPicTable_Golett, + gObjectEventPic_Golett, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Golett, gShinyOverworldPalette_Golett ) @@ -10638,10 +10789,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Golurk) OVERWORLD( - sPicTable_Golurk, + gObjectEventPic_Golurk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Golurk, gShinyOverworldPalette_Golurk ) @@ -10710,10 +10862,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, 4, SHADOW_SIZE_S) FOOTPRINT(Pawniard) OVERWORLD( - sPicTable_Pawniard, + gObjectEventPic_Pawniard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pawniard, gShinyOverworldPalette_Pawniard ) @@ -10777,10 +10930,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Bisharp) OVERWORLD( - sPicTable_Bisharp, + gObjectEventPic_Bisharp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bisharp, gShinyOverworldPalette_Bisharp ) @@ -10840,10 +10994,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Kingambit) OVERWORLD( - sPicTable_Kingambit, + gObjectEventPic_Kingambit, SIZE_64x64, SHADOW_SIZE_L, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Kingambit, gShinyOverworldPalette_Kingambit ) @@ -10908,10 +11063,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(8, 7, SHADOW_SIZE_M) FOOTPRINT(Bouffalant) OVERWORLD( - sPicTable_Bouffalant, + gObjectEventPic_Bouffalant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bouffalant, gShinyOverworldPalette_Bouffalant ) @@ -10978,10 +11134,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rufflet) OVERWORLD( - sPicTable_Rufflet, + gObjectEventPic_Rufflet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rufflet, gShinyOverworldPalette_Rufflet ) @@ -11046,10 +11203,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 16, SHADOW_SIZE_M) FOOTPRINT(Braviary) OVERWORLD( - sPicTable_Braviary, + gObjectEventPic_Braviary, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Braviary, gShinyOverworldPalette_Braviary ) @@ -11109,10 +11267,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Braviary) OVERWORLD( - sPicTable_BraviaryHisui, + gObjectEventPic_BraviaryHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_BraviaryHisui, gShinyOverworldPalette_BraviaryHisui ) @@ -11179,10 +11338,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Vullaby) OVERWORLD( - sPicTable_Vullaby, + gObjectEventPic_Vullaby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vullaby, gShinyOverworldPalette_Vullaby ) @@ -11246,10 +11406,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Mandibuzz) OVERWORLD( - sPicTable_Mandibuzz, + gObjectEventPic_Mandibuzz, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mandibuzz, gShinyOverworldPalette_Mandibuzz ) @@ -11312,10 +11473,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Heatmor) OVERWORLD( - sPicTable_Heatmor, + gObjectEventPic_Heatmor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Heatmor, gShinyOverworldPalette_Heatmor ) @@ -11394,10 +11556,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -3, SHADOW_SIZE_L) FOOTPRINT(Durant) OVERWORLD( - sPicTable_Durant, + gObjectEventPic_Durant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Durant, gShinyOverworldPalette_Durant ) @@ -11462,10 +11625,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 3, SHADOW_SIZE_S) FOOTPRINT(Deino) OVERWORLD( - sPicTable_Deino, + gObjectEventPic_Deino, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Deino, gShinyOverworldPalette_Deino ) @@ -11528,10 +11692,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Zweilous) OVERWORLD( - sPicTable_Zweilous, + gObjectEventPic_Zweilous, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zweilous, gShinyOverworldPalette_Zweilous ) @@ -11600,10 +11765,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 16, SHADOW_SIZE_M) FOOTPRINT(Hydreigon) OVERWORLD( - sPicTable_Hydreigon, + gObjectEventPic_Hydreigon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hydreigon, gShinyOverworldPalette_Hydreigon ) @@ -11675,10 +11841,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Larvesta) OVERWORLD( - sPicTable_Larvesta, + gObjectEventPic_Larvesta, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Larvesta, gShinyOverworldPalette_Larvesta ) @@ -11746,10 +11913,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-4, 14, SHADOW_SIZE_M) FOOTPRINT(Volcarona) OVERWORLD( - sPicTable_Volcarona, + gObjectEventPic_Volcarona, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Volcarona, gShinyOverworldPalette_Volcarona ) @@ -11813,10 +11981,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Cobalion) OVERWORLD( - sPicTable_Cobalion, + gObjectEventPic_Cobalion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cobalion, gShinyOverworldPalette_Cobalion ) @@ -11886,10 +12055,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 6, SHADOW_SIZE_L) FOOTPRINT(Terrakion) OVERWORLD( - sPicTable_Terrakion, + gObjectEventPic_Terrakion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Terrakion, gShinyOverworldPalette_Terrakion ) @@ -11954,10 +12124,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Virizion) OVERWORLD( - sPicTable_Virizion, + gObjectEventPic_Virizion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Virizion, gShinyOverworldPalette_Virizion ) @@ -12043,10 +12214,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Tornadus) OVERWORLD( - sPicTable_TornadusIncarnate, + gObjectEventPic_TornadusIncarnate, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TornadusIncarnate, gShinyOverworldPalette_TornadusIncarnate ) @@ -12114,10 +12286,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-5, 12, SHADOW_SIZE_L) FOOTPRINT(Tornadus) OVERWORLD( - sPicTable_TornadusTherian, + gObjectEventPic_TornadusTherian, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TornadusTherian, gShinyOverworldPalette_TornadusTherian ) @@ -12205,10 +12378,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Thundurus) OVERWORLD( - sPicTable_ThundurusIncarnate, + gObjectEventPic_ThundurusIncarnate, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ThundurusIncarnate, gShinyOverworldPalette_ThundurusIncarnate ) @@ -12288,10 +12462,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(5, 16, SHADOW_SIZE_M) FOOTPRINT(Thundurus) OVERWORLD( - sPicTable_ThundurusTherian, + gObjectEventPic_ThundurusTherian, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ThundurusTherian, gShinyOverworldPalette_ThundurusTherian ) @@ -12358,10 +12533,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 12, SHADOW_SIZE_L) FOOTPRINT(Reshiram) OVERWORLD( - sPicTable_Reshiram, + gObjectEventPic_Reshiram, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Reshiram, gShinyOverworldPalette_Reshiram ) @@ -12427,10 +12603,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(Zekrom) OVERWORLD( - sPicTable_Zekrom, + gObjectEventPic_Zekrom, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zekrom, gShinyOverworldPalette_Zekrom ) @@ -12517,10 +12694,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Landorus) OVERWORLD( - sPicTable_LandorusIncarnate, + gObjectEventPic_LandorusIncarnate, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_LandorusIncarnate, gShinyOverworldPalette_LandorusIncarnate ) @@ -12588,10 +12766,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Landorus) OVERWORLD( - sPicTable_LandorusTherian, + gObjectEventPic_LandorusTherian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_LandorusTherian, gShinyOverworldPalette_LandorusTherian ) @@ -12663,10 +12842,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Kyurem) OVERWORLD( - sPicTable_Kyurem, + gObjectEventPic_Kyurem, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Kyurem, gShinyOverworldPalette_Kyurem ) @@ -12739,10 +12919,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-8, 14, SHADOW_SIZE_L) FOOTPRINT(Kyurem) OVERWORLD( - sPicTable_KyuremWhite, + gObjectEventPic_KyuremWhite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_KyuremWhite, gShinyOverworldPalette_KyuremWhite ) @@ -12815,10 +12996,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Kyurem) OVERWORLD( - sPicTable_KyuremBlack, + gObjectEventPic_KyuremBlack, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_KyuremBlack, gShinyOverworldPalette_KyuremBlack ) @@ -12887,10 +13069,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Keldeo) OVERWORLD( - sPicTable_KeldeoOrdinary, + gObjectEventPic_KeldeoOrdinary, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_KeldeoOrdinary, gShinyOverworldPalette_KeldeoOrdinary ) @@ -13032,10 +13215,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Meloetta) OVERWORLD( - sPicTable_MeloettaAria, + gObjectEventPic_MeloettaAria, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MeloettaAria, gShinyOverworldPalette_MeloettaAria ) @@ -13110,10 +13294,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 16, SHADOW_SIZE_S) FOOTPRINT(Meloetta) OVERWORLD( - sPicTable_MeloettaPirouette, + gObjectEventPic_MeloettaPirouette, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MeloettaPirouette, gShinyOverworldPalette_MeloettaPirouette ) @@ -13176,10 +13361,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(5, 13, SHADOW_SIZE_L) \ FOOTPRINT(Genesect) \ OVERWORLD( \ - sPicTable_Genesect, \ + gObjectEventPic_Genesect, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Genesect, \ gShinyOverworldPalette_Genesect \ ) \ diff --git a/src/data/pokemon/species_info/gen_6_families.h b/src/data/pokemon/species_info/gen_6_families.h index d8ec3b9159..8b332629c4 100644 --- a/src/data/pokemon/species_info/gen_6_families.h +++ b/src/data/pokemon/species_info/gen_6_families.h @@ -60,10 +60,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Chespin) OVERWORLD( - sPicTable_Chespin, + gObjectEventPic_Chespin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Chespin, gShinyOverworldPalette_Chespin ) @@ -129,10 +130,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Quilladin) OVERWORLD( - sPicTable_Quilladin, + gObjectEventPic_Quilladin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Quilladin, gShinyOverworldPalette_Quilladin ) @@ -195,10 +197,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 10, SHADOW_SIZE_L) FOOTPRINT(Chesnaught) OVERWORLD( - sPicTable_Chesnaught, + gObjectEventPic_Chesnaught, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Chesnaught, gShinyOverworldPalette_Chesnaught ) @@ -266,10 +269,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Fennekin) OVERWORLD( - sPicTable_Fennekin, + gObjectEventPic_Fennekin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Fennekin, gShinyOverworldPalette_Fennekin ) @@ -333,10 +337,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Braixen) OVERWORLD( - sPicTable_Braixen, + gObjectEventPic_Braixen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Braixen, gShinyOverworldPalette_Braixen ) @@ -403,10 +408,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(7, 14, SHADOW_SIZE_M) FOOTPRINT(Delphox) OVERWORLD( - sPicTable_Delphox, + gObjectEventPic_Delphox, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Delphox, gShinyOverworldPalette_Delphox ) @@ -474,10 +480,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Froakie) OVERWORLD( - sPicTable_Froakie, + gObjectEventPic_Froakie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Froakie, gShinyOverworldPalette_Froakie ) @@ -540,10 +547,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Frogadier) OVERWORLD( - sPicTable_Frogadier, + gObjectEventPic_Frogadier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Frogadier, gShinyOverworldPalette_Frogadier ) @@ -599,10 +607,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Greninja) OVERWORLD( - sPicTable_Greninja, + gObjectEventPic_Greninja, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Greninja, gShinyOverworldPalette_Greninja ) @@ -658,10 +667,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Greninja) OVERWORLD( - sPicTable_Greninja, + gObjectEventPic_Greninja, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Greninja, gShinyOverworldPalette_Greninja ) @@ -784,10 +794,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 9, SHADOW_SIZE_S) FOOTPRINT(Bunnelby) OVERWORLD( - sPicTable_Bunnelby, + gObjectEventPic_Bunnelby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bunnelby, gShinyOverworldPalette_Bunnelby ) @@ -850,10 +861,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(8, 10, SHADOW_SIZE_M) FOOTPRINT(Diggersby) OVERWORLD( - sPicTable_Diggersby, + gObjectEventPic_Diggersby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Diggersby, gShinyOverworldPalette_Diggersby ) @@ -920,10 +932,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Fletchling) OVERWORLD( - sPicTable_Fletchling, + gObjectEventPic_Fletchling, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Fletchling, gShinyOverworldPalette_Fletchling ) @@ -993,10 +1006,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Fletchinder) OVERWORLD( - sPicTable_Fletchinder, + gObjectEventPic_Fletchinder, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Fletchinder, gShinyOverworldPalette_Fletchinder ) @@ -1059,10 +1073,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 17, SHADOW_SIZE_M) FOOTPRINT(Talonflame) OVERWORLD( - sPicTable_Talonflame, + gObjectEventPic_Talonflame, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Talonflame, gShinyOverworldPalette_Talonflame ) @@ -1115,13 +1130,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Scatterbug, \ .iconSprite = gMonIcon_Scatterbug, \ .iconPalIndex = 1, \ - SHADOW(1, 1, SHADOW_SIZE_S) \ + SHADOW(1, 1, SHADOW_SIZE_S) \ FOOTPRINT(Scatterbug) \ OVERWORLD( \ - sPicTable_Scatterbug, \ + gObjectEventPic_Scatterbug, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Scatterbug, \ gShinyOverworldPalette_Scatterbug \ ) \ @@ -1152,7 +1168,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = [SPECIES_SCATTERBUG_OCEAN] = SCATTERBUG_SPECIES_INFO(OCEAN), [SPECIES_SCATTERBUG_JUNGLE] = SCATTERBUG_SPECIES_INFO(JUNGLE), [SPECIES_SCATTERBUG_FANCY] = SCATTERBUG_SPECIES_INFO(FANCY), - [SPECIES_SCATTERBUG_POKEBALL] = SCATTERBUG_SPECIES_INFO(POKEBALL), + [SPECIES_SCATTERBUG_POKEBALL] = SCATTERBUG_SPECIES_INFO(POKEBALL), #define SPEWPA_SPECIES_INFO(evolution) \ { \ @@ -1197,13 +1213,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Spewpa, \ .iconSprite = gMonIcon_Spewpa, \ .iconPalIndex = 1, \ - SHADOW(0, 2, SHADOW_SIZE_M) \ + SHADOW(0, 2, SHADOW_SIZE_M) \ FOOTPRINT(Spewpa) \ OVERWORLD( \ - sPicTable_Spewpa, \ + gObjectEventPic_Spewpa, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Spewpa, \ gShinyOverworldPalette_Spewpa \ ) \ @@ -1282,10 +1299,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 20, SHADOW_SIZE_M) \ FOOTPRINT(Vivillon) \ OVERWORLD( \ - sPicTable_Vivillon ##form, \ + gObjectEventPic_Vivillon ##form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Vivillon ##form, \ gShinyOverworldPalette_Vivillon ##form \ ) \ @@ -1530,10 +1548,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Litleo) OVERWORLD( - sPicTable_Litleo, + gObjectEventPic_Litleo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Litleo, gShinyOverworldPalette_Litleo ) @@ -1604,18 +1623,20 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Pyroar) OVERWORLD( - sPicTable_Pyroar, + gObjectEventPic_Pyroar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pyroar, gShinyOverworldPalette_Pyroar ) OVERWORLD_FEMALE( - sPicTable_PyroarF, + gObjectEventPic_PyroarF, SIZE_32x32, SHADOW_SIZE_M, - TRACKS_FOOT + TRACKS_FOOT, + sAnimTable_Following ) .levelUpLearnset = sPyroarLevelUpLearnset, .teachableLearnset = sPyroarTeachableLearnset, @@ -1668,10 +1689,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 11, SHADOW_SIZE_S) \ FOOTPRINT(Flabebe) \ OVERWORLD( \ - sPicTable_Flabebe##Form, \ + gObjectEventPic_Flabebe##Form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Flabebe##Form, \ gShinyOverworldPalette_Flabebe##Form \ ) \ @@ -1756,10 +1778,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-3, 12, SHADOW_SIZE_S) \ FOOTPRINT(Floette) \ OVERWORLD( \ - sPicTable_Floette ##form, \ + gObjectEventPic_Floette ##form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Floette ##form, \ gShinyOverworldPalette_Floette ##form \ ) \ @@ -1904,10 +1927,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-5, 15, SHADOW_SIZE_M) \ FOOTPRINT(Florges) \ OVERWORLD( \ - sPicTable_Florges ##Form, \ + gObjectEventPic_Florges ##Form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Florges ##Form, \ gShinyOverworldPalette_Florges ##Form \ ) \ @@ -2015,10 +2039,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 7, SHADOW_SIZE_M) FOOTPRINT(Skiddo) OVERWORLD( - sPicTable_Skiddo, + gObjectEventPic_Skiddo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Skiddo, gShinyOverworldPalette_Skiddo ) @@ -2082,10 +2107,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gogoat) OVERWORLD( - sPicTable_Gogoat, + gObjectEventPic_Gogoat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gogoat, gShinyOverworldPalette_Gogoat ) @@ -2153,10 +2179,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Pancham) OVERWORLD( - sPicTable_Pancham, + gObjectEventPic_Pancham, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pancham, gShinyOverworldPalette_Pancham ) @@ -2224,10 +2251,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Pangoro) OVERWORLD( - sPicTable_Pangoro, + gObjectEventPic_Pangoro, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pangoro, gShinyOverworldPalette_Pangoro ) @@ -2284,10 +2312,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) \ FOOTPRINT(Furfrou) \ OVERWORLD( \ - sPicTable_Furfrou##_form, \ + gObjectEventPic_Furfrou##_form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Furfrou##_form, \ gShinyOverworldPalette_Furfrou##_form \ ) \ @@ -2369,10 +2398,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Espurr) OVERWORLD( - sPicTable_Espurr, + gObjectEventPic_Espurr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Espurr, gShinyOverworldPalette_Espurr ) @@ -2433,10 +2463,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Meowstic) OVERWORLD( - sPicTable_MeowsticM, + gObjectEventPic_MeowsticM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MeowsticM, gShinyOverworldPalette_MeowsticM ) @@ -2495,10 +2526,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 12, SHADOW_SIZE_S) FOOTPRINT(Meowstic) OVERWORLD( - sPicTable_MeowsticF, + gObjectEventPic_MeowsticF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MeowsticF, gShinyOverworldPalette_MeowsticF ) @@ -2564,10 +2596,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-10, 11, SHADOW_SIZE_S) FOOTPRINT(Honedge) OVERWORLD( - sPicTable_Honedge, + gObjectEventPic_Honedge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Honedge, gShinyOverworldPalette_Honedge ) @@ -2634,10 +2667,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(8, 11, SHADOW_SIZE_M) FOOTPRINT(Doublade) OVERWORLD( - sPicTable_Doublade, + gObjectEventPic_Doublade, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Doublade, gShinyOverworldPalette_Doublade ) @@ -2706,10 +2740,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Aegislash) OVERWORLD( - sPicTable_AegislashShield, + gObjectEventPic_AegislashShield, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_AegislashShield, gShinyOverworldPalette_AegislashShield ) @@ -2847,10 +2882,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Spritzee) OVERWORLD( - sPicTable_Spritzee, + gObjectEventPic_Spritzee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Spritzee, gShinyOverworldPalette_Spritzee ) @@ -2914,10 +2950,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Aromatisse) OVERWORLD( - sPicTable_Aromatisse, + gObjectEventPic_Aromatisse, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Aromatisse, gShinyOverworldPalette_Aromatisse ) @@ -2985,10 +3022,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Swirlix) OVERWORLD( - sPicTable_Swirlix, + gObjectEventPic_Swirlix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Swirlix, gShinyOverworldPalette_Swirlix ) @@ -3055,10 +3093,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Slurpuff) OVERWORLD( - sPicTable_Slurpuff, + gObjectEventPic_Slurpuff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Slurpuff, gShinyOverworldPalette_Slurpuff ) @@ -3124,10 +3163,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 11, SHADOW_SIZE_S) FOOTPRINT(Inkay) OVERWORLD( - sPicTable_Inkay, + gObjectEventPic_Inkay, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Inkay, gShinyOverworldPalette_Inkay ) @@ -3192,10 +3232,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Malamar) OVERWORLD( - sPicTable_Malamar, + gObjectEventPic_Malamar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Malamar, gShinyOverworldPalette_Malamar ) @@ -3262,10 +3303,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Binacle) OVERWORLD( - sPicTable_Binacle, + gObjectEventPic_Binacle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Binacle, gShinyOverworldPalette_Binacle ) @@ -3329,10 +3371,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Barbaracle) OVERWORLD( - sPicTable_Barbaracle, + gObjectEventPic_Barbaracle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Barbaracle, gShinyOverworldPalette_Barbaracle ) @@ -3401,10 +3444,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 5, SHADOW_SIZE_S) FOOTPRINT(Skrelp) OVERWORLD( - sPicTable_Skrelp, + gObjectEventPic_Skrelp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Skrelp, gShinyOverworldPalette_Skrelp ) @@ -3469,10 +3513,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Dragalge) OVERWORLD( - sPicTable_Dragalge, + gObjectEventPic_Dragalge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dragalge, gShinyOverworldPalette_Dragalge ) @@ -3539,10 +3584,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, -6, SHADOW_SIZE_M) FOOTPRINT(Clauncher) OVERWORLD( - sPicTable_Clauncher, + gObjectEventPic_Clauncher, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Clauncher, gShinyOverworldPalette_Clauncher ) @@ -3612,10 +3658,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(6, 1, SHADOW_SIZE_L) FOOTPRINT(Clawitzer) OVERWORLD( - sPicTable_Clawitzer, + gObjectEventPic_Clawitzer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Clawitzer, gShinyOverworldPalette_Clawitzer ) @@ -3679,10 +3726,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Helioptile) OVERWORLD( - sPicTable_Helioptile, + gObjectEventPic_Helioptile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Helioptile, gShinyOverworldPalette_Helioptile ) @@ -3747,10 +3795,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Heliolisk) OVERWORLD( - sPicTable_Heliolisk, + gObjectEventPic_Heliolisk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Heliolisk, gShinyOverworldPalette_Heliolisk ) @@ -3815,10 +3864,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 2, SHADOW_SIZE_M) FOOTPRINT(Tyrunt) OVERWORLD( - sPicTable_Tyrunt, + gObjectEventPic_Tyrunt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tyrunt, gShinyOverworldPalette_Tyrunt ) @@ -3881,10 +3931,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 14, SHADOW_SIZE_L) FOOTPRINT(Tyrantrum) OVERWORLD( - sPicTable_Tyrantrum, + gObjectEventPic_Tyrantrum, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tyrantrum, gShinyOverworldPalette_Tyrantrum ) @@ -3955,10 +4006,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Amaura) OVERWORLD( - sPicTable_Amaura, + gObjectEventPic_Amaura, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Amaura, gShinyOverworldPalette_Amaura ) @@ -4021,10 +4073,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-6, 14, SHADOW_SIZE_L) FOOTPRINT(Aurorus) OVERWORLD( - sPicTable_Aurorus, + gObjectEventPic_Aurorus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Aurorus, gShinyOverworldPalette_Aurorus ) @@ -4093,10 +4146,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 6, SHADOW_SIZE_S) FOOTPRINT(Hawlucha) OVERWORLD( - sPicTable_Hawlucha, + gObjectEventPic_Hawlucha, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hawlucha, gShinyOverworldPalette_Hawlucha ) @@ -4161,10 +4215,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Dedenne) OVERWORLD( - sPicTable_Dedenne, + gObjectEventPic_Dedenne, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dedenne, gShinyOverworldPalette_Dedenne ) @@ -4237,10 +4292,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Carbink) OVERWORLD( - sPicTable_Carbink, + gObjectEventPic_Carbink, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Carbink, gShinyOverworldPalette_Carbink ) @@ -4305,10 +4361,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Goomy) OVERWORLD( - sPicTable_Goomy, + gObjectEventPic_Goomy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Goomy, gShinyOverworldPalette_Goomy ) @@ -4374,10 +4431,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 6, SHADOW_SIZE_S) FOOTPRINT(Sliggoo) OVERWORLD( - sPicTable_Sliggoo, + gObjectEventPic_Sliggoo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sliggoo, gShinyOverworldPalette_Sliggoo ) @@ -4444,10 +4502,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Goodra) OVERWORLD( - sPicTable_Goodra, + gObjectEventPic_Goodra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Goodra, gShinyOverworldPalette_Goodra ) @@ -4508,10 +4567,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Sliggoo) OVERWORLD( - sPicTable_SliggooHisui, + gObjectEventPic_SliggooHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SliggooHisui, gShinyOverworldPalette_SliggooHisui ) @@ -4573,10 +4633,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Goodra) OVERWORLD( - sPicTable_GoodraHisui, + gObjectEventPic_GoodraHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GoodraHisui, gShinyOverworldPalette_GoodraHisui ) @@ -4651,10 +4712,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Klefki) OVERWORLD( - sPicTable_Klefki, + gObjectEventPic_Klefki, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Klefki, gShinyOverworldPalette_Klefki ) @@ -4720,10 +4782,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Phantump) OVERWORLD( - sPicTable_Phantump, + gObjectEventPic_Phantump, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Phantump, gShinyOverworldPalette_Phantump ) @@ -4791,10 +4854,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Trevenant) OVERWORLD( - sPicTable_Trevenant, + gObjectEventPic_Trevenant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Trevenant, gShinyOverworldPalette_Trevenant ) @@ -4854,10 +4918,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( - sPicTable_PumpkabooAverage, + gObjectEventPic_PumpkabooAverage, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pumpkaboo, gShinyOverworldPalette_Pumpkaboo ) @@ -4918,10 +4983,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( - sPicTable_PumpkabooSmall, + gObjectEventPic_PumpkabooSmall, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pumpkaboo, gShinyOverworldPalette_Pumpkaboo ) @@ -4982,10 +5048,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( - sPicTable_PumpkabooLarge, + gObjectEventPic_PumpkabooLarge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pumpkaboo, gShinyOverworldPalette_Pumpkaboo ) @@ -5048,10 +5115,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( - sPicTable_PumpkabooSuper, + gObjectEventPic_PumpkabooSuper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pumpkaboo, gShinyOverworldPalette_Pumpkaboo ) @@ -5113,10 +5181,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 10, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) OVERWORLD( - sPicTable_GourgeistAverage, + gObjectEventPic_GourgeistAverage, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gourgeist, gShinyOverworldPalette_Gourgeist ) @@ -5175,10 +5244,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 9, SHADOW_SIZE_S) FOOTPRINT(Gourgeist) OVERWORLD( - sPicTable_GourgeistSmall, + gObjectEventPic_GourgeistSmall, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gourgeist, gShinyOverworldPalette_Gourgeist ) @@ -5237,10 +5307,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 12, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) OVERWORLD( - sPicTable_GourgeistLarge, + gObjectEventPic_GourgeistLarge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gourgeist, gShinyOverworldPalette_Gourgeist ) @@ -5301,10 +5372,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 14, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) OVERWORLD( - sPicTable_GourgeistSuper, + gObjectEventPic_GourgeistSuper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gourgeist, gShinyOverworldPalette_Gourgeist ) @@ -5377,10 +5449,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Bergmite) OVERWORLD( - sPicTable_Bergmite, + gObjectEventPic_Bergmite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bergmite, gShinyOverworldPalette_Bergmite ) @@ -5446,10 +5519,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Avalugg) OVERWORLD( - sPicTable_Avalugg, + gObjectEventPic_Avalugg, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Avalugg, gShinyOverworldPalette_Avalugg ) @@ -5508,10 +5582,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, -2, SHADOW_SIZE_L) FOOTPRINT(Avalugg) OVERWORLD( - sPicTable_AvaluggHisui, + gObjectEventPic_AvaluggHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_AvaluggHisui, gShinyOverworldPalette_AvaluggHisui ) @@ -5588,10 +5663,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Noibat) OVERWORLD( - sPicTable_Noibat, + gObjectEventPic_Noibat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Noibat, gShinyOverworldPalette_Noibat ) @@ -5658,10 +5734,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(5, 10, SHADOW_SIZE_L) FOOTPRINT(Noivern) OVERWORLD( - sPicTable_Noivern, + gObjectEventPic_Noivern, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Noivern, gShinyOverworldPalette_Noivern ) @@ -5717,10 +5794,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Xerneas) OVERWORLD( - sPicTable_XerneasNeutral, + gObjectEventPic_XerneasNeutral, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_XerneasNeutral, gShinyOverworldPalette_XerneasNeutral ) @@ -5779,10 +5857,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Xerneas) OVERWORLD( - sPicTable_XerneasActive, + gObjectEventPic_XerneasActive, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_XerneasNeutral, gShinyOverworldPalette_XerneasNeutral ) @@ -5853,10 +5932,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 16, SHADOW_SIZE_L) FOOTPRINT(Yveltal) OVERWORLD( - sPicTable_Yveltal, + gObjectEventPic_Yveltal, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Yveltal, gShinyOverworldPalette_Yveltal ) @@ -5916,10 +5996,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( - sPicTable_Zygarde50, + gObjectEventPic_Zygarde50, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zygarde50, gShinyOverworldPalette_Zygarde50 ) @@ -5978,10 +6059,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( - sPicTable_Zygarde50, + gObjectEventPic_Zygarde50, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zygarde50, gShinyOverworldPalette_Zygarde50 ) @@ -6040,10 +6122,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( - sPicTable_Zygarde10, + gObjectEventPic_Zygarde10, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zygarde10, gShinyOverworldPalette_Zygarde10 ) @@ -6103,10 +6186,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( - sPicTable_Zygarde10, + gObjectEventPic_Zygarde10, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zygarde10, gShinyOverworldPalette_Zygarde10 ) @@ -6174,10 +6258,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-3, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Zygarde) OVERWORLD( - sPicTable_ZygardeComplete, + gObjectEventPic_ZygardeComplete, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ZygardeComplete, gShinyOverworldPalette_ZygardeComplete ) @@ -6247,10 +6332,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Diancie) OVERWORLD( - sPicTable_Diancie, + gObjectEventPic_Diancie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Diancie, gShinyOverworldPalette_Diancie ) @@ -6388,10 +6474,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Hoopa) OVERWORLD( - sPicTable_HoopaConfined, + gObjectEventPic_HoopaConfined, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_HoopaConfined, gShinyOverworldPalette_HoopaConfined ) @@ -6458,10 +6545,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Hoopa) OVERWORLD( - sPicTable_HoopaUnbound, + gObjectEventPic_HoopaUnbound, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_HoopaUnbound, gShinyOverworldPalette_HoopaUnbound ) @@ -6529,10 +6617,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Volcanion) OVERWORLD( - sPicTable_Volcanion, + gObjectEventPic_Volcanion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Volcanion, gShinyOverworldPalette_Volcanion ) diff --git a/src/data/pokemon/species_info/gen_7_families.h b/src/data/pokemon/species_info/gen_7_families.h index a9a1bd3078..b0115420ad 100644 --- a/src/data/pokemon/species_info/gen_7_families.h +++ b/src/data/pokemon/species_info/gen_7_families.h @@ -57,10 +57,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Rowlet) OVERWORLD( - sPicTable_Rowlet, + gObjectEventPic_Rowlet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rowlet, gShinyOverworldPalette_Rowlet ) @@ -124,10 +125,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Dartrix) OVERWORLD( - sPicTable_Dartrix, + gObjectEventPic_Dartrix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dartrix, gShinyOverworldPalette_Dartrix ) @@ -190,10 +192,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Decidueye) OVERWORLD( - sPicTable_Decidueye, + gObjectEventPic_Decidueye, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Decidueye, gShinyOverworldPalette_Decidueye ) @@ -253,10 +256,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Decidueye) OVERWORLD( - sPicTable_DecidueyeHisui, + gObjectEventPic_DecidueyeHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_DecidueyeHisui, gShinyOverworldPalette_DecidueyeHisui ) @@ -319,10 +323,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Litten) OVERWORLD( - sPicTable_Litten, + gObjectEventPic_Litten, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Litten, gShinyOverworldPalette_Litten ) @@ -382,10 +387,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 7, SHADOW_SIZE_M) FOOTPRINT(Torracat) OVERWORLD( - sPicTable_Torracat, + gObjectEventPic_Torracat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Torracat, gShinyOverworldPalette_Torracat ) @@ -444,10 +450,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Incineroar) OVERWORLD( - sPicTable_Incineroar, + gObjectEventPic_Incineroar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Incineroar, gShinyOverworldPalette_Incineroar ) @@ -507,10 +514,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Popplio) OVERWORLD( - sPicTable_Popplio, + gObjectEventPic_Popplio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Popplio, gShinyOverworldPalette_Popplio ) @@ -570,10 +578,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-5, 6, SHADOW_SIZE_M) FOOTPRINT(Brionne) OVERWORLD( - sPicTable_Brionne, + gObjectEventPic_Brionne, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Brionne, gShinyOverworldPalette_Brionne ) @@ -632,10 +641,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-6, 11, SHADOW_SIZE_L) FOOTPRINT(Primarina) OVERWORLD( - sPicTable_Primarina, + gObjectEventPic_Primarina, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Primarina, gShinyOverworldPalette_Primarina ) @@ -700,10 +710,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Pikipek) OVERWORLD( - sPicTable_Pikipek, + gObjectEventPic_Pikipek, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pikipek, gShinyOverworldPalette_Pikipek ) @@ -769,10 +780,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 8, SHADOW_SIZE_S) FOOTPRINT(Trumbeak) OVERWORLD( - sPicTable_Trumbeak, + gObjectEventPic_Trumbeak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Trumbeak, gShinyOverworldPalette_Trumbeak ) @@ -835,10 +847,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(9, 12, SHADOW_SIZE_M) FOOTPRINT(Toucannon) OVERWORLD( - sPicTable_Toucannon, + gObjectEventPic_Toucannon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Toucannon, gShinyOverworldPalette_Toucannon ) @@ -899,10 +912,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-9, 1, SHADOW_SIZE_M) FOOTPRINT(Yungoos) OVERWORLD( - sPicTable_Yungoos, + gObjectEventPic_Yungoos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Yungoos, gShinyOverworldPalette_Yungoos ) @@ -959,10 +973,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Gumshoos) OVERWORLD( - sPicTable_Gumshoos, + gObjectEventPic_Gumshoos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gumshoos, gShinyOverworldPalette_Gumshoos ) @@ -1018,10 +1033,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Gumshoos) OVERWORLD( - sPicTable_Gumshoos, + gObjectEventPic_Gumshoos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gumshoos, gShinyOverworldPalette_Gumshoos ) @@ -1084,10 +1100,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Grubbin) OVERWORLD( - sPicTable_Grubbin, + gObjectEventPic_Grubbin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Grubbin, gShinyOverworldPalette_Grubbin ) @@ -1152,10 +1169,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = NO_SHADOW FOOTPRINT(Charjabug) OVERWORLD( - sPicTable_Charjabug, + gObjectEventPic_Charjabug, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Charjabug, gShinyOverworldPalette_Charjabug ) @@ -1213,10 +1231,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 16, SHADOW_SIZE_S) FOOTPRINT(Vikavolt) OVERWORLD( - sPicTable_Vikavolt, + gObjectEventPic_Vikavolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vikavolt, gShinyOverworldPalette_Vikavolt ) @@ -1280,10 +1299,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 16, SHADOW_SIZE_S) FOOTPRINT(Vikavolt) OVERWORLD( - sPicTable_Vikavolt, + gObjectEventPic_Vikavolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Vikavolt, gShinyOverworldPalette_Vikavolt ) @@ -1347,10 +1367,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(7, 6, SHADOW_SIZE_M) FOOTPRINT(Crabrawler) OVERWORLD( - sPicTable_Crabrawler, + gObjectEventPic_Crabrawler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Crabrawler, gShinyOverworldPalette_Crabrawler ) @@ -1412,10 +1433,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Crabominable) OVERWORLD( - sPicTable_Crabominable, + gObjectEventPic_Crabominable, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Crabominable, gShinyOverworldPalette_Crabominable ) @@ -1476,10 +1498,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, 9, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( - sPicTable_OricorioBaile, + gObjectEventPic_OricorioBaile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_OricorioBaile, gShinyOverworldPalette_OricorioBaile ) @@ -1541,10 +1564,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 8, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( - sPicTable_OricorioPomPom, + gObjectEventPic_OricorioPomPom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_OricorioPomPom, gShinyOverworldPalette_OricorioPomPom ) @@ -1606,10 +1630,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, 11, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( - sPicTable_OricorioPau, + gObjectEventPic_OricorioPau, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_OricorioPau, gShinyOverworldPalette_OricorioPau ) @@ -1671,10 +1696,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(7, 10, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( - sPicTable_OricorioSensu, + gObjectEventPic_OricorioSensu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_OricorioSensu, gShinyOverworldPalette_OricorioSensu ) @@ -1772,10 +1798,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Cutiefly) OVERWORLD( - sPicTable_Cutiefly, + gObjectEventPic_Cutiefly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cutiefly, gShinyOverworldPalette_Cutiefly ) @@ -1834,10 +1861,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Ribombee) OVERWORLD( - sPicTable_Ribombee, + gObjectEventPic_Ribombee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ribombee, gShinyOverworldPalette_Ribombee ) @@ -1894,10 +1922,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Ribombee) OVERWORLD( - sPicTable_Ribombee, + gObjectEventPic_Ribombee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ribombee, gShinyOverworldPalette_Ribombee ) @@ -1956,10 +1985,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rockruff) OVERWORLD( - sPicTable_Rockruff, + gObjectEventPic_Rockruff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rockruff, gShinyOverworldPalette_Rockruff ) @@ -2017,10 +2047,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rockruff) OVERWORLD( - sPicTable_Rockruff, + gObjectEventPic_Rockruff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rockruff, gShinyOverworldPalette_Rockruff ) @@ -2084,10 +2115,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( - sPicTable_LycanrocMidday, + gObjectEventPic_LycanrocMidday, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_LycanrocMidday, gShinyOverworldPalette_LycanrocMidday ) @@ -2149,10 +2181,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 13, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( - sPicTable_LycanrocMidnight, + gObjectEventPic_LycanrocMidnight, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_LycanrocMidnight, gShinyOverworldPalette_LycanrocMidnight ) @@ -2214,10 +2247,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( - sPicTable_LycanrocDusk, + gObjectEventPic_LycanrocDusk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_LycanrocDusk, gShinyOverworldPalette_LycanrocDusk ) @@ -2279,10 +2313,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Wishiwashi) OVERWORLD( - sPicTable_WishiwashiSolo, + gObjectEventPic_WishiwashiSolo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_WishiwashiSolo, gShinyOverworldPalette_WishiwashiSolo ) @@ -2402,10 +2437,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Mareanie) OVERWORLD( - sPicTable_Mareanie, + gObjectEventPic_Mareanie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mareanie, gShinyOverworldPalette_Mareanie ) @@ -2466,10 +2502,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Toxapex) OVERWORLD( - sPicTable_Toxapex, + gObjectEventPic_Toxapex, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Toxapex, gShinyOverworldPalette_Toxapex ) @@ -2530,10 +2567,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Mudbray) OVERWORLD( - sPicTable_Mudbray, + gObjectEventPic_Mudbray, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mudbray, gShinyOverworldPalette_Mudbray ) @@ -2594,10 +2632,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(4, 13, SHADOW_SIZE_L) FOOTPRINT(Mudsdale) OVERWORLD( - sPicTable_Mudsdale, + gObjectEventPic_Mudsdale, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mudsdale, gShinyOverworldPalette_Mudsdale ) @@ -2665,10 +2704,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Dewpider) OVERWORLD( - sPicTable_Dewpider, + gObjectEventPic_Dewpider, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dewpider, gShinyOverworldPalette_Dewpider ) @@ -2726,10 +2766,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Araquanid) OVERWORLD( - sPicTable_Araquanid, + gObjectEventPic_Araquanid, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Araquanid, gShinyOverworldPalette_Araquanid ) @@ -2785,10 +2826,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-6, 9, SHADOW_SIZE_S) FOOTPRINT(Araquanid) OVERWORLD( - sPicTable_Araquanid, + gObjectEventPic_Araquanid, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Araquanid, gShinyOverworldPalette_Araquanid ) @@ -2852,10 +2894,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Fomantis) OVERWORLD( - sPicTable_Fomantis, + gObjectEventPic_Fomantis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Fomantis, gShinyOverworldPalette_Fomantis ) @@ -2913,10 +2956,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Lurantis) OVERWORLD( - sPicTable_Lurantis, + gObjectEventPic_Lurantis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lurantis, gShinyOverworldPalette_Lurantis ) @@ -2972,10 +3016,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Lurantis) OVERWORLD( - sPicTable_Lurantis, + gObjectEventPic_Lurantis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lurantis, gShinyOverworldPalette_Lurantis ) @@ -3040,10 +3085,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Morelull) OVERWORLD( - sPicTable_Morelull, + gObjectEventPic_Morelull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Morelull, gShinyOverworldPalette_Morelull ) @@ -3105,10 +3151,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Shiinotic) OVERWORLD( - sPicTable_Shiinotic, + gObjectEventPic_Shiinotic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Shiinotic, gShinyOverworldPalette_Shiinotic ) @@ -3173,10 +3220,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(3, 1, SHADOW_SIZE_M) FOOTPRINT(Salandit) OVERWORLD( - sPicTable_Salandit, + gObjectEventPic_Salandit, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Salandit, gShinyOverworldPalette_Salandit ) @@ -3234,10 +3282,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Salazzle) OVERWORLD( - sPicTable_Salazzle, + gObjectEventPic_Salazzle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Salazzle, gShinyOverworldPalette_Salazzle ) @@ -3293,10 +3342,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Salazzle) OVERWORLD( - sPicTable_Salazzle, + gObjectEventPic_Salazzle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Salazzle, gShinyOverworldPalette_Salazzle ) @@ -3363,10 +3413,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Stufful) OVERWORLD( - sPicTable_Stufful, + gObjectEventPic_Stufful, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Stufful, gShinyOverworldPalette_Stufful ) @@ -3430,10 +3481,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Bewear) OVERWORLD( - sPicTable_Bewear, + gObjectEventPic_Bewear, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bewear, gShinyOverworldPalette_Bewear ) @@ -3494,10 +3546,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, -3, SHADOW_SIZE_S) FOOTPRINT(Bounsweet) OVERWORLD( - sPicTable_Bounsweet, + gObjectEventPic_Bounsweet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bounsweet, gShinyOverworldPalette_Bounsweet ) @@ -3559,10 +3612,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Steenee) OVERWORLD( - sPicTable_Steenee, + gObjectEventPic_Steenee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Steenee, gShinyOverworldPalette_Steenee ) @@ -3623,10 +3677,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 13, SHADOW_SIZE_M) FOOTPRINT(Tsareena) OVERWORLD( - sPicTable_Tsareena, + gObjectEventPic_Tsareena, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tsareena, gShinyOverworldPalette_Tsareena ) @@ -3689,10 +3744,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Comfey) OVERWORLD( - sPicTable_Comfey, + gObjectEventPic_Comfey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Comfey, gShinyOverworldPalette_Comfey ) @@ -3756,10 +3812,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 6, SHADOW_SIZE_M) FOOTPRINT(Oranguru) OVERWORLD( - sPicTable_Oranguru, + gObjectEventPic_Oranguru, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Oranguru, gShinyOverworldPalette_Oranguru ) @@ -3823,10 +3880,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, 12, SHADOW_SIZE_L) FOOTPRINT(Passimian) OVERWORLD( - sPicTable_Passimian, + gObjectEventPic_Passimian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Passimian, gShinyOverworldPalette_Passimian ) @@ -3891,10 +3949,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, -3, SHADOW_SIZE_S) FOOTPRINT(Wimpod) OVERWORLD( - sPicTable_Wimpod, + gObjectEventPic_Wimpod, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Wimpod, gShinyOverworldPalette_Wimpod ) @@ -3958,10 +4017,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Golisopod) OVERWORLD( - sPicTable_Golisopod, + gObjectEventPic_Golisopod, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Golisopod, gShinyOverworldPalette_Golisopod ) @@ -4022,10 +4082,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = NO_SHADOW FOOTPRINT(Sandygast) OVERWORLD( - sPicTable_Sandygast, + gObjectEventPic_Sandygast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sandygast, gShinyOverworldPalette_Sandygast ) @@ -4086,10 +4147,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = NO_SHADOW FOOTPRINT(Palossand) OVERWORLD( - sPicTable_Palossand, + gObjectEventPic_Palossand, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Palossand, gShinyOverworldPalette_Palossand ) @@ -4153,10 +4215,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, -3, SHADOW_SIZE_S) FOOTPRINT(Pyukumuku) OVERWORLD( - sPicTable_Pyukumuku, + gObjectEventPic_Pyukumuku, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pyukumuku, gShinyOverworldPalette_Pyukumuku ) @@ -4217,10 +4280,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Type_Null) OVERWORLD( - sPicTable_TypeNull, + gObjectEventPic_TypeNull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TypeNull, gShinyOverworldPalette_TypeNull ) @@ -4279,15 +4343,16 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 13, SHADOW_SIZE_L) \ FOOTPRINT(Silvally) \ OVERWORLD( \ - sPicTable_Silvally, \ + gObjectEventPic_Silvally, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Silvally, \ gShinyOverworldPalette_Silvally \ ) \ .isLegendary = TRUE, \ - .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ .levelUpLearnset = sSilvallyLevelUpLearnset, \ .teachableLearnset = sSilvallyTeachableLearnset, \ .formSpeciesIdTable = sSilvallyFormSpeciesIdTable, \ @@ -4368,12 +4433,13 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MiniorMeteor, \ .iconSprite = gMonIcon_MiniorMeteor, \ .iconPalIndex = 0, \ - SHADOW(0, 14, SHADOW_SIZE_S) \ + SHADOW(0, 14, SHADOW_SIZE_S) \ OVERWORLD( \ - sPicTable_MiniorMeteor, \ + gObjectEventPic_MiniorMeteor, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_MiniorMeteor, \ gShinyOverworldPalette_MiniorMeteor \ ) \ @@ -4405,7 +4471,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MiniorCore, \ .iconSprite = gMonIcon_MiniorCore##Form, \ .iconPalIndex = iconPal, \ - SHADOW(-2, 12, SHADOW_SIZE_S) \ + SHADOW(-2, 12, SHADOW_SIZE_S) \ .formChangeTable = sMinior ##Form##FormChangeTable, \ MINIOR_MISC_INFO(color), \ } @@ -4477,10 +4543,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, 0, SHADOW_SIZE_S) FOOTPRINT(Komala) OVERWORLD( - sPicTable_Komala, + gObjectEventPic_Komala, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Komala, gShinyOverworldPalette_Komala ) @@ -4546,10 +4613,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, 12, SHADOW_SIZE_L) FOOTPRINT(Turtonator) OVERWORLD( - sPicTable_Turtonator, + gObjectEventPic_Turtonator, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Turtonator, gShinyOverworldPalette_Turtonator ) @@ -4607,10 +4675,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Togedemaru) OVERWORLD( - sPicTable_Togedemaru, + gObjectEventPic_Togedemaru, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Togedemaru, gShinyOverworldPalette_Togedemaru ) @@ -4667,10 +4736,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Togedemaru) OVERWORLD( - sPicTable_Togedemaru, + gObjectEventPic_Togedemaru, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Togedemaru, gShinyOverworldPalette_Togedemaru ) @@ -4731,10 +4801,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) OVERWORLD( - sPicTable_MimikyuDisguised, + gObjectEventPic_MimikyuDisguised, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MimikyuDisguised, gShinyOverworldPalette_MimikyuDisguised ) @@ -4845,10 +4916,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) OVERWORLD( - sPicTable_MimikyuDisguised, + gObjectEventPic_MimikyuDisguised, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MimikyuDisguised, gShinyOverworldPalette_MimikyuDisguised ) @@ -4969,10 +5041,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Bruxish) OVERWORLD( - sPicTable_Bruxish, + gObjectEventPic_Bruxish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bruxish, gShinyOverworldPalette_Bruxish ) @@ -5037,10 +5110,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Drampa) OVERWORLD( - sPicTable_Drampa, + gObjectEventPic_Drampa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Drampa, gShinyOverworldPalette_Drampa ) @@ -5103,10 +5177,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Dhelmise) OVERWORLD( - sPicTable_Dhelmise, + gObjectEventPic_Dhelmise, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dhelmise, gShinyOverworldPalette_Dhelmise ) @@ -5170,10 +5245,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(JangmoO) OVERWORLD( - sPicTable_JangmoO, + gObjectEventPic_JangmoO, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_JangmoO, gShinyOverworldPalette_JangmoO ) @@ -5237,10 +5313,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(HakamoO) OVERWORLD( - sPicTable_HakamoO, + gObjectEventPic_HakamoO, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_HakamoO, gShinyOverworldPalette_HakamoO ) @@ -5297,10 +5374,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(KommoO) OVERWORLD( - sPicTable_KommoO, + gObjectEventPic_KommoO, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_KommoO, gShinyOverworldPalette_KommoO ) @@ -5362,10 +5440,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(KommoO) OVERWORLD( - sPicTable_KommoO, + gObjectEventPic_KommoO, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_KommoO, gShinyOverworldPalette_KommoO ) @@ -5437,10 +5516,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 19, SHADOW_SIZE_M) FOOTPRINT(TapuKoko) OVERWORLD( - sPicTable_TapuKoko, + gObjectEventPic_TapuKoko, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TapuKoko, gShinyOverworldPalette_TapuKoko ) @@ -5507,10 +5587,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(TapuLele) OVERWORLD( - sPicTable_TapuLele, + gObjectEventPic_TapuLele, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TapuLele, gShinyOverworldPalette_TapuLele ) @@ -5579,10 +5660,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(4, 16, SHADOW_SIZE_M) FOOTPRINT(TapuBulu) OVERWORLD( - sPicTable_TapuBulu, + gObjectEventPic_TapuBulu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TapuBulu, gShinyOverworldPalette_TapuBulu ) @@ -5650,10 +5732,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(TapuFini) OVERWORLD( - sPicTable_TapuFini, + gObjectEventPic_TapuFini, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TapuFini, gShinyOverworldPalette_TapuFini ) @@ -5716,10 +5799,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Cosmog) OVERWORLD( - sPicTable_Cosmog, + gObjectEventPic_Cosmog, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cosmog, gShinyOverworldPalette_Cosmog ) @@ -5784,10 +5868,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Cosmoem) OVERWORLD( - sPicTable_Cosmoem, + gObjectEventPic_Cosmoem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cosmoem, gShinyOverworldPalette_Cosmoem ) @@ -5851,10 +5936,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Solgaleo) OVERWORLD( - sPicTable_Solgaleo, + gObjectEventPic_Solgaleo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Solgaleo, gShinyOverworldPalette_Solgaleo ) @@ -5916,10 +6002,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(4, 17, SHADOW_SIZE_L) FOOTPRINT(Lunala) OVERWORLD( - sPicTable_Lunala, + gObjectEventPic_Lunala, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lunala, gShinyOverworldPalette_Lunala ) @@ -5983,10 +6070,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 14, SHADOW_SIZE_S) FOOTPRINT(Nihilego) OVERWORLD( - sPicTable_Nihilego, + gObjectEventPic_Nihilego, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Nihilego, gShinyOverworldPalette_Nihilego ) @@ -6049,10 +6137,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Buzzwole) OVERWORLD( - sPicTable_Buzzwole, + gObjectEventPic_Buzzwole, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Buzzwole, gShinyOverworldPalette_Buzzwole ) @@ -6114,10 +6203,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Pheromosa) OVERWORLD( - sPicTable_Pheromosa, + gObjectEventPic_Pheromosa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pheromosa, gShinyOverworldPalette_Pheromosa ) @@ -6179,10 +6269,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Xurkitree) OVERWORLD( - sPicTable_Xurkitree, + gObjectEventPic_Xurkitree, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Xurkitree, gShinyOverworldPalette_Xurkitree ) @@ -6246,10 +6337,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Celesteela) OVERWORLD( - sPicTable_Celesteela, + gObjectEventPic_Celesteela, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Celesteela, gShinyOverworldPalette_Celesteela ) @@ -6312,10 +6404,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Kartana) OVERWORLD( - sPicTable_Kartana, + gObjectEventPic_Kartana, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Kartana, gShinyOverworldPalette_Kartana ) @@ -6377,10 +6470,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(4, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Guzzlord) OVERWORLD( - sPicTable_Guzzlord, + gObjectEventPic_Guzzlord, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Guzzlord, gShinyOverworldPalette_Guzzlord ) @@ -6445,10 +6539,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 15, SHADOW_SIZE_M) FOOTPRINT(Necrozma) OVERWORLD( - sPicTable_Necrozma, + gObjectEventPic_Necrozma, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Necrozma, gShinyOverworldPalette_Necrozma ) @@ -6512,10 +6607,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Necrozma) OVERWORLD( - sPicTable_NecrozmaDuskMane, + gObjectEventPic_NecrozmaDuskMane, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_NecrozmaDuskMane, gShinyOverworldPalette_NecrozmaDuskMane ) @@ -6581,10 +6677,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(3, 17, SHADOW_SIZE_L) FOOTPRINT(Necrozma) OVERWORLD( - sPicTable_NecrozmaDawnWings, + gObjectEventPic_NecrozmaDawnWings, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_NecrozmaDawnWings, gShinyOverworldPalette_NecrozmaDawnWings ) @@ -6716,10 +6813,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Magearna) OVERWORLD( - sPicTable_Magearna, + gObjectEventPic_Magearna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Magearna, gShinyOverworldPalette_Magearna ) @@ -6780,10 +6878,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Magearna) OVERWORLD( - sPicTable_MagearnaOriginal, + gObjectEventPic_MagearnaOriginal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MagearnaOriginal, gShinyOverworldPalette_MagearnaOriginal ) @@ -6853,10 +6952,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Marshadow) OVERWORLD( - sPicTable_Marshadow, + gObjectEventPic_Marshadow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Marshadow, gShinyOverworldPalette_Marshadow ) @@ -6919,10 +7019,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Poipole) OVERWORLD( - sPicTable_Poipole, + gObjectEventPic_Poipole, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Poipole, gShinyOverworldPalette_Poipole ) @@ -6983,10 +7084,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(7, 17, SHADOW_SIZE_M) FOOTPRINT(Naganadel) OVERWORLD( - sPicTable_Naganadel, + gObjectEventPic_Naganadel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Naganadel, gShinyOverworldPalette_Naganadel ) @@ -7048,10 +7150,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(2, 15, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Stakataka) OVERWORLD( - sPicTable_Stakataka, + gObjectEventPic_Stakataka, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Stakataka, gShinyOverworldPalette_Stakataka ) @@ -7113,10 +7216,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Blacephalon) OVERWORLD( - sPicTable_Blacephalon, + gObjectEventPic_Blacephalon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Blacephalon, gShinyOverworldPalette_Blacephalon ) @@ -7177,10 +7281,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Zeraora) OVERWORLD( - sPicTable_Zeraora, + gObjectEventPic_Zeraora, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zeraora, gShinyOverworldPalette_Zeraora ) @@ -7242,10 +7347,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Meltan) OVERWORLD( - sPicTable_Meltan, + gObjectEventPic_Meltan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Meltan, gShinyOverworldPalette_Meltan ) @@ -7305,10 +7411,11 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(3, 10, SHADOW_SIZE_L) FOOTPRINT(Melmetal) OVERWORLD( - sPicTable_Melmetal, + gObjectEventPic_Melmetal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Melmetal, gShinyOverworldPalette_Melmetal ) diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index 3abd1c1823..a7239d1c32 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -54,10 +54,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Grookey) OVERWORLD( - sPicTable_Grookey, + gObjectEventPic_Grookey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Grookey, gShinyOverworldPalette_Grookey ) @@ -116,10 +117,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(5, 6, SHADOW_SIZE_M) FOOTPRINT(Thwackey) OVERWORLD( - sPicTable_Thwackey, + gObjectEventPic_Thwackey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Thwackey, gShinyOverworldPalette_Thwackey ) @@ -177,10 +179,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Rillaboom) OVERWORLD( - sPicTable_Rillaboom, + gObjectEventPic_Rillaboom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rillaboom, gShinyOverworldPalette_Rillaboom ) @@ -299,10 +302,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Scorbunny) OVERWORLD( - sPicTable_Scorbunny, + gObjectEventPic_Scorbunny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Scorbunny, gShinyOverworldPalette_Scorbunny ) @@ -361,10 +365,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-4, 5, SHADOW_SIZE_S) FOOTPRINT(Raboot) OVERWORLD( - sPicTable_Raboot, + gObjectEventPic_Raboot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Raboot, gShinyOverworldPalette_Raboot ) @@ -423,10 +428,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Cinderace) OVERWORLD( - sPicTable_Cinderace, + gObjectEventPic_Cinderace, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cinderace, gShinyOverworldPalette_Cinderace ) @@ -547,10 +553,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-3, 3, SHADOW_SIZE_S) FOOTPRINT(Sobble) OVERWORLD( - sPicTable_Sobble, + gObjectEventPic_Sobble, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sobble, gShinyOverworldPalette_Sobble ) @@ -609,10 +616,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 5, SHADOW_SIZE_M) FOOTPRINT(Drizzile) OVERWORLD( - sPicTable_Drizzile, + gObjectEventPic_Drizzile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Drizzile, gShinyOverworldPalette_Drizzile ) @@ -671,10 +679,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Inteleon) OVERWORLD( - sPicTable_Inteleon, + gObjectEventPic_Inteleon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Inteleon, gShinyOverworldPalette_Inteleon ) @@ -794,10 +803,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-7, 5, SHADOW_SIZE_S) FOOTPRINT(Skwovet) OVERWORLD( - sPicTable_Skwovet, + gObjectEventPic_Skwovet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Skwovet, gShinyOverworldPalette_Skwovet ) @@ -858,10 +868,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-11, 10, SHADOW_SIZE_M) FOOTPRINT(Greedent) OVERWORLD( - sPicTable_Greedent, + gObjectEventPic_Greedent, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Greedent, gShinyOverworldPalette_Greedent ) @@ -929,10 +940,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Rookidee) OVERWORLD( - sPicTable_Rookidee, + gObjectEventPic_Rookidee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rookidee, gShinyOverworldPalette_Rookidee ) @@ -1001,10 +1013,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 16, SHADOW_SIZE_S) FOOTPRINT(Corvisquire) OVERWORLD( - sPicTable_Corvisquire, + gObjectEventPic_Corvisquire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Corvisquire, gShinyOverworldPalette_Corvisquire ) @@ -1067,10 +1080,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Corviknight) OVERWORLD( - sPicTable_Corviknight, + gObjectEventPic_Corviknight, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Corviknight, gShinyOverworldPalette_Corviknight ) @@ -1189,10 +1203,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Blipbug) OVERWORLD( - sPicTable_Blipbug, + gObjectEventPic_Blipbug, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Blipbug, gShinyOverworldPalette_Blipbug ) @@ -1254,10 +1269,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 0, SHADOW_SIZE_M) FOOTPRINT(Dottler) OVERWORLD( - sPicTable_Dottler, + gObjectEventPic_Dottler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dottler, gShinyOverworldPalette_Dottler ) @@ -1318,10 +1334,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(Orbeetle) OVERWORLD( - sPicTable_Orbeetle, + gObjectEventPic_Orbeetle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Orbeetle, gShinyOverworldPalette_Orbeetle ) @@ -1442,10 +1459,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Nickit) OVERWORLD( - sPicTable_Nickit, + gObjectEventPic_Nickit, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Nickit, gShinyOverworldPalette_Nickit ) @@ -1505,10 +1523,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-9, 7, SHADOW_SIZE_M) FOOTPRINT(Thievul) OVERWORLD( - sPicTable_Thievul, + gObjectEventPic_Thievul, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Thievul, gShinyOverworldPalette_Thievul ) @@ -1568,10 +1587,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Gossifleur) OVERWORLD( - sPicTable_Gossifleur, + gObjectEventPic_Gossifleur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Gossifleur, gShinyOverworldPalette_Gossifleur ) @@ -1631,10 +1651,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, 8, SHADOW_SIZE_S) FOOTPRINT(Eldegoss) OVERWORLD( - sPicTable_Eldegoss, + gObjectEventPic_Eldegoss, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Eldegoss, gShinyOverworldPalette_Eldegoss ) @@ -1694,10 +1715,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Wooloo) OVERWORLD( - sPicTable_Wooloo, + gObjectEventPic_Wooloo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Wooloo, gShinyOverworldPalette_Wooloo ) @@ -1757,10 +1779,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Dubwool) OVERWORLD( - sPicTable_Dubwool, + gObjectEventPic_Dubwool, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dubwool, gShinyOverworldPalette_Dubwool ) @@ -1823,10 +1846,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(3, 1, SHADOW_SIZE_S) FOOTPRINT(Chewtle) OVERWORLD( - sPicTable_Chewtle, + gObjectEventPic_Chewtle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Chewtle, gShinyOverworldPalette_Chewtle ) @@ -1889,10 +1913,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, 4, SHADOW_SIZE_L) FOOTPRINT(Drednaw) OVERWORLD( - sPicTable_Drednaw, + gObjectEventPic_Drednaw, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Drednaw, gShinyOverworldPalette_Drednaw ) @@ -2012,10 +2037,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Yamper) OVERWORLD( - sPicTable_Yamper, + gObjectEventPic_Yamper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Yamper, gShinyOverworldPalette_Yamper ) @@ -2075,10 +2101,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Boltund) OVERWORLD( - sPicTable_Boltund, + gObjectEventPic_Boltund, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Boltund, gShinyOverworldPalette_Boltund ) @@ -2138,10 +2165,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, -3, SHADOW_SIZE_S) FOOTPRINT(Rolycoly) OVERWORLD( - sPicTable_Rolycoly, + gObjectEventPic_Rolycoly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Rolycoly, gShinyOverworldPalette_Rolycoly ) @@ -2200,10 +2228,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Carkol) OVERWORLD( - sPicTable_Carkol, + gObjectEventPic_Carkol, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Carkol, gShinyOverworldPalette_Carkol ) @@ -2262,10 +2291,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Coalossal) OVERWORLD( - sPicTable_Coalossal, + gObjectEventPic_Coalossal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Coalossal, gShinyOverworldPalette_Coalossal ) @@ -2385,10 +2415,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Applin) OVERWORLD( - sPicTable_Applin, + gObjectEventPic_Applin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Applin, gShinyOverworldPalette_Applin ) @@ -2451,10 +2482,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-6, 11, SHADOW_SIZE_S) FOOTPRINT(Flapple) OVERWORLD( - sPicTable_Flapple, + gObjectEventPic_Flapple, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Flapple, gShinyOverworldPalette_Flapple ) @@ -2571,10 +2603,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(5, 6, SHADOW_SIZE_L) FOOTPRINT(Appletun) OVERWORLD( - sPicTable_Appletun, + gObjectEventPic_Appletun, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Appletun, gShinyOverworldPalette_Appletun ) @@ -2692,10 +2725,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-4, 8, SHADOW_SIZE_S) FOOTPRINT(Dipplin) OVERWORLD( - sPicTable_Dipplin, + gObjectEventPic_Dipplin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dipplin, gShinyOverworldPalette_Dipplin ) @@ -2754,10 +2788,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Hydrapple) OVERWORLD( - sPicTable_Hydrapple, + gObjectEventPic_Hydrapple, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hydrapple, gShinyOverworldPalette_Hydrapple ) @@ -2817,10 +2852,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(3, 1, SHADOW_SIZE_M) FOOTPRINT(Silicobra) OVERWORLD( - sPicTable_Silicobra, + gObjectEventPic_Silicobra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Silicobra, gShinyOverworldPalette_Silicobra ) @@ -2880,10 +2916,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Sandaconda) OVERWORLD( - sPicTable_Sandaconda, + gObjectEventPic_Sandaconda, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sandaconda, gShinyOverworldPalette_Sandaconda ) @@ -3002,10 +3039,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Cramorant) OVERWORLD( - sPicTable_Cramorant, + gObjectEventPic_Cramorant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cramorant, gShinyOverworldPalette_Cramorant ) @@ -3180,10 +3218,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, -5, SHADOW_SIZE_S) FOOTPRINT(Arrokuda) OVERWORLD( - sPicTable_Arrokuda, + gObjectEventPic_Arrokuda, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Arrokuda, gShinyOverworldPalette_Arrokuda ) @@ -3243,10 +3282,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(4, 5, SHADOW_SIZE_M) FOOTPRINT(Barraskewda) OVERWORLD( - sPicTable_Barraskewda, + gObjectEventPic_Barraskewda, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Barraskewda, gShinyOverworldPalette_Barraskewda ) @@ -3306,10 +3346,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, 1, SHADOW_SIZE_M) FOOTPRINT(Toxel) OVERWORLD( - sPicTable_Toxel, + gObjectEventPic_Toxel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Toxel, gShinyOverworldPalette_Toxel ) @@ -3370,10 +3411,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-6, 13, SHADOW_SIZE_M) FOOTPRINT(Toxtricity) OVERWORLD( - sPicTable_ToxtricityAmped, + gObjectEventPic_ToxtricityAmped, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ToxtricityAmped, gShinyOverworldPalette_ToxtricityAmped ) @@ -3486,10 +3528,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Toxtricity) OVERWORLD( - sPicTable_ToxtricityLowKey, + gObjectEventPic_ToxtricityLowKey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ToxtricityLowKey, gShinyOverworldPalette_ToxtricityLowKey ) @@ -3608,10 +3651,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(6, -4, SHADOW_SIZE_S) FOOTPRINT(Sizzlipede) OVERWORLD( - sPicTable_Sizzlipede, + gObjectEventPic_Sizzlipede, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sizzlipede, gShinyOverworldPalette_Sizzlipede ) @@ -3675,10 +3719,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-3, 7, SHADOW_SIZE_M) FOOTPRINT(Centiskorch) OVERWORLD( - sPicTable_Centiskorch, + gObjectEventPic_Centiskorch, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Centiskorch, gShinyOverworldPalette_Centiskorch ) @@ -3798,10 +3843,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Clobbopus) OVERWORLD( - sPicTable_Clobbopus, + gObjectEventPic_Clobbopus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Clobbopus, gShinyOverworldPalette_Clobbopus ) @@ -3860,10 +3906,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(4, 9, SHADOW_SIZE_M) FOOTPRINT(Grapploct) OVERWORLD( - sPicTable_Grapploct, + gObjectEventPic_Grapploct, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Grapploct, gShinyOverworldPalette_Grapploct ) @@ -3923,10 +3970,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Sinistea) OVERWORLD( - sPicTable_Sinistea, + gObjectEventPic_Sinistea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sinistea, gShinyOverworldPalette_Sinistea ) @@ -3987,10 +4035,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(3, 4, SHADOW_SIZE_S) FOOTPRINT(Sinistea) OVERWORLD( - sPicTable_Sinistea, + gObjectEventPic_Sinistea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sinistea, gShinyOverworldPalette_Sinistea ) @@ -4050,10 +4099,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Polteageist) OVERWORLD( - sPicTable_Polteageist, + gObjectEventPic_Polteageist, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Polteageist, gShinyOverworldPalette_Polteageist ) @@ -4113,10 +4163,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Polteageist) OVERWORLD( - sPicTable_Polteageist, + gObjectEventPic_Polteageist, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Polteageist, gShinyOverworldPalette_Polteageist ) @@ -4177,10 +4228,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Hatenna) OVERWORLD( - sPicTable_Hatenna, + gObjectEventPic_Hatenna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hatenna, gShinyOverworldPalette_Hatenna ) @@ -4239,10 +4291,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Hattrem) OVERWORLD( - sPicTable_Hattrem, + gObjectEventPic_Hattrem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hattrem, gShinyOverworldPalette_Hattrem ) @@ -4300,10 +4353,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(6, 13, SHADOW_SIZE_S) FOOTPRINT(Hatterene) OVERWORLD( - sPicTable_Hatterene, + gObjectEventPic_Hatterene, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Hatterene, gShinyOverworldPalette_Hatterene ) @@ -4423,10 +4477,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Impidimp) OVERWORLD( - sPicTable_Impidimp, + gObjectEventPic_Impidimp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Impidimp, gShinyOverworldPalette_Impidimp ) @@ -4485,10 +4540,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Morgrem) OVERWORLD( - sPicTable_Morgrem, + gObjectEventPic_Morgrem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Morgrem, gShinyOverworldPalette_Morgrem ) @@ -4547,10 +4603,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Grimmsnarl) OVERWORLD( - sPicTable_Grimmsnarl, + gObjectEventPic_Grimmsnarl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Grimmsnarl, gShinyOverworldPalette_Grimmsnarl ) @@ -4670,10 +4727,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Milcery) OVERWORLD( - sPicTable_Milcery, + gObjectEventPic_Milcery, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Milcery, gShinyOverworldPalette_Milcery ) @@ -4737,13 +4795,14 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Alcremie ##sweet, \ .iconSprite = gMonIcon_AlcremieStrawberryVanillaCream, /*AlcremieStrawberry##cream##*/ \ .iconPalIndex = 1, \ - SHADOW(0, 5, SHADOW_SIZE_S) \ + SHADOW(0, 5, SHADOW_SIZE_S) \ FOOTPRINT(Alcremie) \ OVERWORLD( \ - sPicTable_AlcremieStrawberry, /*Alcremie ##sweet*/ \ + gObjectEventPic_AlcremieStrawberry, /*Alcremie ##sweet*/ \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_AlcremieStrawberryVanillaCream, /*Alcremie ##sweet##cream*/ \ gShinyOverworldPalette_AlcremieStrawberryVanillaCream /*Alcremie ##sweet##cream*/ \ ) \ @@ -4909,10 +4968,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-7, 5, SHADOW_SIZE_S) FOOTPRINT(Falinks) OVERWORLD( - sPicTable_Falinks, + gObjectEventPic_Falinks, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Falinks, gShinyOverworldPalette_Falinks ) @@ -4971,10 +5031,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, -4, SHADOW_SIZE_S) FOOTPRINT(Pincurchin) OVERWORLD( - sPicTable_Pincurchin, + gObjectEventPic_Pincurchin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pincurchin, gShinyOverworldPalette_Pincurchin ) @@ -5036,10 +5097,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, -7, SHADOW_SIZE_S) FOOTPRINT(Snom) OVERWORLD( - sPicTable_Snom, + gObjectEventPic_Snom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Snom, gShinyOverworldPalette_Snom ) @@ -5100,10 +5162,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-7, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Frosmoth) OVERWORLD( - sPicTable_Frosmoth, + gObjectEventPic_Frosmoth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Frosmoth, gShinyOverworldPalette_Frosmoth ) @@ -5163,10 +5226,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 10, SHADOW_SIZE_L) FOOTPRINT(Stonjourner) OVERWORLD( - sPicTable_Stonjourner, + gObjectEventPic_Stonjourner, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Stonjourner, gShinyOverworldPalette_Stonjourner ) @@ -5227,10 +5291,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Eiscue) OVERWORLD( - sPicTable_EiscueIce, + gObjectEventPic_EiscueIce, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_EiscueIce, gShinyOverworldPalette_EiscueIce ) @@ -5349,10 +5414,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Indeedee) OVERWORLD( - sPicTable_IndeedeeM, + gObjectEventPic_IndeedeeM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_IndeedeeM, gShinyOverworldPalette_IndeedeeM ) @@ -5411,10 +5477,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Indeedee) OVERWORLD( - sPicTable_IndeedeeF, + gObjectEventPic_IndeedeeF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_IndeedeeF, gShinyOverworldPalette_IndeedeeF ) @@ -5476,10 +5543,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Morpeko) OVERWORLD( - sPicTable_MorpekoFullBelly, + gObjectEventPic_MorpekoFullBelly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MorpekoFullBelly, gShinyOverworldPalette_MorpekoFullBelly ) @@ -5599,10 +5667,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(5, 2, SHADOW_SIZE_M) FOOTPRINT(Cufant) OVERWORLD( - sPicTable_Cufant, + gObjectEventPic_Cufant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cufant, gShinyOverworldPalette_Cufant ) @@ -5662,10 +5731,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(6, 7, SHADOW_SIZE_L) FOOTPRINT(Copperajah) OVERWORLD( - sPicTable_Copperajah, + gObjectEventPic_Copperajah, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Copperajah, gShinyOverworldPalette_Copperajah ) @@ -5786,10 +5856,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-4, 10, SHADOW_SIZE_L) FOOTPRINT(Dracozolt) OVERWORLD( - sPicTable_Dracozolt, + gObjectEventPic_Dracozolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dracozolt, gShinyOverworldPalette_Dracozolt ) @@ -5848,10 +5919,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Arctozolt) OVERWORLD( - sPicTable_Arctozolt, + gObjectEventPic_Arctozolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Arctozolt, gShinyOverworldPalette_Arctozolt ) @@ -5911,10 +5983,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Dracovish) OVERWORLD( - sPicTable_Dracovish, + gObjectEventPic_Dracovish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dracovish, gShinyOverworldPalette_Dracovish ) @@ -5974,10 +6047,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 11, SHADOW_SIZE_L) FOOTPRINT(Arctovish) OVERWORLD( - sPicTable_Arctovish, + gObjectEventPic_Arctovish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Arctovish, gShinyOverworldPalette_Arctovish ) @@ -6036,10 +6110,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Duraludon) OVERWORLD( - sPicTable_Duraludon, + gObjectEventPic_Duraludon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Duraludon, gShinyOverworldPalette_Duraludon ) @@ -6161,10 +6236,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(4, 14, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Archaludon) OVERWORLD( - sPicTable_Archaludon, + gObjectEventPic_Archaludon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Archaludon, gShinyOverworldPalette_Archaludon ) @@ -6226,10 +6302,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Dreepy) OVERWORLD( - sPicTable_Dreepy, + gObjectEventPic_Dreepy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dreepy, gShinyOverworldPalette_Dreepy ) @@ -6289,10 +6366,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 9, SHADOW_SIZE_M) FOOTPRINT(Drakloak) OVERWORLD( - sPicTable_Drakloak, + gObjectEventPic_Drakloak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Drakloak, gShinyOverworldPalette_Drakloak ) @@ -6352,10 +6430,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Dragapult) OVERWORLD( - sPicTable_Dragapult, + gObjectEventPic_Dragapult, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dragapult, gShinyOverworldPalette_Dragapult ) @@ -6414,10 +6493,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Zacian) OVERWORLD( - sPicTable_ZacianHero, + gObjectEventPic_ZacianHero, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ZacianHero, gShinyOverworldPalette_ZacianHero ) @@ -6480,10 +6560,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-3, 12, SHADOW_SIZE_L) FOOTPRINT(Zacian) OVERWORLD( - sPicTable_ZacianCrowned, + gObjectEventPic_ZacianCrowned, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ZacianCrowned, gShinyOverworldPalette_ZacianCrowned ) @@ -6548,10 +6629,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 12, SHADOW_SIZE_L) FOOTPRINT(Zamazenta) OVERWORLD( - sPicTable_ZamazentaHero, + gObjectEventPic_ZamazentaHero, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ZamazentaHero, gShinyOverworldPalette_ZamazentaHero ) @@ -6614,10 +6696,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 12, SHADOW_SIZE_L) FOOTPRINT(Zamazenta) OVERWORLD( - sPicTable_ZamazentaCrowned, + gObjectEventPic_ZamazentaCrowned, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ZamazentaCrowned, gShinyOverworldPalette_ZamazentaCrowned ) @@ -6683,10 +6766,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Eternatus) OVERWORLD( - sPicTable_Eternatus, + gObjectEventPic_Eternatus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Eternatus, gShinyOverworldPalette_Eternatus ) @@ -6807,10 +6891,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Kubfu) OVERWORLD( - sPicTable_Kubfu, + gObjectEventPic_Kubfu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Kubfu, gShinyOverworldPalette_Kubfu ) @@ -6874,10 +6959,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Urshifu) OVERWORLD( - sPicTable_Urshifu, + gObjectEventPic_Urshifu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Urshifu, gShinyOverworldPalette_Urshifu ) @@ -6998,10 +7084,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(4, 14, SHADOW_SIZE_M) FOOTPRINT(Urshifu) OVERWORLD( - sPicTable_Urshifu, + gObjectEventPic_Urshifu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Urshifu, gShinyOverworldPalette_Urshifu ) @@ -7125,10 +7212,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(5, 11, SHADOW_SIZE_L) FOOTPRINT(Zarude) OVERWORLD( - sPicTable_Zarude, + gObjectEventPic_Zarude, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Zarude, gShinyOverworldPalette_Zarude ) @@ -7249,10 +7337,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-3, 14, SHADOW_SIZE_S) FOOTPRINT(Regieleki) OVERWORLD( - sPicTable_Regieleki, + gObjectEventPic_Regieleki, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Regieleki, gShinyOverworldPalette_Regieleki ) @@ -7315,10 +7404,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Regidrago) OVERWORLD( - sPicTable_Regidrago, + gObjectEventPic_Regidrago, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Regidrago, gShinyOverworldPalette_Regidrago ) @@ -7379,10 +7469,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-5, 11, SHADOW_SIZE_L) FOOTPRINT(Glastrier) OVERWORLD( - sPicTable_Glastrier, + gObjectEventPic_Glastrier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Glastrier, gShinyOverworldPalette_Glastrier ) @@ -7444,10 +7535,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-6, 12, SHADOW_SIZE_L) FOOTPRINT(Spectrier) OVERWORLD( - sPicTable_Spectrier, + gObjectEventPic_Spectrier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Spectrier, gShinyOverworldPalette_Spectrier ) @@ -7509,10 +7601,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Calyrex) OVERWORLD( - sPicTable_Calyrex, + gObjectEventPic_Calyrex, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Calyrex, gShinyOverworldPalette_Calyrex ) @@ -7575,10 +7668,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-5, 11, SHADOW_SIZE_L) FOOTPRINT(Calyrex) OVERWORLD( - sPicTable_CalyrexIce, + gObjectEventPic_CalyrexIce, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_CalyrexIce, gShinyOverworldPalette_CalyrexIce ) @@ -7641,10 +7735,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-5, 12, SHADOW_SIZE_L) FOOTPRINT(Calyrex) OVERWORLD( - sPicTable_CalyrexShadow, + gObjectEventPic_CalyrexShadow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_CalyrexShadow, gShinyOverworldPalette_CalyrexShadow ) @@ -7711,10 +7806,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-3, 19, SHADOW_SIZE_M) FOOTPRINT(Enamorus) OVERWORLD( - sPicTable_EnamorusIncarnate, + gObjectEventPic_EnamorusIncarnate, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_EnamorusIncarnate, gShinyOverworldPalette_EnamorusIncarnate ) @@ -7775,10 +7871,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Enamorus) OVERWORLD( - sPicTable_EnamorusTherian, + gObjectEventPic_EnamorusTherian, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_EnamorusTherian, gShinyOverworldPalette_EnamorusTherian ) diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index 11242ad6c0..d740424f82 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -54,10 +54,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Sprigatito) OVERWORLD( - sPicTable_Sprigatito, + gObjectEventPic_Sprigatito, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Sprigatito, gShinyOverworldPalette_Sprigatito ) @@ -117,10 +118,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 11, SHADOW_SIZE_M) FOOTPRINT(Floragato) OVERWORLD( - sPicTable_Floragato, + gObjectEventPic_Floragato, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Floragato, gShinyOverworldPalette_Floragato ) @@ -179,10 +181,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 14, SHADOW_SIZE_S) FOOTPRINT(Meowscarada) OVERWORLD( - sPicTable_Meowscarada, + gObjectEventPic_Meowscarada, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Meowscarada, gShinyOverworldPalette_Meowscarada ) @@ -242,10 +245,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Fuecoco) OVERWORLD( - sPicTable_Fuecoco, + gObjectEventPic_Fuecoco, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Fuecoco, gShinyOverworldPalette_Fuecoco ) @@ -305,10 +309,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Crocalor) OVERWORLD( - sPicTable_Crocalor, + gObjectEventPic_Crocalor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Crocalor, gShinyOverworldPalette_Crocalor ) @@ -367,10 +372,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(6, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Skeledirge) OVERWORLD( - sPicTable_Skeledirge, + gObjectEventPic_Skeledirge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Skeledirge, gShinyOverworldPalette_Skeledirge ) @@ -430,10 +436,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Quaxly) OVERWORLD( - sPicTable_Quaxly, + gObjectEventPic_Quaxly, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Quaxly, gShinyOverworldPalette_Quaxly ) @@ -493,10 +500,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 10, SHADOW_SIZE_S) FOOTPRINT(Quaxwell) OVERWORLD( - sPicTable_Quaxwell, + gObjectEventPic_Quaxwell, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Quaxwell, gShinyOverworldPalette_Quaxwell ) @@ -555,10 +563,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-7, 13, SHADOW_SIZE_M) FOOTPRINT(Quaquaval) OVERWORLD( - sPicTable_Quaquaval, + gObjectEventPic_Quaquaval, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Quaquaval, gShinyOverworldPalette_Quaquaval ) @@ -618,10 +627,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Lechonk) OVERWORLD( - sPicTable_Lechonk, + gObjectEventPic_Lechonk, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lechonk, gShinyOverworldPalette_Lechonk ) @@ -681,10 +691,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 6, SHADOW_SIZE_M) FOOTPRINT(Oinkologne) OVERWORLD( - sPicTable_OinkologneM, + gObjectEventPic_OinkologneM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_OinkologneM, gShinyOverworldPalette_OinkologneM ) @@ -743,10 +754,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Oinkologne) OVERWORLD( - sPicTable_OinkologneF, + gObjectEventPic_OinkologneF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_OinkologneF, gShinyOverworldPalette_OinkologneF ) @@ -807,10 +819,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Tarountula) OVERWORLD( - sPicTable_Tarountula, + gObjectEventPic_Tarountula, SIZE_32x32, SHADOW_SIZE_S, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Tarountula, gShinyOverworldPalette_Tarountula ) @@ -870,10 +883,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(6, 8, SHADOW_SIZE_L) FOOTPRINT(Spidops) OVERWORLD( - sPicTable_Spidops, + gObjectEventPic_Spidops, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Spidops, gShinyOverworldPalette_Spidops ) @@ -933,10 +947,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Nymble) OVERWORLD( - sPicTable_Nymble, + gObjectEventPic_Nymble, SIZE_32x32, SHADOW_SIZE_S, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Nymble, gShinyOverworldPalette_Nymble ) @@ -996,10 +1011,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Lokix) OVERWORLD( - sPicTable_Lokix, + gObjectEventPic_Lokix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Lokix, gShinyOverworldPalette_Lokix ) @@ -1059,10 +1075,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Pawmi) OVERWORLD( - sPicTable_Pawmi, + gObjectEventPic_Pawmi, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pawmi, gShinyOverworldPalette_Pawmi ) @@ -1122,10 +1139,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 10, SHADOW_SIZE_S) FOOTPRINT(Pawmo) OVERWORLD( - sPicTable_Pawmo, + gObjectEventPic_Pawmo, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pawmo, gShinyOverworldPalette_Pawmo ) @@ -1184,10 +1202,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Pawmot) OVERWORLD( - sPicTable_Pawmot, + gObjectEventPic_Pawmot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pawmot, gShinyOverworldPalette_Pawmot ) @@ -1247,10 +1266,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Tandemaus) OVERWORLD( - sPicTable_Tandemaus, + gObjectEventPic_Tandemaus, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Tandemaus, gShinyOverworldPalette_Tandemaus ) @@ -1311,10 +1331,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, -1, SHADOW_SIZE_L) FOOTPRINT(MausholdThree) OVERWORLD( - sPicTable_MausholdThree, + gObjectEventPic_MausholdThree, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MausholdThree, gShinyOverworldPalette_MausholdThree ) @@ -1372,10 +1393,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, -1, SHADOW_SIZE_L) FOOTPRINT(MausholdFour) OVERWORLD( - sPicTable_MausholdFour, + gObjectEventPic_MausholdFour, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_MausholdFour, gShinyOverworldPalette_MausholdFour ) @@ -1436,10 +1458,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 0, SHADOW_SIZE_S) FOOTPRINT(Fidough) OVERWORLD( - sPicTable_Fidough, + gObjectEventPic_Fidough, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Fidough, gShinyOverworldPalette_Fidough ) @@ -1499,10 +1522,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Dachsbun) OVERWORLD( - sPicTable_Dachsbun, + gObjectEventPic_Dachsbun, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dachsbun, gShinyOverworldPalette_Dachsbun ) @@ -1562,10 +1586,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Smoliv) OVERWORLD( - sPicTable_Smoliv, + gObjectEventPic_Smoliv, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Smoliv, gShinyOverworldPalette_Smoliv ) @@ -1625,10 +1650,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Dolliv) OVERWORLD( - sPicTable_Dolliv, + gObjectEventPic_Dolliv, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Dolliv, gShinyOverworldPalette_Dolliv ) @@ -1687,10 +1713,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Arboliva) OVERWORLD( - sPicTable_Arboliva, + gObjectEventPic_Arboliva, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Arboliva, gShinyOverworldPalette_Arboliva ) @@ -1750,10 +1777,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - sPicTable_SquawkabillyGreen, + gObjectEventPic_SquawkabillyGreen, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_SquawkabillyGreen, gShinyOverworldPalette_SquawkabillyGreen ) @@ -1813,10 +1841,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - sPicTable_SquawkabillyBlue, + gObjectEventPic_SquawkabillyBlue, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_SquawkabillyBlue, gShinyOverworldPalette_SquawkabillyBlue ) @@ -1876,10 +1905,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - sPicTable_SquawkabillyYellow, + gObjectEventPic_SquawkabillyYellow, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_SquawkabillyYellow, gShinyOverworldPalette_SquawkabillyYellow ) @@ -1939,10 +1969,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - sPicTable_SquawkabillyWhite, + gObjectEventPic_SquawkabillyWhite, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_SquawkabillyWhite, gShinyOverworldPalette_SquawkabillyWhite ) @@ -2004,10 +2035,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Nacli) OVERWORLD( - sPicTable_Nacli, + gObjectEventPic_Nacli, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Nacli, gShinyOverworldPalette_Nacli ) @@ -2067,10 +2099,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 5, SHADOW_SIZE_L) FOOTPRINT(Naclstack) OVERWORLD( - sPicTable_Naclstack, + gObjectEventPic_Naclstack, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Naclstack, gShinyOverworldPalette_Naclstack ) @@ -2129,10 +2162,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Garganacl) OVERWORLD( - sPicTable_Garganacl, + gObjectEventPic_Garganacl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Garganacl, gShinyOverworldPalette_Garganacl ) @@ -2192,10 +2226,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Charcadet) OVERWORLD( - sPicTable_Charcadet, + gObjectEventPic_Charcadet, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Charcadet, gShinyOverworldPalette_Charcadet ) @@ -2256,10 +2291,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Armarouge) OVERWORLD( - sPicTable_Armarouge, + gObjectEventPic_Armarouge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Armarouge, gShinyOverworldPalette_Armarouge ) @@ -2317,10 +2353,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(9, 14, SHADOW_SIZE_L) FOOTPRINT(Ceruledge) OVERWORLD( - sPicTable_Ceruledge, + gObjectEventPic_Ceruledge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Ceruledge, gShinyOverworldPalette_Ceruledge ) @@ -2381,10 +2418,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 19, SHADOW_SIZE_S) FOOTPRINT(Tadbulb) OVERWORLD( - sPicTable_Tadbulb, + gObjectEventPic_Tadbulb, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Tadbulb, gShinyOverworldPalette_Tadbulb ) @@ -2444,10 +2482,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Bellibolt) OVERWORLD( - sPicTable_Bellibolt, + gObjectEventPic_Bellibolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Bellibolt, gShinyOverworldPalette_Bellibolt ) @@ -2507,10 +2546,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Wattrel) OVERWORLD( - sPicTable_Wattrel, + gObjectEventPic_Wattrel, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Wattrel, gShinyOverworldPalette_Wattrel ) @@ -2570,10 +2610,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-6, 6, SHADOW_SIZE_M) FOOTPRINT(Kilowattrel) OVERWORLD( - sPicTable_Kilowattrel, + gObjectEventPic_Kilowattrel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Kilowattrel, gShinyOverworldPalette_Kilowattrel ) @@ -2633,10 +2674,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 5, SHADOW_SIZE_L) FOOTPRINT(Maschiff) OVERWORLD( - sPicTable_Maschiff, + gObjectEventPic_Maschiff, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Maschiff, gShinyOverworldPalette_Maschiff ) @@ -2696,10 +2738,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Mabosstiff) OVERWORLD( - sPicTable_Mabosstiff, + gObjectEventPic_Mabosstiff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Mabosstiff, gShinyOverworldPalette_Mabosstiff ) @@ -2759,10 +2802,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, -6, SHADOW_SIZE_S) FOOTPRINT(Shroodle) OVERWORLD( - sPicTable_Shroodle, + gObjectEventPic_Shroodle, SIZE_32x32, SHADOW_SIZE_S, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Shroodle, gShinyOverworldPalette_Shroodle ) @@ -2822,10 +2866,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Grafaiai) OVERWORLD( - sPicTable_Grafaiai, + gObjectEventPic_Grafaiai, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Grafaiai, gShinyOverworldPalette_Grafaiai ) @@ -2885,10 +2930,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Bramblin) OVERWORLD( - sPicTable_Bramblin, + gObjectEventPic_Bramblin, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Bramblin, gShinyOverworldPalette_Bramblin ) @@ -2948,10 +2994,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Brambleghast) OVERWORLD( - sPicTable_Brambleghast, + gObjectEventPic_Brambleghast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Brambleghast, gShinyOverworldPalette_Brambleghast ) @@ -3013,10 +3060,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Toedscool) OVERWORLD( - sPicTable_Toedscool, + gObjectEventPic_Toedscool, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Toedscool, gShinyOverworldPalette_Toedscool ) @@ -3078,10 +3126,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Toedscruel) OVERWORLD( - sPicTable_Toedscruel, + gObjectEventPic_Toedscruel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Toedscruel, gShinyOverworldPalette_Toedscruel ) @@ -3141,10 +3190,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 0, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Klawf) OVERWORLD( - sPicTable_Klawf, + gObjectEventPic_Klawf, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Klawf, gShinyOverworldPalette_Klawf ) @@ -3205,10 +3255,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Capsakid) OVERWORLD( - sPicTable_Capsakid, + gObjectEventPic_Capsakid, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Capsakid, gShinyOverworldPalette_Capsakid ) @@ -3267,8 +3318,8 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .iconPalIndex = 1, SHADOW(6, 11, SHADOW_SIZE_M) FOOTPRINT(Scovillain) - OVERWORLD_SET_ANIM( - sPicTable_Scovillain, + OVERWORLD( + gObjectEventPic_Scovillain, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3332,10 +3383,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, -3, SHADOW_SIZE_L) FOOTPRINT(Rellor) OVERWORLD( - sPicTable_Rellor, + gObjectEventPic_Rellor, SIZE_32x32, SHADOW_SIZE_S, TRACKS_BUG, + sAnimTable_Following, gOverworldPalette_Rellor, gShinyOverworldPalette_Rellor ) @@ -3395,10 +3447,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Rabsca) OVERWORLD( - sPicTable_Rabsca, + gObjectEventPic_Rabsca, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Rabsca, gShinyOverworldPalette_Rabsca ) @@ -3458,10 +3511,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Flittle) OVERWORLD( - sPicTable_Flittle, + gObjectEventPic_Flittle, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Flittle, gShinyOverworldPalette_Flittle ) @@ -3521,10 +3575,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-5, 10, SHADOW_SIZE_M) FOOTPRINT(Espathra) OVERWORLD( - sPicTable_Espathra, + gObjectEventPic_Espathra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Espathra, gShinyOverworldPalette_Espathra ) @@ -3583,8 +3638,8 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .iconPalIndex = 1, SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Tinkatink) - OVERWORLD_SET_ANIM( - sPicTable_Tinkatink, + OVERWORLD( + gObjectEventPic_Tinkatink, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -3647,8 +3702,8 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .iconPalIndex = 1, SHADOW(-4, 5, SHADOW_SIZE_L) FOOTPRINT(Tinkatuff) - OVERWORLD_SET_ANIM( - sPicTable_Tinkatuff, + OVERWORLD( + gObjectEventPic_Tinkatuff, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -3710,8 +3765,8 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .iconPalIndex = 1, SHADOW(-5, 15, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tinkaton) - OVERWORLD_SET_ANIM( - sPicTable_Tinkaton, + OVERWORLD( + gObjectEventPic_Tinkaton, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3774,10 +3829,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = NO_SHADOW FOOTPRINT(Wiglett) OVERWORLD( - sPicTable_Wiglett, + gObjectEventPic_Wiglett, SIZE_32x32, SHADOW_SIZE_S, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Wiglett, gShinyOverworldPalette_Wiglett ) @@ -3836,10 +3892,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = NO_SHADOW FOOTPRINT(Wugtrio) OVERWORLD( - sPicTable_Wugtrio, + gObjectEventPic_Wugtrio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Wugtrio, gShinyOverworldPalette_Wugtrio ) @@ -3900,10 +3957,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 18, SHADOW_SIZE_M) FOOTPRINT(Bombirdier) OVERWORLD( - sPicTable_Bombirdier, + gObjectEventPic_Bombirdier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Bombirdier, gShinyOverworldPalette_Bombirdier ) @@ -3963,10 +4021,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Finizen) OVERWORLD( - sPicTable_Finizen, + gObjectEventPic_Finizen, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Finizen, gShinyOverworldPalette_Finizen ) @@ -4026,10 +4085,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Palafin) OVERWORLD( - sPicTable_PalafinZero, + gObjectEventPic_PalafinZero, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_PalafinZero, gShinyOverworldPalette_PalafinZero ) @@ -4089,10 +4149,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 13, SHADOW_SIZE_M) FOOTPRINT(Palafin) OVERWORLD( - sPicTable_PalafinHero, + gObjectEventPic_PalafinHero, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_PalafinHero, gShinyOverworldPalette_PalafinHero ) @@ -4154,10 +4215,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 0, SHADOW_SIZE_M) FOOTPRINT(Varoom) OVERWORLD( - sPicTable_Varoom, + gObjectEventPic_Varoom, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Varoom, gShinyOverworldPalette_Varoom ) @@ -4217,10 +4279,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Revavroom) OVERWORLD( - sPicTable_Revavroom, + gObjectEventPic_Revavroom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Revavroom, gShinyOverworldPalette_Revavroom ) @@ -4280,10 +4343,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Cyclizar) OVERWORLD( - sPicTable_Cyclizar, + gObjectEventPic_Cyclizar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cyclizar, gShinyOverworldPalette_Cyclizar ) @@ -4344,10 +4408,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(6, 10, SHADOW_SIZE_L) FOOTPRINT(Orthworm) OVERWORLD( - sPicTable_Orthworm, + gObjectEventPic_Orthworm, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_Orthworm, gShinyOverworldPalette_Orthworm ) @@ -4409,10 +4474,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Glimmet) OVERWORLD( - sPicTable_Glimmet, + gObjectEventPic_Glimmet, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Glimmet, gShinyOverworldPalette_Glimmet ) @@ -4473,10 +4539,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 17, SHADOW_SIZE_M) FOOTPRINT(Glimmora) OVERWORLD( - sPicTable_Glimmora, + gObjectEventPic_Glimmora, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Glimmora, gShinyOverworldPalette_Glimmora ) @@ -4536,10 +4603,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 2, SHADOW_SIZE_M) FOOTPRINT(Greavard) OVERWORLD( - sPicTable_Greavard, + gObjectEventPic_Greavard, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Greavard, gShinyOverworldPalette_Greavard ) @@ -4599,10 +4667,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Houndstone) OVERWORLD( - sPicTable_Houndstone, + gObjectEventPic_Houndstone, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Houndstone, gShinyOverworldPalette_Houndstone ) @@ -4662,10 +4731,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Flamigo) OVERWORLD( - sPicTable_Flamigo, + gObjectEventPic_Flamigo, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Flamigo, gShinyOverworldPalette_Flamigo ) @@ -4726,10 +4796,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 0, SHADOW_SIZE_M) FOOTPRINT(Cetoddle) OVERWORLD( - sPicTable_Cetoddle, + gObjectEventPic_Cetoddle, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cetoddle, gShinyOverworldPalette_Cetoddle ) @@ -4789,10 +4860,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Cetitan) OVERWORLD( - sPicTable_Cetitan, + gObjectEventPic_Cetitan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Cetitan, gShinyOverworldPalette_Cetitan ) @@ -4853,10 +4925,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Veluza) OVERWORLD( - sPicTable_Veluza, + gObjectEventPic_Veluza, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Veluza, gShinyOverworldPalette_Veluza ) @@ -4918,10 +4991,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dondozo) OVERWORLD( - sPicTable_Dondozo, + gObjectEventPic_Dondozo, SIZE_64x64, SHADOW_SIZE_L, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Dondozo, gShinyOverworldPalette_Dondozo ) @@ -4982,10 +5056,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( - sPicTable_TatsugiriCurly, + gObjectEventPic_TatsugiriCurly, SIZE_32x32, SHADOW_SIZE_S, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_TatsugiriCurly, gShinyOverworldPalette_TatsugiriCurly ) @@ -5044,10 +5119,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( - sPicTable_TatsugiriDroopy, + gObjectEventPic_TatsugiriDroopy, SIZE_32x32, SHADOW_SIZE_S, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_TatsugiriDroopy, gShinyOverworldPalette_TatsugiriDroopy ) @@ -5106,10 +5182,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( - sPicTable_TatsugiriStretchy, + gObjectEventPic_TatsugiriStretchy, SIZE_32x32, SHADOW_SIZE_S, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_TatsugiriStretchy, gShinyOverworldPalette_TatsugiriStretchy ) @@ -5172,10 +5249,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 6, SHADOW_SIZE_L) FOOTPRINT(GreatTusk) OVERWORLD( - sPicTable_GreatTusk, + gObjectEventPic_GreatTusk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GreatTusk, gShinyOverworldPalette_GreatTusk ) @@ -5237,10 +5315,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(ScreamTail) OVERWORLD( - sPicTable_ScreamTail, + gObjectEventPic_ScreamTail, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ScreamTail, gShinyOverworldPalette_ScreamTail ) @@ -5302,10 +5381,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(BruteBonnet) OVERWORLD( - sPicTable_BruteBonnet, + gObjectEventPic_BruteBonnet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_BruteBonnet, gShinyOverworldPalette_BruteBonnet ) @@ -5370,10 +5450,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 20, SHADOW_SIZE_S) FOOTPRINT(FlutterMane) OVERWORLD( - sPicTable_FlutterMane, + gObjectEventPic_FlutterMane, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_FlutterMane, gShinyOverworldPalette_FlutterMane ) @@ -5434,10 +5515,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-5, 13, SHADOW_SIZE_M) FOOTPRINT(SlitherWing) OVERWORLD( - sPicTable_SlitherWing, + gObjectEventPic_SlitherWing, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_SlitherWing, gShinyOverworldPalette_SlitherWing ) @@ -5499,10 +5581,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(SandyShocks) OVERWORLD( - sPicTable_SandyShocks, + gObjectEventPic_SandyShocks, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_SandyShocks, gShinyOverworldPalette_SandyShocks ) @@ -5564,10 +5647,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 3, SHADOW_SIZE_L) FOOTPRINT(IronTreads) OVERWORLD( - sPicTable_IronTreads, + gObjectEventPic_IronTreads, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_IronTreads, gShinyOverworldPalette_IronTreads ) @@ -5629,10 +5713,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(IronBundle) OVERWORLD( - sPicTable_IronBundle, + gObjectEventPic_IronBundle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_IronBundle, gShinyOverworldPalette_IronBundle ) @@ -5694,10 +5779,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(IronHands) OVERWORLD( - sPicTable_IronHands, + gObjectEventPic_IronHands, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_IronHands, gShinyOverworldPalette_IronHands ) @@ -5760,10 +5846,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(IronJugulis) OVERWORLD( - sPicTable_IronJugulis, + gObjectEventPic_IronJugulis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_IronJugulis, gShinyOverworldPalette_IronJugulis ) @@ -5826,10 +5913,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-4, 14, SHADOW_SIZE_M) FOOTPRINT(IronMoth) OVERWORLD( - sPicTable_IronMoth, + gObjectEventPic_IronMoth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_IronMoth, gShinyOverworldPalette_IronMoth ) @@ -5891,10 +5979,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-9, 12, SHADOW_SIZE_L) FOOTPRINT(IronThorns) OVERWORLD( - sPicTable_IronThorns, + gObjectEventPic_IronThorns, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_IronThorns, gShinyOverworldPalette_IronThorns ) @@ -5955,10 +6044,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Frigibax) OVERWORLD( - sPicTable_Frigibax, + gObjectEventPic_Frigibax, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Frigibax, gShinyOverworldPalette_Frigibax ) @@ -6018,10 +6108,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Arctibax) OVERWORLD( - sPicTable_Arctibax, + gObjectEventPic_Arctibax, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Arctibax, gShinyOverworldPalette_Arctibax ) @@ -6080,10 +6171,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(5, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Baxcalibur) OVERWORLD( - sPicTable_Baxcalibur, + gObjectEventPic_Baxcalibur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Baxcalibur, gShinyOverworldPalette_Baxcalibur ) @@ -6143,10 +6235,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(GimmighoulChest) OVERWORLD( - sPicTable_GimmighoulChest, + gObjectEventPic_GimmighoulChest, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_GimmighoulChest, gShinyOverworldPalette_GimmighoulChest ) @@ -6261,10 +6354,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Gholdengo) OVERWORLD( - sPicTable_Gholdengo, + gObjectEventPic_Gholdengo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Gholdengo, gShinyOverworldPalette_Gholdengo ) @@ -6324,10 +6418,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(WoChien) OVERWORLD( - sPicTable_WoChien, + gObjectEventPic_WoChien, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, + sAnimTable_Following, gOverworldPalette_WoChien, gShinyOverworldPalette_WoChien ) @@ -6389,10 +6484,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-4, 8, SHADOW_SIZE_L) FOOTPRINT(ChienPao) OVERWORLD( - sPicTable_ChienPao, + gObjectEventPic_ChienPao, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_ChienPao, gShinyOverworldPalette_ChienPao ) @@ -6454,10 +6550,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(12, 13, SHADOW_SIZE_L) FOOTPRINT(TingLu) OVERWORLD( - sPicTable_TingLu, + gObjectEventPic_TingLu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TingLu, gShinyOverworldPalette_TingLu ) @@ -6520,10 +6617,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 16, SHADOW_SIZE_S) FOOTPRINT(ChiYu) OVERWORLD( - sPicTable_ChiYu, + gObjectEventPic_ChiYu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_ChiYu, gShinyOverworldPalette_ChiYu ) @@ -6587,10 +6685,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(RoaringMoon) OVERWORLD( - sPicTable_RoaringMoon, + gObjectEventPic_RoaringMoon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RoaringMoon, gShinyOverworldPalette_RoaringMoon ) @@ -6651,10 +6750,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(IronValiant) OVERWORLD( - sPicTable_IronValiant, + gObjectEventPic_IronValiant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_IronValiant, gShinyOverworldPalette_IronValiant ) @@ -6715,10 +6815,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Koraidon) OVERWORLD( - sPicTable_Koraidon, + gObjectEventPic_Koraidon, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Koraidon, gShinyOverworldPalette_Koraidon ) @@ -6781,10 +6882,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(10, 14, SHADOW_SIZE_L) FOOTPRINT(Miraidon) OVERWORLD( - sPicTable_Miraidon, + gObjectEventPic_Miraidon, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Miraidon, gShinyOverworldPalette_Miraidon ) @@ -6847,10 +6949,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(WalkingWake) OVERWORLD( - sPicTable_WalkingWake, + gObjectEventPic_WalkingWake, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_WalkingWake, gShinyOverworldPalette_WalkingWake ) @@ -6911,10 +7014,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(IronLeaves) OVERWORLD( - sPicTable_IronLeaves, + gObjectEventPic_IronLeaves, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_IronLeaves, gShinyOverworldPalette_IronLeaves ) @@ -6976,10 +7080,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 14, SHADOW_SIZE_S) FOOTPRINT(Poltchageist) OVERWORLD( - sPicTable_Poltchageist, + gObjectEventPic_Poltchageist, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Poltchageist, gShinyOverworldPalette_Poltchageist ) @@ -7038,10 +7143,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 14, SHADOW_SIZE_S) FOOTPRINT(Poltchageist) OVERWORLD( - sPicTable_Poltchageist, + gObjectEventPic_Poltchageist, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Poltchageist, gShinyOverworldPalette_Poltchageist ) @@ -7101,10 +7207,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Sinistcha) OVERWORLD( - sPicTable_Sinistcha, + gObjectEventPic_Sinistcha, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Sinistcha, gShinyOverworldPalette_Sinistcha ) @@ -7162,10 +7269,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Sinistcha) OVERWORLD( - sPicTable_Sinistcha, + gObjectEventPic_Sinistcha, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, + sAnimTable_Following, gOverworldPalette_Sinistcha, gShinyOverworldPalette_Sinistcha ) @@ -7225,10 +7333,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Okidogi) OVERWORLD( - sPicTable_Okidogi, + gObjectEventPic_Okidogi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Okidogi, gShinyOverworldPalette_Okidogi ) @@ -7290,10 +7399,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 8, SHADOW_SIZE_S) FOOTPRINT(Munkidori) OVERWORLD( - sPicTable_Munkidori, + gObjectEventPic_Munkidori, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Munkidori, gShinyOverworldPalette_Munkidori ) @@ -7355,10 +7465,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 10, SHADOW_SIZE_M) FOOTPRINT(Fezandipiti) OVERWORLD( - sPicTable_Fezandipiti, + gObjectEventPic_Fezandipiti, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Fezandipiti, gShinyOverworldPalette_Fezandipiti ) @@ -7417,10 +7528,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(7, 13, SHADOW_SIZE_L) \ FOOTPRINT(Ogerpon) \ OVERWORLD( \ - sPicTable_Ogerpon##Form2, \ + gObjectEventPic_Ogerpon##Form2, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Ogerpon##Form2, \ gShinyOverworldPalette_Ogerpon##Form2 \ ) \ @@ -7498,10 +7610,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(GougingFire) OVERWORLD( - sPicTable_GougingFire, + gObjectEventPic_GougingFire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_GougingFire, gShinyOverworldPalette_GougingFire ) @@ -7563,10 +7676,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(RagingBolt) OVERWORLD( - sPicTable_RagingBolt, + gObjectEventPic_RagingBolt, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_RagingBolt, gShinyOverworldPalette_RagingBolt ) @@ -7627,10 +7741,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(IronBoulder) OVERWORLD( - sPicTable_IronBoulder, + gObjectEventPic_IronBoulder, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_IronBoulder, gShinyOverworldPalette_IronBoulder ) @@ -7692,10 +7807,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(IronCrown) OVERWORLD( - sPicTable_IronCrown, + gObjectEventPic_IronCrown, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_IronCrown, gShinyOverworldPalette_IronCrown ) @@ -7758,10 +7874,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 13, SHADOW_SIZE_L) FOOTPRINT(TerapagosNormal) OVERWORLD( - sPicTable_TerapagosNormal, + gObjectEventPic_TerapagosNormal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TerapagosNormal, gShinyOverworldPalette_TerapagosNormal ) @@ -7827,10 +7944,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-4, 4, SHADOW_SIZE_L) FOOTPRINT(TerapagosTerastal) OVERWORLD( - sPicTable_TerapagosTerastal, + gObjectEventPic_TerapagosTerastal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_TerapagosTerastal, gShinyOverworldPalette_TerapagosTerastal ) @@ -7955,10 +8073,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 1, SHADOW_SIZE_L) FOOTPRINT(Pecharunt) OVERWORLD( - sPicTable_Pecharunt, + gObjectEventPic_Pecharunt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, + sAnimTable_Following, gOverworldPalette_Pecharunt, gShinyOverworldPalette_Pecharunt ) diff --git a/src/pokemon.c b/src/pokemon.c index 0e86669348..748a21d3f8 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -37,6 +37,7 @@ #include "recorded_battle.h" #include "rtc.h" #include "sound.h" +#include "sprite.h" #include "string_util.h" #include "strings.h" #include "task.h" @@ -705,7 +706,6 @@ const struct NatureInfo gNaturesInfo[NUM_NATURES] = #include "data/pokemon/form_species_tables.h" #include "data/pokemon/form_change_tables.h" #include "data/pokemon/form_change_table_pointers.h" -#include "data/object_events/object_event_pic_tables_followers.h" #include "data/pokemon/species_info.h" From 7d39dd4aae3be7a0199c5c5efd94e249d4fd705d Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Mon, 20 Jan 2025 14:54:38 -0500 Subject: [PATCH 08/27] Add AI_FLAG_PREDICT_INCOMING_MON: AI will score against predicted switchin if predicting switch (#6037) --- docs/tutorials/ai_flags.md | 10 +- include/battle_ai_util.h | 1 + include/constants/battle_ai.h | 4 +- src/battle_ai_main.c | 180 ++++++++++++++++++++---- src/battle_ai_switch_items.c | 4 +- src/battle_ai_util.c | 12 ++ src/battle_main.c | 12 +- test/battle/ai/ai_flag_predict_switch.c | 78 ++++++---- test/battle/ai/ai_switching.c | 2 +- 9 files changed, 240 insertions(+), 63 deletions(-) diff --git a/docs/tutorials/ai_flags.md b/docs/tutorials/ai_flags.md index 0d685f3e0a..d0ff706143 100644 --- a/docs/tutorials/ai_flags.md +++ b/docs/tutorials/ai_flags.md @@ -29,12 +29,14 @@ This section lists all of expansion’s AI Flags and briefly describes the effec ## Composite AI Flags -Expansion has two "composite" AI flags, `AI_FLAG_BASIC_TRAINER` and `AI_FLAG_SMART_TRAINER`. This means that these flags have no unique functionality themselves, and can instead be thought of as groups of other flags that are all enabled when this flag is enabled. The idea behind these flags is that if you don't care to manage the detailed behaviour of a particular trainer, you can use these as a baseline instead, and expansion will keep them updated for you. +Expansion has a few "composite" AI flags. This means that these flags have no unique functionality themselves, and can instead be thought of as groups of other flags that are all enabled when this flag is enabled. The idea behind these flags is that if you don't care to manage the detailed behaviour of a particular trainer, you can use these as a baseline instead, and expansion will keep them updated for you. `AI_FLAG_BASIC_TRAINER` is expansion's version of generic, normal AI behaviour. It includes `AI_FLAG_CHECK_BAD_MOVE` (don't use bad moves), `AI_FLAG_TRY_TO_FAINT` (faint the player where possible), and `AI_FLAG_CHECK_VIABILITY` (choose the most effective move to use in the current context). Trainers with this flag will still be smarter than they are in vanilla as there have been dramatic improvements made to move selection, but not incredibly so. Trainers with this flag should feel like normal trainers. In general we recommend these three flags be used in all cases, unless you specifically want a trainer who makes obvious mistakes in battle. `AI_FLAG_SMART_TRAINER` is expansion's version of a "smart AI". It includes everything in `AI_FLAG_BASIC_TRAINER` along with `AI_FLAG_SMART_SWITCHING` (make smart decisions about when to switch), `AI_FLAG_SMART_MON_CHOICES` (make smart decisions about what mon to send in after a switch / KO), and `AI_FLAG_OMNISCIENT` (awareness of what moves, items, and abilities the player's mons have to better inform decisions). Expansion will keep this updated to represent the most objectively intelligent behaviour our flags are capable of producing. +`AI_FLAG_PREDICTION` will enable all of the prediction flags at once, so the AI can perform as well as possible. It is best paired with the flags in `AI_FLAG_SMART_TRAINER` for optimal behaviour. This currently includes `AI_FLAG_PREDICT_SWITCH` and `AI_FLAG_PREDICT_INCOMING_MON`, but will likely be expanded in the future. + Expansion has LOADS of flags, which will be covered in the rest of this guide. If you don't want to engage with detailed trainer AI tuning though, you can just use these two composite flags, and trust that expansion will keep their contents updated to always represent the most standard and the smartest behaviour we can. ## `AI_FLAG_CHECK_BAD_MOVE` @@ -171,3 +173,9 @@ AI will predict the player's ability based to its aiRating. Without this flag th ## `AI_FLAG_PREFER_HIGHEST_DAMAGE_MOVE` AI will add score to its highest damaging move, regardless of accuracy or secondary effects. Replaces deprecated `AI_FLAG_PREFER_STRONGEST_MOVE`. + +## `AI_FLAG_PREDICT_SWITCH` +AI will determine whether it would switch out in the player's situation or not, and predict the player to switch accordingly. In any case where the AI would consider switching, it will assume the player will switch. This is modulated by a 50% failure rate, so the behaviour is non-deterministic and can change from turn to turn to emulate the inconsistency in human predictions. This behaviour is improved significantly by using `AI_FLAG_SMART_SWITCHING` and `AI_FLAG_SMART_MON_CHOICES` as they improve the AI's ability to determine good situations to switch, and also by `AI_FLAG_OMNISCIENT` so the AI can use all its knowledge of the player's team to make the decision. + +## `AI_FLAG_PREDICT_INCOMING_MON` +This flag requires `AI_FLAG_PREDICT_SWITCH` to function. If the AI predicts that the player will switch, this flag allows the AI to run its move scoring calculation against the PokĆ©mon it expects the player to switch into, instead of the PokĆ©mon that it expects to switch out. diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index f561182fca..f0adcd8af0 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -146,6 +146,7 @@ bool32 IsStatRaisingEffect(u32 effect); bool32 IsStatLoweringEffect(u32 effect); bool32 IsSelfStatLoweringEffect(u32 effect); bool32 IsSwitchOutEffect(u32 effect); +bool32 IsChaseEffect(u32 effect); bool32 IsAttackBoostMoveEffect(u32 effect); bool32 IsUngroundingEffect(u32 effect); bool32 IsSemiInvulnerable(u32 battlerDef, u32 move); diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index 0e52c10128..1dcb62ee07 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -52,12 +52,14 @@ #define AI_FLAG_WEIGH_ABILITY_PREDICTION (1 << 21) // AI will predict player's ability based on aiRating #define AI_FLAG_PREFER_HIGHEST_DAMAGE_MOVE (1 << 22) // AI adds score to highest damage move regardless of accuracy or secondary effect #define AI_FLAG_PREDICT_SWITCH (1 << 23) // AI will predict the player's switches and switchins based on how it would handle the situation. Recommend using AI_FLAG_OMNISCIENT +#define AI_FLAG_PREDICT_INCOMING_MON (1 << 24) // AI will score against the predicting incoming mon if it predicts the player to switch. Requires AI_FLAG_PREDICT_SWITCH -#define AI_FLAG_COUNT 24 +#define AI_FLAG_COUNT 25 // The following options are enough to have a basic/smart trainer. Any other addtion could make the trainer worse/better depending on the flag #define AI_FLAG_BASIC_TRAINER (AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY) #define AI_FLAG_SMART_TRAINER (AI_FLAG_BASIC_TRAINER | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_WEIGH_ABILITY_PREDICTION) +#define AI_FLAG_PREDICTION (AI_FLAG_PREDICT_SWITCH | AI_FLAG_PREDICT_INCOMING_MON) // 'other' ai logic flags #define AI_FLAG_DYNAMIC_FUNC (1 << 28) // Create custom AI functions for specific battles via "setdynamicaifunc" cmd diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index e699cb977f..c939b8e1b3 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -35,6 +35,7 @@ static u32 ChooseMoveOrAction_Singles(u32 battlerAi); static u32 ChooseMoveOrAction_Doubles(u32 battlerAi); static inline void BattleAI_DoAIProcessing(struct AI_ThinkingStruct *aiThink, u32 battlerAi, u32 battlerDef); +static inline void BattleAI_DoAIProcessing_PredictedSwitchin(struct AI_ThinkingStruct *aiThink, struct AiLogicData *aiData, u32 battlerAi, u32 battlerDef); static bool32 IsPinchBerryItemEffect(u32 holdEffect); // ewram @@ -183,6 +184,10 @@ static u32 GetAiFlags(u16 trainerId) if (flags & AI_FLAG_SMART_SWITCHING) flags |= AI_FLAG_SMART_MON_CHOICES; + // Automatically includes AI_FLAG_PREDICT_SWITCH if AI_FLAG_PREDICT_INCOMING_MON is being used + if (flags & AI_FLAG_PREDICT_INCOMING_MON) + flags |= AI_FLAG_PREDICT_SWITCH; + if (sDynamicAiFunc != NULL) flags |= AI_FLAG_DYNAMIC_FUNC; @@ -407,14 +412,35 @@ static u32 Ai_SetMoveAccuracy(struct AiLogicData *aiData, u32 battlerAtk, u32 ba return accuracy; } +static void CalcBattlerAiMovesData(struct AiLogicData *aiData, u32 battlerAtk, u32 battlerDef, u32 weather) +{ + u32 moveIndex, move; + u32 rollType = GetDmgRollType(battlerAtk); + u16 *moves = GetMovesArray(battlerAtk); + + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) + { + struct SimulatedDamage dmg = {0}; + u8 effectiveness = AI_EFFECTIVENESS_x0; + move = moves[moveIndex]; + + if (move != MOVE_NONE + && move != MOVE_UNAVAILABLE + //&& !IsBattleMoveStatus(move) /* we want to get effectiveness and accuracy of status moves */ + && !(aiData->moveLimitations[battlerAtk] & (1u << moveIndex))) + { + dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE, weather, rollType); + aiData->moveAccuracy[battlerAtk][battlerDef][moveIndex] = Ai_SetMoveAccuracy(aiData, battlerAtk, battlerDef, move); + } + aiData->simulatedDmg[battlerAtk][battlerDef][moveIndex] = dmg; + aiData->effectiveness[battlerAtk][battlerDef][moveIndex] = effectiveness; + } +} + static void SetBattlerAiMovesData(struct AiLogicData *aiData, u32 battlerAtk, u32 battlersCount, u32 weather) { - u16 *moves; - u32 battlerDef, moveIndex, move; - u32 rollType = GetDmgRollType(battlerAtk); + u32 battlerDef; SaveBattlerData(battlerAtk); - moves = GetMovesArray(battlerAtk); - SetBattlerData(battlerAtk); // Simulate dmg for both ai controlled mons and for player controlled mons. @@ -425,23 +451,7 @@ static void SetBattlerAiMovesData(struct AiLogicData *aiData, u32 battlerAtk, u3 SaveBattlerData(battlerDef); SetBattlerData(battlerDef); - for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) - { - struct SimulatedDamage dmg = {0}; - u8 effectiveness = AI_EFFECTIVENESS_x0; - move = moves[moveIndex]; - - if (move != MOVE_NONE - && move != MOVE_UNAVAILABLE - //&& !IsBattleMoveStatus(move) /* we want to get effectiveness and accuracy of status moves */ - && !(aiData->moveLimitations[battlerAtk] & (1u << moveIndex))) - { - dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE, weather, rollType); - aiData->moveAccuracy[battlerAtk][battlerDef][moveIndex] = Ai_SetMoveAccuracy(aiData, battlerAtk, battlerDef, move); - } - aiData->simulatedDmg[battlerAtk][battlerDef][moveIndex] = dmg; - aiData->effectiveness[battlerAtk][battlerDef][moveIndex] = effectiveness; - } + CalcBattlerAiMovesData(aiData, battlerAtk, battlerDef, weather); RestoreBattlerData(battlerDef); } RestoreBattlerData(battlerAtk); @@ -496,7 +506,10 @@ static u32 ChooseMoveOrAction_Singles(u32 battlerAi) { if (flags & 1) { - BattleAI_DoAIProcessing(AI_THINKING_STRUCT, battlerAi, gBattlerTarget); + if (IsBattlerPredictedToSwitch(gBattlerTarget) && (AI_THINKING_STRUCT->aiFlags[battlerAi] & AI_FLAG_PREDICT_INCOMING_MON)) + BattleAI_DoAIProcessing_PredictedSwitchin(AI_THINKING_STRUCT, AI_DATA, battlerAi, gBattlerTarget); + else + BattleAI_DoAIProcessing(AI_THINKING_STRUCT, battlerAi, gBattlerTarget); } flags >>= 1; AI_THINKING_STRUCT->aiLogicId++; @@ -576,7 +589,10 @@ static u32 ChooseMoveOrAction_Doubles(u32 battlerAi) { if (flags & 1) { - BattleAI_DoAIProcessing(AI_THINKING_STRUCT, battlerAi, gBattlerTarget); + if (IsBattlerPredictedToSwitch(gBattlerTarget) && (AI_THINKING_STRUCT->aiFlags[battlerAi] & AI_FLAG_PREDICT_INCOMING_MON)) + BattleAI_DoAIProcessing_PredictedSwitchin(AI_THINKING_STRUCT, AI_DATA, battlerAi, gBattlerTarget); + else + BattleAI_DoAIProcessing(AI_THINKING_STRUCT, battlerAi, gBattlerTarget); } flags >>= 1; AI_THINKING_STRUCT->aiLogicId++; @@ -703,6 +719,116 @@ static inline void BattleAI_DoAIProcessing(struct AI_ThinkingStruct *aiThink, u3 aiThink->movesetIndex = 0; } +void BattleAI_DoAIProcessing_PredictedSwitchin(struct AI_ThinkingStruct *aiThink, struct AiLogicData *aiData, u32 battlerAtk, u32 battlerDef) +{ + struct BattlePokemon switchoutCandidate = gBattleMons[battlerDef]; + struct SimulatedDamage simulatedDamageSwitchout[4]; + u8 effectivenessSwitchout[4]; + u8 moveAccuracySwitchout[4]; + + struct BattlePokemon switchinCandidate; + struct SimulatedDamage simulatedDamageSwitchin[4]; + u8 effectivenessSwitchin[4]; + u8 moveAccuracySwitchin[4]; + + struct Pokemon *party = GetBattlerParty(battlerDef); + struct BattlePokemon *savedBattleMons = AllocSaveBattleMons(); + u32 moveIndex; + + // Store battler moves data to save time over recalculating it + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) + { + simulatedDamageSwitchout[moveIndex] = aiData->simulatedDmg[battlerAtk][battlerDef][moveIndex]; + effectivenessSwitchout[moveIndex] = aiData->effectiveness[battlerAtk][battlerDef][moveIndex]; + moveAccuracySwitchout[moveIndex] = aiData->moveAccuracy[battlerAtk][battlerDef][moveIndex]; + } + + // Get battler and move data for predicted switchin + PokemonToBattleMon(&party[aiData->mostSuitableMonId[battlerDef]], &switchinCandidate); + gBattleMons[battlerDef] = switchinCandidate; + SetBattlerAiData(battlerDef, aiData); + CalcBattlerAiMovesData(aiData, battlerAtk, battlerDef, AI_GetWeather(aiData)); + + // Regular processing with new battler + do + { + if (gBattleMons[battlerAtk].pp[aiThink->movesetIndex] == 0) + aiThink->moveConsidered = MOVE_NONE; + else + aiThink->moveConsidered = gBattleMons[battlerAtk].moves[aiThink->movesetIndex]; + + // There is no point in calculating scores for all 3 battlers(2 opponents + 1 ally) with certain moves. + if (aiThink->moveConsidered != MOVE_NONE + && aiThink->score[aiThink->movesetIndex] > 0 + && ShouldConsiderMoveForBattler(battlerAtk, battlerDef, aiThink->moveConsidered)) + { + if (IsChaseEffect(gMovesInfo[aiThink->moveConsidered].effect)) + { + // Save new switchin data + simulatedDamageSwitchin[aiThink->movesetIndex] = aiData->simulatedDmg[battlerAtk][battlerDef][aiThink->movesetIndex]; + effectivenessSwitchin[aiThink->movesetIndex] = aiData->effectiveness[battlerAtk][battlerDef][aiThink->movesetIndex]; + moveAccuracySwitchin[aiThink->movesetIndex] = aiData->moveAccuracy[battlerAtk][battlerDef][aiThink->movesetIndex]; + + // Restore old switchout data + gBattleMons[battlerDef] = switchoutCandidate; + SetBattlerAiData(battlerDef, aiData); + aiData->simulatedDmg[battlerAtk][battlerDef][aiThink->movesetIndex] = simulatedDamageSwitchout[aiThink->movesetIndex]; + aiData->effectiveness[battlerAtk][battlerDef][aiThink->movesetIndex] = effectivenessSwitchout[aiThink->movesetIndex]; + aiData->moveAccuracy[battlerAtk][battlerDef][aiThink->movesetIndex] = moveAccuracySwitchout[aiThink->movesetIndex]; + + if (aiThink->aiLogicId < ARRAY_COUNT(sBattleAiFuncTable) + && sBattleAiFuncTable[aiThink->aiLogicId] != NULL) + { + // Call AI function + aiThink->score[aiThink->movesetIndex] = + sBattleAiFuncTable[aiThink->aiLogicId](battlerAtk, + battlerDef, + aiThink->moveConsidered, + aiThink->score[aiThink->movesetIndex]); + } + + // Restore new switchin data + gBattleMons[battlerDef] = switchinCandidate; + SetBattlerAiData(battlerDef, aiData); + aiData->simulatedDmg[battlerAtk][battlerDef][aiThink->movesetIndex] = simulatedDamageSwitchin[aiThink->movesetIndex]; + aiData->effectiveness[battlerAtk][battlerDef][aiThink->movesetIndex] = effectivenessSwitchin[aiThink->movesetIndex]; + aiData->moveAccuracy[battlerAtk][battlerDef][aiThink->movesetIndex] = moveAccuracySwitchin[aiThink->movesetIndex]; + } + + else + { + if (aiThink->aiLogicId < ARRAY_COUNT(sBattleAiFuncTable) + && sBattleAiFuncTable[aiThink->aiLogicId] != NULL) + { + // Call AI function + aiThink->score[aiThink->movesetIndex] = + sBattleAiFuncTable[aiThink->aiLogicId](battlerAtk, + battlerDef, + aiThink->moveConsidered, + aiThink->score[aiThink->movesetIndex]); + } + } + } + else + { + aiThink->score[aiThink->movesetIndex] = 0; + } + aiThink->movesetIndex++; + } while (aiThink->movesetIndex < MAX_MON_MOVES && !(aiThink->aiAction & AI_ACTION_DO_NOT_ATTACK)); + + aiThink->movesetIndex = 0; + + // Restore original battler data and moves + FreeRestoreBattleMons(savedBattleMons); + SetBattlerAiData(battlerDef, aiData); + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) + { + aiData->simulatedDmg[battlerAtk][battlerDef][moveIndex] = simulatedDamageSwitchout[moveIndex]; + aiData->effectiveness[battlerAtk][battlerDef][moveIndex] = effectivenessSwitchout[moveIndex]; + aiData->moveAccuracy[battlerAtk][battlerDef][moveIndex] = moveAccuracySwitchout[moveIndex]; + } +} + // AI Score Functions // AI_FLAG_CHECK_BAD_MOVE - decreases move scores static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) @@ -5284,7 +5410,11 @@ static s32 AI_PredictSwitch(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) switch (moveEffect) { case EFFECT_PURSUIT: - ADJUST_SCORE(GOOD_EFFECT); + u32 hitsToKO = GetNoOfHitsToKOBattler(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex); + if (hitsToKO == 2) + ADJUST_SCORE(GOOD_EFFECT); + else if (hitsToKO == 1) + ADJUST_SCORE(BEST_EFFECT); // else if (IsPredictedToUsePursuitableMove(battlerDef, battlerAtk) && !MoveWouldHitFirst(move, battlerAtk, battlerDef)) //Pursuit against fast U-Turn // ADJUST_SCORE(GOOD_EFFECT); break; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 6e7288f95c..6af068ac66 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -197,7 +197,7 @@ static bool32 ShouldSwitchIfHasBadOdds(u32 battler) && gBattleMons[battler].hp >= gBattleMons[battler].maxHP / 4))) { // 50% chance to stay in regardless - if (RandomPercentage(RNG_AI_SWITCH_HASBADODDS, 50) || AI_DATA->aiSwitchPredictionInProgress) + if (RandomPercentage(RNG_AI_SWITCH_HASBADODDS, 50) && !AI_DATA->aiSwitchPredictionInProgress) return FALSE; // Switch mon out @@ -217,7 +217,7 @@ static bool32 ShouldSwitchIfHasBadOdds(u32 battler) return FALSE; // 50% chance to stay in regardless - if (RandomPercentage(RNG_AI_SWITCH_HASBADODDS, 50) || AI_DATA->aiSwitchPredictionInProgress) + if (RandomPercentage(RNG_AI_SWITCH_HASBADODDS, 50) && !AI_DATA->aiSwitchPredictionInProgress) return FALSE; // Switch mon out diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 6f6b5c7188..9732176997 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2396,6 +2396,18 @@ bool32 IsSwitchOutEffect(u32 effect) } } +bool32 IsChaseEffect(u32 effect) +{ + // Effects that hit switching out mons like Pursuit + switch (effect) + { + case EFFECT_PURSUIT: + return TRUE; + default: + return FALSE; + } +} + static inline bool32 IsMoveSleepClauseTrigger(u32 move) { u32 i, effect = GetMoveEffect(move); diff --git a/src/battle_main.c b/src/battle_main.c index b47df2fb2f..3335944bf6 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4204,12 +4204,7 @@ enum void SetupAISwitchingData(u32 battler, bool32 isAiRisky) { s32 opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); - - // AI's data - AI_DATA->mostSuitableMonId[battler] = GetMostSuitableMonToSwitchInto(battler, isAiRisky); - if (ShouldSwitch(battler)) - AI_DATA->shouldSwitch |= (1u << battler); - + // AI's predicting data if ((AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_PREDICT_SWITCH)) { @@ -4223,6 +4218,11 @@ void SetupAISwitchingData(u32 battler, bool32 isAiRisky) // Determine whether AI will use predictions this turn AI_DATA->predictingSwitch = RandomPercentage(RNG_AI_PREDICT_SWITCH, 50); } + + // AI's data + AI_DATA->mostSuitableMonId[battler] = GetMostSuitableMonToSwitchInto(battler, isAiRisky); + if (ShouldSwitch(battler)) + AI_DATA->shouldSwitch |= (1u << battler); } static void HandleTurnActionSelectionState(void) diff --git a/test/battle/ai/ai_flag_predict_switch.c b/test/battle/ai/ai_flag_predict_switch.c index afed790a41..a5e74ff2d7 100644 --- a/test/battle/ai/ai_flag_predict_switch.c +++ b/test/battle/ai/ai_flag_predict_switch.c @@ -2,16 +2,16 @@ #include "test/battle.h" #include "battle_ai_util.h" -AI_SINGLE_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH: AI will predict use Pursuit on predicted switches") +AI_SINGLE_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH: AI will use Pursuit on predicted switches") { PASSES_RANDOMLY(5, 10, RNG_AI_PREDICT_SWITCH); GIVEN { - AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_PREDICT_SWITCH); - PLAYER(SPECIES_BRONZONG) { Moves(MOVE_PSYCHIC); } + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_PREDICT_SWITCH | AI_FLAG_PREDICT_INCOMING_MON); + PLAYER(SPECIES_GENGAR) { Moves(MOVE_PSYCHIC); } PLAYER(SPECIES_CONKELDURR) { Moves(MOVE_HAMMER_ARM); } OPPONENT(SPECIES_TYRANITAR) { Moves(MOVE_PURSUIT, MOVE_CRUNCH); } } WHEN { - TURN { SWITCH(player, 1); EXPECT_MOVE(opponent, MOVE_PURSUIT); } + TURN { SWITCH(player, 1); EXPECT_MOVE(opponent, MOVE_PURSUIT); SEND_OUT(player, 1); } } } @@ -20,32 +20,19 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH: AI would switch out in Pursuit sc GIVEN { AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES); PLAYER(SPECIES_TYRANITAR) { Moves(MOVE_PURSUIT, MOVE_CRUNCH); } - OPPONENT(SPECIES_BRONZONG) { Moves(MOVE_PSYCHIC); } + OPPONENT(SPECIES_GENGAR) { Moves(MOVE_PSYCHIC); } OPPONENT(SPECIES_CONKELDURR) { Moves(MOVE_HAMMER_ARM); } } WHEN { TURN { MOVE(player, MOVE_PURSUIT); EXPECT_SWITCH(opponent, 1); } } } -AI_SINGLE_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH: AI will predict switches with Wonder Guard") -{ - PASSES_RANDOMLY(5, 10, RNG_AI_PREDICT_SWITCH); - GIVEN { - AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_PREDICT_SWITCH); - PLAYER(SPECIES_BRONZONG) { Moves(MOVE_PSYCHIC); } - PLAYER(SPECIES_SWELLOW) { Moves(MOVE_PECK); } - OPPONENT(SPECIES_SHEDINJA) { Moves(MOVE_PURSUIT, MOVE_CRUNCH); } - } WHEN { - TURN { SWITCH(player, 1); EXPECT_MOVE(opponent, MOVE_PURSUIT); } - } -} - AI_SINGLE_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH: AI would switch out in Wonder Guard scenario") { GIVEN { AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES); PLAYER(SPECIES_SHEDINJA) { Moves(MOVE_PURSUIT, MOVE_CRUNCH); } - OPPONENT(SPECIES_BRONZONG) { Moves(MOVE_PSYCHIC); } + OPPONENT(SPECIES_GENGAR) { Moves(MOVE_PSYCHIC); } OPPONENT(SPECIES_SWELLOW) { Moves(MOVE_PECK); } } WHEN { TURN { MOVE(player, MOVE_PURSUIT); EXPECT_SWITCH(opponent, 1); } @@ -84,14 +71,15 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH: Considers ShouldSwitch and GetMos // Switching in trapper is an advanced feature of ShouldSwitch that requires GetMostSuitableMonToSwitchInto to also return a specific mon; this passing means the AI can use both in prediction PASSES_RANDOMLY(5, 10, RNG_AI_PREDICT_SWITCH); GIVEN { - AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_PREDICT_SWITCH); - PLAYER(SPECIES_CACNEA) { Moves(MOVE_ABSORB); } + ASSUME(B_POWDER_GRASS >= GEN_6); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_PREDICT_SWITCH | AI_FLAG_PREDICT_INCOMING_MON); + PLAYER(SPECIES_SKARMORY) { Moves(MOVE_TACKLE); } PLAYER(SPECIES_DUGTRIO) { Ability(ABILITY_ARENA_TRAP); Moves(MOVE_ACROBATICS); } - OPPONENT(SPECIES_BRELOOM) { Ability(ABILITY_EFFECT_SPORE); Moves(MOVE_PURSUIT, MOVE_BITE); } + OPPONENT(SPECIES_BRELOOM) { Ability(ABILITY_EFFECT_SPORE); Moves(MOVE_HEADBUTT, MOVE_THUNDERPUNCH); } OPPONENT(SPECIES_BRELOOM); } WHEN { - TURN { SWITCH(player, 1); EXPECT_MOVE(opponent, MOVE_PURSUIT); } - TURN { MOVE(player, MOVE_ACROBATICS); EXPECT_MOVE(opponent, MOVE_BITE); EXPECT_SEND_OUT(opponent, 1); } + TURN { SWITCH(player, 1); EXPECT_MOVE(opponent, MOVE_HEADBUTT); } + TURN { MOVE(player, MOVE_ACROBATICS); EXPECT_MOVE(opponent, MOVE_HEADBUTT); EXPECT_SEND_OUT(opponent, 1); } } } @@ -134,6 +122,42 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH: AI would switch out in Focus Punc } } -// This will be for a follow-up PR -TO_DO_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH: AI will score against predicted incoming mon when switch predicted") -TO_DO_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH: AI would switch out in predicted-incoming-mon scenario"); +AI_SINGLE_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH | AI_FLAG_PREDICT_INCOMING_MON: AI will score against predicted incoming mon when switch predicted") +{ + PASSES_RANDOMLY(5, 10, RNG_AI_PREDICT_SWITCH); + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_PREDICT_SWITCH | AI_FLAG_PREDICT_INCOMING_MON); + PLAYER(SPECIES_GENGAR) { Moves(MOVE_SHADOW_BALL); } + PLAYER(SPECIES_TYRANITAR) { Moves(MOVE_EARTHQUAKE, MOVE_CRUNCH); } + OPPONENT(SPECIES_TYRANITAR) { Moves(MOVE_SPORE, MOVE_CRUNCH); } + } WHEN { + TURN { SWITCH(player, 1); EXPECT_MOVE(opponent, MOVE_SPORE); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH: AI would switch out in predicted-incoming-mon scenario") +{ + PASSES_RANDOMLY(5, 10, RNG_AI_SWITCH_HASBADODDS); + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES); + PLAYER(SPECIES_TYRANITAR) { Moves(MOVE_CRUNCH, MOVE_SPORE); } + OPPONENT(SPECIES_GENGAR) { Moves(MOVE_SHADOW_BALL); } + OPPONENT(SPECIES_TYRANITAR) { Moves(MOVE_EARTHQUAKE, MOVE_CRUNCH); } + } WHEN { + TURN { MOVE(player, MOVE_CRUNCH); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_PREDICT_SWITCH: AI would normally choose prediction-informed move against mon in predicted-incoming-mon scenario") +{ + // The test "AI_FLAG_PREDICT_SWITCH | AI_FLAG_PREDICT_INCOMING_MON: AI will score against predicted incoming mon when switch predicted" is evaluating whether the AI targets the incoming mon. + // This test makes sure the move that we are using to evaluate that, MOVE_SPORE, is actually what the AI would use against the incoming mon under normal circumstances. + // If both of these tests fail, prediction is still working, it just means the move scoring no longer has Breloom using Spore against the target in a vaccuum, so that test needs to be adjusted. + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_PREDICT_SWITCH); + PLAYER(SPECIES_TYRANITAR) { Moves(MOVE_EARTHQUAKE, MOVE_CRUNCH); } + OPPONENT(SPECIES_TYRANITAR) { Moves(MOVE_SPORE, MOVE_CRUNCH); } + } WHEN { + TURN { MOVE(player, MOVE_CRUNCH); EXPECT_MOVE(opponent, MOVE_SPORE); } + } +} diff --git a/test/battle/ai/ai_switching.c b/test/battle/ai/ai_switching.c index a4cd202574..26d111ba50 100644 --- a/test/battle/ai/ai_switching.c +++ b/test/battle/ai/ai_switching.c @@ -669,7 +669,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if player's m GIVEN { ASSUME(GetMoveType(MOVE_SOLAR_BEAM) == TYPE_GRASS); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); - PLAYER(SPECIES_BELLOSSOM) { Moves(MOVE_SOLAR_BEAM); } + PLAYER(SPECIES_BELLOSSOM) { Moves(MOVE_SOLAR_BEAM, MOVE_THUNDERBOLT); } OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } OPPONENT(SPECIES_AZUMARILL) { Moves(MOVE_PLAY_ROUGH); Ability(ABILITY_SAP_SIPPER); } } WHEN { From 44ebf33f1d200448510825ca913e410b18c12d0d Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Mon, 20 Jan 2025 16:29:21 -0500 Subject: [PATCH 09/27] Add Steven Multi to debug menu (#6064) --- data/scripts/debug.inc | 5 +++++ src/debug.c | 27 +++++++++++++++++++-------- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/data/scripts/debug.inc b/data/scripts/debug.inc index 0be780609d..29640b2d2e 100644 --- a/data/scripts/debug.inc +++ b/data/scripts/debug.inc @@ -270,6 +270,11 @@ Debug_ShowExpansionVersion:: Debug_ExpansionVersion: .string "pokeemerald-expansion {STR_VAR_1}$" +Debug_EventScript_Steven_Multi:: + call MossdeepCity_SpaceCenter_2F_EventScript_ChoosePartyForMultiBattle + release + end + Debug_BerryPestsDisabled:: msgbox DebugText_BerryPestsDisabled, MSGBOX_DEFAULT release diff --git a/src/debug.c b/src/debug.c index 267c5d5ab9..d9b382092d 100644 --- a/src/debug.c +++ b/src/debug.c @@ -100,6 +100,7 @@ enum UtilDebugMenu DEBUG_UTIL_MENU_ITEM_EXPANSION_VER, DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS, DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS, + DEBUG_UTIL_MENU_ITEM_STEVEN_MULTI, }; enum GivePCBagDebugMenu @@ -381,6 +382,7 @@ static void DebugAction_Util_CheatStart(u8 taskId); static void DebugAction_Util_ExpansionVersion(u8 taskId); static void DebugAction_Util_BerryFunctions(u8 taskId); static void DebugAction_Util_CheckEWRAMCounters(u8 taskId); +static void DebugAction_Util_Steven_Multi(u8 taskId); static void DebugAction_OpenPCBagFillMenu(u8 taskId); static void DebugAction_PCBag_Fill_PCBoxes_Fast(u8 taskId); @@ -489,6 +491,7 @@ extern const u8 Debug_CheckROMSpace[]; extern const u8 Debug_BoxFilledMessage[]; extern const u8 Debug_ShowExpansionVersion[]; extern const u8 Debug_EventScript_EWRAMCounters[]; +extern const u8 Debug_EventScript_Steven_Multi[]; extern const u8 Debug_BerryPestsDisabled[]; extern const u8 Debug_BerryWeedsDisabled[]; @@ -517,14 +520,14 @@ static const u8 sDebugText_Give[] = _("Give X…{CLEAR_TO 110}{RIGHT_AR static const u8 sDebugText_Sound[] = _("Sound…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_Cancel[] = _("Cancel"); // Script menu -static const u8 sDebugText_Util_Script_1[] = _("Script 1"); -static const u8 sDebugText_Util_Script_2[] = _("Script 2"); -static const u8 sDebugText_Util_Script_3[] = _("Script 3"); -static const u8 sDebugText_Util_Script_4[] = _("Script 4"); -static const u8 sDebugText_Util_Script_5[] = _("Script 5"); -static const u8 sDebugText_Util_Script_6[] = _("Script 6"); -static const u8 sDebugText_Util_Script_7[] = _("Script 7"); -static const u8 sDebugText_Util_Script_8[] = _("Script 8"); +static const u8 sDebugText_Util_Script_1[] = _("Script 1"); +static const u8 sDebugText_Util_Script_2[] = _("Script 2"); +static const u8 sDebugText_Util_Script_3[] = _("Script 3"); +static const u8 sDebugText_Util_Script_4[] = _("Script 4"); +static const u8 sDebugText_Util_Script_5[] = _("Script 5"); +static const u8 sDebugText_Util_Script_6[] = _("Script 6"); +static const u8 sDebugText_Util_Script_7[] = _("Script 7"); +static const u8 sDebugText_Util_Script_8[] = _("Script 8"); // Util Menu static const u8 sDebugText_Util_FlyToMap[] = _("Fly to map…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_Util_WarpToMap[] = _("Warp to map warp…{CLEAR_TO 110}{RIGHT_ARROW}"); @@ -547,6 +550,7 @@ static const u8 sDebugText_Util_CheatStart[] = _("Cheat start"); static const u8 sDebugText_Util_ExpansionVersion[] = _("Expansion Version"); static const u8 sDebugText_Util_BerryFunctions[] = _("Berry Functions…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_Util_EWRAMCounters[] = _("EWRAM Counters…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Util_Steven_Multi[] = _("Steven Multi"); // PC/Bag Menu static const u8 sDebugText_PCBag_Fill[] = _("Fill…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_PCBag_Fill_Pc_Fast[] = _("Fill PC Boxes Fast"); @@ -741,6 +745,7 @@ static const struct ListMenuItem sDebugMenu_Items_Utilities[] = [DEBUG_UTIL_MENU_ITEM_EXPANSION_VER] = {sDebugText_Util_ExpansionVersion, DEBUG_UTIL_MENU_ITEM_EXPANSION_VER}, [DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS] = {sDebugText_Util_BerryFunctions, DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS}, [DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS] = {sDebugText_Util_EWRAMCounters, DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS}, + [DEBUG_UTIL_MENU_ITEM_STEVEN_MULTI] = {sDebugText_Util_Steven_Multi, DEBUG_UTIL_MENU_ITEM_STEVEN_MULTI}, }; static const struct ListMenuItem sDebugMenu_Items_PCBag[] = @@ -913,6 +918,7 @@ static void (*const sDebugMenu_Actions_Utilities[])(u8) = [DEBUG_UTIL_MENU_ITEM_EXPANSION_VER] = DebugAction_Util_ExpansionVersion, [DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS] = DebugAction_Util_BerryFunctions, [DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS] = DebugAction_Util_CheckEWRAMCounters, + [DEBUG_UTIL_MENU_ITEM_STEVEN_MULTI] = DebugAction_Util_Steven_Multi, }; static void (*const sDebugMenu_Actions_PCBag[])(u8) = @@ -2339,6 +2345,11 @@ static void DebugAction_Util_ExpansionVersion(u8 taskId) ScriptContext_SetupScript(Debug_ShowExpansionVersion); } +static void DebugAction_Util_Steven_Multi(u8 taskId) +{ + Debug_DestroyMenu_Full_Script(taskId, Debug_EventScript_Steven_Multi); +} + void BufferExpansionVersion(struct ScriptContext *ctx) { static const u8 sText_Released[] = _("\nRelease Build"); From 27c8ec07c2576b54f0ffa948ea25803776fa90fe Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Mon, 20 Jan 2025 22:41:42 +0100 Subject: [PATCH 10/27] Documentation for DisableStruct (#6066) --- include/battle.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/battle.h b/include/battle.h index a61eff5306..cf935bda8c 100644 --- a/include/battle.h +++ b/include/battle.h @@ -68,6 +68,7 @@ #define BATTLE_BUFFER_LINK_SIZE 0x1000 +// Cleared each time a mon leaves the field, either by switching out or fainting struct DisableStruct { u32 transformedMonPersonality; From 81847378686a5b62f0ba5419f2f5a8b5d83555c0 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Mon, 20 Jan 2025 17:53:21 -0500 Subject: [PATCH 11/27] Add a uniquely striking pair of brackets (#6068) --- src/battle_ai_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index c939b8e1b3..bf4be76116 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -5410,6 +5410,7 @@ static s32 AI_PredictSwitch(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) switch (moveEffect) { case EFFECT_PURSUIT: + { u32 hitsToKO = GetNoOfHitsToKOBattler(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex); if (hitsToKO == 2) ADJUST_SCORE(GOOD_EFFECT); @@ -5418,6 +5419,7 @@ static s32 AI_PredictSwitch(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) // else if (IsPredictedToUsePursuitableMove(battlerDef, battlerAtk) && !MoveWouldHitFirst(move, battlerAtk, battlerDef)) //Pursuit against fast U-Turn // ADJUST_SCORE(GOOD_EFFECT); break; + } case EFFECT_FOCUS_PUNCH: ADJUST_SCORE(DECENT_EFFECT); From ac9c8ac3bbeaad11c3a1ede6fffe744149c50fdc Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Tue, 21 Jan 2025 08:43:45 +0100 Subject: [PATCH 12/27] Replace WEATHER_HAS_EFFECT with HasWeatherEffect (#6069) --- include/battle.h | 2 +- include/battle_util.h | 3 +-- src/battle_ai_main.c | 6 ++--- src/battle_ai_switch_items.c | 2 +- src/battle_controllers.c | 2 +- src/battle_main.c | 8 +++---- src/battle_script_commands.c | 18 +++++++-------- src/battle_util.c | 45 +++++++++++++++++++++--------------- 8 files changed, 46 insertions(+), 40 deletions(-) diff --git a/include/battle.h b/include/battle.h index cf935bda8c..e1fdf297e5 100644 --- a/include/battle.h +++ b/include/battle.h @@ -355,7 +355,7 @@ struct AiLogicData u8 monToSwitchInId[MAX_BATTLERS_COUNT]; // ID of the mon to switch in. u8 mostSuitableMonId[MAX_BATTLERS_COUNT]; // Stores result of GetMostSuitableMonToSwitchInto, which decides which generic mon the AI would switch into if they decide to switch. This can be overruled by specific mons found in ShouldSwitch; the final resulting mon is stored in AI_monToSwitchIntoId. struct SwitchinCandidate switchinCandidate; // Struct used for deciding which mon to switch to in battle_ai_switch_items.c - u8 weatherHasEffect:1; // The same as WEATHER_HAS_EFFECT. Stored here, so it's called only once. + u8 weatherHasEffect:1; // The same as HasWeatherEffect(). Stored here, so it's called only once. u8 ejectButtonSwitch:1; // Tracks whether current switch out was from Eject Button u8 ejectPackSwitch:1; // Tracks whether current switch out was from Eject Pack u8 predictingSwitch:1; // Determines whether AI will use predictions this turn or not diff --git a/include/battle_util.h b/include/battle_util.h index 4fde2ea341..69ba274df3 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -82,8 +82,6 @@ enum ItemEffect ITEMEFFECT_STATS_CHANGED, // For White Herb and Eject Pack }; -#define WEATHER_HAS_EFFECT ((!IsAbilityOnField(ABILITY_CLOUD_NINE) && !IsAbilityOnField(ABILITY_AIR_LOCK))) - #define IS_WHOLE_SIDE_ALIVE(battler) ((IsBattlerAlive(battler) && IsBattlerAlive(BATTLE_PARTNER(battler)))) #define IS_ALIVE_AND_PRESENT(battler) (IsBattlerAlive(battler) && IsBattlerSpritePresent(battler)) @@ -343,5 +341,6 @@ u32 NumAffectedSpreadMoveTargets(void); bool32 IsPursuitTargetSet(void); void ClearPursuitValuesIfSet(u32 battler); void ClearPursuitValues(void); +bool32 HasWeatherEffect(void); #endif // GUARD_BATTLE_UTIL_H diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index bf4be76116..480bf39342 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -468,7 +468,7 @@ void SetAiLogicDataForTurn(struct AiLogicData *aiData) // Set delay timer to count how long it takes for AI to choose action/move gBattleStruct->aiDelayTimer = gMain.vblankCounter1; - aiData->weatherHasEffect = WEATHER_HAS_EFFECT; + aiData->weatherHasEffect = HasWeatherEffect(); weather = AI_GetWeather(aiData); // get/assume all battler data and simulate AI damage @@ -794,7 +794,7 @@ void BattleAI_DoAIProcessing_PredictedSwitchin(struct AI_ThinkingStruct *aiThink aiData->effectiveness[battlerAtk][battlerDef][aiThink->movesetIndex] = effectivenessSwitchin[aiThink->movesetIndex]; aiData->moveAccuracy[battlerAtk][battlerDef][aiThink->movesetIndex] = moveAccuracySwitchin[aiThink->movesetIndex]; } - + else { if (aiThink->aiLogicId < ARRAY_COUNT(sBattleAiFuncTable) @@ -824,7 +824,7 @@ void BattleAI_DoAIProcessing_PredictedSwitchin(struct AI_ThinkingStruct *aiThink for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { aiData->simulatedDmg[battlerAtk][battlerDef][moveIndex] = simulatedDamageSwitchout[moveIndex]; - aiData->effectiveness[battlerAtk][battlerDef][moveIndex] = effectivenessSwitchout[moveIndex]; + aiData->effectiveness[battlerAtk][battlerDef][moveIndex] = effectivenessSwitchout[moveIndex]; aiData->moveAccuracy[battlerAtk][battlerDef][moveIndex] = moveAccuracySwitchout[moveIndex]; } } diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 6af068ac66..fef38ecf90 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -1342,7 +1342,7 @@ static s32 GetSwitchinWeatherImpact(void) s32 weatherImpact = 0, maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, ability = AI_DATA->switchinCandidate.battleMon.ability; u32 holdEffect = ItemId_GetHoldEffect(AI_DATA->switchinCandidate.battleMon.item); - if (WEATHER_HAS_EFFECT) + if (HasWeatherEffect()) { // Damage if (holdEffect != HOLD_EFFECT_SAFETY_GOGGLES && ability != ABILITY_MAGIC_GUARD && ability != ABILITY_OVERCOAT) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index d60cd34312..6695eae945 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1077,7 +1077,7 @@ void BtlController_EmitMoveAnimation(u32 battler, u32 bufferId, u16 move, u8 tur gBattleResources->transferBuffer[9] = (dmg & 0xFF000000) >> 24; gBattleResources->transferBuffer[10] = friendship; gBattleResources->transferBuffer[11] = multihit; - if (WEATHER_HAS_EFFECT) + if (HasWeatherEffect()) { gBattleResources->transferBuffer[12] = gBattleWeather; gBattleResources->transferBuffer[13] = (gBattleWeather & 0xFF00) >> 8; diff --git a/src/battle_main.c b/src/battle_main.c index 3335944bf6..0f77801855 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4204,7 +4204,7 @@ enum void SetupAISwitchingData(u32 battler, bool32 isAiRisky) { s32 opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); - + // AI's predicting data if ((AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_PREDICT_SWITCH)) { @@ -4785,7 +4785,7 @@ u32 GetBattlerTotalSpeedStatArgs(u32 battler, u32 ability, u32 holdEffect) u32 speed = gBattleMons[battler].speed; // weather abilities - if (WEATHER_HAS_EFFECT) + if (HasWeatherEffect()) { if (ability == ABILITY_SWIFT_SWIM && holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA && gBattleWeather & B_WEATHER_RAIN) speed *= 2; @@ -4804,7 +4804,7 @@ u32 GetBattlerTotalSpeedStatArgs(u32 battler, u32 ability, u32 holdEffect) speed *= 2; else if (ability == ABILITY_SLOW_START && gDisableStructs[battler].slowStartTimer != 0) speed /= 2; - else if (ability == ABILITY_PROTOSYNTHESIS && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED) && ((gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT) || gDisableStructs[battler].boosterEnergyActivates)) + else if (ability == ABILITY_PROTOSYNTHESIS && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED) && ((gBattleWeather & B_WEATHER_SUN && HasWeatherEffect()) || gDisableStructs[battler].boosterEnergyActivates)) speed = (GetHighestStatId(battler) == STAT_SPEED) ? (speed * 150) / 100 : speed; else if (ability == ABILITY_QUARK_DRIVE && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED) && (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN || gDisableStructs[battler].boosterEnergyActivates)) speed = (GetHighestStatId(battler) == STAT_SPEED) ? (speed * 150) / 100 : speed; @@ -5911,7 +5911,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) switch (moveEffect) { case EFFECT_WEATHER_BALL: - if (gMain.inBattle && WEATHER_HAS_EFFECT) + if (gMain.inBattle && HasWeatherEffect()) { if (gBattleWeather & B_WEATHER_RAIN && holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA) return TYPE_WATER; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 34a5a83ed9..741ed02390 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1450,7 +1450,7 @@ static bool32 AccuracyCalcHelper(u32 move, u32 battler) effect = TRUE; } - if (WEATHER_HAS_EFFECT) + if (HasWeatherEffect()) { if ((moveEffect == EFFECT_THUNDER || moveEffect == EFFECT_RAIN_ALWAYS_HIT) && IsBattlerWeatherAffected(battler, B_WEATHER_RAIN)) @@ -1539,11 +1539,11 @@ u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u switch (defAbility) { case ABILITY_SAND_VEIL: - if (WEATHER_HAS_EFFECT && gBattleWeather & B_WEATHER_SANDSTORM) + if (HasWeatherEffect() && gBattleWeather & B_WEATHER_SANDSTORM) calc = (calc * 80) / 100; // 1.2 sand veil loss break; case ABILITY_SNOW_CLOAK: - if (WEATHER_HAS_EFFECT && (gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW))) + if (HasWeatherEffect() && (gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW))) calc = (calc * 80) / 100; // 1.2 snow cloak loss break; case ABILITY_TANGLED_FEET: @@ -1595,7 +1595,7 @@ u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u if (B_AFFECTION_MECHANICS == TRUE && GetBattlerAffectionHearts(battlerDef) == AFFECTION_FIVE_HEARTS) calc = (calc * 90) / 100; - if (WEATHER_HAS_EFFECT && gBattleWeather & B_WEATHER_FOG) + if (HasWeatherEffect() && gBattleWeather & B_WEATHER_FOG) calc = (calc * 60) / 100; // modified by 3/5 return calc; @@ -2307,7 +2307,7 @@ static u32 UpdateEffectivenessResultFlagsForDoubleSpreadMoves(u32 resultFlags) static inline bool32 TryStrongWindsWeakenAttack(u32 battlerDef, u32 moveType) { - if (gBattleWeather & B_WEATHER_STRONG_WINDS && WEATHER_HAS_EFFECT) + if (gBattleWeather & B_WEATHER_STRONG_WINDS && HasWeatherEffect()) { if (GetMoveCategory(gCurrentMove) != DAMAGE_CATEGORY_STATUS && IS_BATTLER_OF_TYPE(battlerDef, TYPE_FLYING) @@ -7692,7 +7692,7 @@ bool32 DoSwitchInAbilities(u32 battler) { return (TryPrimalReversion(battler) || AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, battler, 0, 0, 0) - || (gBattleWeather & B_WEATHER_ANY && WEATHER_HAS_EFFECT && AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, battler, 0, 0, 0)) + || (gBattleWeather & B_WEATHER_ANY && HasWeatherEffect() && AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, battler, 0, 0, 0)) || (gFieldStatuses & STATUS_FIELD_TERRAIN_ANY && AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, battler, 0, 0, 0))); } @@ -10721,7 +10721,7 @@ static void Cmd_various(void) { VARIOUS_ARGS(); if (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_AURORA_VEIL - || !(WEATHER_HAS_EFFECT && gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW))) + || !(HasWeatherEffect() && gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW))) { gBattleStruct->moveResultFlags[gBattlerTarget] |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -14161,14 +14161,14 @@ static void Cmd_recoverbasedonsunlight(void) { if (gCurrentMove == MOVE_SHORE_UP) { - if (WEATHER_HAS_EFFECT && gBattleWeather & B_WEATHER_SANDSTORM) + if (HasWeatherEffect() && gBattleWeather & B_WEATHER_SANDSTORM) gBattleStruct->moveDamage[gBattlerAttacker] = 20 * GetNonDynamaxMaxHP(gBattlerAttacker) / 30; else gBattleStruct->moveDamage[gBattlerAttacker] = GetNonDynamaxMaxHP(gBattlerAttacker) / 2; } else { - if (!(gBattleWeather & B_WEATHER_ANY) || !WEATHER_HAS_EFFECT || GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_UTILITY_UMBRELLA) + if (!(gBattleWeather & B_WEATHER_ANY) || !HasWeatherEffect() || GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_UTILITY_UMBRELLA) gBattleStruct->moveDamage[gBattlerAttacker] = GetNonDynamaxMaxHP(gBattlerAttacker) / 2; else if (gBattleWeather & B_WEATHER_SUN) gBattleStruct->moveDamage[gBattlerAttacker] = 20 * GetNonDynamaxMaxHP(gBattlerAttacker) / 30; diff --git a/src/battle_util.c b/src/battle_util.c index 1764c5ee4d..dcab50a696 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2242,7 +2242,7 @@ u8 DoBattlerEndTurnEffects(void) { case ENDTURN_WEATHER_DAMAGE: ability = GetBattlerAbility(battler); - if (!IsBattlerAlive(battler) || !WEATHER_HAS_EFFECT || ability == ABILITY_MAGIC_GUARD) + if (!IsBattlerAlive(battler) || !HasWeatherEffect() || ability == ABILITY_MAGIC_GUARD) { gBattleStruct->turnEffectsTracker++; break; @@ -3553,7 +3553,7 @@ static void CancellerStanceChangeTwo(u32 *effect) static void CancellerWeatherPrimal(u32 *effect) { - if (WEATHER_HAS_EFFECT && GetMovePower(gCurrentMove) > 0) + if (HasWeatherEffect() && GetMovePower(gCurrentMove) > 0) { u32 moveType = GetBattleMoveType(gCurrentMove); if (moveType == TYPE_FIRE && (gBattleWeather & B_WEATHER_RAIN_PRIMAL)) @@ -4893,7 +4893,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 BattleScriptPushCursorAndCallback(BattleScript_DrizzleActivates); effect++; } - else if (gBattleWeather & B_WEATHER_PRIMAL_ANY && WEATHER_HAS_EFFECT && !gSpecialStatuses[battler].switchInAbilityDone) + else if (gBattleWeather & B_WEATHER_PRIMAL_ANY && HasWeatherEffect() && !gSpecialStatuses[battler].switchInAbilityDone) { gSpecialStatuses[battler].switchInAbilityDone = TRUE; BattleScriptPushCursorAndCallback(BattleScript_BlockedByPrimalWeatherEnd3); @@ -4906,7 +4906,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 BattleScriptPushCursorAndCallback(BattleScript_SandstreamActivates); effect++; } - else if (gBattleWeather & B_WEATHER_PRIMAL_ANY && WEATHER_HAS_EFFECT && !gSpecialStatuses[battler].switchInAbilityDone) + else if (gBattleWeather & B_WEATHER_PRIMAL_ANY && HasWeatherEffect() && !gSpecialStatuses[battler].switchInAbilityDone) { gSpecialStatuses[battler].switchInAbilityDone = TRUE; BattleScriptPushCursorAndCallback(BattleScript_BlockedByPrimalWeatherEnd3); @@ -4919,7 +4919,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 BattleScriptPushCursorAndCallback(BattleScript_DroughtActivates); effect++; } - else if (gBattleWeather & B_WEATHER_PRIMAL_ANY && WEATHER_HAS_EFFECT && !gSpecialStatuses[battler].switchInAbilityDone) + else if (gBattleWeather & B_WEATHER_PRIMAL_ANY && HasWeatherEffect() && !gSpecialStatuses[battler].switchInAbilityDone) { gSpecialStatuses[battler].switchInAbilityDone = TRUE; BattleScriptPushCursorAndCallback(BattleScript_BlockedByPrimalWeatherEnd3); @@ -4937,7 +4937,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 BattleScriptPushCursorAndCallback(BattleScript_SnowWarningActivatesHail); effect++; } - else if (gBattleWeather & B_WEATHER_PRIMAL_ANY && WEATHER_HAS_EFFECT && !gSpecialStatuses[battler].switchInAbilityDone) + else if (gBattleWeather & B_WEATHER_PRIMAL_ANY && HasWeatherEffect() && !gSpecialStatuses[battler].switchInAbilityDone) { gSpecialStatuses[battler].switchInAbilityDone = TRUE; BattleScriptPushCursorAndCallback(BattleScript_BlockedByPrimalWeatherEnd3); @@ -6070,9 +6070,9 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 if (MoveResultHasEffect(gBattlerTarget) && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && IsBattlerTurnDamaged(gBattlerTarget) - && !(gBattleWeather & B_WEATHER_SANDSTORM && WEATHER_HAS_EFFECT)) + && !(gBattleWeather & B_WEATHER_SANDSTORM && HasWeatherEffect())) { - if (gBattleWeather & B_WEATHER_PRIMAL_ANY && WEATHER_HAS_EFFECT) + if (gBattleWeather & B_WEATHER_PRIMAL_ANY && HasWeatherEffect()) { BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BlockedByPrimalWeatherRet; @@ -6533,7 +6533,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 case ABILITY_FLOWER_GIFT: if ((IsBattlerWeatherAffected(battler, gBattleWeather) || gBattleWeather == B_WEATHER_NONE - || !WEATHER_HAS_EFFECT) // Air Lock active + || !HasWeatherEffect()) // Air Lock active && TryBattleFormChange(battler, FORM_CHANGE_BATTLE_WEATHER)) { gBattleScripting.battler = battler; @@ -6565,7 +6565,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } case ABILITY_PROTOSYNTHESIS: if (!gDisableStructs[battler].weatherAbilityDone - && (gBattleWeather & B_WEATHER_SUN) && WEATHER_HAS_EFFECT + && (gBattleWeather & B_WEATHER_SUN) && HasWeatherEffect() && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED) && !gDisableStructs[battler].boosterEnergyActivates) { @@ -7318,7 +7318,7 @@ static inline u32 TryBoosterEnergy(u32 battler, enum ItemEffect caseID) if (gDisableStructs[battler].boosterEnergyActivates || gBattleMons[battler].status2 & STATUS2_TRANSFORMED) return ITEM_NO_EFFECT; - if (((GetBattlerAbility(battler) == ABILITY_PROTOSYNTHESIS) && !((gBattleWeather & B_WEATHER_SUN) && WEATHER_HAS_EFFECT)) + if (((GetBattlerAbility(battler) == ABILITY_PROTOSYNTHESIS) && !((gBattleWeather & B_WEATHER_SUN) && HasWeatherEffect())) || ((GetBattlerAbility(battler) == ABILITY_QUARK_DRIVE) && !(gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN))) { PREPARE_STAT_BUFFER(gBattleTextBuff1, GetHighestStatId(battler)); @@ -9574,7 +9574,7 @@ static inline u32 CalcMoveBasePowerAfterModifiers(struct DamageCalculationData * case ABILITY_PROTOSYNTHESIS: { u8 defHighestStat = GetHighestStatId(battlerDef); - if (((weather & B_WEATHER_SUN && WEATHER_HAS_EFFECT) || gDisableStructs[battlerDef].boosterEnergyActivates) + if (((weather & B_WEATHER_SUN && HasWeatherEffect()) || gDisableStructs[battlerDef].boosterEnergyActivates) && ((IsBattleMovePhysical(move) && defHighestStat == STAT_DEF) || (IsBattleMoveSpecial(move) && defHighestStat == STAT_SPDEF)) && !(gBattleMons[battlerDef].status2 & STATUS2_TRANSFORMED)) modifier = uq4_12_multiply(modifier, UQ_4_12(0.7)); @@ -9856,7 +9856,7 @@ static inline u32 CalcAttackStat(struct DamageCalculationData *damageCalcData, u if (!(gBattleMons[battlerAtk].status2 & STATUS2_TRANSFORMED)) { u32 atkHighestStat = GetHighestStatId(battlerAtk); - if (((weather & B_WEATHER_SUN) && WEATHER_HAS_EFFECT) || gDisableStructs[battlerAtk].boosterEnergyActivates) + if (((weather & B_WEATHER_SUN) && HasWeatherEffect()) || gDisableStructs[battlerAtk].boosterEnergyActivates) { if ((IsBattleMovePhysical(move) && atkHighestStat == STAT_ATK) || (IsBattleMoveSpecial(move) && atkHighestStat == STAT_SPATK)) modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); @@ -9875,7 +9875,7 @@ static inline u32 CalcAttackStat(struct DamageCalculationData *damageCalcData, u } break; case ABILITY_ORICHALCUM_PULSE: - if ((weather & B_WEATHER_SUN) && WEATHER_HAS_EFFECT && IsBattleMovePhysical(move)) + if ((weather & B_WEATHER_SUN) && HasWeatherEffect() && IsBattleMovePhysical(move)) modifier = uq4_12_multiply(modifier, UQ_4_12(1.3333)); break; case ABILITY_HADRON_ENGINE: @@ -10570,7 +10570,7 @@ static inline s32 DoFutureSightAttackDamageCalc(struct DamageCalculationData *da static u32 GetWeather(void) { - if (gBattleWeather == B_WEATHER_NONE || !WEATHER_HAS_EFFECT) + if (gBattleWeather == B_WEATHER_NONE || !HasWeatherEffect()) return B_WEATHER_NONE; else return gBattleWeather; @@ -10643,7 +10643,7 @@ static inline void MulByTypeEffectiveness(uq4_12_t *modifier, u32 move, u32 move mod = UQ_4_12(2.0); // B_WEATHER_STRONG_WINDS weakens Super Effective moves against Flying-type PokĆ©mon - if (gBattleWeather & B_WEATHER_STRONG_WINDS && WEATHER_HAS_EFFECT) + if (gBattleWeather & B_WEATHER_STRONG_WINDS && HasWeatherEffect()) { if (defType == TYPE_FLYING && mod >= UQ_4_12(2.0)) mod = UQ_4_12(1.0); @@ -11124,13 +11124,13 @@ u16 GetBattleFormChangeTargetSpecies(u32 battler, u16 method) targetSpecies = formChanges[i].targetSpecies; } // We need to revert the weather form if the field is under Air Lock, too. - else if (!WEATHER_HAS_EFFECT && formChanges[i].param1 == B_WEATHER_NONE) + else if (!HasWeatherEffect() && formChanges[i].param1 == B_WEATHER_NONE) { targetSpecies = formChanges[i].targetSpecies; } // Otherwise, just check for a match between the weather and the form change table. // Added a check for whether the weather is in effect to prevent end-of-turn soft locks with Cloud Nine / Air Lock - else if (((gBattleWeather & formChanges[i].param1) && WEATHER_HAS_EFFECT) + else if (((gBattleWeather & formChanges[i].param1) && HasWeatherEffect()) || (gBattleWeather == B_WEATHER_NONE && formChanges[i].param1 == B_WEATHER_NONE)) { targetSpecies = formChanges[i].targetSpecies; @@ -11753,7 +11753,7 @@ bool32 PickupHasValidTarget(u32 battler) bool32 IsBattlerWeatherAffected(u32 battler, u32 weatherFlags) { - if (gBattleWeather & weatherFlags && WEATHER_HAS_EFFECT) + if (gBattleWeather & weatherFlags && HasWeatherEffect()) { // given weather is active -> check if its sun, rain against utility umbrella ( since only 1 weather can be active at once) if (gBattleWeather & (B_WEATHER_SUN | B_WEATHER_RAIN) && GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_UTILITY_UMBRELLA) @@ -12302,3 +12302,10 @@ void ClearPursuitValuesIfSet(u32 battler) if (gBattleStruct->battlerState[battler].pursuitTarget) ClearPursuitValues(); } + +bool32 HasWeatherEffect(void) +{ + if (IsAbilityOnField(ABILITY_CLOUD_NINE) || IsAbilityOnField(ABILITY_AIR_LOCK)) + return FALSE; + return TRUE; +} From b1831daa98c8f6a72529059ec5f285df93c5a04d Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Tue, 21 Jan 2025 21:15:25 +0100 Subject: [PATCH 13/27] Adds static assert for DamageCalculationData (#6063) --- include/battle_util.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/battle_util.h b/include/battle_util.h index 1eacdaa03d..dba6299dee 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -152,6 +152,7 @@ struct DamageCalculationData u32 updateFlags:1; u32 padding:2; }; +STATIC_ASSERT(sizeof(struct DamageCalculationData) <= 4, StructExceedsFourBytes); void HandleAction_ThrowBall(void); bool32 IsAffectedByFollowMe(u32 battlerAtk, u32 defSide, u32 move); From a3ce3a569d3354676648562e6477641722536f83 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Tue, 21 Jan 2025 21:19:41 +0100 Subject: [PATCH 14/27] Converts a bunch of defines to enums (#6071) --- include/battle_setup.h | 2 +- include/battle_tower.h | 4 +- include/constants/battle.h | 52 ++-- include/constants/map_types.h | 44 +-- include/constants/trade.h | 11 +- include/constants/trainers.h | 137 ++++---- include/data.h | 2 +- include/frontier_util.h | 2 +- include/overworld.h | 18 +- include/pokemon.h | 11 +- include/pokemon_animation.h | 378 ++++++++++++----------- include/trainer_hill.h | 2 +- src/battle_bg.c | 11 +- src/battle_script_commands.c | 1 - src/battle_setup.c | 5 +- src/battle_tower.c | 6 +- src/bike.c | 1 - src/data/pokemon/trainer_class_lookups.h | 2 +- src/debug.c | 8 +- src/dexnav.c | 5 +- src/event_object_movement.c | 1 - src/field_control_avatar.c | 1 - src/field_effect.c | 1 - src/field_screen_effect.c | 4 +- src/field_specials.c | 1 - src/fldeff_flash.c | 5 +- src/fldeff_rocksmash.c | 1 - src/frontier_util.c | 2 +- src/item_use.c | 3 +- src/overworld.c | 31 +- src/pokemon.c | 8 +- src/pokemon_animation.c | 11 +- src/pokemon_sprite_visualizer.c | 2 +- src/pokenav_match_call_list.c | 2 +- src/region_map.c | 1 - src/scrcmd.c | 4 +- src/secret_base.c | 1 - src/trainer_hill.c | 2 +- 38 files changed, 396 insertions(+), 387 deletions(-) diff --git a/include/battle_setup.h b/include/battle_setup.h index a2009eea41..028f30a6ce 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -29,7 +29,7 @@ void BattleSetup_StartLatiBattle(void); void BattleSetup_StartLegendaryBattle(void); void StartGroudonKyogreBattle(void); void StartRegiBattle(void); -u8 BattleSetup_GetTerrainId(void); +enum BattleTerrain BattleSetup_GetTerrainId(void); u8 GetWildBattleTransition(void); u8 GetTrainerBattleTransition(void); u8 GetSpecialBattleTransition(s32 id); diff --git a/include/battle_tower.h b/include/battle_tower.h index 45c9d683ff..be725a2f81 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -49,7 +49,7 @@ void SetEReaderTrainerGfxId(void); u16 GetBattleFacilityTrainerGfxId(u16 trainerId); void PutNewBattleTowerRecord(struct EmeraldBattleTowerRecord *newRecordEm); u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); -u8 GetFrontierOpponentClass(u16 trainerId); +enum TrainerClassID GetFrontierOpponentClass(u16 trainerId); void GetFrontierTrainerName(u8 *dst, u16 trainerId); void FillFrontierTrainerParty(u8 monsCount); void FillFrontierTrainersParties(u8 monsCount); @@ -60,7 +60,7 @@ void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *record); void CalcRubyBattleTowerChecksum(struct RSBattleTowerRecord *record); u16 GetCurrentBattleTowerWinStreak(u8 lvlMode, u8 battleMode); u8 GetEreaderTrainerFrontSpriteId(void); -u8 GetEreaderTrainerClassId(void); +enum TrainerClassID GetEreaderTrainerClassId(void); void GetEreaderTrainerName(u8 *dst); void ValidateEReaderTrainer(void); void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer); diff --git a/include/constants/battle.h b/include/constants/battle.h index 561d4f81e5..a05d9e8e96 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -425,31 +425,33 @@ enum BattleWeather #define MOVE_EFFECT_CONTINUE 0x8000 // Battle terrain defines for gBattleTerrain. -#define BATTLE_TERRAIN_GRASS 0 -#define BATTLE_TERRAIN_LONG_GRASS 1 -#define BATTLE_TERRAIN_SAND 2 -#define BATTLE_TERRAIN_UNDERWATER 3 -#define BATTLE_TERRAIN_WATER 4 -#define BATTLE_TERRAIN_POND 5 -#define BATTLE_TERRAIN_MOUNTAIN 6 -#define BATTLE_TERRAIN_CAVE 7 -#define BATTLE_TERRAIN_BUILDING 8 -#define BATTLE_TERRAIN_PLAIN 9 -// New battle terrains are used for Secret Power but not fully implemented. -#define BATTLE_TERRAIN_SOARING 10 -#define BATTLE_TERRAIN_SKY_PILLAR 11 -#define BATTLE_TERRAIN_BURIAL_GROUND 12 -#define BATTLE_TERRAIN_PUDDLE 13 -#define BATTLE_TERRAIN_MARSH 14 -#define BATTLE_TERRAIN_SWAMP 15 -#define BATTLE_TERRAIN_SNOW 16 -#define BATTLE_TERRAIN_ICE 17 -#define BATTLE_TERRAIN_VOLCANO 18 -#define BATTLE_TERRAIN_DISTORTION_WORLD 19 -#define BATTLE_TERRAIN_SPACE 20 -#define BATTLE_TERRAIN_ULTRA_SPACE 21 - -#define BATTLE_TERRAIN_COUNT 22 +enum BattleTerrain +{ + BATTLE_TERRAIN_GRASS, + BATTLE_TERRAIN_LONG_GRASS, + BATTLE_TERRAIN_SAND, + BATTLE_TERRAIN_UNDERWATER, + BATTLE_TERRAIN_WATER, + BATTLE_TERRAIN_POND, + BATTLE_TERRAIN_MOUNTAIN, + BATTLE_TERRAIN_CAVE, + BATTLE_TERRAIN_BUILDING, + BATTLE_TERRAIN_PLAIN, + // New battle terrains are used for Secret Power but not fully implemented. + BATTLE_TERRAIN_SOARING, + BATTLE_TERRAIN_SKY_PILLAR, + BATTLE_TERRAIN_BURIAL_GROUND, + BATTLE_TERRAIN_PUDDLE, + BATTLE_TERRAIN_MARSH, + BATTLE_TERRAIN_SWAMP, + BATTLE_TERRAIN_SNOW, + BATTLE_TERRAIN_ICE, + BATTLE_TERRAIN_VOLCANO, + BATTLE_TERRAIN_DISTORTION_WORLD, + BATTLE_TERRAIN_SPACE, + BATTLE_TERRAIN_ULTRA_SPACE, + BATTLE_TERRAIN_COUNT, +}; #define B_WAIT_TIME_LONG (B_WAIT_TIME_MULTIPLIER * 4) #define B_WAIT_TIME_MED (B_WAIT_TIME_MULTIPLIER * 3) diff --git a/include/constants/map_types.h b/include/constants/map_types.h index 03a3f0a9a0..86571434e4 100755 --- a/include/constants/map_types.h +++ b/include/constants/map_types.h @@ -1,25 +1,31 @@ #ifndef GUARD_CONSTANTS_MAP_TYPES_H #define GUARD_CONSTANTS_MAP_TYPES_H -#define MAP_TYPE_NONE 0 -#define MAP_TYPE_TOWN 1 -#define MAP_TYPE_CITY 2 -#define MAP_TYPE_ROUTE 3 -#define MAP_TYPE_UNDERGROUND 4 -#define MAP_TYPE_UNDERWATER 5 -#define MAP_TYPE_OCEAN_ROUTE 6 -#define MAP_TYPE_UNKNOWN 7 // Not used by any map. -#define MAP_TYPE_INDOOR 8 -#define MAP_TYPE_SECRET_BASE 9 +enum MapType +{ + MAP_TYPE_NONE, + MAP_TYPE_TOWN, + MAP_TYPE_CITY, + MAP_TYPE_ROUTE, + MAP_TYPE_UNDERGROUND, + MAP_TYPE_UNDERWATER, + MAP_TYPE_OCEAN_ROUTE, + MAP_TYPE_UNKNOWN, // Not used by any map. + MAP_TYPE_INDOOR, + MAP_TYPE_SECRET_BASE, +}; -#define MAP_BATTLE_SCENE_NORMAL 0 -#define MAP_BATTLE_SCENE_GYM 1 -#define MAP_BATTLE_SCENE_MAGMA 2 -#define MAP_BATTLE_SCENE_AQUA 3 -#define MAP_BATTLE_SCENE_SIDNEY 4 -#define MAP_BATTLE_SCENE_PHOEBE 5 -#define MAP_BATTLE_SCENE_GLACIA 6 -#define MAP_BATTLE_SCENE_DRAKE 7 -#define MAP_BATTLE_SCENE_FRONTIER 8 +enum MapBattleScene +{ + MAP_BATTLE_SCENE_NORMAL, + MAP_BATTLE_SCENE_GYM, + MAP_BATTLE_SCENE_MAGMA, + MAP_BATTLE_SCENE_AQUA, + MAP_BATTLE_SCENE_SIDNEY, + MAP_BATTLE_SCENE_PHOEBE, + MAP_BATTLE_SCENE_GLACIA, + MAP_BATTLE_SCENE_DRAKE, + MAP_BATTLE_SCENE_FRONTIER, +}; #endif // GUARD_CONSTANTS_MAP_TYPES_H diff --git a/include/constants/trade.h b/include/constants/trade.h index e387d13cd8..4049a0f19a 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -5,10 +5,13 @@ #define TRADE_PARTNER 1 // In-game Trade IDs -#define INGAME_TRADE_SEEDOT 0 -#define INGAME_TRADE_PLUSLE 1 -#define INGAME_TRADE_HORSEA 2 -#define INGAME_TRADE_MEOWTH 3 +enum InGameTradeID +{ + INGAME_TRADE_SEEDOT, + INGAME_TRADE_PLUSLE, + INGAME_TRADE_HORSEA, + INGAME_TRADE_MEOWTH, +}; // Return values for CanTradeSelectedMon and CanSpinTradeMon #define CAN_TRADE_MON 0 diff --git a/include/constants/trainers.h b/include/constants/trainers.h index ebfc18eef0..4f22008410 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -285,73 +285,76 @@ #define RS_FACILITY_CLASSES_COUNT 0x4D -#define TRAINER_CLASS_PKMN_TRAINER_1 0x0 // Unused -#define TRAINER_CLASS_PKMN_TRAINER_2 0x1 // Unused -#define TRAINER_CLASS_HIKER 0x2 -#define TRAINER_CLASS_TEAM_AQUA 0x3 -#define TRAINER_CLASS_PKMN_BREEDER 0x4 -#define TRAINER_CLASS_COOLTRAINER 0x5 -#define TRAINER_CLASS_BIRD_KEEPER 0x6 -#define TRAINER_CLASS_COLLECTOR 0x7 -#define TRAINER_CLASS_SWIMMER_M 0x8 -#define TRAINER_CLASS_TEAM_MAGMA 0x9 -#define TRAINER_CLASS_EXPERT 0xa -#define TRAINER_CLASS_AQUA_ADMIN 0xb -#define TRAINER_CLASS_BLACK_BELT 0xc -#define TRAINER_CLASS_AQUA_LEADER 0xd -#define TRAINER_CLASS_HEX_MANIAC 0xe -#define TRAINER_CLASS_AROMA_LADY 0xf -#define TRAINER_CLASS_RUIN_MANIAC 0x10 -#define TRAINER_CLASS_INTERVIEWER 0x11 -#define TRAINER_CLASS_TUBER_F 0x12 -#define TRAINER_CLASS_TUBER_M 0x13 -#define TRAINER_CLASS_LADY 0x14 -#define TRAINER_CLASS_BEAUTY 0x15 -#define TRAINER_CLASS_RICH_BOY 0x16 -#define TRAINER_CLASS_POKEMANIAC 0x17 -#define TRAINER_CLASS_GUITARIST 0x18 -#define TRAINER_CLASS_KINDLER 0x19 -#define TRAINER_CLASS_CAMPER 0x1a -#define TRAINER_CLASS_PICNICKER 0x1b -#define TRAINER_CLASS_BUG_MANIAC 0x1c -#define TRAINER_CLASS_PSYCHIC 0x1d -#define TRAINER_CLASS_GENTLEMAN 0x1e -#define TRAINER_CLASS_ELITE_FOUR 0x1f -#define TRAINER_CLASS_LEADER 0x20 -#define TRAINER_CLASS_SCHOOL_KID 0x21 -#define TRAINER_CLASS_SR_AND_JR 0x22 -#define TRAINER_CLASS_WINSTRATE 0x23 -#define TRAINER_CLASS_POKEFAN 0x24 -#define TRAINER_CLASS_YOUNGSTER 0x25 -#define TRAINER_CLASS_CHAMPION 0x26 -#define TRAINER_CLASS_FISHERMAN 0x27 -#define TRAINER_CLASS_TRIATHLETE 0x28 -#define TRAINER_CLASS_DRAGON_TAMER 0x29 -#define TRAINER_CLASS_NINJA_BOY 0x2a -#define TRAINER_CLASS_BATTLE_GIRL 0x2b -#define TRAINER_CLASS_PARASOL_LADY 0x2c -#define TRAINER_CLASS_SWIMMER_F 0x2d -#define TRAINER_CLASS_TWINS 0x2e -#define TRAINER_CLASS_SAILOR 0x2f -#define TRAINER_CLASS_COOLTRAINER_2 0x30 // Used for only one trainer. -#define TRAINER_CLASS_MAGMA_ADMIN 0x31 -#define TRAINER_CLASS_RIVAL 0x32 -#define TRAINER_CLASS_BUG_CATCHER 0x33 -#define TRAINER_CLASS_PKMN_RANGER 0x34 -#define TRAINER_CLASS_MAGMA_LEADER 0x35 -#define TRAINER_CLASS_LASS 0x36 -#define TRAINER_CLASS_YOUNG_COUPLE 0x37 -#define TRAINER_CLASS_OLD_COUPLE 0x38 -#define TRAINER_CLASS_SIS_AND_BRO 0x39 -#define TRAINER_CLASS_SALON_MAIDEN 0x3a -#define TRAINER_CLASS_DOME_ACE 0x3b -#define TRAINER_CLASS_PALACE_MAVEN 0x3c -#define TRAINER_CLASS_ARENA_TYCOON 0x3d -#define TRAINER_CLASS_FACTORY_HEAD 0x3e -#define TRAINER_CLASS_PIKE_QUEEN 0x3f -#define TRAINER_CLASS_PYRAMID_KING 0x40 -#define TRAINER_CLASS_RS_PROTAG 0x41 -#define TRAINER_CLASS_COUNT 0x42 +enum TrainerClassID +{ + TRAINER_CLASS_PKMN_TRAINER_1, // Unused + TRAINER_CLASS_PKMN_TRAINER_2, // Unused + TRAINER_CLASS_HIKER, + TRAINER_CLASS_TEAM_AQUA, + TRAINER_CLASS_PKMN_BREEDER, + TRAINER_CLASS_COOLTRAINER, + TRAINER_CLASS_BIRD_KEEPER, + TRAINER_CLASS_COLLECTOR, + TRAINER_CLASS_SWIMMER_M, + TRAINER_CLASS_TEAM_MAGMA, + TRAINER_CLASS_EXPERT, + TRAINER_CLASS_AQUA_ADMIN, + TRAINER_CLASS_BLACK_BELT, + TRAINER_CLASS_AQUA_LEADER, + TRAINER_CLASS_HEX_MANIAC, + TRAINER_CLASS_AROMA_LADY, + TRAINER_CLASS_RUIN_MANIAC, + TRAINER_CLASS_INTERVIEWER, + TRAINER_CLASS_TUBER_F, + TRAINER_CLASS_TUBER_M, + TRAINER_CLASS_LADY, + TRAINER_CLASS_BEAUTY, + TRAINER_CLASS_RICH_BOY, + TRAINER_CLASS_POKEMANIAC, + TRAINER_CLASS_GUITARIST, + TRAINER_CLASS_KINDLER, + TRAINER_CLASS_CAMPER, + TRAINER_CLASS_PICNICKER, + TRAINER_CLASS_BUG_MANIAC, + TRAINER_CLASS_PSYCHIC, + TRAINER_CLASS_GENTLEMAN, + TRAINER_CLASS_ELITE_FOUR, + TRAINER_CLASS_LEADER, + TRAINER_CLASS_SCHOOL_KID, + TRAINER_CLASS_SR_AND_JR, + TRAINER_CLASS_WINSTRATE, + TRAINER_CLASS_POKEFAN, + TRAINER_CLASS_YOUNGSTER, + TRAINER_CLASS_CHAMPION, + TRAINER_CLASS_FISHERMAN, + TRAINER_CLASS_TRIATHLETE, + TRAINER_CLASS_DRAGON_TAMER, + TRAINER_CLASS_NINJA_BOY, + TRAINER_CLASS_BATTLE_GIRL, + TRAINER_CLASS_PARASOL_LADY, + TRAINER_CLASS_SWIMMER_F, + TRAINER_CLASS_TWINS, + TRAINER_CLASS_SAILOR, + TRAINER_CLASS_COOLTRAINER_2, // Used for only one trainer. + TRAINER_CLASS_MAGMA_ADMIN, + TRAINER_CLASS_RIVAL, + TRAINER_CLASS_BUG_CATCHER, + TRAINER_CLASS_PKMN_RANGER, + TRAINER_CLASS_MAGMA_LEADER, + TRAINER_CLASS_LASS, + TRAINER_CLASS_YOUNG_COUPLE, + TRAINER_CLASS_OLD_COUPLE, + TRAINER_CLASS_SIS_AND_BRO, + TRAINER_CLASS_SALON_MAIDEN, + TRAINER_CLASS_DOME_ACE, + TRAINER_CLASS_PALACE_MAVEN, + TRAINER_CLASS_ARENA_TYCOON, + TRAINER_CLASS_FACTORY_HEAD, + TRAINER_CLASS_PIKE_QUEEN, + TRAINER_CLASS_PYRAMID_KING, + TRAINER_CLASS_RS_PROTAG, + TRAINER_CLASS_COUNT, +}; #define TRAINER_ENCOUNTER_MUSIC_MALE 0 // standard male encounter music #define TRAINER_ENCOUNTER_MUSIC_FEMALE 1 // standard female encounter music diff --git a/include/data.h b/include/data.h index 1d2a1291f9..6cf7f46ded 100644 --- a/include/data.h +++ b/include/data.h @@ -200,7 +200,7 @@ static inline const struct Trainer *GetTrainerStructFromId(u16 trainerId) return &gTrainers[difficulty][sanitizedTrainerId]; } -static inline const u8 GetTrainerClassFromId(u16 trainerId) +static inline const enum TrainerClassID GetTrainerClassFromId(u16 trainerId) { u32 sanitizedTrainerId = SanitizeTrainerId(trainerId); enum DifficultyLevel difficulty = GetTrainerDifficultyLevel(sanitizedTrainerId); diff --git a/include/frontier_util.h b/include/frontier_util.h index 0d617782a3..5494aa5f0b 100644 --- a/include/frontier_util.h +++ b/include/frontier_util.h @@ -13,7 +13,7 @@ void ScrollRankingHallRecordsWindow(void); void ClearRankingHallRecords(void); void SaveGameFrontier(void); u8 GetFrontierBrainTrainerPicIndex(void); -u8 GetFrontierBrainTrainerClass(void); +enum TrainerClassID GetFrontierBrainTrainerClass(void); void CopyFrontierBrainTrainerName(u8 *dst); bool8 IsFrontierBrainFemale(void); void SetFrontierBrainObjEventGfx_2(void); diff --git a/include/overworld.h b/include/overworld.h index ea23c15b30..2a4cdc326c 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -1,6 +1,8 @@ #ifndef GUARD_OVERWORLD_H #define GUARD_OVERWORLD_H +#include "constants/map_types.h" + #define LINK_KEY_CODE_NULL 0x00 #define LINK_KEY_CODE_EMPTY 0x11 #define LINK_KEY_CODE_DPAD_DOWN 0x12 @@ -116,16 +118,16 @@ void TryFadeOutOldMapMusic(void); bool8 BGMusicStopped(void); void Overworld_FadeOutMapMusic(void); void UpdateAmbientCry(s16 *state, u16 *delayCounter); -u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); -u8 GetMapTypeByWarpData(struct WarpData *warp); -u8 GetCurrentMapType(void); -u8 GetLastUsedWarpMapType(void); -bool8 IsMapTypeOutdoors(u8 mapType); -bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType); -bool8 IsMapTypeIndoors(u8 mapType); +enum MapType GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); +enum MapType GetMapTypeByWarpData(struct WarpData *warp); +enum MapType GetCurrentMapType(void); +enum MapType GetLastUsedWarpMapType(void); +bool8 IsMapTypeOutdoors(enum MapType mapType); +bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType); +bool8 IsMapTypeIndoors(enum MapType mapType); u8 GetSavedWarpRegionMapSectionId(void); u8 GetCurrentRegionMapSectionId(void); -u8 GetCurrentMapBattleScene(void); +enum MapBattleScene GetCurrentMapBattleScene(void); void CleanupOverworldWindowsAndTilemaps(void); bool32 IsOverworldLinkActive(void); void CB1_Overworld(void); diff --git a/include/pokemon.h b/include/pokemon.h index bc92b73c75..2d19ba6ad2 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -1,11 +1,12 @@ #ifndef GUARD_POKEMON_H #define GUARD_POKEMON_H +#include "contest_effect.h" #include "sprite.h" #include "constants/items.h" -#include "constants/region_map_sections.h" #include "constants/map_groups.h" -#include "contest_effect.h" +#include "constants/region_map_sections.h" +#include "constants/trainers.h" #define GET_BASE_SPECIES_ID(speciesId) (GetFormSpeciesId(speciesId, 0)) #define FORM_SPECIES_END (0xffff) @@ -609,7 +610,7 @@ extern struct SpriteTemplate gMultiuseSpriteTemplate; extern u16 gFollowerSteps; extern const u8 gFacilityClassToPicIndex[]; -extern const u8 gFacilityClassToTrainerClass[]; +extern const enum TrainerClassID gFacilityClassToTrainerClass[]; extern const struct SpeciesInfo gSpeciesInfo[]; extern const u32 gExperienceTables[][MAX_LEVEL + 1]; extern const u8 gPPUpGetMask[]; @@ -641,7 +642,7 @@ void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, void ConvertPokemonToBattleTowerPokemon(struct Pokemon *mon, struct BattleTowerPokemon *dest); bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId); u16 GetUnionRoomTrainerPic(void); -u16 GetUnionRoomTrainerClass(void); +enum TrainerClassID GetUnionRoomTrainerClass(void); void CreateEnemyEventMon(void); void CalculateMonStats(struct Pokemon *mon); void BoxMonToMon(const struct BoxPokemon *src, struct Pokemon *dest); @@ -694,7 +695,7 @@ u16 GetAbilityBySpecies(u16 species, u8 abilityNum); u16 GetMonAbility(struct Pokemon *mon); void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord); u8 GetSecretBaseTrainerPicIndex(void); -u8 GetSecretBaseTrainerClass(void); +enum TrainerClassID GetSecretBaseTrainerClass(void); bool8 IsPlayerPartyAndPokemonStorageFull(void); bool8 IsPokemonStorageFull(void); const u8 *GetSpeciesName(u16 species); diff --git a/include/pokemon_animation.h b/include/pokemon_animation.h index 748eb4b36d..8d25d3025c 100644 --- a/include/pokemon_animation.h +++ b/include/pokemon_animation.h @@ -1,195 +1,201 @@ #ifndef GUARD_POKEMON_ANIMATION_H #define GUARD_POKEMON_ANIMATION_H -u8 GetSpeciesBackAnimSet(u16 species); -void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, u8 frontAnimId); -void StartMonSummaryAnimation(struct Sprite *sprite, u8 frontAnimId); -void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet); -void SetSpriteCB_MonAnimDummy(struct Sprite *sprite); - // PokĆ©mon back animation sets -#define BACK_ANIM_NONE 0 -#define BACK_ANIM_H_VIBRATE 1 -#define BACK_ANIM_H_SLIDE 2 -#define BACK_ANIM_H_SPRING 3 -#define BACK_ANIM_H_SPRING_REPEATED 4 -#define BACK_ANIM_SHRINK_GROW 5 -#define BACK_ANIM_GROW 6 -#define BACK_ANIM_CIRCLE_COUNTERCLOCKWISE 7 -#define BACK_ANIM_H_SHAKE 8 -#define BACK_ANIM_V_SHAKE 9 -#define BACK_ANIM_V_SHAKE_H_SLIDE 10 -#define BACK_ANIM_V_STRETCH 11 -#define BACK_ANIM_H_STRETCH 12 -#define BACK_ANIM_GROW_STUTTER 13 -#define BACK_ANIM_V_SHAKE_LOW 14 -#define BACK_ANIM_TRIANGLE_DOWN 15 -#define BACK_ANIM_CONCAVE_ARC_LARGE 16 -#define BACK_ANIM_CONVEX_DOUBLE_ARC 17 -#define BACK_ANIM_CONCAVE_ARC_SMALL 18 -#define BACK_ANIM_DIP_RIGHT_SIDE 19 -#define BACK_ANIM_SHRINK_GROW_VIBRATE 20 -#define BACK_ANIM_JOLT_RIGHT 21 -#define BACK_ANIM_SHAKE_FLASH_YELLOW 22 -#define BACK_ANIM_SHAKE_GLOW_RED 23 -#define BACK_ANIM_SHAKE_GLOW_GREEN 24 -#define BACK_ANIM_SHAKE_GLOW_BLUE 25 +enum BackAnim +{ + BACK_ANIM_NONE, + BACK_ANIM_H_VIBRATE, + BACK_ANIM_H_SLIDE, + BACK_ANIM_H_SPRING, + BACK_ANIM_H_SPRING_REPEATED, + BACK_ANIM_SHRINK_GROW, + BACK_ANIM_GROW, + BACK_ANIM_CIRCLE_COUNTERCLOCKWISE, + BACK_ANIM_H_SHAKE, + BACK_ANIM_V_SHAKE, + BACK_ANIM_V_SHAKE_H_SLIDE, + BACK_ANIM_V_STRETCH, + BACK_ANIM_H_STRETCH, + BACK_ANIM_GROW_STUTTER, + BACK_ANIM_V_SHAKE_LOW, + BACK_ANIM_TRIANGLE_DOWN, + BACK_ANIM_CONCAVE_ARC_LARGE, + BACK_ANIM_CONVEX_DOUBLE_ARC, + BACK_ANIM_CONCAVE_ARC_SMALL, + BACK_ANIM_DIP_RIGHT_SIDE, + BACK_ANIM_SHRINK_GROW_VIBRATE, + BACK_ANIM_JOLT_RIGHT, + BACK_ANIM_SHAKE_FLASH_YELLOW, + BACK_ANIM_SHAKE_GLOW_RED, + BACK_ANIM_SHAKE_GLOW_GREEN, + BACK_ANIM_SHAKE_GLOW_BLUE, +}; // PokĆ©mon animation function ids (for front and back) // Each front anim uses 1, and each back anim uses a set of 3 -#define ANIM_V_SQUISH_AND_BOUNCE 0 -#define ANIM_CIRCULAR_STRETCH_TWICE 1 -#define ANIM_H_VIBRATE 2 -#define ANIM_H_SLIDE 3 -#define ANIM_V_SLIDE 4 -#define ANIM_BOUNCE_ROTATE_TO_SIDES 5 -#define ANIM_V_JUMPS_H_JUMPS 6 -#define ANIM_ROTATE_TO_SIDES 7 -#define ANIM_ROTATE_TO_SIDES_TWICE 8 -#define ANIM_GROW_VIBRATE 9 -#define ANIM_ZIGZAG_FAST 10 -#define ANIM_SWING_CONCAVE 11 -#define ANIM_SWING_CONCAVE_FAST 12 -#define ANIM_SWING_CONVEX 13 -#define ANIM_SWING_CONVEX_FAST 14 -#define ANIM_H_SHAKE 15 -#define ANIM_V_SHAKE 16 -#define ANIM_CIRCULAR_VIBRATE 17 -#define ANIM_TWIST 18 -#define ANIM_SHRINK_GROW 19 -#define ANIM_CIRCLE_C_CLOCKWISE 20 -#define ANIM_GLOW_BLACK 21 -#define ANIM_H_STRETCH 22 -#define ANIM_V_STRETCH 23 -#define ANIM_RISING_WOBBLE 24 -#define ANIM_V_SHAKE_TWICE 25 -#define ANIM_TIP_MOVE_FORWARD 26 -#define ANIM_H_PIVOT 27 -#define ANIM_V_SLIDE_WOBBLE 28 -#define ANIM_H_SLIDE_WOBBLE 29 -#define ANIM_V_JUMPS_BIG 30 -#define ANIM_SPIN_LONG 31 -#define ANIM_GLOW_ORANGE 32 -#define ANIM_GLOW_RED 33 -#define ANIM_GLOW_BLUE 34 -#define ANIM_GLOW_YELLOW 35 -#define ANIM_GLOW_PURPLE 36 -#define ANIM_BACK_AND_LUNGE 37 -#define ANIM_BACK_FLIP 38 -#define ANIM_FLICKER 39 -#define ANIM_BACK_FLIP_BIG 40 -#define ANIM_FRONT_FLIP 41 -#define ANIM_TUMBLING_FRONT_FLIP 42 -#define ANIM_FIGURE_8 43 -#define ANIM_FLASH_YELLOW 44 -#define ANIM_SWING_CONCAVE_FAST_SHORT 45 -#define ANIM_SWING_CONVEX_FAST_SHORT 46 -#define ANIM_ROTATE_UP_SLAM_DOWN 47 -#define ANIM_DEEP_V_SQUISH_AND_BOUNCE 48 -#define ANIM_H_JUMPS 49 -#define ANIM_H_JUMPS_V_STRETCH 50 -#define ANIM_ROTATE_TO_SIDES_FAST 51 -#define ANIM_ROTATE_UP_TO_SIDES 52 -#define ANIM_FLICKER_INCREASING 53 -#define ANIM_TIP_HOP_FORWARD 54 -#define ANIM_PIVOT_SHAKE 55 -#define ANIM_TIP_AND_SHAKE 56 -#define ANIM_VIBRATE_TO_CORNERS 57 -#define ANIM_GROW_IN_STAGES 58 -#define ANIM_V_SPRING 59 -#define ANIM_V_REPEATED_SPRING 60 -#define ANIM_SPRING_RISING 61 -#define ANIM_H_SPRING 62 -#define ANIM_H_REPEATED_SPRING_SLOW 63 -#define ANIM_H_SLIDE_SHRINK 64 -#define ANIM_LUNGE_GROW 65 -#define ANIM_CIRCLE_INTO_BG 66 -#define ANIM_RAPID_H_HOPS 67 -#define ANIM_FOUR_PETAL 68 -#define ANIM_V_SQUISH_AND_BOUNCE_SLOW 69 -#define ANIM_H_SLIDE_SLOW 70 -#define ANIM_V_SLIDE_SLOW 71 -#define ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL 72 -#define ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW 73 -#define ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW 74 -#define ANIM_ZIGZAG_SLOW 75 -#define ANIM_H_SHAKE_SLOW 76 -#define ANIM_V_SHAKE_SLOW 77 -#define ANIM_TWIST_TWICE 78 -#define ANIM_CIRCLE_C_CLOCKWISE_SLOW 79 -#define ANIM_V_SHAKE_TWICE_SLOW 80 -#define ANIM_V_SLIDE_WOBBLE_SMALL 81 -#define ANIM_V_JUMPS_SMALL 82 -#define ANIM_SPIN 83 -#define ANIM_TUMBLING_FRONT_FLIP_TWICE 84 -#define ANIM_DEEP_V_SQUISH_AND_BOUNCE_TWICE 85 -#define ANIM_H_JUMPS_V_STRETCH_TWICE 86 -#define ANIM_V_SHAKE_BACK 87 -#define ANIM_V_SHAKE_BACK_SLOW 88 -#define ANIM_V_SHAKE_H_SLIDE_SLOW 89 -#define ANIM_V_STRETCH_BOTH_ENDS_SLOW 90 -#define ANIM_H_STRETCH_FAR_SLOW 91 -#define ANIM_V_SHAKE_LOW_TWICE 92 -#define ANIM_H_SHAKE_FAST 93 -#define ANIM_H_SLIDE_FAST 94 -#define ANIM_H_VIBRATE_FAST 95 -#define ANIM_H_VIBRATE_FASTEST 96 -#define ANIM_V_SHAKE_BACK_FAST 97 -#define ANIM_V_SHAKE_LOW_TWICE_SLOW 98 -#define ANIM_V_SHAKE_LOW_TWICE_FAST 99 -#define ANIM_CIRCLE_C_CLOCKWISE_LONG 100 -#define ANIM_GROW_STUTTER_SLOW 101 -#define ANIM_V_SHAKE_H_SLIDE 102 -#define ANIM_V_SHAKE_H_SLIDE_FAST 103 -#define ANIM_TRIANGLE_DOWN_SLOW 104 -#define ANIM_TRIANGLE_DOWN 105 -#define ANIM_TRIANGLE_DOWN_TWICE 106 -#define ANIM_GROW 107 -#define ANIM_GROW_TWICE 108 -#define ANIM_H_SPRING_FAST 109 -#define ANIM_H_SPRING_SLOW 110 -#define ANIM_H_REPEATED_SPRING_FAST 111 -#define ANIM_H_REPEATED_SPRING 112 -#define ANIM_SHRINK_GROW_FAST 113 -#define ANIM_SHRINK_GROW_SLOW 114 -#define ANIM_V_STRETCH_BOTH_ENDS 115 -#define ANIM_V_STRETCH_BOTH_ENDS_TWICE 116 -#define ANIM_H_STRETCH_FAR_TWICE 117 -#define ANIM_H_STRETCH_FAR 118 -#define ANIM_GROW_STUTTER_TWICE 119 -#define ANIM_GROW_STUTTER 120 -#define ANIM_CONCAVE_ARC_LARGE_SLOW 121 -#define ANIM_CONCAVE_ARC_LARGE 122 -#define ANIM_CONCAVE_ARC_LARGE_TWICE 123 -#define ANIM_CONVEX_DOUBLE_ARC_SLOW 124 -#define ANIM_CONVEX_DOUBLE_ARC 125 -#define ANIM_CONVEX_DOUBLE_ARC_TWICE 126 -#define ANIM_CONCAVE_ARC_SMALL_SLOW 127 -#define ANIM_CONCAVE_ARC_SMALL 128 -#define ANIM_CONCAVE_ARC_SMALL_TWICE 129 -#define ANIM_H_DIP 130 -#define ANIM_H_DIP_FAST 131 -#define ANIM_H_DIP_TWICE 132 -#define ANIM_SHRINK_GROW_VIBRATE_FAST 133 -#define ANIM_SHRINK_GROW_VIBRATE 134 -#define ANIM_SHRINK_GROW_VIBRATE_SLOW 135 -#define ANIM_JOLT_RIGHT_FAST 136 -#define ANIM_JOLT_RIGHT 137 -#define ANIM_JOLT_RIGHT_SLOW 138 -#define ANIM_SHAKE_FLASH_YELLOW_FAST 139 -#define ANIM_SHAKE_FLASH_YELLOW 140 -#define ANIM_SHAKE_FLASH_YELLOW_SLOW 141 -#define ANIM_SHAKE_GLOW_RED_FAST 142 -#define ANIM_SHAKE_GLOW_RED 143 -#define ANIM_SHAKE_GLOW_RED_SLOW 144 -#define ANIM_SHAKE_GLOW_GREEN_FAST 145 -#define ANIM_SHAKE_GLOW_GREEN 146 -#define ANIM_SHAKE_GLOW_GREEN_SLOW 147 -#define ANIM_SHAKE_GLOW_BLUE_FAST 148 -#define ANIM_SHAKE_GLOW_BLUE 149 -#define ANIM_SHAKE_GLOW_BLUE_SLOW 150 -#define ANIM_SHAKE_GLOW_BLACK_SLOW 151 -#define ANIM_SHAKE_GLOW_WHITE_SLOW 152 -#define ANIM_SHAKE_GLOW_PURPLE_SLOW 153 +enum AnimFunctionIDs +{ + ANIM_V_SQUISH_AND_BOUNCE, + ANIM_CIRCULAR_STRETCH_TWICE, + ANIM_H_VIBRATE, + ANIM_H_SLIDE, + ANIM_V_SLIDE, + ANIM_BOUNCE_ROTATE_TO_SIDES, + ANIM_V_JUMPS_H_JUMPS, + ANIM_ROTATE_TO_SIDES, + ANIM_ROTATE_TO_SIDES_TWICE, + ANIM_GROW_VIBRATE, + ANIM_ZIGZAG_FAST, + ANIM_SWING_CONCAVE, + ANIM_SWING_CONCAVE_FAST, + ANIM_SWING_CONVEX, + ANIM_SWING_CONVEX_FAST, + ANIM_H_SHAKE, + ANIM_V_SHAKE, + ANIM_CIRCULAR_VIBRATE, + ANIM_TWIST, + ANIM_SHRINK_GROW, + ANIM_CIRCLE_C_CLOCKWISE, + ANIM_GLOW_BLACK, + ANIM_H_STRETCH, + ANIM_V_STRETCH, + ANIM_RISING_WOBBLE, + ANIM_V_SHAKE_TWICE, + ANIM_TIP_MOVE_FORWARD, + ANIM_H_PIVOT, + ANIM_V_SLIDE_WOBBLE, + ANIM_H_SLIDE_WOBBLE, + ANIM_V_JUMPS_BIG, + ANIM_SPIN_LONG, + ANIM_GLOW_ORANGE, + ANIM_GLOW_RED, + ANIM_GLOW_BLUE, + ANIM_GLOW_YELLOW, + ANIM_GLOW_PURPLE, + ANIM_BACK_AND_LUNGE, + ANIM_BACK_FLIP, + ANIM_FLICKER, + ANIM_BACK_FLIP_BIG, + ANIM_FRONT_FLIP, + ANIM_TUMBLING_FRONT_FLIP, + ANIM_FIGURE_8, + ANIM_FLASH_YELLOW, + ANIM_SWING_CONCAVE_FAST_SHORT, + ANIM_SWING_CONVEX_FAST_SHORT, + ANIM_ROTATE_UP_SLAM_DOWN, + ANIM_DEEP_V_SQUISH_AND_BOUNCE, + ANIM_H_JUMPS, + ANIM_H_JUMPS_V_STRETCH, + ANIM_ROTATE_TO_SIDES_FAST, + ANIM_ROTATE_UP_TO_SIDES, + ANIM_FLICKER_INCREASING, + ANIM_TIP_HOP_FORWARD, + ANIM_PIVOT_SHAKE, + ANIM_TIP_AND_SHAKE, + ANIM_VIBRATE_TO_CORNERS, + ANIM_GROW_IN_STAGES, + ANIM_V_SPRING, + ANIM_V_REPEATED_SPRING, + ANIM_SPRING_RISING, + ANIM_H_SPRING, + ANIM_H_REPEATED_SPRING_SLOW, + ANIM_H_SLIDE_SHRINK, + ANIM_LUNGE_GROW, + ANIM_CIRCLE_INTO_BG, + ANIM_RAPID_H_HOPS, + ANIM_FOUR_PETAL, + ANIM_V_SQUISH_AND_BOUNCE_SLOW, + ANIM_H_SLIDE_SLOW, + ANIM_V_SLIDE_SLOW, + ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, + ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, + ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, + ANIM_ZIGZAG_SLOW, + ANIM_H_SHAKE_SLOW, + ANIM_V_SHAKE_SLOW, + ANIM_TWIST_TWICE, + ANIM_CIRCLE_C_CLOCKWISE_SLOW, + ANIM_V_SHAKE_TWICE_SLOW, + ANIM_V_SLIDE_WOBBLE_SMALL, + ANIM_V_JUMPS_SMALL, + ANIM_SPIN, + ANIM_TUMBLING_FRONT_FLIP_TWICE, + ANIM_DEEP_V_SQUISH_AND_BOUNCE_TWICE, + ANIM_H_JUMPS_V_STRETCH_TWICE, + ANIM_V_SHAKE_BACK, + ANIM_V_SHAKE_BACK_SLOW, + ANIM_V_SHAKE_H_SLIDE_SLOW, + ANIM_V_STRETCH_BOTH_ENDS_SLOW, + ANIM_H_STRETCH_FAR_SLOW, + ANIM_V_SHAKE_LOW_TWICE, + ANIM_H_SHAKE_FAST, + ANIM_H_SLIDE_FAST, + ANIM_H_VIBRATE_FAST, + ANIM_H_VIBRATE_FASTEST, + ANIM_V_SHAKE_BACK_FAST, + ANIM_V_SHAKE_LOW_TWICE_SLOW, + ANIM_V_SHAKE_LOW_TWICE_FAST, + ANIM_CIRCLE_C_CLOCKWISE_LONG, + ANIM_GROW_STUTTER_SLOW, + ANIM_V_SHAKE_H_SLIDE, + ANIM_V_SHAKE_H_SLIDE_FAST, + ANIM_TRIANGLE_DOWN_SLOW, + ANIM_TRIANGLE_DOWN, + ANIM_TRIANGLE_DOWN_TWICE, + ANIM_GROW, + ANIM_GROW_TWICE, + ANIM_H_SPRING_FAST, + ANIM_H_SPRING_SLOW, + ANIM_H_REPEATED_SPRING_FAST, + ANIM_H_REPEATED_SPRING, + ANIM_SHRINK_GROW_FAST, + ANIM_SHRINK_GROW_SLOW, + ANIM_V_STRETCH_BOTH_ENDS, + ANIM_V_STRETCH_BOTH_ENDS_TWICE, + ANIM_H_STRETCH_FAR_TWICE, + ANIM_H_STRETCH_FAR, + ANIM_GROW_STUTTER_TWICE, + ANIM_GROW_STUTTER, + ANIM_CONCAVE_ARC_LARGE_SLOW, + ANIM_CONCAVE_ARC_LARGE, + ANIM_CONCAVE_ARC_LARGE_TWICE, + ANIM_CONVEX_DOUBLE_ARC_SLOW, + ANIM_CONVEX_DOUBLE_ARC, + ANIM_CONVEX_DOUBLE_ARC_TWICE, + ANIM_CONCAVE_ARC_SMALL_SLOW, + ANIM_CONCAVE_ARC_SMALL, + ANIM_CONCAVE_ARC_SMALL_TWICE, + ANIM_H_DIP, + ANIM_H_DIP_FAST, + ANIM_H_DIP_TWICE, + ANIM_SHRINK_GROW_VIBRATE_FAST, + ANIM_SHRINK_GROW_VIBRATE, + ANIM_SHRINK_GROW_VIBRATE_SLOW, + ANIM_JOLT_RIGHT_FAST, + ANIM_JOLT_RIGHT, + ANIM_JOLT_RIGHT_SLOW, + ANIM_SHAKE_FLASH_YELLOW_FAST, + ANIM_SHAKE_FLASH_YELLOW, + ANIM_SHAKE_FLASH_YELLOW_SLOW, + ANIM_SHAKE_GLOW_RED_FAST, + ANIM_SHAKE_GLOW_RED, + ANIM_SHAKE_GLOW_RED_SLOW, + ANIM_SHAKE_GLOW_GREEN_FAST, + ANIM_SHAKE_GLOW_GREEN, + ANIM_SHAKE_GLOW_GREEN_SLOW, + ANIM_SHAKE_GLOW_BLUE_FAST, + ANIM_SHAKE_GLOW_BLUE, + ANIM_SHAKE_GLOW_BLUE_SLOW, + ANIM_SHAKE_GLOW_BLACK_SLOW, + ANIM_SHAKE_GLOW_WHITE_SLOW, + ANIM_SHAKE_GLOW_PURPLE_SLOW, +}; + +enum BackAnim GetSpeciesBackAnimSet(u16 species); +void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId); +void StartMonSummaryAnimation(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId); +void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, enum BackAnim backAnimSet); +void SetSpriteCB_MonAnimDummy(struct Sprite *sprite); #endif // GUARD_POKEMON_ANIMATION_H diff --git a/include/trainer_hill.h b/include/trainer_hill.h index 6e2ec0ba0a..848e40e7d5 100644 --- a/include/trainer_hill.h +++ b/include/trainer_hill.h @@ -45,7 +45,7 @@ extern u32 *gTrainerHillVBlankCounter; void CallTrainerHillFunction(void); void ResetTrainerHillResults(void); -u8 GetTrainerHillOpponentClass(u16 trainerId); +enum TrainerClassID GetTrainerHillOpponentClass(u16 trainerId); void GetTrainerHillTrainerName(u8 *dst, u16 trainerId); u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId); void InitTrainerHillBattleStruct(void); diff --git a/src/battle_bg.c b/src/battle_bg.c index 328f990653..8779d8f349 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -21,7 +21,6 @@ #include "text_window.h" #include "trig.h" #include "window.h" -#include "constants/map_types.h" #include "constants/rgb.h" #include "constants/songs.h" #include "constants/trainers.h" @@ -806,7 +805,7 @@ void DrawMainBattleBackground(void) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (trainerClass == TRAINER_CLASS_LEADER) { LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); @@ -1207,7 +1206,7 @@ void DrawBattleEntryBackground(void) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (trainerClass == TRAINER_CLASS_LEADER) { LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); @@ -1272,7 +1271,7 @@ bool8 LoadChosenBattleElement(u8 caseId) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (trainerClass == TRAINER_CLASS_LEADER) { LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); @@ -1334,7 +1333,7 @@ bool8 LoadChosenBattleElement(u8 caseId) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (trainerClass == TRAINER_CLASS_LEADER) { LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); @@ -1396,7 +1395,7 @@ bool8 LoadChosenBattleElement(u8 caseId) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (trainerClass == TRAINER_CLASS_LEADER) { LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 741ed02390..ec98f9fcd6 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -56,7 +56,6 @@ #include "constants/hold_effects.h" #include "constants/items.h" #include "constants/item_effects.h" -#include "constants/map_types.h" #include "constants/moves.h" #include "constants/party_menu.h" #include "constants/rgb.h" diff --git a/src/battle_setup.c b/src/battle_setup.c index 37204c1d8d..d73b6321ee 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -45,7 +45,6 @@ #include "constants/game_stat.h" #include "constants/items.h" #include "constants/songs.h" -#include "constants/map_types.h" #include "constants/trainers.h" #include "constants/trainer_hill.h" #include "constants/weather.h" @@ -745,7 +744,7 @@ static void CB2_EndScriptedWildBattle(void) } } -u8 BattleSetup_GetTerrainId(void) +enum BattleTerrain BattleSetup_GetTerrainId(void) { u16 tileBehavior; s16 x, y; @@ -897,7 +896,7 @@ u8 GetTrainerBattleTransition(void) u8 enemyLevel; u8 playerLevel; u32 trainerId = SanitizeTrainerId(gTrainerBattleOpponent_A); - u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (DoesTrainerHaveMugshot(trainerId)) return B_TRANSITION_MUGSHOT; diff --git a/src/battle_tower.c b/src/battle_tower.c index 7fcdf1b8dd..47b85af65c 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -1352,9 +1352,9 @@ u8 GetFrontierTrainerFrontSpriteId(u16 trainerId) } } -u8 GetFrontierOpponentClass(u16 trainerId) +enum TrainerClassID GetFrontierOpponentClass(u16 trainerId) { - u8 trainerClass = 0; + enum TrainerClassID trainerClass = 0; enum DifficultyLevel difficulty = GetBattlePartnerDifficultyLevel(trainerId); SetFacilityPtrsGetLevel(); @@ -2847,7 +2847,7 @@ u8 GetEreaderTrainerFrontSpriteId(void) #endif //FREE_BATTLE_TOWER_E_READER } -u8 GetEreaderTrainerClassId(void) +enum TrainerClassID GetEreaderTrainerClassId(void) { #if FREE_BATTLE_TOWER_E_READER == FALSE return gFacilityClassToTrainerClass[gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass]; diff --git a/src/bike.c b/src/bike.c index afc3099ab7..50ed705da3 100644 --- a/src/bike.c +++ b/src/bike.c @@ -7,7 +7,6 @@ #include "metatile_behavior.h" #include "overworld.h" #include "sound.h" -#include "constants/map_types.h" #include "constants/songs.h" // this file's functions diff --git a/src/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h index 909d3d7dcb..a88f705f01 100644 --- a/src/data/pokemon/trainer_class_lookups.h +++ b/src/data/pokemon/trainer_class_lookups.h @@ -84,7 +84,7 @@ const u8 gFacilityClassToPicIndex[] = [FACILITY_CLASS_RS_MAY] = TRAINER_PIC_RS_MAY, }; -const u8 gFacilityClassToTrainerClass[] = +const enum TrainerClassID gFacilityClassToTrainerClass[] = { [FACILITY_CLASS_HIKER] = TRAINER_CLASS_HIKER, [FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_CLASS_TEAM_AQUA, diff --git a/src/debug.c b/src/debug.c index d9b382092d..a243278770 100644 --- a/src/debug.c +++ b/src/debug.c @@ -168,7 +168,7 @@ enum FlagsVarsDebugMenu DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_CATCHING, }; -enum BattleType +enum DebugBattleType { DEBUG_BATTLE_0_MENU_ITEM_WILD, DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE, @@ -177,7 +177,7 @@ enum BattleType DEBUG_BATTLE_0_MENU_ITEM_MULTI, }; -enum BattleAIFlags +enum DebugBattleAIFlags { DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_00, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_01, @@ -200,7 +200,7 @@ enum BattleAIFlags DEBUG_BATTLE_1_MENU_ITEM_CONTINUE, }; -enum BattleTerrain +enum DebugBattleTerrain { DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_0, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_1, @@ -310,7 +310,7 @@ struct DebugBattleData { u8 submenu; u8 battleType; - u8 battleTerrain; + enum BattleTerrain battleTerrain; bool8 aiFlags[AI_FLAG_COUNT]; }; diff --git a/src/dexnav.c b/src/dexnav.c index 61b7b78ba0..8abaf31e8b 100644 --- a/src/dexnav.c +++ b/src/dexnav.c @@ -49,7 +49,6 @@ #include "text_window.h" #include "wild_encounter.h" #include "window.h" -#include "constants/map_types.h" #include "constants/species.h" #include "constants/maps.h" #include "constants/field_effects.h" @@ -613,7 +612,7 @@ static bool8 DexNavPickTile(u8 environment, u8 areaX, u8 areaY, bool8 smallScan) bool8 nextIter; u8 scale = 0; u8 weight = 0; - u8 currMapType = GetCurrentMapType(); + enum MapType currMapType = GetCurrentMapType(); u8 tileBehaviour; u8 tileBuffer = 2; u8 *xPos = AllocZeroed((botX - topX) * (botY - topY) * sizeof(u8)); @@ -725,7 +724,7 @@ static bool8 DexNavPickTile(u8 environment, u8 areaX, u8 areaY, bool8 smallScan) static bool8 TryStartHiddenMonFieldEffect(u8 environment, u8 xSize, u8 ySize, bool8 smallScan) { - u8 currMapType = GetCurrentMapType(); + enum MapType currMapType = GetCurrentMapType(); u8 fldEffId = 0; if (DexNavPickTile(environment, xSize, ySize, smallScan)) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 80423aa316..7b652b4eec 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -44,7 +44,6 @@ #include "constants/event_objects.h" #include "constants/field_effects.h" #include "constants/items.h" -#include "constants/map_types.h" #include "constants/mauville_old_man.h" #include "constants/rgb.h" #include "constants/region_map_sections.h" diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index a9be5b55a0..96f034675d 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -35,7 +35,6 @@ #include "constants/event_bg.h" #include "constants/event_objects.h" #include "constants/field_poison.h" -#include "constants/map_types.h" #include "constants/metatile_behaviors.h" #include "constants/songs.h" #include "constants/trainer_hill.h" diff --git a/src/field_effect.c b/src/field_effect.c index 45631be6a3..65ec704add 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -36,7 +36,6 @@ #include "constants/metatile_behaviors.h" #include "constants/rgb.h" #include "constants/songs.h" -#include "constants/map_types.h" #define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index e07d067afc..3fe73c1cc5 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -86,7 +86,7 @@ static void FillPalBufferBlack(void) void WarpFadeInScreen(void) { - u8 previousMapType = GetLastUsedWarpMapType(); + enum MapType previousMapType = GetLastUsedWarpMapType(); switch (GetMapPairFadeFromType(previousMapType, GetCurrentMapType())) { case 0: @@ -113,7 +113,7 @@ void FadeInFromBlack(void) void WarpFadeOutScreen(void) { - u8 currentMapType = GetCurrentMapType(); + enum MapType currentMapType = GetCurrentMapType(); switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType)) { case 0: diff --git a/src/field_specials.c b/src/field_specials.c index e04a8011fe..9573fabec8 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -59,7 +59,6 @@ #include "constants/field_specials.h" #include "constants/items.h" #include "constants/heal_locations.h" -#include "constants/map_types.h" #include "constants/mystery_gift.h" #include "constants/slot_machine.h" #include "constants/songs.h" diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 1e2b9a95fc..5663c86c27 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -14,7 +14,6 @@ #include "sprite.h" #include "task.h" #include "constants/songs.h" -#include "constants/map_types.h" struct FlashStruct { @@ -154,8 +153,8 @@ void CB2_DoChangeMap(void) static bool8 TryDoMapTransition(void) { u8 i; - u8 fromType = GetLastUsedWarpMapType(); - u8 toType = GetCurrentMapType(); + enum MapType fromType = GetLastUsedWarpMapType(); + enum MapType toType = GetCurrentMapType(); for (i = 0; sTransitionTypes[i].fromType; i++) { diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index 39f64adb87..61ae0639e5 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -16,7 +16,6 @@ #include "constants/event_object_movement.h" #include "constants/event_objects.h" #include "constants/field_effects.h" -#include "constants/map_types.h" #include "constants/songs.h" static void Task_DoFieldMove_Init(u8 taskId); diff --git a/src/frontier_util.c b/src/frontier_util.c index 30c22d4442..7d2dab818c 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -2459,7 +2459,7 @@ u8 GetFrontierBrainTrainerPicIndex(void) return GetTrainerPicFromId(gFrontierBrainInfo[facility].trainerId); } -u8 GetFrontierBrainTrainerClass(void) +enum TrainerClassID GetFrontierBrainTrainerClass(void) { s32 facility; diff --git a/src/item_use.c b/src/item_use.c index 64db57a16d..09eceaf6e7 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -44,7 +44,6 @@ #include "constants/item_effects.h" #include "constants/items.h" #include "constants/songs.h" -#include "constants/map_types.h" static void SetUpItemUseCallback(u8); static void FieldCB_UseItemOnField(void); @@ -1472,7 +1471,7 @@ static bool32 IsValidLocationForVsSeeker(void) { u16 mapGroup = gSaveBlock1Ptr->location.mapGroup; u16 mapNum = gSaveBlock1Ptr->location.mapNum; - u16 mapType = gMapHeader.mapType; + enum MapType mapType = gMapHeader.mapType; typedef struct { u16 mapGroup; diff --git a/src/overworld.c b/src/overworld.c index 05c04d0fba..2a717b7586 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -67,7 +67,6 @@ #include "frontier_util.h" #include "constants/abilities.h" #include "constants/layouts.h" -#include "constants/map_types.h" #include "constants/region_map_sections.h" #include "constants/songs.h" #include "constants/trainer_hill.h" @@ -173,8 +172,8 @@ static void SetKeyInterceptCallback(u16 (*func)(u32)); static void SetFieldVBlankCallback(void); static void FieldClearVBlankHBlankCallbacks(void); static void TransitionMapMusic(void); -static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *, u16, u8); -static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *, u8, u16, u8); +static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, enum MapType mapType); +static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, enum MapType mapType); static u16 GetCenterScreenMetatileBehavior(void); static void *sUnusedOverworldCallback; @@ -719,8 +718,8 @@ void SetLastHealLocationWarp(u8 healLocationId) void UpdateEscapeWarp(s16 x, s16 y) { - u8 currMapType = GetCurrentMapType(); - u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); + enum MapType currMapType = GetCurrentMapType(); + enum MapType destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); if (IsMapTypeOutdoors(currMapType) && IsMapTypeOutdoors(destMapType) != TRUE) SetEscapeWarp(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE, x - MAP_OFFSET, y - MAP_OFFSET + 1); } @@ -965,7 +964,7 @@ void StoreInitialPlayerAvatarState(void) static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void) { struct InitialPlayerAvatarState playerStruct; - u8 mapType = GetCurrentMapType(); + enum MapType mapType = GetCurrentMapType(); u16 metatileBehavior = GetCenterScreenMetatileBehavior(); u8 transitionFlags = GetAdjustedInitialTransitionFlags(&sInitialPlayerAvatarState, metatileBehavior, mapType); playerStruct.transitionFlags = transitionFlags; @@ -974,7 +973,7 @@ static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void) return &sInitialPlayerAvatarState; } -static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, u8 mapType) +static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, enum MapType mapType) { if (mapType != MAP_TYPE_INDOOR && FlagGet(FLAG_SYS_CRUISE_MODE)) return PLAYER_AVATAR_FLAG_ON_FOOT; @@ -992,7 +991,7 @@ static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *pla return PLAYER_AVATAR_FLAG_ACRO_BIKE; } -static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, u8 mapType) +static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, enum MapType mapType) { if (FlagGet(FLAG_SYS_CRUISE_MODE) && mapType == MAP_TYPE_OCEAN_ROUTE) return DIR_EAST; @@ -1401,27 +1400,27 @@ static void ChooseAmbientCrySpecies(void) } } -u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum) +enum MapType GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum) { return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->mapType; } -u8 GetMapTypeByWarpData(struct WarpData *warp) +enum MapType GetMapTypeByWarpData(struct WarpData *warp) { return GetMapTypeByGroupAndId(warp->mapGroup, warp->mapNum); } -u8 GetCurrentMapType(void) +enum MapType GetCurrentMapType(void) { return GetMapTypeByWarpData(&gSaveBlock1Ptr->location); } -u8 GetLastUsedWarpMapType(void) +enum MapType GetLastUsedWarpMapType(void) { return GetMapTypeByWarpData(&gLastUsedWarp); } -bool8 IsMapTypeOutdoors(u8 mapType) +bool8 IsMapTypeOutdoors(enum MapType mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN @@ -1433,7 +1432,7 @@ bool8 IsMapTypeOutdoors(u8 mapType) return FALSE; } -bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType) +bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN @@ -1444,7 +1443,7 @@ bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType) return FALSE; } -bool8 IsMapTypeIndoors(u8 mapType) +bool8 IsMapTypeIndoors(enum MapType mapType) { if (mapType == MAP_TYPE_INDOOR || mapType == MAP_TYPE_SECRET_BASE) @@ -1463,7 +1462,7 @@ u8 GetCurrentRegionMapSectionId(void) return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum)->regionMapSectionId; } -u8 GetCurrentMapBattleScene(void) +enum MapBattleScene GetCurrentMapBattleScene(void) { return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum)->battleType; } diff --git a/src/pokemon.c b/src/pokemon.c index 748a21d3f8..e9acd576ec 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1688,7 +1688,7 @@ u16 GetUnionRoomTrainerPic(void) return FacilityClassToPicIndex(gUnionRoomFacilityClasses[arrId]); } -u16 GetUnionRoomTrainerClass(void) +enum TrainerClassID GetUnionRoomTrainerClass(void) { u8 linkId; u32 arrId; @@ -3519,7 +3519,7 @@ u8 GetSecretBaseTrainerPicIndex(void) return gFacilityClassToPicIndex[facilityClass]; } -u8 GetSecretBaseTrainerClass(void) +enum TrainerClassID GetSecretBaseTrainerClass(void) { u8 facilityClass = sSecretBaseFacilityClasses[gBattleResources->secretBase->gender][gBattleResources->secretBase->trainerId[0] % NUM_SECRET_BASE_CLASSES]; return gFacilityClassToTrainerClass[facilityClass]; @@ -5181,7 +5181,7 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) { u8 friendshipLevel = 0; s16 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, 0); - u32 opponentTrainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + enum TrainerClassID opponentTrainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (friendship > 99) friendshipLevel++; @@ -5745,7 +5745,7 @@ u16 GetBattleBGM(void) } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - u8 trainerClass; + enum TrainerClassID trainerClass; if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) trainerClass = GetFrontierOpponentClass(gTrainerBattleOpponent_A); diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index 6bd32ee514..e660ad5f25 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -468,7 +468,7 @@ static void SetPosForRotation(struct Sprite *sprite, u16 index, s16 amplitudeX, sprite->y2 = yAdder + amplitudeY; } -u8 GetSpeciesBackAnimSet(u16 species) +enum BackAnim GetSpeciesBackAnimSet(u16 species) { if (gSpeciesInfo[species].backAnimId != BACK_ANIM_NONE) return gSpeciesInfo[species].backAnimId - 1; @@ -527,7 +527,7 @@ static void Task_HandleMonAnimation(u8 taskId) } } -void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, u8 frontAnimId) +void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId) { u8 taskId = CreateTask(Task_HandleMonAnimation, 128); gTasks[taskId].tPtrHi = (u32)(sprite) >> 16; @@ -535,16 +535,17 @@ void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, u8 frontAnimId) gTasks[taskId].tAnimId = frontAnimId; } -void StartMonSummaryAnimation(struct Sprite *sprite, u8 frontAnimId) +void StartMonSummaryAnimation(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId) { // sDontFlip is expected to still be FALSE here, not explicitly cleared sIsSummaryAnim = TRUE; sprite->callback = sMonAnimFunctions[frontAnimId]; } -void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet) +void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, enum BackAnim backAnimSet) { - u8 nature, taskId, animId, battlerId; + u8 nature, taskId, battlerId; + enum AnimFunctionIDs animId; taskId = CreateTask(Task_HandleMonAnimation, 128); gTasks[taskId].tPtrHi = (u32)(sprite) >> 16; diff --git a/src/pokemon_sprite_visualizer.c b/src/pokemon_sprite_visualizer.c index c6bb39faaf..4323e833a0 100644 --- a/src/pokemon_sprite_visualizer.c +++ b/src/pokemon_sprite_visualizer.c @@ -922,7 +922,7 @@ static void LoadAndCreateEnemyShadowSpriteCustom(struct PokemonSpriteVisualizer } //Battle background functions -static void LoadBattleBg(u8 battleBgType, u8 battleTerrain) +static void LoadBattleBg(u8 battleBgType, enum BattleTerrain battleTerrain) { switch (battleBgType) { diff --git a/src/pokenav_match_call_list.c b/src/pokenav_match_call_list.c index 9a51c092e9..a4f186f443 100755 --- a/src/pokenav_match_call_list.c +++ b/src/pokenav_match_call_list.c @@ -410,7 +410,7 @@ void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntry *matchCallEntry, u8 { int index = GetTrainerIdxByRematchIdx(matchCallEntry->headerId); const struct Trainer *trainer = GetTrainerStructFromId(index); - int class = trainer->trainerClass; + enum TrainerClassID class = trainer->trainerClass; className = gTrainerClasses[class].name; trainerName = trainer->trainerName; } diff --git a/src/region_map.c b/src/region_map.c index aba1162f5b..351240c825 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -24,7 +24,6 @@ #include "heal_location.h" #include "constants/field_specials.h" #include "constants/heal_locations.h" -#include "constants/map_types.h" #include "constants/rgb.h" #include "constants/weather.h" diff --git a/src/scrcmd.c b/src/scrcmd.c index cf65ad270d..b2bb99cf99 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -2939,7 +2939,7 @@ static void CloseBrailleWindow(void) bool8 ScrCmd_buffertrainerclassname(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); - u16 trainerClassId = VarGet(ScriptReadHalfword(ctx)); + enum TrainerClassID trainerClassId = VarGet(ScriptReadHalfword(ctx)); Script_RequestEffects(SCREFF_V1); @@ -2950,7 +2950,7 @@ bool8 ScrCmd_buffertrainerclassname(struct ScriptContext *ctx) bool8 ScrCmd_buffertrainername(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); - u16 trainerClassId = VarGet(ScriptReadHalfword(ctx)); + enum TrainerClassID trainerClassId = VarGet(ScriptReadHalfword(ctx)); Script_RequestEffects(SCREFF_V1); diff --git a/src/secret_base.c b/src/secret_base.c index 7e0c1ae107..3cb81af469 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -39,7 +39,6 @@ #include "constants/event_objects.h" #include "constants/field_specials.h" #include "constants/items.h" -#include "constants/map_types.h" #include "constants/metatile_behaviors.h" #include "constants/metatile_labels.h" #include "constants/moves.h" diff --git a/src/trainer_hill.c b/src/trainer_hill.c index dd8ae78aa7..f443217bcd 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -309,7 +309,7 @@ static u8 GetFloorId(void) return gMapHeader.mapLayoutId - LAYOUT_TRAINER_HILL_1F; } -u8 GetTrainerHillOpponentClass(u16 trainerId) +enum TrainerClassID GetTrainerHillOpponentClass(u16 trainerId) { u8 id = trainerId - 1; From b2f2a8c9fb8c7d00ceceb485ef2bd1fcc38a8070 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Tue, 21 Jan 2025 21:43:54 +0100 Subject: [PATCH 15/27] Fixes Rapid Spin / Toxic Debris interaction (#6023) Co-authored-by: Bassoonian --- docs/tutorials/how_to_new_move.md | 2 - include/constants/battle.h | 107 +++++++++--------- include/constants/battle_move_effects.h | 1 + include/constants/battle_script_commands.h | 1 + src/battle_ai_main.c | 15 +-- src/battle_ai_switch_items.c | 2 +- src/battle_ai_util.c | 2 +- src/battle_script_commands.c | 15 ++- src/battle_tv.c | 2 +- src/data/battle_move_effects.h | 6 + src/data/moves_info.h | 16 +-- test/battle/ability/shield_dust.c | 2 +- test/battle/ai/ai_powerful_status.c | 2 +- test/battle/hold_effect/covert_cloak.c | 2 +- .../rapid_spin.c | 32 ++++-- 15 files changed, 114 insertions(+), 93 deletions(-) rename test/battle/{move_effect_secondary => move_effect}/rapid_spin.c (65%) diff --git a/docs/tutorials/how_to_new_move.md b/docs/tutorials/how_to_new_move.md index e3a2eb0a12..e4289f4c58 100644 --- a/docs/tutorials/how_to_new_move.md +++ b/docs/tutorials/how_to_new_move.md @@ -169,8 +169,6 @@ Each move can have up to 15 additional effects, allowing you to construct monstr .moveEffect = MOVE_EFFECT_ALL_STATS_UP, .chance = 40, .self = TRUE, - },{ - .moveEffect = MOVE_EFFECT_RAPID_SPIN, },{ .moveEffect = MOVE_EFFECT_DEF_MINUS_2, .chance = 50, diff --git a/include/constants/battle.h b/include/constants/battle.h index bdabd816d5..865f5ce886 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -364,61 +364,60 @@ #define MOVE_EFFECT_PREVENT_ESCAPE 33 #define MOVE_EFFECT_NIGHTMARE 34 #define MOVE_EFFECT_ALL_STATS_UP 35 -#define MOVE_EFFECT_RAPID_SPIN 36 -#define MOVE_EFFECT_REMOVE_STATUS 37 -#define MOVE_EFFECT_ATK_DEF_DOWN 38 -#define MOVE_EFFECT_ATK_PLUS_2 39 -#define MOVE_EFFECT_DEF_PLUS_2 40 -#define MOVE_EFFECT_SPD_PLUS_2 41 -#define MOVE_EFFECT_SP_ATK_PLUS_2 42 -#define MOVE_EFFECT_SP_DEF_PLUS_2 43 -#define MOVE_EFFECT_ACC_PLUS_2 44 -#define MOVE_EFFECT_EVS_PLUS_2 45 -#define MOVE_EFFECT_ATK_MINUS_2 46 -#define MOVE_EFFECT_DEF_MINUS_2 47 -#define MOVE_EFFECT_SPD_MINUS_2 48 -#define MOVE_EFFECT_SP_ATK_MINUS_2 49 -#define MOVE_EFFECT_SP_DEF_MINUS_2 50 -#define MOVE_EFFECT_ACC_MINUS_2 51 -#define MOVE_EFFECT_EVS_MINUS_2 52 -#define MOVE_EFFECT_SCALE_SHOT 53 -#define MOVE_EFFECT_THRASH 54 -#define MOVE_EFFECT_KNOCK_OFF 55 -#define MOVE_EFFECT_DEF_SPDEF_DOWN 56 -#define MOVE_EFFECT_CLEAR_SMOG 57 -#define MOVE_EFFECT_SMACK_DOWN 58 -#define MOVE_EFFECT_FLAME_BURST 59 -#define MOVE_EFFECT_FEINT 60 -#define MOVE_EFFECT_SPECTRAL_THIEF 61 -#define MOVE_EFFECT_V_CREATE 62 -#define MOVE_EFFECT_HAPPY_HOUR 63 -#define MOVE_EFFECT_CORE_ENFORCER 64 -#define MOVE_EFFECT_THROAT_CHOP 65 -#define MOVE_EFFECT_INCINERATE 66 -#define MOVE_EFFECT_BUG_BITE 67 -#define MOVE_EFFECT_RECOIL_HP_25 68 -#define MOVE_EFFECT_TRAP_BOTH 69 -#define MOVE_EFFECT_ROUND 70 -#define MOVE_EFFECT_STOCKPILE_WORE_OFF 71 -#define MOVE_EFFECT_DIRE_CLAW 72 -#define MOVE_EFFECT_STEALTH_ROCK 73 -#define MOVE_EFFECT_SPIKES 74 -#define MOVE_EFFECT_SYRUP_BOMB 75 -#define MOVE_EFFECT_FLORAL_HEALING 76 -#define MOVE_EFFECT_SECRET_POWER 77 -#define MOVE_EFFECT_PSYCHIC_NOISE 78 -#define MOVE_EFFECT_TERA_BLAST 79 -#define MOVE_EFFECT_ORDER_UP 80 -#define MOVE_EFFECT_ION_DELUGE 81 -#define MOVE_EFFECT_AROMATHERAPY 82 // No functionality yet -#define MOVE_EFFECT_HAZE 83 -#define MOVE_EFFECT_LEECH_SEED 84 -#define MOVE_EFFECT_REFLECT 85 -#define MOVE_EFFECT_LIGHT_SCREEN 86 -#define MOVE_EFFECT_SALT_CURE 87 -#define MOVE_EFFECT_EERIE_SPELL 88 +#define MOVE_EFFECT_REMOVE_STATUS 36 +#define MOVE_EFFECT_ATK_DEF_DOWN 37 +#define MOVE_EFFECT_ATK_PLUS_2 38 +#define MOVE_EFFECT_DEF_PLUS_2 39 +#define MOVE_EFFECT_SPD_PLUS_2 40 +#define MOVE_EFFECT_SP_ATK_PLUS_2 41 +#define MOVE_EFFECT_SP_DEF_PLUS_2 42 +#define MOVE_EFFECT_ACC_PLUS_2 43 +#define MOVE_EFFECT_EVS_PLUS_2 44 +#define MOVE_EFFECT_ATK_MINUS_2 45 +#define MOVE_EFFECT_DEF_MINUS_2 46 +#define MOVE_EFFECT_SPD_MINUS_2 47 +#define MOVE_EFFECT_SP_ATK_MINUS_2 48 +#define MOVE_EFFECT_SP_DEF_MINUS_2 49 +#define MOVE_EFFECT_ACC_MINUS_2 50 +#define MOVE_EFFECT_EVS_MINUS_2 51 +#define MOVE_EFFECT_SCALE_SHOT 52 +#define MOVE_EFFECT_THRASH 53 +#define MOVE_EFFECT_KNOCK_OFF 54 +#define MOVE_EFFECT_DEF_SPDEF_DOWN 55 +#define MOVE_EFFECT_CLEAR_SMOG 56 +#define MOVE_EFFECT_SMACK_DOWN 57 +#define MOVE_EFFECT_FLAME_BURST 58 +#define MOVE_EFFECT_FEINT 59 +#define MOVE_EFFECT_SPECTRAL_THIEF 60 +#define MOVE_EFFECT_V_CREATE 61 +#define MOVE_EFFECT_HAPPY_HOUR 62 +#define MOVE_EFFECT_CORE_ENFORCER 63 +#define MOVE_EFFECT_THROAT_CHOP 64 +#define MOVE_EFFECT_INCINERATE 65 +#define MOVE_EFFECT_BUG_BITE 66 +#define MOVE_EFFECT_RECOIL_HP_25 67 +#define MOVE_EFFECT_TRAP_BOTH 68 +#define MOVE_EFFECT_ROUND 69 +#define MOVE_EFFECT_STOCKPILE_WORE_OFF 70 +#define MOVE_EFFECT_DIRE_CLAW 71 +#define MOVE_EFFECT_STEALTH_ROCK 72 +#define MOVE_EFFECT_SPIKES 73 +#define MOVE_EFFECT_SYRUP_BOMB 74 +#define MOVE_EFFECT_FLORAL_HEALING 75 +#define MOVE_EFFECT_SECRET_POWER 76 +#define MOVE_EFFECT_PSYCHIC_NOISE 77 +#define MOVE_EFFECT_TERA_BLAST 78 +#define MOVE_EFFECT_ORDER_UP 79 +#define MOVE_EFFECT_ION_DELUGE 80 +#define MOVE_EFFECT_AROMATHERAPY 81 // No functionality yet +#define MOVE_EFFECT_HAZE 82 +#define MOVE_EFFECT_LEECH_SEED 83 +#define MOVE_EFFECT_REFLECT 84 +#define MOVE_EFFECT_LIGHT_SCREEN 85 +#define MOVE_EFFECT_SALT_CURE 86 +#define MOVE_EFFECT_EERIE_SPELL 87 -#define NUM_MOVE_EFFECTS 89 +#define NUM_MOVE_EFFECTS 88 #define MOVE_EFFECT_AFFECTS_USER 0x2000 #define MOVE_EFFECT_CERTAIN 0x4000 diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index d0e4839bce..b32b7a3837 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -348,6 +348,7 @@ enum { EFFECT_GUARDIAN_OF_ALOLA, EFFECT_SHELL_SIDE_ARM, EFFECT_ORDER_UP, + EFFECT_RAPID_SPIN, NUM_BATTLE_MOVE_EFFECTS, }; diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index c4797e94ae..20858c2365 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -286,6 +286,7 @@ enum MoveEndEffects MOVEEND_MULTIHIT_MOVE, MOVEEND_DEFROST, MOVEEND_RECOIL, + MOVEEND_RAPID_SPIN, MOVEEND_ITEM_EFFECTS_ATTACKER, MOVEEND_MAGICIAN, // Occurs after final multi-hit strike, and after other items/abilities would activate MOVEEND_RED_CARD, // Red Card triggers before Eject Pack diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 25700f670e..59695bc0e6 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -3502,7 +3502,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) case EFFECT_LEECH_SEED: if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_GRASS) || gStatuses3[battlerDef] & STATUS3_LEECHSEED - || HasMoveWithAdditionalEffect(battlerDef, MOVE_EFFECT_RAPID_SPIN) + || HasMoveEffect(battlerDef, EFFECT_RAPID_SPIN) || aiData->abilities[battlerDef] == ABILITY_LIQUID_OOZE || aiData->abilities[battlerDef] == ABILITY_MAGIC_GUARD) break; @@ -4418,6 +4418,12 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) || gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 & STATUS1_ANY) ADJUST_SCORE(GOOD_EFFECT); break; + case EFFECT_RAPID_SPIN: + if ((gSideStatuses[GetBattlerSide(battlerAtk)] & SIDE_STATUS_HAZARDS_ANY && CountUsablePartyMons(battlerAtk) != 0) + || (gStatuses3[battlerAtk] & STATUS3_LEECHSEED || gBattleMons[battlerAtk].status2 & STATUS2_WRAPPED)) + ADJUST_SCORE(GOOD_EFFECT); + break; + } // move effect checks // check move additional effects that are likely to happen @@ -4460,11 +4466,6 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) case MOVE_EFFECT_EVS_PLUS_2: ADJUST_SCORE(IncreaseStatUpScore(battlerAtk, battlerDef, STAT_CHANGE_EVASION)); break; - case MOVE_EFFECT_RAPID_SPIN: - if ((gSideStatuses[GetBattlerSide(battlerAtk)] & SIDE_STATUS_HAZARDS_ANY && CountUsablePartyMons(battlerAtk) != 0) - || (gStatuses3[battlerAtk] & STATUS3_LEECHSEED || gBattleMons[battlerAtk].status2 & STATUS2_WRAPPED)) - ADJUST_SCORE(GOOD_EFFECT); - break; } } else @@ -4659,7 +4660,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) } break; case MOVE_EFFECT_WRAP: - if (!HasMoveWithAdditionalEffect(battlerDef, MOVE_EFFECT_RAPID_SPIN) && ShouldTrap(battlerAtk, battlerDef, move)) + if (!HasMoveEffect(battlerDef, EFFECT_RAPID_SPIN) && ShouldTrap(battlerAtk, battlerDef, move)) ADJUST_SCORE(BEST_EFFECT); break; case MOVE_EFFECT_SALT_CURE: diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index db0070da8e..23d96dedfe 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -807,7 +807,7 @@ static bool32 CanMonSurviveHazardSwitchin(u32 battler) for (j = 0; j < MAX_MON_MOVES; j++) { aiMove = GetMonData(&party[i], MON_DATA_MOVE1 + j, NULL); - if (MoveHasAdditionalEffectSelf(aiMove, MOVE_EFFECT_RAPID_SPIN) + if (gMovesInfo[aiMove].effect == EFFECT_RAPID_SPIN || (B_DEFOG_EFFECT_CLEARING >= GEN_6 && gMovesInfo[aiMove].effect == EFFECT_DEFOG) || gMovesInfo[aiMove].effect == EFFECT_TIDY_UP) { diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index b68112374d..ac6f214134 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -4013,7 +4013,7 @@ bool32 AI_ShouldSetUpHazards(u32 battlerAtk, u32 battlerDef, struct AiLogicData { if (aiData->abilities[battlerDef] == ABILITY_MAGIC_BOUNCE || CountUsablePartyMons(battlerDef) == 0 - || HasMoveWithAdditionalEffect(battlerDef, MOVE_EFFECT_RAPID_SPIN) + || HasMoveEffect(battlerDef, EFFECT_RAPID_SPIN) || HasMoveEffect(battlerDef, EFFECT_DEFOG)) return FALSE; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 554ec7b6c5..01b97938ef 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3578,10 +3578,6 @@ void SetMoveEffect(bool32 primary, bool32 certain) gBattlescriptCurrInstr = BattleScript_AllStatsUp; } break; - case MOVE_EFFECT_RAPID_SPIN: - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_RapidSpinAway; - break; case MOVE_EFFECT_ATK_DEF_DOWN: // SuperPower if (!NoAliveMonsForEitherParty()) { @@ -5910,6 +5906,17 @@ static void Cmd_moveend(void) } gBattleScripting.moveendState++; break; + case MOVEEND_RAPID_SPIN: + if (gMovesInfo[gCurrentMove].effect == EFFECT_RAPID_SPIN + && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) + && TARGET_TURN_DAMAGED) + { + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_RapidSpinAway; + effect = TRUE; + } + gBattleScripting.moveendState++; + break; case MOVEEND_ITEM_EFFECTS_ATTACKER: if (ItemBattleEffects(ITEMEFFECT_MOVE_END, gBattlerAttacker, FALSE)) effect = TRUE; diff --git a/src/battle_tv.c b/src/battle_tv.c index ccea3551cd..a269634cf7 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -933,7 +933,7 @@ static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3) // Various cases to add/remove points if (gMovesInfo[arg2].recoil > 0) baseFromEffect++; // Recoil moves - if (MoveHasAdditionalEffect(arg2, MOVE_EFFECT_RAPID_SPIN)) + if (gMovesInfo[arg2].effect == EFFECT_RAPID_SPIN) baseFromEffect++; if (MoveHasAdditionalEffect(arg2, MOVE_EFFECT_SP_ATK_MINUS_2) || MoveHasAdditionalEffect(arg2, MOVE_EFFECT_ATK_DEF_DOWN)) baseFromEffect += 2; // Overheat, Superpower, etc. diff --git a/src/data/battle_move_effects.h b/src/data/battle_move_effects.h index ae9e831e4a..ee281d6fe2 100644 --- a/src/data/battle_move_effects.h +++ b/src/data/battle_move_effects.h @@ -2219,4 +2219,10 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = .battleScript = BattleScript_EffectHit, .battleTvScore = 0, // TODO: Assign points }, + + [EFFECT_RAPID_SPIN] = + { + .battleScript = BattleScript_EffectHit, + .battleTvScore = 0, // TODO: Assign points + }, }; diff --git a/src/data/moves_info.h b/src/data/moves_info.h index 4ff3b71f4c..13544bdabc 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -5811,7 +5811,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Spins the body at high\n" "speed to strike the foe."), - .effect = EFFECT_HIT, + .effect = EFFECT_RAPID_SPIN, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 50 : 20, .type = TYPE_NORMAL, .accuracy = 100, @@ -5820,12 +5820,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, - .additionalEffects = ADDITIONAL_EFFECTS({ - .moveEffect = MOVE_EFFECT_RAPID_SPIN, - .self = TRUE, - } + .additionalEffects = ADDITIONAL_EFFECTS( #if B_SPEED_BUFFING_RAPID_SPIN >= GEN_8 - ,{ + { .moveEffect = MOVE_EFFECT_SPD_PLUS_1, .self = TRUE, .chance = 100, @@ -19576,7 +19573,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Erases trap moves and Leech\n" "Seed. Poisons adjacent foes."), - .effect = EFFECT_HIT, + .effect = EFFECT_RAPID_SPIN, .power = 30, .type = TYPE_POISON, .accuracy = 100, @@ -19585,10 +19582,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, - .additionalEffects = ADDITIONAL_EFFECTS({ - .moveEffect = MOVE_EFFECT_RAPID_SPIN, - .self = TRUE, - }, + .additionalEffects = ADDITIONAL_EFFECTS( { .moveEffect = MOVE_EFFECT_POISON, .chance = 100, diff --git a/test/battle/ability/shield_dust.c b/test/battle/ability/shield_dust.c index 9374a5f018..9e3dc0bf19 100644 --- a/test/battle/ability/shield_dust.c +++ b/test/battle/ability/shield_dust.c @@ -93,8 +93,8 @@ SINGLE_BATTLE_TEST("Shield Dust does not block self-targeting effects, primary o PARAMETRIZE { move = MOVE_METEOR_ASSAULT; } GIVEN { + ASSUME(gMovesInfo[MOVE_RAPID_SPIN].effect == EFFECT_RAPID_SPIN); ASSUME(MoveHasAdditionalEffectSelf(MOVE_POWER_UP_PUNCH, MOVE_EFFECT_ATK_PLUS_1) == TRUE); - ASSUME(MoveHasAdditionalEffectSelf(MOVE_RAPID_SPIN, MOVE_EFFECT_RAPID_SPIN) == TRUE); ASSUME(MoveHasAdditionalEffectSelf(MOVE_LEAF_STORM, MOVE_EFFECT_SP_ATK_MINUS_2) == TRUE); ASSUME(MoveHasAdditionalEffectSelf(MOVE_METEOR_ASSAULT, MOVE_EFFECT_RECHARGE) == TRUE); PLAYER(SPECIES_WOBBUFFET); diff --git a/test/battle/ai/ai_powerful_status.c b/test/battle/ai/ai_powerful_status.c index 4a14c0bf80..c58c4f3af9 100644 --- a/test/battle/ai/ai_powerful_status.c +++ b/test/battle/ai/ai_powerful_status.c @@ -22,7 +22,7 @@ AI_SINGLE_BATTLE_TEST("AI prefers to set up a powerful Status over fainting a ta AI_SINGLE_BATTLE_TEST("AI will try to do damage on target instead of setting up hazards if target has a way to remove them") { GIVEN { - ASSUME(MoveHasAdditionalEffectSelf(MOVE_RAPID_SPIN, MOVE_EFFECT_RAPID_SPIN) == TRUE); + ASSUME(gMovesInfo[MOVE_RAPID_SPIN].effect == EFFECT_RAPID_SPIN); ASSUME(gMovesInfo[MOVE_STEALTH_ROCK].effect == EFFECT_STEALTH_ROCK); ASSUME(gMovesInfo[MOVE_TACKLE].power > 0); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_POWERFUL_STATUS | AI_FLAG_OMNISCIENT); diff --git a/test/battle/hold_effect/covert_cloak.c b/test/battle/hold_effect/covert_cloak.c index b55b1492da..d2f371bbe5 100644 --- a/test/battle/hold_effect/covert_cloak.c +++ b/test/battle/hold_effect/covert_cloak.c @@ -97,8 +97,8 @@ SINGLE_BATTLE_TEST("Covert Cloak does not block self-targeting effects, primary PARAMETRIZE { move = MOVE_METEOR_ASSAULT; } GIVEN { + ASSUME(gMovesInfo[MOVE_RAPID_SPIN].effect == EFFECT_RAPID_SPIN); ASSUME(MoveHasAdditionalEffectSelf(MOVE_POWER_UP_PUNCH, MOVE_EFFECT_ATK_PLUS_1) == TRUE); - ASSUME(MoveHasAdditionalEffectSelf(MOVE_RAPID_SPIN, MOVE_EFFECT_RAPID_SPIN) == TRUE); ASSUME(MoveHasAdditionalEffectSelf(MOVE_LEAF_STORM, MOVE_EFFECT_SP_ATK_MINUS_2) == TRUE); ASSUME(MoveHasAdditionalEffectSelf(MOVE_METEOR_ASSAULT, MOVE_EFFECT_RECHARGE) == TRUE); PLAYER(SPECIES_WOBBUFFET); diff --git a/test/battle/move_effect_secondary/rapid_spin.c b/test/battle/move_effect/rapid_spin.c similarity index 65% rename from test/battle/move_effect_secondary/rapid_spin.c rename to test/battle/move_effect/rapid_spin.c index 4e490164d7..e5457395b9 100644 --- a/test/battle/move_effect_secondary/rapid_spin.c +++ b/test/battle/move_effect/rapid_spin.c @@ -3,15 +3,30 @@ ASSUMPTIONS { - ASSUME(MoveHasAdditionalEffectSelf(MOVE_RAPID_SPIN, MOVE_EFFECT_RAPID_SPIN) == TRUE); + ASSUME(gMovesInfo[MOVE_RAPID_SPIN].effect == EFFECT_RAPID_SPIN); + ASSUME(gMovesInfo[MOVE_MORTAL_SPIN].effect == EFFECT_RAPID_SPIN); #if B_SPEED_BUFFING_RAPID_SPIN >= GEN_8 ASSUME(MoveHasAdditionalEffectSelf(MOVE_RAPID_SPIN, MOVE_EFFECT_SPD_PLUS_1) == TRUE); #endif - ASSUME(MoveHasAdditionalEffectSelf(MOVE_MORTAL_SPIN, MOVE_EFFECT_RAPID_SPIN) == TRUE); ASSUME(MoveHasAdditionalEffect(MOVE_MORTAL_SPIN, MOVE_EFFECT_POISON) == TRUE); } -SINGLE_BATTLE_TEST("Rapin Spin blows away Wrap, hazards and raises Speed (Gen 8+)") +SINGLE_BATTLE_TEST("Rapid Spin activates after Toxic Debris") +{ + GIVEN { + PLAYER(SPECIES_GLIMMORA) { Ability(ABILITY_TOXIC_DEBRIS); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_RAPID_SPIN); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_RAPID_SPIN, opponent); + ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); + MESSAGE("The opposing Wobbuffet blew away Toxic Spikes!"); + } +} + +SINGLE_BATTLE_TEST("Rapid Spin blows away Wrap, hazards and raises Speed (Gen 8+)") { GIVEN { PLAYER(SPECIES_WOBBUFFET); @@ -22,16 +37,16 @@ SINGLE_BATTLE_TEST("Rapin Spin blows away Wrap, hazards and raises Speed (Gen 8+ } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STEALTH_ROCK, opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_RAPID_SPIN, player); - MESSAGE("Wobbuffet got free of the opposing Wobbuffet's Wrap!"); - MESSAGE("Wobbuffet blew away Stealth Rock!"); #if B_SPEED_BUFFING_RAPID_SPIN >= GEN_8 ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's Speed rose!"); #endif + MESSAGE("Wobbuffet got free of the opposing Wobbuffet's Wrap!"); + MESSAGE("Wobbuffet blew away Stealth Rock!"); } } -SINGLE_BATTLE_TEST("Mortal Spin blows away Wrap, hazards and poisons foe") +SINGLE_BATTLE_TEST("Rapid Spin: Mortal Spin blows away Wrap, hazards and poisons foe") { GIVEN { PLAYER(SPECIES_WOBBUFFET); @@ -42,10 +57,9 @@ SINGLE_BATTLE_TEST("Mortal Spin blows away Wrap, hazards and poisons foe") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STEALTH_ROCK, opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_MORTAL_SPIN, player); - MESSAGE("Wobbuffet got free of the opposing Wobbuffet's Wrap!"); - MESSAGE("Wobbuffet blew away Stealth Rock!"); MESSAGE("The opposing Wobbuffet was poisoned!"); STATUS_ICON(opponent, poison: TRUE); + MESSAGE("Wobbuffet got free of the opposing Wobbuffet's Wrap!"); + MESSAGE("Wobbuffet blew away Stealth Rock!"); } } - From f2840cb04767894ef1a7667ed719786a72b1dfbd Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Tue, 21 Jan 2025 23:58:52 +0100 Subject: [PATCH 16/27] Fixes Eject Pack triggering twice on Intimidate (#6072) --- include/battle_util.h | 16 +++- src/battle_script_commands.c | 12 +-- src/battle_util.c | 113 ++++++++++++--------------- test/battle/hold_effect/eject_pack.c | 18 ++++- 4 files changed, 84 insertions(+), 75 deletions(-) diff --git a/include/battle_util.h b/include/battle_util.h index dba6299dee..463d6609db 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -65,7 +65,7 @@ enum { #define ABILITYEFFECT_WATER_SPORT 253 // Only used if B_SPORT_TURNS >= GEN_6 // For the first argument of ItemBattleEffects, to deteremine which block of item effects to try -enum ItemEffect +enum ItemCaseId { ITEMEFFECT_NONE, ITEMEFFECT_ON_SWITCH_IN, @@ -80,6 +80,16 @@ enum ItemEffect ITEMEFFECT_STATS_CHANGED, // For White Herb and Eject Pack }; +enum ItemEffect +{ + ITEM_NO_EFFECT, + ITEM_STATUS_CHANGE, + ITEM_EFFECT_OTHER, + ITEM_PP_CHANGE, + ITEM_HP_CHANGE, + ITEM_STATS_CHANGE, +}; + #define WEATHER_HAS_EFFECT ((!IsAbilityOnField(ABILITY_CLOUD_NINE) && !IsAbilityOnField(ABILITY_AIR_LOCK))) #define IS_WHOLE_SIDE_ALIVE(battler) ((IsBattlerAlive(battler) && IsBattlerAlive(BATTLE_PARTNER(battler)))) @@ -215,7 +225,7 @@ bool32 IsBattlerProtected(u32 battlerAtk, u32 battlerDef, u32 move); bool32 CanBattlerEscape(u32 battler); // no ability check void BattleScriptExecute(const u8 *BS_ptr); void BattleScriptPushCursorAndCallback(const u8 *BS_ptr); -u32 ItemBattleEffects(enum ItemEffect, u32 battler, bool32 moveTurn); +u32 ItemBattleEffects(enum ItemCaseId, u32 battler, bool32 moveTurn); void ClearVariousBattlerFlags(u32 battler); void HandleAction_RunBattleScript(void); u32 SetRandomTarget(u32 battler); @@ -272,7 +282,7 @@ void TryRestoreHeldItems(void); bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, u16 item); void TrySaveExchangedItem(u32 battler, u16 stolenItem); bool32 IsPartnerMonFromSameTrainer(u32 battler); -u32 TryHandleSeed(u32 battler, u32 terrainFlag, u32 statId, u32 itemId, enum ItemEffect caseID); +enum ItemEffect TryHandleSeed(u32 battler, u32 terrainFlag, u32 statId, u32 itemId, enum ItemCaseId caseID); bool32 IsBattlerAffectedByHazards(u32 battler, bool32 toxicSpikes); void SortBattlersBySpeed(u8 *battlers, bool32 slowToFast); bool32 CompareStat(u32 battler, u8 statId, u8 cmpTo, u8 cmpKind); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 01b97938ef..55a192958c 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10536,25 +10536,25 @@ static void Cmd_various(void) VARIOUS_ARGS(const u8 *failInstr); if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_SEEDS) { - u8 effect = 0; + enum ItemEffect effect = ITEM_NO_EFFECT; u16 item = gBattleMons[battler].item; switch (GetBattlerHoldEffectParam(battler)) { case HOLD_EFFECT_PARAM_ELECTRIC_TERRAIN: - effect = TryHandleSeed(battler, STATUS_FIELD_ELECTRIC_TERRAIN, STAT_DEF, item, ITEMEFFECT_NONE); + effect = TryHandleSeed(battler, STATUS_FIELD_ELECTRIC_TERRAIN, STAT_DEF, item, ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN); break; case HOLD_EFFECT_PARAM_GRASSY_TERRAIN: - effect = TryHandleSeed(battler, STATUS_FIELD_GRASSY_TERRAIN, STAT_DEF, item, ITEMEFFECT_NONE); + effect = TryHandleSeed(battler, STATUS_FIELD_GRASSY_TERRAIN, STAT_DEF, item, ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN); break; case HOLD_EFFECT_PARAM_MISTY_TERRAIN: - effect = TryHandleSeed(battler, STATUS_FIELD_MISTY_TERRAIN, STAT_SPDEF, item, ITEMEFFECT_NONE); + effect = TryHandleSeed(battler, STATUS_FIELD_MISTY_TERRAIN, STAT_SPDEF, item, ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN); break; case HOLD_EFFECT_PARAM_PSYCHIC_TERRAIN: - effect = TryHandleSeed(battler, STATUS_FIELD_PSYCHIC_TERRAIN, STAT_SPDEF, item, ITEMEFFECT_NONE); + effect = TryHandleSeed(battler, STATUS_FIELD_PSYCHIC_TERRAIN, STAT_SPDEF, item, ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN); break; } - if (effect) + if (effect != ITEM_NO_EFFECT) return; } gBattlescriptCurrInstr = cmd->failInstr; diff --git a/src/battle_util.c b/src/battle_util.c index d4debdd0de..f1457eacb3 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6699,16 +6699,6 @@ void BattleScriptPushCursorAndCallback(const u8 *BS_ptr) gBattleMainFunc = RunBattleScriptCommands; } -enum -{ - ITEM_NO_EFFECT, - ITEM_STATUS_CHANGE, - ITEM_EFFECT_OTHER, - ITEM_PP_CHANGE, - ITEM_HP_CHANGE, - ITEM_STATS_CHANGE, -}; - bool32 IsBattlerTerrainAffected(u32 battler, u32 terrainFlag) { if (!(gFieldStatuses & terrainFlag)) @@ -6844,7 +6834,7 @@ bool32 HasEnoughHpToEatBerry(u32 battler, u32 hpFraction, u32 itemId) return FALSE; } -static u32 HealConfuseBerry(u32 battler, u32 itemId, u32 flavorId, enum ItemEffect caseID) +static enum ItemEffect HealConfuseBerry(u32 battler, u32 itemId, u32 flavorId, enum ItemCaseId caseID) { if (HasEnoughHpToEatBerry(battler, (B_CONFUSE_BERRIES_HEAL >= GEN_7 ? 4 : 2), itemId) && (B_HEAL_BLOCKING < GEN_5 || !(gStatuses3[battler] & STATUS3_HEAL_BLOCK))) @@ -6880,10 +6870,10 @@ static u32 HealConfuseBerry(u32 battler, u32 itemId, u32 flavorId, enum ItemEffe return ITEM_HP_CHANGE; } - return 0; + return ITEM_NO_EFFECT; } -static u32 StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum ItemEffect caseID) +static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum ItemCaseId caseID) { if (CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN) && HasEnoughHpToEatBerry(battler, GetBattlerItemHoldEffectParam(battler, itemId), itemId)) { @@ -6911,7 +6901,7 @@ static u32 StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum ItemEffect c return ITEM_NO_EFFECT; } -static u32 RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemEffect caseID) +static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemCaseId caseID) { s32 i; u16 stringId; @@ -6959,10 +6949,10 @@ static u32 RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemEffect caseID) return ITEM_STATS_CHANGE; } - return 0; + return ITEM_NO_EFFECT; } -static u32 TrySetMicleBerry(u32 battler, u32 itemId, enum ItemEffect caseID) +static enum ItemEffect TrySetMicleBerry(u32 battler, u32 itemId, enum ItemCaseId caseID) { if (HasEnoughHpToEatBerry(battler, 4, itemId)) { @@ -6978,10 +6968,10 @@ static u32 TrySetMicleBerry(u32 battler, u32 itemId, enum ItemEffect caseID) } return ITEM_EFFECT_OTHER; } - return 0; + return ITEM_NO_EFFECT; } -static u8 TrySetEnigmaBerry(u32 battler) +static enum ItemEffect TrySetEnigmaBerry(u32 battler) { if (IsBattlerAlive(battler) && !DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove) @@ -6998,10 +6988,10 @@ static u8 TrySetEnigmaBerry(u32 battler) gBattlescriptCurrInstr = BattleScript_ItemHealHP_RemoveItemRet; return ITEM_HP_CHANGE; } - return 0; + return ITEM_NO_EFFECT; } -static u8 DamagedStatBoostBerryEffect(u32 battler, u8 statId, u8 category) +static enum ItemEffect DamagedStatBoostBerryEffect(u32 battler, u8 statId, u8 category) { if (IsBattlerAlive(battler) && CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN) @@ -7027,10 +7017,10 @@ static u8 DamagedStatBoostBerryEffect(u32 battler, u8 statId, u8 category) gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet; return ITEM_STATS_CHANGE; } - return 0; + return ITEM_NO_EFFECT; } -u32 TryHandleSeed(u32 battler, u32 terrainFlag, u32 statId, u32 itemId, enum ItemEffect caseID) +enum ItemEffect TryHandleSeed(u32 battler, u32 terrainFlag, u32 statId, u32 itemId, enum ItemCaseId caseID) { if (gFieldStatuses & terrainFlag && CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN)) { @@ -7040,7 +7030,7 @@ u32 TryHandleSeed(u32 battler, u32 terrainFlag, u32 statId, u32 itemId, enum Ite SET_STATCHANGER(statId, 1, FALSE); gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + statId; gBattleScripting.animArg2 = 0; - if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN || caseID == ITEMEFFECT_NORMAL) + if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN) { BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); } @@ -7051,10 +7041,33 @@ u32 TryHandleSeed(u32 battler, u32 terrainFlag, u32 statId, u32 itemId, enum Ite } return ITEM_STATS_CHANGE; } - return 0; + return ITEM_NO_EFFECT; } -static u32 ItemRestorePp(u32 battler, u32 itemId, enum ItemEffect caseID) +static enum ItemEffect TryEjectPack(u32 battler, enum ItemCaseId caseID) +{ + if (gProtectStructs[battler].statFell + && !gProtectStructs[battler].disableEjectPack + && CountUsablePartyMons(battler) > 0 + && !(gCurrentMove == MOVE_PARTING_SHOT && CanBattlerSwitch(gBattlerAttacker))) // Does not activate if attacker used Parting Shot and can switch out + { + gProtectStructs[battler].statFell = FALSE; + gBattleScripting.battler = battler; + if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN) + { + BattleScriptExecute(BattleScript_EjectPackActivate_End2); + } + else + { + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_EjectPackActivate_Ret; + } + return ITEM_STATS_CHANGE; + } + return ITEM_NO_EFFECT; +} + +static u32 ItemRestorePp(u32 battler, u32 itemId, enum ItemCaseId caseID) { struct Pokemon *party = GetBattlerParty(battler); struct Pokemon *mon = &party[gBattlerPartyIndexes[battler]]; @@ -7101,7 +7114,7 @@ static u32 ItemRestorePp(u32 battler, u32 itemId, enum ItemEffect caseID) return 0; } -static u32 ItemHealHp(u32 battler, u32 itemId, enum ItemEffect caseID, bool32 percentHeal) +static u32 ItemHealHp(u32 battler, u32 itemId, enum ItemCaseId caseID, bool32 percentHeal) { if (!(gBattleScripting.overrideBerryRequirements && gBattleMons[battler].hp == gBattleMons[battler].maxHP) && (B_HEAL_BLOCKING < GEN_5 || !(gStatuses3[battler] & STATUS3_HEAL_BLOCK)) @@ -7198,7 +7211,7 @@ static bool32 GetMentalHerbEffect(u32 battler) return ret; } -static u32 TryConsumeMirrorHerb(u32 battler, enum ItemEffect caseID) +static u32 TryConsumeMirrorHerb(u32 battler, enum ItemCaseId caseID) { u32 effect = 0; @@ -7223,7 +7236,7 @@ static u32 TryConsumeMirrorHerb(u32 battler, enum ItemEffect caseID) return effect; } -static inline u32 TryBoosterEnergy(u32 battler, enum ItemEffect caseID) +static inline u32 TryBoosterEnergy(u32 battler, enum ItemCaseId caseID) { if (gBattleStruct->boosterEnergyActivates & (1u << battler) || gBattleMons[battler].status2 & STATUS2_TRANSFORMED) return ITEM_NO_EFFECT; @@ -7487,7 +7500,7 @@ static u8 ItemEffectMoveEnd(u32 battler, u16 holdEffect) return effect; } -static inline bool32 TryCureStatus(u32 battler, enum ItemEffect caseId) +static inline bool32 TryCureStatus(u32 battler, enum ItemCaseId caseId) { u32 effect = ITEM_NO_EFFECT; u32 string = 0; @@ -7546,10 +7559,10 @@ static inline bool32 TryCureStatus(u32 battler, enum ItemEffect caseId) return effect; } -u32 ItemBattleEffects(enum ItemEffect caseID, u32 battler, bool32 moveTurn) +u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) { u32 moveType = 0; - u32 effect = ITEM_NO_EFFECT; + enum ItemEffect effect = ITEM_NO_EFFECT; u32 battlerHoldEffect = 0, atkHoldEffect = 0; u32 atkHoldEffectParam = 0; u32 atkItem = 0; @@ -7746,24 +7759,7 @@ u32 ItemBattleEffects(enum ItemEffect caseID, u32 battler, bool32 moveTurn) } break; case HOLD_EFFECT_EJECT_PACK: - if (gProtectStructs[battler].statFell - && gProtectStructs[battler].disableEjectPack == 0 - && CountUsablePartyMons(battler) > 0 - && !(gCurrentMove == MOVE_PARTING_SHOT && CanBattlerSwitch(gBattlerAttacker))) // Does not activate if attacker used Parting Shot and can switch out - { - gProtectStructs[battler].statFell = FALSE; - gBattleScripting.battler = battler; - effect = ITEM_STATS_CHANGE; - if (moveTurn) - { - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_EjectPackActivate_Ret; - } - else - { - BattleScriptExecute(BattleScript_EjectPackActivate_End2); - } - } + effect = TryEjectPack(battler, caseID); break; case HOLD_EFFECT_BERSERK_GENE: BufferStatChange(battler, STAT_ATK, STRINGID_STATROSE); @@ -7791,12 +7787,10 @@ u32 ItemBattleEffects(enum ItemEffect caseID, u32 battler, bool32 moveTurn) { gSpecialStatuses[battler].switchInItemDone = TRUE; gBattlerAttacker = gPotentialItemEffectBattler = gBattleScripting.battler = battler; - switch (effect) + if (effect == ITEM_STATUS_CHANGE) { - case ITEM_STATUS_CHANGE: BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); - break; } } } @@ -8007,12 +8001,10 @@ u32 ItemBattleEffects(enum ItemEffect caseID, u32 battler, bool32 moveTurn) if (effect != 0) { gBattlerAttacker = gPotentialItemEffectBattler = gBattleScripting.battler = battler; - switch (effect) + if (effect == ITEM_STATUS_CHANGE) { - case ITEM_STATUS_CHANGE: BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); - break; } } } @@ -8369,16 +8361,7 @@ u32 ItemBattleEffects(enum ItemEffect caseID, u32 battler, bool32 moveTurn) } break; case HOLD_EFFECT_EJECT_PACK: - if (gProtectStructs[battler].statFell - && gProtectStructs[battler].disableEjectPack == 0 - && CountUsablePartyMons(battler) > 0) - { - gBattleScripting.battler = battler; - gPotentialItemEffectBattler = battler; - effect = ITEM_STATS_CHANGE; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_EjectPackActivates; - } + effect = TryEjectPack(battler, ITEMEFFECT_ON_SWITCH_IN); break; } break; diff --git a/test/battle/hold_effect/eject_pack.c b/test/battle/hold_effect/eject_pack.c index bba874e1b3..3d674fe9e8 100644 --- a/test/battle/hold_effect/eject_pack.c +++ b/test/battle/hold_effect/eject_pack.c @@ -105,7 +105,6 @@ SINGLE_BATTLE_TEST("Eject Pack activates once intimidate mon switches in") SINGLE_BATTLE_TEST("Eject Pack will not activate if Parting Shot user can switch out") { - ASSUME(gItemsInfo[ITEM_EJECT_PACK].holdEffect == HOLD_EFFECT_EJECT_PACK); GIVEN { PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_PACK); } PLAYER(SPECIES_WOBBUFFET); @@ -121,3 +120,20 @@ SINGLE_BATTLE_TEST("Eject Pack will not activate if Parting Shot user can switch } } } + +DOUBLE_BATTLE_TEST("Eject Pack will not trigger if the conditions are not met") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_EJECT_PACK); } + PLAYER(SPECIES_BELDUM) { Ability(ABILITY_CLEAR_BODY); }; + PLAYER(SPECIES_RALTS) { Ability(ABILITY_TRACE); Item(ITEM_EJECT_PACK); } + PLAYER(SPECIES_WYNAUT); + OPPONENT(SPECIES_WYNAUT); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_EKANS) { Ability(ABILITY_INTIMIDATE); } + } WHEN { + TURN { SWITCH(opponentLeft, 2); SEND_OUT(playerLeft, 2); } + } SCENE { + + } +} From ea4434db2a24f948a8784b92b7f4891881d914c0 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Tue, 21 Jan 2025 18:07:15 -0500 Subject: [PATCH 17/27] Switch trapping AI will consider Trace (#6059) --- include/battle_ai_util.h | 1 + src/battle_ai_switch_items.c | 5 +++-- test/battle/ai/ai_switching.c | 19 ++++++++++++++++--- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index f0adcd8af0..552faa1306 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -80,6 +80,7 @@ bool32 IsAbilityOfRating(u32 ability, s8 rating); bool32 AI_IsAbilityOnSide(u32 battlerId, u32 ability); bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u32 move); bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u32 chosenMove); +u32 AI_GetBattlerAbility(u32 battler); // stat stage checks bool32 AnyStatIsRaised(u32 battlerId); diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 7087a7dc20..24fafaf8bd 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -482,7 +482,7 @@ static bool32 ShouldSwitchIfTrapperInParty(u32 battler) monAbility = GetMonAbility(&party[i]); - if (CanAbilityTrapOpponent(monAbility, opposingBattler)) + if (CanAbilityTrapOpponent(monAbility, opposingBattler) || (CanAbilityTrapOpponent(AI_GetBattlerAbility(opposingBattler), opposingBattler) && monAbility == ABILITY_TRACE)) { // If mon in slot i is the most suitable switchin candidate, then it's a trapper than wins 1v1 if (i == AI_DATA->mostSuitableMonId[battler]) @@ -1915,7 +1915,8 @@ static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, } // If mon can trap - if (CanAbilityTrapOpponent(AI_DATA->switchinCandidate.battleMon.ability, opposingBattler) + if ((CanAbilityTrapOpponent(AI_DATA->switchinCandidate.battleMon.ability, opposingBattler) + || (CanAbilityTrapOpponent(AI_GetBattlerAbility(opposingBattler), opposingBattler) && AI_DATA->switchinCandidate.battleMon.ability == ABILITY_TRACE)) && CountUsablePartyMons(opposingBattler) > 0 && canSwitchinWin1v1) trapperId = i; diff --git a/test/battle/ai/ai_switching.c b/test/battle/ai/ai_switching.c index 26d111ba50..f86dd2b5f9 100644 --- a/test/battle/ai/ai_switching.c +++ b/test/battle/ai/ai_switching.c @@ -422,7 +422,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: AI will switch in trapping mon u32 aiSmartMonChoicesFlag = 0; // Enables trapping behaviour after KOs PARAMETRIZE { aiSmartMonChoicesFlag = 0; } // No trapping behaviour PARAMETRIZE { aiSmartMonChoicesFlag = AI_FLAG_SMART_MON_CHOICES; } // Traps with mid battle switches - GIVEN{ + GIVEN { ASSUME(gSpeciesInfo[SPECIES_MAWILE].types[0] == TYPE_STEEL); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | aiSmartMonChoicesFlag); PLAYER(SPECIES_MAWILE) { Speed(2); Moves(MOVE_PROTECT, MOVE_TACKLE); } @@ -443,7 +443,7 @@ AI_SINGLE_BATTLE_TEST("AI won't use trapping behaviour if player only has 1 mon u32 aiSmartMonChoicesFlag = 0; // Enables trapping behaviour after KOs PARAMETRIZE { aiSmartMonChoicesFlag = 0; } // No trapping behaviour PARAMETRIZE { aiSmartMonChoicesFlag = AI_FLAG_SMART_MON_CHOICES; } // Traps with mid battle switches - GIVEN{ + GIVEN { ASSUME(gSpeciesInfo[SPECIES_MAWILE].types[0] == TYPE_STEEL); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | aiSmartMonChoicesFlag); PLAYER(SPECIES_MAWILE) { Speed(2); Moves(MOVE_PROTECT, MOVE_TACKLE); } @@ -451,7 +451,20 @@ AI_SINGLE_BATTLE_TEST("AI won't use trapping behaviour if player only has 1 mon OPPONENT(SPECIES_MAGNEZONE) { Speed(1); Ability(ABILITY_MAGNET_PULL); Moves(MOVE_SHOCK_WAVE); } OPPONENT(SPECIES_MEGANIUM) { Speed(3); Moves(MOVE_EARTH_POWER); } } WHEN { - TURN{ MOVE(player, MOVE_PROTECT); EXPECT_MOVE(opponent, MOVE_SELF_DESTRUCT); EXPECT_SEND_OUT(opponent, 2); } + TURN{ MOVE(player, MOVE_PROTECT); EXPECT_MOVE(opponent, MOVE_SELF_DESTRUCT); EXPECT_SEND_OUT(opponent, 2); } + } +} + +AI_SINGLE_BATTLE_TEST("AI will trap player using Trace if player has a trapper") +{ + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_DUGTRIO) { Ability(ABILITY_ARENA_TRAP); Moves(MOVE_ROCK_TOMB); } + PLAYER(SPECIES_DUGTRIO); + OPPONENT(SPECIES_GENGAR); + OPPONENT(SPECIES_PORYGON2) { Ability(ABILITY_TRACE); Item(ITEM_EVIOLITE); Moves(MOVE_ICE_BEAM); } + } WHEN { + TURN { MOVE(player, MOVE_ROCK_TOMB); EXPECT_SWITCH(opponent, 1); } } } From 3c5bd4d16cc1668c32e3b3fbd4d364a1e46a500e Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Tue, 21 Jan 2025 18:25:15 -0500 Subject: [PATCH 18/27] Return the universe to a state of balanced quilibrium (#6074) --- include/constants/battle_ai.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index 1dcb62ee07..e4cf747818 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -29,7 +29,7 @@ #define AI_FLAG_CHECK_BAD_MOVE (1 << 0) // AI will avoid using moves that are likely to fail or be ineffective in the current situation. #define AI_FLAG_TRY_TO_FAINT (1 << 1) // AI will prioritize KOing the player's mon if able. #define AI_FLAG_CHECK_VIABILITY (1 << 2) // AI damaging moves and move effects to determine the best available move in the current situation. -#define AI_FLAG_FORCE_SETUP_FIRST_TURN (1 << 3) // AI will prioritize using setup moves on the first turn at the expensve of all else. AI_FLAG_CHECK_VIABILITY will instead do this when the AI determines it makes sense. +#define AI_FLAG_FORCE_SETUP_FIRST_TURN (1 << 3) // AI will prioritize using setup moves on the first turn at the expensve of all else. AI_FLAG_CHECK_VIABILITY will instead do this when the AI determines it makes sense. #define AI_FLAG_RISKY (1 << 4) // AI will generally behave more recklessly, prioritizing damage over accuracy, explosions, etc. #define AI_FLAG_TRY_TO_2HKO (1 << 5) // AI adds score bonus to any move the AI has that either OHKOs or 2HKOs the player. #define AI_FLAG_PREFER_BATON_PASS (1 << 6) // AI prefers raising its own stats and setting for / using Baton Pass. From e8d3b4163f4b312d846ed58a2e6f72e225efc82a Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Wed, 22 Jan 2025 14:50:23 +0100 Subject: [PATCH 19/27] Trainerslide animation fix (#6040) Co-authored-by: Hedara --- include/battle.h | 1 + include/config/battle.h | 3 +- src/battle_controllers.c | 106 +++++++++++++++++++-------------------- 3 files changed, 55 insertions(+), 55 deletions(-) diff --git a/include/battle.h b/include/battle.h index c762e7f766..10724041ca 100644 --- a/include/battle.h +++ b/include/battle.h @@ -832,6 +832,7 @@ struct BattleStruct u8 padding:7; u8 usedEjectItem; u8 usedMicleBerry; + u8 trainerSlideSpriteIds[MAX_BATTLERS_COUNT]; }; // The palaceFlags member of struct BattleStruct contains 1 flag per move to indicate which moves the AI should consider, diff --git a/include/config/battle.h b/include/config/battle.h index e3bde0d30c..226f649a33 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -291,7 +291,6 @@ #define B_SHOW_TYPES SHOW_TYPES_NEVER // When defined as SHOW_TYPES_ALWAYS, after selecting "Fight" in battle, the types of all Pokemon are revealed. Whe defined as SHOW_TYPES_OWN, types are only revealed if the player owns the mon in question. // PokĆ©mon battle sprite settings -#define B_ENEMY_MON_SHADOW_STYLE GEN_3 // In Gen4+, all enemy Pokemon will have a shadow drawn beneath them. - // Currently Gen4+ shadows don't properly work with Trainerslides +#define B_ENEMY_MON_SHADOW_STYLE GEN_LATEST // In Gen4+, all enemy Pokemon will have a shadow drawn beneath them. #endif // GUARD_CONFIG_BATTLE_H diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 727bc8e27f..cb794abacf 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2258,12 +2258,12 @@ static void Controller_DoMoveAnimation(u32 battler) static void Controller_HandleTrainerSlideBack(u32 battler) { - if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) + if (gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].callback == SpriteCallbackDummy) { if (GetBattlerSide(battler) == B_SIDE_OPPONENT) - FreeTrainerFrontPicPalette(gSprites[gBattlerSpriteIds[battler]].oam.affineParam); - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[battler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[battler]]); + FreeTrainerFrontPicPalette(gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.affineParam); + FreeSpriteOamMatrix(&gSprites[gBattleStruct->trainerSlideSpriteIds[battler]]); + DestroySprite(&gSprites[gBattleStruct->trainerSlideSpriteIds[battler]]); BattleControllerComplete(battler); } } @@ -2305,7 +2305,7 @@ static void Controller_WaitForStatusAnimation(u32 battler) static void Controller_WaitForTrainerPic(u32 battler) { - if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) + if (gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].callback == SpriteCallbackDummy) BattleControllerComplete(battler); } @@ -2495,18 +2495,18 @@ void BtlController_HandleDrawTrainerPic(u32 battler, u32 trainerPicId, bool32 is if (GetBattlerSide(battler) == B_SIDE_OPPONENT) // Always the front sprite for the opponent. { DecompressTrainerFrontPic(trainerPicId, battler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(battler)); + SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(battler)); if (subpriority == -1) subpriority = GetBattlerSpriteSubpriority(battler); - gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + gBattleStruct->trainerSlideSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, subpriority); - gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerSprites[trainerPicId].palette.tag); - gSprites[gBattlerSpriteIds[battler]].x2 = -DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[battler]].sSpeedX = 2; - gSprites[gBattlerSpriteIds[battler]].oam.affineParam = trainerPicId; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerSprites[trainerPicId].palette.tag); + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].x2 = -DISPLAY_WIDTH; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].sSpeedX = 2; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.affineParam = trainerPicId; } else // Player's side { @@ -2516,15 +2516,15 @@ void BtlController_HandleDrawTrainerPic(u32 battler, u32 trainerPicId, bool32 is SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(battler)); if (subpriority == -1) subpriority = GetBattlerSpriteSubpriority(battler); - gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + gBattleStruct->trainerSlideSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, subpriority); - gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerSprites[trainerPicId].palette.tag); - gSprites[gBattlerSpriteIds[battler]].oam.affineMode = ST_OAM_AFFINE_OFF; - gSprites[gBattlerSpriteIds[battler]].hFlip = 1; - gSprites[gBattlerSpriteIds[battler]].y2 = 48; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerSprites[trainerPicId].palette.tag); + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.affineMode = ST_OAM_AFFINE_OFF; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].hFlip = 1; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].y2 = 48; } else { @@ -2532,20 +2532,20 @@ void BtlController_HandleDrawTrainerPic(u32 battler, u32 trainerPicId, bool32 is SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(battler)); if (subpriority == -1) subpriority = GetBattlerSpriteSubpriority(battler); - gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + gBattleStruct->trainerSlideSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, subpriority); - gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = battler; } - gSprites[gBattlerSpriteIds[battler]].x2 = DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[battler]].sSpeedX = -2; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].x2 = DISPLAY_WIDTH; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].sSpeedX = -2; } if (B_FAST_INTRO_NO_SLIDE || gTestRunnerHeadless) - gSprites[gBattlerSpriteIds[battler]].callback = SpriteCB_TrainerSpawn; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].callback = SpriteCB_TrainerSpawn; else - gSprites[gBattlerSpriteIds[battler]].callback = SpriteCB_TrainerSlideIn; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].callback = SpriteCB_TrainerSlideIn; gBattlerControllerFuncs[battler] = Controller_WaitForTrainerPic; } @@ -2556,26 +2556,26 @@ void BtlController_HandleTrainerSlide(u32 battler, u32 trainerPicId) { DecompressTrainerBackPic(trainerPicId, battler); SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(battler)); - gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + gBattleStruct->trainerSlideSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 80, (8 - gTrainerBacksprites[trainerPicId].coordinates.size) * 4 + 80, 30); - gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - gSprites[gBattlerSpriteIds[battler]].x2 = -96; - gSprites[gBattlerSpriteIds[battler]].sSpeedX = 2; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = battler; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].x2 = -96; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].sSpeedX = 2; } else { DecompressTrainerFrontPic(trainerPicId, battler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(battler)); - gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 176, 40, 30); - gSprites[gBattlerSpriteIds[battler]].oam.affineParam = trainerPicId; - gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerSprites[trainerPicId].palette.tag); - gSprites[gBattlerSpriteIds[battler]].x2 = 96; - gSprites[gBattlerSpriteIds[battler]].x += 32; - gSprites[gBattlerSpriteIds[battler]].sSpeedX = -2; + SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(battler)); + gBattleStruct->trainerSlideSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 176, 40, 0); + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.affineParam = trainerPicId; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerSprites[trainerPicId].palette.tag); + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].x2 = 96; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].x += 32; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].sSpeedX = -2; } - gSprites[gBattlerSpriteIds[battler]].callback = SpriteCB_TrainerSlideIn; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].callback = SpriteCB_TrainerSlideIn; gBattlerControllerFuncs[battler] = Controller_WaitForTrainerPic; } @@ -2586,14 +2586,14 @@ void BtlController_HandleTrainerSlideBack(u32 battler, s16 data0, bool32 startAn { u32 side = GetBattlerSide(battler); - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[battler]]); - gSprites[gBattlerSpriteIds[battler]].data[0] = data0; - gSprites[gBattlerSpriteIds[battler]].data[2] = (side == B_SIDE_PLAYER) ? -40 : 280; - gSprites[gBattlerSpriteIds[battler]].data[4] = gSprites[gBattlerSpriteIds[battler]].y; - gSprites[gBattlerSpriteIds[battler]].callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[battler]], SpriteCallbackDummy); + SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattleStruct->trainerSlideSpriteIds[battler]]); + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].data[0] = data0; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].data[2] = (side == B_SIDE_PLAYER) ? -40 : 280; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].data[4] = gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].y; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(&gSprites[gBattleStruct->trainerSlideSpriteIds[battler]], SpriteCallbackDummy); if (startAnim) - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 1); + StartSpriteAnim(&gSprites[gBattleStruct->trainerSlideSpriteIds[battler]], 1); gBattlerControllerFuncs[battler] = Controller_HandleTrainerSlideBack; } @@ -2887,34 +2887,34 @@ void BtlController_HandleIntroTrainerBallThrow(u32 battler, u16 tagTrainerPal, c u8 paletteNum, taskId; u32 side = GetBattlerSide(battler); - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[battler]]); + SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattleStruct->trainerSlideSpriteIds[battler]]); if (side == B_SIDE_PLAYER) { - gSprites[gBattlerSpriteIds[battler]].data[0] = 50; - gSprites[gBattlerSpriteIds[battler]].data[2] = -40; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].data[0] = 50; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].data[2] = -40; } else { - gSprites[gBattlerSpriteIds[battler]].data[0] = 35; - gSprites[gBattlerSpriteIds[battler]].data[2] = 280; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].data[0] = 35; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].data[2] = 280; } - gSprites[gBattlerSpriteIds[battler]].data[4] = gSprites[gBattlerSpriteIds[battler]].y; - gSprites[gBattlerSpriteIds[battler]].callback = StartAnimLinearTranslation; - gSprites[gBattlerSpriteIds[battler]].sBattlerId = battler; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].data[4] = gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].y; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].callback = StartAnimLinearTranslation; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].sBattlerId = battler; if (side == B_SIDE_PLAYER) { - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[battler]], SpriteCB_FreePlayerSpriteLoadMonSprite); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], ShouldDoSlideInAnim() ? 2 : 1); + StoreSpriteCallbackInData6(&gSprites[gBattleStruct->trainerSlideSpriteIds[battler]], SpriteCB_FreePlayerSpriteLoadMonSprite); + StartSpriteAnim(&gSprites[gBattleStruct->trainerSlideSpriteIds[battler]], ShouldDoSlideInAnim() ? 2 : 1); paletteNum = AllocSpritePalette(tagTrainerPal); LoadCompressedPalette(trainerPal, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); - gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = paletteNum; + gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = paletteNum; } else { - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[battler]], SpriteCB_FreeOpponentSprite); + StoreSpriteCallbackInData6(&gSprites[gBattleStruct->trainerSlideSpriteIds[battler]], SpriteCB_FreeOpponentSprite); } taskId = CreateTask(Task_StartSendOutAnim, 5); From af884b1be42294ff3c1e7f21451e49aa1a5211ab Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 22 Jan 2025 11:27:08 -0300 Subject: [PATCH 20/27] Cleaned up Debug Menu (#6070) --- include/battle_message.h | 2 +- include/event_data.h | 2 + src/battle_message.c | 11 +- src/battle_script_commands.c | 9 +- src/battle_setup.c | 10 +- src/debug.c | 1192 ++++++++++------------------------ src/event_data.c | 12 + src/match_call.c | 14 +- 8 files changed, 369 insertions(+), 883 deletions(-) diff --git a/include/battle_message.h b/include/battle_message.h index 914e97d5d6..d73dbf386e 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -273,7 +273,7 @@ void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst); extern struct BattleMsgData *gBattleMsgDataPtr; extern const u8 *const gBattleStringsTable[]; -extern const u8 *const gStatNamesTable[]; +extern const u8 *const gStatNamesTable[NUM_BATTLE_STATS]; extern const u8 *const gPokeblockWasTooXStringTable[]; extern const u8 *const gRefereeStringsTable[]; extern const u8 *const gRoundsStringTable[]; diff --git a/include/event_data.h b/include/event_data.h index 04287b7ed6..ef229b2ffc 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -48,4 +48,6 @@ extern u16 gSpecialVar_MonBoxId; extern u16 gSpecialVar_MonBoxPos; extern u16 gSpecialVar_Unused_0x8014; +extern const u16 gBadgeFlags[NUM_BADGES]; + #endif // GUARD_EVENT_DATA_H diff --git a/src/battle_message.c b/src/battle_message.c index fbc1f60353..ccb3559233 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -137,9 +137,14 @@ static const u8 sText_Evasiveness[] = _("evasiveness"); const u8 *const gStatNamesTable[NUM_BATTLE_STATS] = { - sText_HP, sText_Attack, sText_Defense, - sText_Speed, sText_SpAttack, sText_SpDefense, - sText_Accuracy, sText_Evasiveness + [STAT_HP] = sText_HP, + [STAT_ATK] = sText_Attack, + [STAT_DEF] = sText_Defense, + [STAT_SPEED] = sText_Speed, + [STAT_SPATK] = sText_SpAttack, + [STAT_SPDEF] = sText_SpDefense, + [STAT_ACC] = sText_Accuracy, + [STAT_EVASION] = sText_Evasiveness, }; const u8 *const gPokeblockWasTooXStringTable[FLAVOR_COUNT] = { diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index bb4a63d227..257959b0e9 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -298,11 +298,6 @@ static const u16 sTrappingMoves[NUM_TRAPPING_MOVES] = MOVE_THUNDER_CAGE }; -static const u16 sBadgeFlags[8] = { - FLAG_BADGE01_GET, FLAG_BADGE02_GET, FLAG_BADGE03_GET, FLAG_BADGE04_GET, - FLAG_BADGE05_GET, FLAG_BADGE06_GET, FLAG_BADGE07_GET, FLAG_BADGE08_GET, -}; - static const u16 sWhiteOutBadgeMoney[9] = { 8, 16, 24, 36, 48, 64, 80, 100, 120 }; #define STAT_CHANGE_WORKED 0 @@ -8325,9 +8320,9 @@ static void Cmd_getmoneyreward(void) sPartyLevel = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); } } - for (count = 0, i = 0; i < ARRAY_COUNT(sBadgeFlags); i++) + for (count = 0, i = 0; i < ARRAY_COUNT(gBadgeFlags); i++) { - if (FlagGet(sBadgeFlags[i]) == TRUE) + if (FlagGet(gBadgeFlags[i]) == TRUE) ++count; } money = sWhiteOutBadgeMoney[count] * sPartyLevel; diff --git a/src/battle_setup.c b/src/battle_setup.c index d73b6321ee..423bf4537c 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -359,12 +359,6 @@ const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] = [REMATCH_WALLACE] = REMATCH(TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, EVER_GRANDE_CITY), }; -static const u16 sBadgeFlags[NUM_BADGES] = -{ - FLAG_BADGE01_GET, FLAG_BADGE02_GET, FLAG_BADGE03_GET, FLAG_BADGE04_GET, - FLAG_BADGE05_GET, FLAG_BADGE06_GET, FLAG_BADGE07_GET, FLAG_BADGE08_GET, -}; - #define tState data[0] #define tTransition data[1] @@ -1919,9 +1913,9 @@ static bool32 HasAtLeastFiveBadges(void) { s32 i, count; - for (count = 0, i = 0; i < ARRAY_COUNT(sBadgeFlags); i++) + for (count = 0, i = 0; i < ARRAY_COUNT(gBadgeFlags); i++) { - if (FlagGet(sBadgeFlags[i]) == TRUE) + if (FlagGet(gBadgeFlags[i]) == TRUE) { if (++count >= 5) return TRUE; diff --git a/src/debug.c b/src/debug.c index a243278770..ecb739de38 100644 --- a/src/debug.c +++ b/src/debug.c @@ -278,25 +278,12 @@ struct DebugMonData bool8 isShiny:1; u8 nature:5; u8 abilityNum:2; - u8 mon_iv_hp; - u8 mon_iv_atk; - u8 mon_iv_def; - u8 mon_iv_speed; - u8 mon_iv_satk; - u8 mon_iv_sdef; - u16 mon_move_0; - u16 mon_move_1; - u16 mon_move_2; - u16 mon_move_3; - u8 mon_ev_hp; - u8 mon_ev_atk; - u8 mon_ev_def; - u8 mon_ev_speed; - u8 mon_ev_satk; - u8 mon_ev_sdef; - u8 teraType; - u8 dynamaxLevel:7; - u8 gmaxFactor:1; + u8 monIVs[NUM_STATS]; + u16 monMoves[MAX_MON_MOVES]; + u8 monEVs[NUM_STATS]; + u8 teraType; + u8 dynamaxLevel:7; + u8 gmaxFactor:1; }; struct DebugMenuListData @@ -509,133 +496,20 @@ static const u8 sDebugText_Colored_False[] = _("{COLOR RED}FALSE"); static const u8 sDebugText_Dashes[] = _("---"); static const u8 sDebugText_Empty[] = _(""); static const u8 sDebugText_Continue[] = _("Continue…{CLEAR_TO 110}{RIGHT_ARROW}"); -// Main Menu -static const u8 sDebugText_Utilities[] = _("Utilities…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_PCBag[] = _("PC/Bag…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Party[] = _("Party…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Scripts[] = _("Scripts…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_FlagsVars[] = _("Flags & Vars…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle[] = _("Battle Test{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Give[] = _("Give X…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Sound[] = _("Sound…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Cancel[] = _("Cancel"); -// Script menu -static const u8 sDebugText_Util_Script_1[] = _("Script 1"); -static const u8 sDebugText_Util_Script_2[] = _("Script 2"); -static const u8 sDebugText_Util_Script_3[] = _("Script 3"); -static const u8 sDebugText_Util_Script_4[] = _("Script 4"); -static const u8 sDebugText_Util_Script_5[] = _("Script 5"); -static const u8 sDebugText_Util_Script_6[] = _("Script 6"); -static const u8 sDebugText_Util_Script_7[] = _("Script 7"); -static const u8 sDebugText_Util_Script_8[] = _("Script 8"); // Util Menu -static const u8 sDebugText_Util_FlyToMap[] = _("Fly to map…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Util_WarpToMap[] = _("Warp to map warp…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_Util_WarpToMap_SelectMapGroup[] = _("Group: {STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n\n{STR_VAR_3}{CLEAR_TO 90}"); static const u8 sDebugText_Util_WarpToMap_SelectMap[] = _("Map: {STR_VAR_1}{CLEAR_TO 90}\nMapSec:{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}\n{STR_VAR_3}{CLEAR_TO 90}"); static const u8 sDebugText_Util_WarpToMap_SelectWarp[] = _("Warp:{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_3}{CLEAR_TO 90}"); static const u8 sDebugText_Util_WarpToMap_SelMax[] = _("{STR_VAR_1} / {STR_VAR_2}"); -static const u8 sDebugText_Util_SaveBlockSpace[] = _("Save Block space…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Util_ROMSpace[] = _("ROM space…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Util_Weather[] = _("Set weather…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_Util_Weather_ID[] = _("Weather ID: {STR_VAR_3}\n{STR_VAR_1}\n{STR_VAR_2}"); -static const u8 sDebugText_Util_FontTest[] = _("Font Test…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Util_CheckWallClock[] = _("Check wall clock…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Util_SetWallClock[] = _("Set wall clock…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Util_WatchCredits[] = _("Watch credits…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Util_Player_Name[] = _("Player name"); -static const u8 sDebugText_Util_Player_Gender[] = _("Toggle gender"); -static const u8 sDebugText_Util_Player_Id[] = _("New Trainer ID"); -static const u8 sDebugText_Util_CheatStart[] = _("Cheat start"); -static const u8 sDebugText_Util_ExpansionVersion[] = _("Expansion Version"); -static const u8 sDebugText_Util_BerryFunctions[] = _("Berry Functions…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Util_EWRAMCounters[] = _("EWRAM Counters…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Util_Steven_Multi[] = _("Steven Multi"); -// PC/Bag Menu -static const u8 sDebugText_PCBag_Fill[] = _("Fill…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_PCBag_Fill_Pc_Fast[] = _("Fill PC Boxes Fast"); -static const u8 sDebugText_PCBag_Fill_Pc_Slow[] = _("Fill PC Boxes Slow (LAG!)"); -static const u8 sDebugText_PCBag_Fill_Pc_Items[] = _("Fill PC Items"); -static const u8 sDebugText_PCBag_Fill_PocketItems[] = _("Fill Pocket Items"); -static const u8 sDebugText_PCBag_Fill_PocketPokeBalls[] = _("Fill Pocket PokĆ© Balls"); -static const u8 sDebugText_PCBag_Fill_PocketTMHM[] = _("Fill Pocket TMHM"); -static const u8 sDebugText_PCBag_Fill_PocketBerries[] = _("Fill Pocket Berries"); -static const u8 sDebugText_PCBag_Fill_PocketKeyItems[] = _("Fill Pocket Key Items"); -static const u8 sDebugText_PCBag_AccessPC[] = _("Access PC"); -static const u8 sDebugText_PCBag_ClearBag[] = _("Clear Bag"); -static const u8 sDebugText_PCBag_ClearBoxes[] = _("Clear Storage Boxes"); -// Party/Boxes Menu -static const u8 sDebugText_Party_MoveReminder[] = _("Move Reminder"); -static const u8 sDebugText_Party_HatchAnEgg[] = _("Hatch an Egg"); -static const u8 sDebugText_Party_HealParty[] = _("Heal party"); -static const u8 sDebugText_Party_InflictStatus1[] = _("Inflict Status1"); -static const u8 sDebugText_Party_CheckEVs[] = _("Check EVs"); -static const u8 sDebugText_Party_CheckIVs[] = _("Check IVs"); -static const u8 sDebugText_Party_ClearParty[] = _("Clear Party"); // Flags/Vars Menu -static const u8 sDebugText_FlagsVars_Flags[] = _("Set Flag XYZ…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_FlagsVars_Flag[] = _("Flag: {STR_VAR_1}{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}\n{STR_VAR_3}"); -static const u8 sDebugText_FlagsVars_FlagHex[] = _("{STR_VAR_1}{CLEAR_TO 90}\n0x{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_FlagsVars_Vars[] = _("Set Var XYZ…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_FlagsVars_VariableHex[] = _("{STR_VAR_1}{CLEAR_TO 90}\n0x{STR_VAR_2}{CLEAR_TO 90}"); static const u8 sDebugText_FlagsVars_Variable[] = _("Var: {STR_VAR_1}{CLEAR_TO 90}\nVal: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_2}"); static const u8 sDebugText_FlagsVars_VariableValueSet[] = _("Var: {STR_VAR_1}{CLEAR_TO 90}\nVal: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_2}"); -static const u8 sDebugText_FlagsVars_PokedexFlags_All[] = _("PokĆ©dex Flags All"); -static const u8 sDebugText_FlagsVars_PokedexFlags_Reset[] = _("PokĆ©dex Flags Reset"); -static const u8 sDebugText_FlagsVars_SwitchDex[] = _("Toggle {STR_VAR_1}PokĆ©dex"); -static const u8 sDebugText_FlagsVars_SwitchNationalDex[] = _("Toggle {STR_VAR_1}National Dex"); -static const u8 sDebugText_FlagsVars_SwitchPokeNav[] = _("Toggle {STR_VAR_1}PokĆ©Nav"); -static const u8 sDebugText_FlagsVars_SwitchMatchCall[] = _("Toggle {STR_VAR_1}Match Call"); -static const u8 sDebugText_FlagsVars_RunningShoes[] = _("Toggle {STR_VAR_1}Running Shoes"); -static const u8 sDebugText_FlagsVars_ToggleFlyFlags[] = _("Toggle {STR_VAR_1}Fly Flags"); -static const u8 sDebugText_FlagsVars_ToggleAllBadges[] = _("Toggle {STR_VAR_1}All badges"); -static const u8 sDebugText_FlagsVars_ToggleGameClear[] = _("Toggle {STR_VAR_1}Game clear"); -static const u8 sDebugText_FlagsVars_ToggleFrontierPass[] = _("Toggle {STR_VAR_1}Frontier Pass"); -static const u8 sDebugText_FlagsVars_SwitchCollision[] = _("Toggle {STR_VAR_1}Collision OFF"); -static const u8 sDebugText_FlagsVars_SwitchEncounter[] = _("Toggle {STR_VAR_1}Encounter OFF"); -static const u8 sDebugText_FlagsVars_SwitchTrainerSee[] = _("Toggle {STR_VAR_1}Trainer See OFF"); -static const u8 sDebugText_FlagsVars_SwitchBagUse[] = _("Toggle {STR_VAR_1}Bag Use OFF"); -static const u8 sDebugText_FlagsVars_SwitchCatching[] = _("Toggle {STR_VAR_1}Catching OFF"); -// Battle -static const u8 sDebugText_Battle_0_Wild[] = _("Wild…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_0_WildDouble[] = _("Wild Double…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_0_Single[] = _("Single…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_0_Double[] = _("Double…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_0_Mulit[] = _("Multi…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_1_AIFlag_00[] = _("{STR_VAR_1}Check bad move"); -static const u8 sDebugText_Battle_1_AIFlag_01[] = _("{STR_VAR_1}Try to faint"); -static const u8 sDebugText_Battle_1_AIFlag_02[] = _("{STR_VAR_1}Check viability"); -static const u8 sDebugText_Battle_1_AIFlag_03[] = _("{STR_VAR_1}Setup first turn"); -static const u8 sDebugText_Battle_1_AIFlag_04[] = _("{STR_VAR_1}Risky"); -static const u8 sDebugText_Battle_1_AIFlag_05[] = _("{STR_VAR_1}Prefer strongest move"); -static const u8 sDebugText_Battle_1_AIFlag_06[] = _("{STR_VAR_1}Prefer Baton Pass"); -static const u8 sDebugText_Battle_1_AIFlag_07[] = _("{STR_VAR_1}Double battle"); -static const u8 sDebugText_Battle_1_AIFlag_08[] = _("{STR_VAR_1}HP aware"); -static const u8 sDebugText_Battle_1_AIFlag_09[] = _("{STR_VAR_1}Negate Unaware"); -static const u8 sDebugText_Battle_1_AIFlag_10[] = _("{STR_VAR_1}Will suicide"); -static const u8 sDebugText_Battle_1_AIFlag_11[] = _("{STR_VAR_1}Help partner"); -static const u8 sDebugText_Battle_1_AIFlag_12[] = _("{STR_VAR_1}Prefer status moves"); -static const u8 sDebugText_Battle_1_AIFlag_13[] = _("{STR_VAR_1}Stall"); -static const u8 sDebugText_Battle_1_AIFlag_14[] = _("{STR_VAR_1}Screener"); -static const u8 sDebugText_Battle_1_AIFlag_15[] = _("{STR_VAR_1}Smart switching"); -static const u8 sDebugText_Battle_1_AIFlag_16[] = _("{STR_VAR_1}Ace pokemon"); -static const u8 sDebugText_Battle_1_AIFlag_17[] = _("{STR_VAR_1}Omniscient"); -static const u8 sDebugText_Battle_2_Terrain_0[] = _("Grass…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_2_Terrain_1[] = _("Long grass…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_2_Terrain_2[] = _("Sand…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_2_Terrain_3[] = _("Underwater…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_2_Terrain_4[] = _("Water…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_2_Terrain_5[] = _("Pond…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_2_Terrain_6[] = _("Mountain…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_2_Terrain_7[] = _("Cave…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_2_Terrain_8[] = _("Building…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Battle_2_Terrain_9[] = _("Plain…{CLEAR_TO 110}{RIGHT_ARROW}"); // Give Menu -static const u8 sDebugText_Give_GiveItem[] = _("Give item XYZ…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_ItemQuantity[] = _("Quantity:{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n\n{STR_VAR_2}"); static const u8 sDebugText_ItemID[] = _("Item ID: {STR_VAR_3}\n{STR_VAR_1}{CLEAR_TO 90}\n\n{STR_VAR_2}"); -static const u8 sDebugText_Give_GivePokemonSimple[] = _("PokĆ©mon (Basic){CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Give_GivePokemonComplex[] = _("PokĆ©mon (Complex){CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_PokemonID[] = _("Species: {STR_VAR_3}\n{STR_VAR_1}{CLEAR_TO 90}\n\n{STR_VAR_2}{CLEAR_TO 90}"); static const u8 sDebugText_PokemonLevel[] = _("Level:{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); static const u8 sDebugText_PokemonShiny[] = _("Shiny:{CLEAR_TO 90}\n {STR_VAR_2}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{CLEAR_TO 90}"); @@ -644,58 +518,22 @@ static const u8 sDebugText_PokemonAbility[] = _("Ability Num: {STR_VAR static const u8 sDebugText_PokemonTeraType[] = _("Tera Type: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); static const u8 sDebugText_PokemonDynamaxLevel[] = _("Dmax Lvl:{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); static const u8 sDebugText_PokemonGmaxFactor[] = _("Gmax Factor:{CLEAR_TO 90}\n {STR_VAR_2}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{CLEAR_TO 90}"); -static const u8 sDebugText_PokemonIVs[] = _("All IVs:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_PokemonEVs[] = _("All EVs:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_IV_HP[] = _("IV HP:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_IV_Attack[] = _("IV Attack:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_IV_Defense[] = _("IV Defense:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_IV_Speed[] = _("IV Speed:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_IV_SpAttack[] = _("IV Sp. Attack:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_IV_SpDefense[] = _("IV Sp. Defense:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_EV_HP[] = _("EV HP:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_EV_Attack[] = _("EV Attack:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_EV_Defense[] = _("EV Defense:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_EV_Speed[] = _("EV Speed:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_EV_SpAttack[] = _("EV Sp. Attack:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_EV_SpDefense[] = _("EV Sp. Defense:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_PokemonMove_0[] = _("Move 0: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_PokemonMove_1[] = _("Move 1: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_PokemonMove_2[] = _("Move 2: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_PokemonMove_3[] = _("Move 3: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); -static const u8 sDebugText_Give_MaxMoney[] = _("Max Money"); -static const u8 sDebugText_Give_MaxCoins[] = _("Max Coins"); -static const u8 sDebugText_Give_BattlePoints[] = _("Max Battle Points"); -static const u8 sDebugText_Give_DaycareEgg[] = _("Daycare Egg"); +static const u8 sDebugText_IVs[] = _("IV {STR_VAR_1}:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_EVs[] = _("EV {STR_VAR_1}:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); // Sound Menu -static const u8 sDebugText_Sound_SFX[] = _("SFX…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_Sound_SFX_ID[] = _("SFX ID: {STR_VAR_3} {START_BUTTON} Stop\n{STR_VAR_1} \n{STR_VAR_2}"); -static const u8 sDebugText_Sound_Music[] = _("Music…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_Sound_Music_ID[] = _("Music ID: {STR_VAR_3} {START_BUTTON} Stop\n{STR_VAR_1} \n{STR_VAR_2}"); -// Berry Function Menu -static const u8 sDebugText_BerryFunctions_ClearAll[] = _("Clear map trees"); -static const u8 sDebugText_BerryFunctions_Ready[] = _("Ready map trees"); -static const u8 sDebugText_BerryFunctions_NextStage[] = _("Grow map trees"); -static const u8 sDebugText_BerryFunctions_Pests[] = _("Give map trees pests"); -static const u8 sDebugText_BerryFunctions_Weeds[] = _("Give map trees weeds"); -static const u8 sDebugText_Digit_1[] = _("{LEFT_ARROW}+1{RIGHT_ARROW} "); -static const u8 sDebugText_Digit_10[] = _("{LEFT_ARROW}+10{RIGHT_ARROW} "); -static const u8 sDebugText_Digit_100[] = _("{LEFT_ARROW}+100{RIGHT_ARROW} "); -static const u8 sDebugText_Digit_1000[] = _("{LEFT_ARROW}+1000{RIGHT_ARROW} "); -static const u8 sDebugText_Digit_10000[] = _("{LEFT_ARROW}+10000{RIGHT_ARROW} "); -static const u8 sDebugText_Digit_100000[] = _("{LEFT_ARROW}+100000{RIGHT_ARROW} "); -static const u8 sDebugText_Digit_1000000[] = _("{LEFT_ARROW}+1000000{RIGHT_ARROW} "); -static const u8 sDebugText_Digit_10000000[] = _("{LEFT_ARROW}+10000000{RIGHT_ARROW} "); const u8 *const gText_DigitIndicator[] = { - sDebugText_Digit_1, - sDebugText_Digit_10, - sDebugText_Digit_100, - sDebugText_Digit_1000, - sDebugText_Digit_10000, - sDebugText_Digit_100000, - sDebugText_Digit_1000000, - sDebugText_Digit_10000000 + COMPOUND_STRING("{LEFT_ARROW}+1{RIGHT_ARROW} "), + COMPOUND_STRING("{LEFT_ARROW}+10{RIGHT_ARROW} "), + COMPOUND_STRING("{LEFT_ARROW}+100{RIGHT_ARROW} "), + COMPOUND_STRING("{LEFT_ARROW}+1000{RIGHT_ARROW} "), + COMPOUND_STRING("{LEFT_ARROW}+10000{RIGHT_ARROW} "), + COMPOUND_STRING("{LEFT_ARROW}+100000{RIGHT_ARROW} "), + COMPOUND_STRING("{LEFT_ARROW}+1000000{RIGHT_ARROW} "), + COMPOUND_STRING("{LEFT_ARROW}+10000000{RIGHT_ARROW} "), }; static const s32 sPowersOfTen[] = @@ -716,173 +554,173 @@ static const s32 sPowersOfTen[] = // List Menu Items static const struct ListMenuItem sDebugMenu_Items_Main[] = { - [DEBUG_MENU_ITEM_UTILITIES] = {sDebugText_Utilities, DEBUG_MENU_ITEM_UTILITIES}, - [DEBUG_MENU_ITEM_PCBAG] = {sDebugText_PCBag, DEBUG_MENU_ITEM_PCBAG}, - [DEBUG_MENU_ITEM_PARTY] = {sDebugText_Party, DEBUG_MENU_ITEM_PARTY}, - [DEBUG_MENU_ITEM_GIVE] = {sDebugText_Give, DEBUG_MENU_ITEM_GIVE}, - [DEBUG_MENU_ITEM_SCRIPTS] = {sDebugText_Scripts, DEBUG_MENU_ITEM_SCRIPTS}, - [DEBUG_MENU_ITEM_FLAGVAR] = {sDebugText_FlagsVars, DEBUG_MENU_ITEM_FLAGVAR}, - //[DEBUG_MENU_ITEM_BATTLE] = {sDebugText_Battle, DEBUG_MENU_ITEM_BATTLE}, - [DEBUG_MENU_ITEM_SOUND] = {sDebugText_Sound, DEBUG_MENU_ITEM_SOUND}, - [DEBUG_MENU_ITEM_CANCEL] = {sDebugText_Cancel, DEBUG_MENU_ITEM_CANCEL}, + [DEBUG_MENU_ITEM_UTILITIES] = {COMPOUND_STRING("Utilities…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_MENU_ITEM_UTILITIES}, + [DEBUG_MENU_ITEM_PCBAG] = {COMPOUND_STRING("PC/Bag…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_MENU_ITEM_PCBAG}, + [DEBUG_MENU_ITEM_PARTY] = {COMPOUND_STRING("Party…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_MENU_ITEM_PARTY}, + [DEBUG_MENU_ITEM_GIVE] = {COMPOUND_STRING("Give X…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_MENU_ITEM_GIVE}, + [DEBUG_MENU_ITEM_SCRIPTS] = {COMPOUND_STRING("Scripts…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_MENU_ITEM_SCRIPTS}, + [DEBUG_MENU_ITEM_FLAGVAR] = {COMPOUND_STRING("Flags & Vars…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_MENU_ITEM_FLAGVAR}, + //[DEBUG_MENU_ITEM_BATTLE] = {COMPOUND_STRING("Battle Test{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_MENU_ITEM_BATTLE}, + [DEBUG_MENU_ITEM_SOUND] = {COMPOUND_STRING("Sound…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_MENU_ITEM_SOUND}, + [DEBUG_MENU_ITEM_CANCEL] = {COMPOUND_STRING("Cancel"), DEBUG_MENU_ITEM_CANCEL}, }; static const struct ListMenuItem sDebugMenu_Items_Utilities[] = { - [DEBUG_UTIL_MENU_ITEM_FLY] = {sDebugText_Util_FlyToMap, DEBUG_UTIL_MENU_ITEM_FLY}, - [DEBUG_UTIL_MENU_ITEM_WARP] = {sDebugText_Util_WarpToMap, DEBUG_UTIL_MENU_ITEM_WARP}, - [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = {sDebugText_Util_SaveBlockSpace, DEBUG_UTIL_MENU_ITEM_SAVEBLOCK}, - [DEBUG_UTIL_MENU_ITEM_ROM_SPACE] = {sDebugText_Util_ROMSpace, DEBUG_UTIL_MENU_ITEM_ROM_SPACE}, - [DEBUG_UTIL_MENU_ITEM_WEATHER] = {sDebugText_Util_Weather, DEBUG_UTIL_MENU_ITEM_WEATHER}, - [DEBUG_UTIL_MENU_ITEM_FONT_TEST] = {sDebugText_Util_FontTest, DEBUG_UTIL_MENU_ITEM_FONT_TEST}, - [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = {sDebugText_Util_CheckWallClock, DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK}, - [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = {sDebugText_Util_SetWallClock, DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK}, - [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = {sDebugText_Util_WatchCredits, DEBUG_UTIL_MENU_ITEM_WATCHCREDITS}, - [DEBUG_UTIL_MENU_ITEM_PLAYER_NAME] = {sDebugText_Util_Player_Name, DEBUG_UTIL_MENU_ITEM_PLAYER_NAME}, - [DEBUG_UTIL_MENU_ITEM_PLAYER_GENDER] = {sDebugText_Util_Player_Gender, DEBUG_UTIL_MENU_ITEM_PLAYER_GENDER}, - [DEBUG_UTIL_MENU_ITEM_PLAYER_ID] = {sDebugText_Util_Player_Id, DEBUG_UTIL_MENU_ITEM_PLAYER_ID}, - [DEBUG_UTIL_MENU_ITEM_CHEAT] = {sDebugText_Util_CheatStart, DEBUG_UTIL_MENU_ITEM_CHEAT}, - [DEBUG_UTIL_MENU_ITEM_EXPANSION_VER] = {sDebugText_Util_ExpansionVersion, DEBUG_UTIL_MENU_ITEM_EXPANSION_VER}, - [DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS] = {sDebugText_Util_BerryFunctions, DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS}, - [DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS] = {sDebugText_Util_EWRAMCounters, DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS}, - [DEBUG_UTIL_MENU_ITEM_STEVEN_MULTI] = {sDebugText_Util_Steven_Multi, DEBUG_UTIL_MENU_ITEM_STEVEN_MULTI}, + [DEBUG_UTIL_MENU_ITEM_FLY] = {COMPOUND_STRING("Fly to map…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_UTIL_MENU_ITEM_FLY}, + [DEBUG_UTIL_MENU_ITEM_WARP] = {COMPOUND_STRING("Warp to map warp…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_UTIL_MENU_ITEM_WARP}, + [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = {COMPOUND_STRING("Save Block space…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_UTIL_MENU_ITEM_SAVEBLOCK}, + [DEBUG_UTIL_MENU_ITEM_ROM_SPACE] = {COMPOUND_STRING("ROM space…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_UTIL_MENU_ITEM_ROM_SPACE}, + [DEBUG_UTIL_MENU_ITEM_WEATHER] = {COMPOUND_STRING("Set weather…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_UTIL_MENU_ITEM_WEATHER}, + [DEBUG_UTIL_MENU_ITEM_FONT_TEST] = {COMPOUND_STRING("Font Test…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_UTIL_MENU_ITEM_FONT_TEST}, + [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = {COMPOUND_STRING("Check wall clock…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK}, + [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = {COMPOUND_STRING("Set wall clock…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK}, + [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = {COMPOUND_STRING("Watch credits…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_UTIL_MENU_ITEM_WATCHCREDITS}, + [DEBUG_UTIL_MENU_ITEM_PLAYER_NAME] = {COMPOUND_STRING("Player name"), DEBUG_UTIL_MENU_ITEM_PLAYER_NAME}, + [DEBUG_UTIL_MENU_ITEM_PLAYER_GENDER] = {COMPOUND_STRING("Toggle gender"), DEBUG_UTIL_MENU_ITEM_PLAYER_GENDER}, + [DEBUG_UTIL_MENU_ITEM_PLAYER_ID] = {COMPOUND_STRING("New Trainer ID"), DEBUG_UTIL_MENU_ITEM_PLAYER_ID}, + [DEBUG_UTIL_MENU_ITEM_CHEAT] = {COMPOUND_STRING("Cheat start"), DEBUG_UTIL_MENU_ITEM_CHEAT}, + [DEBUG_UTIL_MENU_ITEM_EXPANSION_VER] = {COMPOUND_STRING("Expansion Version"), DEBUG_UTIL_MENU_ITEM_EXPANSION_VER}, + [DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS] = {COMPOUND_STRING("Berry Functions…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS}, + [DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS] = {COMPOUND_STRING("EWRAM Counters…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS}, + [DEBUG_UTIL_MENU_ITEM_STEVEN_MULTI] = {COMPOUND_STRING("Steven Multi"), DEBUG_UTIL_MENU_ITEM_STEVEN_MULTI}, }; static const struct ListMenuItem sDebugMenu_Items_PCBag[] = { - [DEBUG_PCBAG_MENU_ITEM_ACCESS_PC] = {sDebugText_PCBag_AccessPC, DEBUG_PCBAG_MENU_ITEM_ACCESS_PC}, - [DEBUG_PCBAG_MENU_ITEM_FILL] = {sDebugText_PCBag_Fill, DEBUG_PCBAG_MENU_ITEM_FILL}, - [DEBUG_PCBAG_MENU_ITEM_CLEAR_BAG] = {sDebugText_PCBag_ClearBag, DEBUG_PCBAG_MENU_ITEM_CLEAR_BAG}, - [DEBUG_PCBAG_MENU_ITEM_CLEAR_BOXES] = {sDebugText_PCBag_ClearBoxes, DEBUG_PCBAG_MENU_ITEM_CLEAR_BOXES}, + [DEBUG_PCBAG_MENU_ITEM_ACCESS_PC] = {COMPOUND_STRING("Access PC"), DEBUG_PCBAG_MENU_ITEM_ACCESS_PC}, + [DEBUG_PCBAG_MENU_ITEM_FILL] = {COMPOUND_STRING("Fill…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_PCBAG_MENU_ITEM_FILL}, + [DEBUG_PCBAG_MENU_ITEM_CLEAR_BAG] = {COMPOUND_STRING("Clear Bag"), DEBUG_PCBAG_MENU_ITEM_CLEAR_BAG}, + [DEBUG_PCBAG_MENU_ITEM_CLEAR_BOXES] = {COMPOUND_STRING("Clear Storage Boxes"), DEBUG_PCBAG_MENU_ITEM_CLEAR_BOXES}, }; static const struct ListMenuItem sDebugMenu_Items_PCBag_Fill[] = { - [DEBUG_PCBAG_MENU_ITEM_FILL_PC_BOXES_FAST] = {sDebugText_PCBag_Fill_Pc_Fast, DEBUG_PCBAG_MENU_ITEM_FILL_PC_BOXES_FAST}, - [DEBUG_PCBAG_MENU_ITEM_FILL_PC_BOXES_SLOW] = {sDebugText_PCBag_Fill_Pc_Slow, DEBUG_PCBAG_MENU_ITEM_FILL_PC_BOXES_SLOW}, - [DEBUG_PCBAG_MENU_ITEM_FILL_PC_ITEMS] = {sDebugText_PCBag_Fill_Pc_Items , DEBUG_PCBAG_MENU_ITEM_FILL_PC_ITEMS}, - [DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_ITEMS] = {sDebugText_PCBag_Fill_PocketItems, DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_ITEMS}, - [DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_BALLS] = {sDebugText_PCBag_Fill_PocketPokeBalls, DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_BALLS}, - [DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_TMHM] = {sDebugText_PCBag_Fill_PocketTMHM, DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_TMHM}, - [DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_BERRIES] = {sDebugText_PCBag_Fill_PocketBerries, DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_BERRIES}, - [DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_KEY_ITEMS] = {sDebugText_PCBag_Fill_PocketKeyItems, DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_KEY_ITEMS}, + [DEBUG_PCBAG_MENU_ITEM_FILL_PC_BOXES_FAST] = {COMPOUND_STRING("Fill PC Boxes Fast"), DEBUG_PCBAG_MENU_ITEM_FILL_PC_BOXES_FAST}, + [DEBUG_PCBAG_MENU_ITEM_FILL_PC_BOXES_SLOW] = {COMPOUND_STRING("Fill PC Boxes Slow (LAG!)"), DEBUG_PCBAG_MENU_ITEM_FILL_PC_BOXES_SLOW}, + [DEBUG_PCBAG_MENU_ITEM_FILL_PC_ITEMS] = {COMPOUND_STRING("Fill PC Items") , DEBUG_PCBAG_MENU_ITEM_FILL_PC_ITEMS}, + [DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_ITEMS] = {COMPOUND_STRING("Fill Pocket Items"), DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_ITEMS}, + [DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_BALLS] = {COMPOUND_STRING("Fill Pocket PokĆ© Balls"), DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_BALLS}, + [DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_TMHM] = {COMPOUND_STRING("Fill Pocket TMHM"), DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_TMHM}, + [DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_BERRIES] = {COMPOUND_STRING("Fill Pocket Berries"), DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_BERRIES}, + [DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_KEY_ITEMS] = {COMPOUND_STRING("Fill Pocket Key Items"), DEBUG_PCBAG_MENU_ITEM_FILL_POCKET_KEY_ITEMS}, }; static const struct ListMenuItem sDebugMenu_Items_Party[] = { - [DEBUG_PARTY_MENU_ITEM_MOVE_REMINDER] = {sDebugText_Party_MoveReminder, DEBUG_PARTY_MENU_ITEM_MOVE_REMINDER}, - [DEBUG_PARTY_MENU_ITEM_HATCH_AN_EGG] = {sDebugText_Party_HatchAnEgg, DEBUG_PARTY_MENU_ITEM_HATCH_AN_EGG}, - [DEBUG_PARTY_MENU_ITEM_HEAL_PARTY] = {sDebugText_Party_HealParty, DEBUG_PARTY_MENU_ITEM_HEAL_PARTY}, - [DEBUG_PARTY_MENU_ITEM_INFLICT_STATUS1] = {sDebugText_Party_InflictStatus1, DEBUG_PARTY_MENU_ITEM_INFLICT_STATUS1}, - [DEBUG_PARTY_MENU_ITEM_CHECK_EVS] = {sDebugText_Party_CheckEVs, DEBUG_PARTY_MENU_ITEM_CHECK_EVS}, - [DEBUG_PARTY_MENU_ITEM_CHECK_IVS] = {sDebugText_Party_CheckIVs, DEBUG_PARTY_MENU_ITEM_CHECK_IVS}, - [DEBUG_PARTY_MENU_ITEM_CLEAR_PARTY] = {sDebugText_Party_ClearParty, DEBUG_PARTY_MENU_ITEM_CLEAR_PARTY}, + [DEBUG_PARTY_MENU_ITEM_MOVE_REMINDER] = {COMPOUND_STRING("Move Reminder"), DEBUG_PARTY_MENU_ITEM_MOVE_REMINDER}, + [DEBUG_PARTY_MENU_ITEM_HATCH_AN_EGG] = {COMPOUND_STRING("Hatch an Egg"), DEBUG_PARTY_MENU_ITEM_HATCH_AN_EGG}, + [DEBUG_PARTY_MENU_ITEM_HEAL_PARTY] = {COMPOUND_STRING("Heal party"), DEBUG_PARTY_MENU_ITEM_HEAL_PARTY}, + [DEBUG_PARTY_MENU_ITEM_INFLICT_STATUS1] = {COMPOUND_STRING("Inflict Status1"), DEBUG_PARTY_MENU_ITEM_INFLICT_STATUS1}, + [DEBUG_PARTY_MENU_ITEM_CHECK_EVS] = {COMPOUND_STRING("Check EVs"), DEBUG_PARTY_MENU_ITEM_CHECK_EVS}, + [DEBUG_PARTY_MENU_ITEM_CHECK_IVS] = {COMPOUND_STRING("Check IVs"), DEBUG_PARTY_MENU_ITEM_CHECK_IVS}, + [DEBUG_PARTY_MENU_ITEM_CLEAR_PARTY] = {COMPOUND_STRING("Clear Party"), DEBUG_PARTY_MENU_ITEM_CLEAR_PARTY}, }; static const struct ListMenuItem sDebugMenu_Items_Scripts[] = { - [DEBUG_UTIL_MENU_ITEM_SCRIPT_1] = {sDebugText_Util_Script_1, DEBUG_UTIL_MENU_ITEM_SCRIPT_1}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_2] = {sDebugText_Util_Script_2, DEBUG_UTIL_MENU_ITEM_SCRIPT_2}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_3] = {sDebugText_Util_Script_3, DEBUG_UTIL_MENU_ITEM_SCRIPT_3}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_4] = {sDebugText_Util_Script_4, DEBUG_UTIL_MENU_ITEM_SCRIPT_4}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_5] = {sDebugText_Util_Script_5, DEBUG_UTIL_MENU_ITEM_SCRIPT_5}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_6] = {sDebugText_Util_Script_6, DEBUG_UTIL_MENU_ITEM_SCRIPT_6}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_7] = {sDebugText_Util_Script_7, DEBUG_UTIL_MENU_ITEM_SCRIPT_7}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_8] = {sDebugText_Util_Script_8, DEBUG_UTIL_MENU_ITEM_SCRIPT_8}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_1] = {COMPOUND_STRING("Script 1"), DEBUG_UTIL_MENU_ITEM_SCRIPT_1}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_2] = {COMPOUND_STRING("Script 2"), DEBUG_UTIL_MENU_ITEM_SCRIPT_2}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_3] = {COMPOUND_STRING("Script 3"), DEBUG_UTIL_MENU_ITEM_SCRIPT_3}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_4] = {COMPOUND_STRING("Script 4"), DEBUG_UTIL_MENU_ITEM_SCRIPT_4}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_5] = {COMPOUND_STRING("Script 5"), DEBUG_UTIL_MENU_ITEM_SCRIPT_5}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_6] = {COMPOUND_STRING("Script 6"), DEBUG_UTIL_MENU_ITEM_SCRIPT_6}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_7] = {COMPOUND_STRING("Script 7"), DEBUG_UTIL_MENU_ITEM_SCRIPT_7}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_8] = {COMPOUND_STRING("Script 8"), DEBUG_UTIL_MENU_ITEM_SCRIPT_8}, }; static const struct ListMenuItem sDebugMenu_Items_FlagsVars[] = { - [DEBUG_FLAGVAR_MENU_ITEM_FLAGS] = {sDebugText_FlagsVars_Flags, DEBUG_FLAGVAR_MENU_ITEM_FLAGS}, - [DEBUG_FLAGVAR_MENU_ITEM_VARS] = {sDebugText_FlagsVars_Vars, DEBUG_FLAGVAR_MENU_ITEM_VARS}, - [DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_ALL] = {sDebugText_FlagsVars_PokedexFlags_All, DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_ALL}, - [DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_RESET] = {sDebugText_FlagsVars_PokedexFlags_Reset, DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_RESET}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKEDEX] = {sDebugText_FlagsVars_SwitchDex, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKEDEX}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_NATDEX] = {sDebugText_FlagsVars_SwitchNationalDex, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_NATDEX}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKENAV] = {sDebugText_FlagsVars_SwitchPokeNav, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKENAV}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_MATCH_CALL] = {sDebugText_FlagsVars_SwitchMatchCall, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_MATCH_CALL}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_RUN_SHOES] = {sDebugText_FlagsVars_RunningShoes, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_RUN_SHOES}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_LOCATIONS] = {sDebugText_FlagsVars_ToggleFlyFlags, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_LOCATIONS}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BADGES_ALL] = {sDebugText_FlagsVars_ToggleAllBadges, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BADGES_ALL}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_GAME_CLEAR] = {sDebugText_FlagsVars_ToggleGameClear, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_GAME_CLEAR}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_FRONTIER_PASS] = {sDebugText_FlagsVars_ToggleFrontierPass, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_FRONTIER_PASS}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_COLLISION] = {sDebugText_FlagsVars_SwitchCollision, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_COLLISION}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_ENCOUNTER] = {sDebugText_FlagsVars_SwitchEncounter, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_ENCOUNTER}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_TRAINER_SEE] = {sDebugText_FlagsVars_SwitchTrainerSee, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_TRAINER_SEE}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BAG_USE] = {sDebugText_FlagsVars_SwitchBagUse, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BAG_USE}, - [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_CATCHING] = {sDebugText_FlagsVars_SwitchCatching, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_CATCHING}, + [DEBUG_FLAGVAR_MENU_ITEM_FLAGS] = {COMPOUND_STRING("Set Flag XYZ…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_FLAGVAR_MENU_ITEM_FLAGS}, + [DEBUG_FLAGVAR_MENU_ITEM_VARS] = {COMPOUND_STRING("Set Var XYZ…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_FLAGVAR_MENU_ITEM_VARS}, + [DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_ALL] = {COMPOUND_STRING("PokĆ©dex Flags All"), DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_ALL}, + [DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_RESET] = {COMPOUND_STRING("PokĆ©dex Flags Reset"), DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_RESET}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKEDEX] = {COMPOUND_STRING("Toggle {STR_VAR_1}PokĆ©dex"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKEDEX}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_NATDEX] = {COMPOUND_STRING("Toggle {STR_VAR_1}National Dex"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_NATDEX}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKENAV] = {COMPOUND_STRING("Toggle {STR_VAR_1}PokĆ©Nav"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKENAV}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_MATCH_CALL] = {COMPOUND_STRING("Toggle {STR_VAR_1}Match Call"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_MATCH_CALL}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_RUN_SHOES] = {COMPOUND_STRING("Toggle {STR_VAR_1}Running Shoes"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_RUN_SHOES}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_LOCATIONS] = {COMPOUND_STRING("Toggle {STR_VAR_1}Fly Flags"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_LOCATIONS}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BADGES_ALL] = {COMPOUND_STRING("Toggle {STR_VAR_1}All badges"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BADGES_ALL}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_GAME_CLEAR] = {COMPOUND_STRING("Toggle {STR_VAR_1}Game clear"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_GAME_CLEAR}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_FRONTIER_PASS] = {COMPOUND_STRING("Toggle {STR_VAR_1}Frontier Pass"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_FRONTIER_PASS}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_COLLISION] = {COMPOUND_STRING("Toggle {STR_VAR_1}Collision OFF"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_COLLISION}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_ENCOUNTER] = {COMPOUND_STRING("Toggle {STR_VAR_1}Encounter OFF"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_ENCOUNTER}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_TRAINER_SEE] = {COMPOUND_STRING("Toggle {STR_VAR_1}Trainer See OFF"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_TRAINER_SEE}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BAG_USE] = {COMPOUND_STRING("Toggle {STR_VAR_1}Bag Use OFF"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BAG_USE}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_CATCHING] = {COMPOUND_STRING("Toggle {STR_VAR_1}Catching OFF"), DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_CATCHING}, }; static const struct ListMenuItem sDebugMenu_Items_Battle_0[] = { - [DEBUG_BATTLE_0_MENU_ITEM_WILD] = {sDebugText_Battle_0_Wild, DEBUG_BATTLE_0_MENU_ITEM_WILD}, - [DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE] = {sDebugText_Battle_0_WildDouble, DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE}, - [DEBUG_BATTLE_0_MENU_ITEM_SINGLE] = {sDebugText_Battle_0_Single, DEBUG_BATTLE_0_MENU_ITEM_SINGLE}, - [DEBUG_BATTLE_0_MENU_ITEM_DOUBLE] = {sDebugText_Battle_0_Double, DEBUG_BATTLE_0_MENU_ITEM_DOUBLE}, - [DEBUG_BATTLE_0_MENU_ITEM_MULTI] = {sDebugText_Battle_0_Mulit, DEBUG_BATTLE_0_MENU_ITEM_MULTI}, + [DEBUG_BATTLE_0_MENU_ITEM_WILD] = {COMPOUND_STRING("Wild…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_0_MENU_ITEM_WILD}, + [DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE] = {COMPOUND_STRING("Wild Double…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE}, + [DEBUG_BATTLE_0_MENU_ITEM_SINGLE] = {COMPOUND_STRING("Single…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_0_MENU_ITEM_SINGLE}, + [DEBUG_BATTLE_0_MENU_ITEM_DOUBLE] = {COMPOUND_STRING("Double…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_0_MENU_ITEM_DOUBLE}, + [DEBUG_BATTLE_0_MENU_ITEM_MULTI] = {COMPOUND_STRING("Multi…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_0_MENU_ITEM_MULTI}, }; static const struct ListMenuItem sDebugMenu_Items_Battle_1[] = { - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_00] = {sDebugText_Battle_1_AIFlag_00, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_00}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_01] = {sDebugText_Battle_1_AIFlag_01, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_01}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_02] = {sDebugText_Battle_1_AIFlag_02, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_02}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_03] = {sDebugText_Battle_1_AIFlag_03, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_03}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_04] = {sDebugText_Battle_1_AIFlag_04, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_04}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_05] = {sDebugText_Battle_1_AIFlag_05, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_05}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_06] = {sDebugText_Battle_1_AIFlag_06, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_06}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_07] = {sDebugText_Battle_1_AIFlag_07, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_07}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_08] = {sDebugText_Battle_1_AIFlag_08, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_08}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_09] = {sDebugText_Battle_1_AIFlag_09, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_09}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_10] = {sDebugText_Battle_1_AIFlag_10, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_10}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_11] = {sDebugText_Battle_1_AIFlag_11, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_11}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_12] = {sDebugText_Battle_1_AIFlag_12, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_12}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_13] = {sDebugText_Battle_1_AIFlag_13, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_13}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_14] = {sDebugText_Battle_1_AIFlag_14, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_14}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_15] = {sDebugText_Battle_1_AIFlag_15, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_15}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_16] = {sDebugText_Battle_1_AIFlag_16, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_16}, - [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_17] = {sDebugText_Battle_1_AIFlag_17, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_17}, - [DEBUG_BATTLE_1_MENU_ITEM_CONTINUE] = {sDebugText_Continue, DEBUG_BATTLE_1_MENU_ITEM_CONTINUE}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_00] = {COMPOUND_STRING("{STR_VAR_1}Check bad move"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_00}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_01] = {COMPOUND_STRING("{STR_VAR_1}Try to faint"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_01}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_02] = {COMPOUND_STRING("{STR_VAR_1}Check viability"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_02}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_03] = {COMPOUND_STRING("{STR_VAR_1}Setup first turn"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_03}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_04] = {COMPOUND_STRING("{STR_VAR_1}Risky"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_04}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_05] = {COMPOUND_STRING("{STR_VAR_1}Prefer strongest move"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_05}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_06] = {COMPOUND_STRING("{STR_VAR_1}Prefer Baton Pass"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_06}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_07] = {COMPOUND_STRING("{STR_VAR_1}Double battle"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_07}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_08] = {COMPOUND_STRING("{STR_VAR_1}HP aware"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_08}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_09] = {COMPOUND_STRING("{STR_VAR_1}Negate Unaware"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_09}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_10] = {COMPOUND_STRING("{STR_VAR_1}Will suicide"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_10}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_11] = {COMPOUND_STRING("{STR_VAR_1}Help partner"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_11}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_12] = {COMPOUND_STRING("{STR_VAR_1}Prefer status moves"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_12}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_13] = {COMPOUND_STRING("{STR_VAR_1}Stall"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_13}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_14] = {COMPOUND_STRING("{STR_VAR_1}Screener"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_14}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_15] = {COMPOUND_STRING("{STR_VAR_1}Smart switching"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_15}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_16] = {COMPOUND_STRING("{STR_VAR_1}Ace pokemon"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_16}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_17] = {COMPOUND_STRING("{STR_VAR_1}Omniscient"), DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_17}, + [DEBUG_BATTLE_1_MENU_ITEM_CONTINUE] = {sDebugText_Continue, DEBUG_BATTLE_1_MENU_ITEM_CONTINUE}, }; static const struct ListMenuItem sDebugMenu_Items_Battle_2[] = { - [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_0] = {sDebugText_Battle_2_Terrain_0, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_0}, - [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_1] = {sDebugText_Battle_2_Terrain_1, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_1}, - [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_2] = {sDebugText_Battle_2_Terrain_2, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_2}, - [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_3] = {sDebugText_Battle_2_Terrain_3, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_3}, - [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_4] = {sDebugText_Battle_2_Terrain_4, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_4}, - [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_5] = {sDebugText_Battle_2_Terrain_5, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_5}, - [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_6] = {sDebugText_Battle_2_Terrain_6, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_6}, - [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_7] = {sDebugText_Battle_2_Terrain_7, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_7}, - [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_8] = {sDebugText_Battle_2_Terrain_8, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_8}, - [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_9] = {sDebugText_Battle_2_Terrain_9, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_9}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_0] = {COMPOUND_STRING("Grass…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_0}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_1] = {COMPOUND_STRING("Long grass…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_1}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_2] = {COMPOUND_STRING("Sand…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_2}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_3] = {COMPOUND_STRING("Underwater…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_3}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_4] = {COMPOUND_STRING("Water…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_4}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_5] = {COMPOUND_STRING("Pond…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_5}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_6] = {COMPOUND_STRING("Mountain…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_6}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_7] = {COMPOUND_STRING("Cave…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_7}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_8] = {COMPOUND_STRING("Building…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_8}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_9] = {COMPOUND_STRING("Plain…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_9}, }; static const struct ListMenuItem sDebugMenu_Items_Give[] = { - [DEBUG_GIVE_MENU_ITEM_ITEM_X] = {sDebugText_Give_GiveItem, DEBUG_GIVE_MENU_ITEM_ITEM_X}, - [DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE] = {sDebugText_Give_GivePokemonSimple, DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE}, - [DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX] = {sDebugText_Give_GivePokemonComplex, DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX}, - [DEBUG_GIVE_MENU_ITEM_MAX_MONEY] = {sDebugText_Give_MaxMoney, DEBUG_GIVE_MENU_ITEM_MAX_MONEY}, - [DEBUG_GIVE_MENU_ITEM_MAX_COINS] = {sDebugText_Give_MaxCoins, DEBUG_GIVE_MENU_ITEM_MAX_COINS}, - [DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS] = {sDebugText_Give_BattlePoints, DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS}, - [DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG] = {sDebugText_Give_DaycareEgg, DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG}, + [DEBUG_GIVE_MENU_ITEM_ITEM_X] = {COMPOUND_STRING("Give item XYZ…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_GIVE_MENU_ITEM_ITEM_X}, + [DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE] = {COMPOUND_STRING("PokĆ©mon (Basic){CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE}, + [DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX] = {COMPOUND_STRING("PokĆ©mon (Complex){CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX}, + [DEBUG_GIVE_MENU_ITEM_MAX_MONEY] = {COMPOUND_STRING("Max Money"), DEBUG_GIVE_MENU_ITEM_MAX_MONEY}, + [DEBUG_GIVE_MENU_ITEM_MAX_COINS] = {COMPOUND_STRING("Max Coins"), DEBUG_GIVE_MENU_ITEM_MAX_COINS}, + [DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS] = {COMPOUND_STRING("Max Battle Points"), DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS}, + [DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG] = {COMPOUND_STRING("Daycare Egg"), DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG}, }; static const struct ListMenuItem sDebugMenu_Items_Sound[] = { - [DEBUG_SOUND_MENU_ITEM_SE] = {sDebugText_Sound_SFX, DEBUG_SOUND_MENU_ITEM_SE}, - [DEBUG_SOUND_MENU_ITEM_MUS] = {sDebugText_Sound_Music, DEBUG_SOUND_MENU_ITEM_MUS}, + [DEBUG_SOUND_MENU_ITEM_SE] = {COMPOUND_STRING("SFX…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_SOUND_MENU_ITEM_SE}, + [DEBUG_SOUND_MENU_ITEM_MUS] = {COMPOUND_STRING("Music…{CLEAR_TO 110}{RIGHT_ARROW}"), DEBUG_SOUND_MENU_ITEM_MUS}, }; static const struct ListMenuItem sDebugMenu_Items_BerryFunctions[] = { - [DEBUG_BERRY_FUNCTIONS_MENU_CLEAR_ALL] = {sDebugText_BerryFunctions_ClearAll, DEBUG_BERRY_FUNCTIONS_MENU_CLEAR_ALL}, - [DEBUG_BERRY_FUNCTIONS_MENU_READY] = {sDebugText_BerryFunctions_Ready, DEBUG_BERRY_FUNCTIONS_MENU_READY}, - [DEBUG_BERRY_FUNCTIONS_MENU_NEXT_STAGE] = {sDebugText_BerryFunctions_NextStage, DEBUG_BERRY_FUNCTIONS_MENU_NEXT_STAGE}, - [DEBUG_BERRY_FUNCTIONS_MENU_PESTS] = {sDebugText_BerryFunctions_Pests, DEBUG_BERRY_FUNCTIONS_MENU_PESTS}, - [DEBUG_BERRY_FUNCTIONS_MENU_WEEDS] = {sDebugText_BerryFunctions_Weeds, DEBUG_BERRY_FUNCTIONS_MENU_WEEDS}, + [DEBUG_BERRY_FUNCTIONS_MENU_CLEAR_ALL] = {COMPOUND_STRING("Clear map trees"), DEBUG_BERRY_FUNCTIONS_MENU_CLEAR_ALL}, + [DEBUG_BERRY_FUNCTIONS_MENU_READY] = {COMPOUND_STRING("Ready map trees"), DEBUG_BERRY_FUNCTIONS_MENU_READY}, + [DEBUG_BERRY_FUNCTIONS_MENU_NEXT_STAGE] = {COMPOUND_STRING("Grow map trees"), DEBUG_BERRY_FUNCTIONS_MENU_NEXT_STAGE}, + [DEBUG_BERRY_FUNCTIONS_MENU_PESTS] = {COMPOUND_STRING("Give map trees pests"), DEBUG_BERRY_FUNCTIONS_MENU_PESTS}, + [DEBUG_BERRY_FUNCTIONS_MENU_WEEDS] = {COMPOUND_STRING("Give map trees weeds"), DEBUG_BERRY_FUNCTIONS_MENU_WEEDS}, }; // ******************************* @@ -1303,6 +1141,29 @@ static void DebugAction_DestroyExtraWindow(u8 taskId) UnfreezeObjectEvents(); } + +static const u16 sLocationFlags[] = +{ + FLAG_VISITED_LITTLEROOT_TOWN, + FLAG_VISITED_OLDALE_TOWN, + FLAG_VISITED_DEWFORD_TOWN, + FLAG_VISITED_LAVARIDGE_TOWN, + FLAG_VISITED_FALLARBOR_TOWN, + FLAG_VISITED_VERDANTURF_TOWN, + FLAG_VISITED_PACIFIDLOG_TOWN, + FLAG_VISITED_PETALBURG_CITY, + FLAG_VISITED_SLATEPORT_CITY, + FLAG_VISITED_MAUVILLE_CITY, + FLAG_VISITED_RUSTBORO_CITY, + FLAG_VISITED_FORTREE_CITY, + FLAG_VISITED_LILYCOVE_CITY, + FLAG_VISITED_MOSSDEEP_CITY, + FLAG_VISITED_SOOTOPOLIS_CITY, + FLAG_VISITED_EVER_GRANDE_CITY, + FLAG_LANDMARK_POKEMON_LEAGUE, + FLAG_LANDMARK_BATTLE_FRONTIER, +}; + static u8 Debug_CheckToggleFlags(u8 id) { u8 result = FALSE; @@ -1325,34 +1186,26 @@ static u8 Debug_CheckToggleFlags(u8 id) result = FlagGet(FLAG_SYS_B_DASH); break; case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_LOCATIONS: - result = FlagGet(FLAG_VISITED_LITTLEROOT_TOWN) && - FlagGet(FLAG_VISITED_OLDALE_TOWN) && - FlagGet(FLAG_VISITED_DEWFORD_TOWN) && - FlagGet(FLAG_VISITED_LAVARIDGE_TOWN) && - FlagGet(FLAG_VISITED_FALLARBOR_TOWN) && - FlagGet(FLAG_VISITED_VERDANTURF_TOWN) && - FlagGet(FLAG_VISITED_PACIFIDLOG_TOWN) && - FlagGet(FLAG_VISITED_PETALBURG_CITY) && - FlagGet(FLAG_VISITED_SLATEPORT_CITY) && - FlagGet(FLAG_VISITED_MAUVILLE_CITY) && - FlagGet(FLAG_VISITED_RUSTBORO_CITY) && - FlagGet(FLAG_VISITED_FORTREE_CITY) && - FlagGet(FLAG_VISITED_LILYCOVE_CITY) && - FlagGet(FLAG_VISITED_MOSSDEEP_CITY) && - FlagGet(FLAG_VISITED_SOOTOPOLIS_CITY) && - FlagGet(FLAG_VISITED_EVER_GRANDE_CITY) && - FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && - FlagGet(FLAG_LANDMARK_BATTLE_FRONTIER); + result = TRUE; + for (u32 i = 0; i < ARRAY_COUNT(sLocationFlags); i++) + { + if (!FlagGet(sLocationFlags[i])) + { + result = FALSE; + break; + } + } break; case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BADGES_ALL: - result = FlagGet(FLAG_BADGE01_GET) && - FlagGet(FLAG_BADGE02_GET) && - FlagGet(FLAG_BADGE03_GET) && - FlagGet(FLAG_BADGE04_GET) && - FlagGet(FLAG_BADGE05_GET) && - FlagGet(FLAG_BADGE06_GET) && - FlagGet(FLAG_BADGE07_GET) && - FlagGet(FLAG_BADGE08_GET); + result = TRUE; + for (u32 i = 0; i < ARRAY_COUNT(gBadgeFlags); i++) + { + if (!FlagGet(gBadgeFlags[i])) + { + result = FALSE; + break; + } + } break; case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_GAME_CLEAR: result = FlagGet(FLAG_SYS_GAME_CLEAR); @@ -1547,7 +1400,7 @@ static void DebugTask_HandleMenuInput_Main(u8 taskId) } } -static void DebugTask_HandleMenuInput_Utilities(u8 taskId) +static void DebugTask_HandleMenuInput_General(u8 taskId, const void (*const actions[])(u8), void (*callbackInput)(u8), struct ListMenuTemplate callbackMenuTemplate) { void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].tMenuTaskId); @@ -1555,91 +1408,40 @@ static void DebugTask_HandleMenuInput_Utilities(u8 taskId) if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - if ((func = sDebugMenu_Actions_Utilities[input]) != NULL) + if ((func = actions[input]) != NULL) func(taskId); } else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); - Debug_ReShowMainMenu(); + Debug_ShowMenu(callbackInput, callbackMenuTemplate); } } +static void DebugTask_HandleMenuInput_Utilities(u8 taskId) +{ + DebugTask_HandleMenuInput_General(taskId, sDebugMenu_Actions_Utilities, DebugTask_HandleMenuInput_Main, sDebugMenu_ListTemplate_Main); +} + static void DebugTask_HandleMenuInput_PCBag(u8 taskId) { - void (*func)(u8); - u32 input = ListMenu_ProcessInput(gTasks[taskId].tMenuTaskId); - - if (JOY_NEW(A_BUTTON)) - { - PlaySE(SE_SELECT); - if ((func = sDebugMenu_Actions_PCBag[input]) != NULL) - func(taskId); - } - else if (JOY_NEW(B_BUTTON)) - { - PlaySE(SE_SELECT); - Debug_DestroyMenu(taskId); - Debug_ReShowMainMenu(); - } + DebugTask_HandleMenuInput_General(taskId, sDebugMenu_Actions_PCBag, DebugTask_HandleMenuInput_Main, sDebugMenu_ListTemplate_Main); } static void DebugTask_HandleMenuInput_PCBag_Fill(u8 taskId) { - void (*func)(u8); - u32 input = ListMenu_ProcessInput(gTasks[taskId].tMenuTaskId); - - if (JOY_NEW(A_BUTTON)) - { - PlaySE(SE_SELECT); - if ((func = sDebugMenu_Actions_PCBag_Fill[input]) != NULL) - func(taskId); - } - else if (JOY_NEW(B_BUTTON)) - { - PlaySE(SE_SELECT); - Debug_DestroyMenu(taskId); - Debug_ShowMenu(DebugTask_HandleMenuInput_PCBag, sDebugMenu_ListTemplate_PCBag); - } + DebugTask_HandleMenuInput_General(taskId, sDebugMenu_Actions_PCBag_Fill, DebugTask_HandleMenuInput_PCBag, sDebugMenu_ListTemplate_PCBag); } static void DebugTask_HandleMenuInput_Party(u8 taskId) { - void (*func)(u8); - u32 input = ListMenu_ProcessInput(gTasks[taskId].tMenuTaskId); - - if (JOY_NEW(A_BUTTON)) - { - PlaySE(SE_SELECT); - if ((func = sDebugMenu_Actions_Party[input]) != NULL) - func(taskId); - } - else if (JOY_NEW(B_BUTTON)) - { - PlaySE(SE_SELECT); - Debug_DestroyMenu(taskId); - Debug_ReShowMainMenu(); - } + DebugTask_HandleMenuInput_General(taskId, sDebugMenu_Actions_Party, DebugTask_HandleMenuInput_Main, sDebugMenu_ListTemplate_Main); } static void DebugTask_HandleMenuInput_Scripts(u8 taskId) { - void (*func)(u8); - u32 input = ListMenu_ProcessInput(gTasks[taskId].tMenuTaskId); - - if (JOY_NEW(A_BUTTON)) - { - PlaySE(SE_SELECT); - if ((func = sDebugMenu_Actions_Scripts[input]) != NULL) - func(taskId); - } - else if (JOY_NEW(B_BUTTON)) - { - PlaySE(SE_SELECT); - Debug_DestroyMenu(taskId); - Debug_ReShowMainMenu(); - } + DebugTask_HandleMenuInput_General(taskId, sDebugMenu_Actions_Scripts, DebugTask_HandleMenuInput_Main, sDebugMenu_ListTemplate_Main); } static void DebugTask_HandleMenuInput_FlagsVars(u8 taskId) @@ -1836,59 +1638,17 @@ static void Debug_InitializeBattle(u8 taskId) static void DebugTask_HandleMenuInput_Give(u8 taskId) { - void (*func)(u8); - u32 input = ListMenu_ProcessInput(gTasks[taskId].tMenuTaskId); - - if (JOY_NEW(A_BUTTON)) - { - PlaySE(SE_SELECT); - if ((func = sDebugMenu_Actions_Give[input]) != NULL) - func(taskId); - } - else if (JOY_NEW(B_BUTTON)) - { - PlaySE(SE_SELECT); - Debug_DestroyMenu(taskId); - Debug_ReShowMainMenu(); - } + DebugTask_HandleMenuInput_General(taskId, sDebugMenu_Actions_Give, DebugTask_HandleMenuInput_Main, sDebugMenu_ListTemplate_Main); } static void DebugTask_HandleMenuInput_Sound(u8 taskId) { - void (*func)(u8); - u32 input = ListMenu_ProcessInput(gTasks[taskId].tMenuTaskId); - - if (JOY_NEW(A_BUTTON)) - { - PlaySE(SE_SELECT); - if ((func = sDebugMenu_Actions_Sound[input]) != NULL) - func(taskId); - } - else if (JOY_NEW(B_BUTTON)) - { - PlaySE(SE_SELECT); - Debug_DestroyMenu(taskId); - Debug_ReShowMainMenu(); - } + DebugTask_HandleMenuInput_General(taskId, sDebugMenu_Actions_Sound, DebugTask_HandleMenuInput_Main, sDebugMenu_ListTemplate_Main); } static void DebugTask_HandleMenuInput_BerryFunctions(u8 taskId) { - void (*func)(u8); - u32 input = ListMenu_ProcessInput(gTasks[taskId].tMenuTaskId); - - if (JOY_NEW(A_BUTTON)) - { - PlaySE(SE_SELECT); - if ((func = sDebugMenu_Actions_BerryFunctions[input]) != NULL) - func(taskId); - } - else if (JOY_NEW(B_BUTTON)) - { - PlaySE(SE_SELECT); - Debug_DestroyMenu(taskId); - Debug_ReShowMainMenu(); - } + DebugTask_HandleMenuInput_General(taskId, sDebugMenu_Actions_BerryFunctions, DebugTask_HandleMenuInput_Main, sDebugMenu_ListTemplate_Main); } // ******************************* @@ -2203,7 +1963,7 @@ static void DebugAction_Util_CheckROMSpace(u8 taskId) ScriptContext_SetupScript(Debug_CheckROMSpace); } -static const u8 sWeatherNames[22][24] = { +static const u8 sWeatherNames[WEATHER_COUNT][24] = { [WEATHER_NONE] = _("NONE"), [WEATHER_SUNNY_CLOUDS] = _("SUNNY CLOUDS"), [WEATHER_SUNNY] = _("SUNNY"), @@ -2411,6 +2171,20 @@ static void DebugAction_Util_Script_8(u8 taskId) // ******************************* // Actions Flags and Vars +static void Debug_Display_FlagInfo(u32 flag, u32 digit, u8 windowId) +{ + ConvertIntToDecimalStringN(gStringVar1, flag, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); + ConvertIntToHexStringN(gStringVar2, flag, STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar1, COMPOUND_STRING("{STR_VAR_1}{CLEAR_TO 90}\n0x{STR_VAR_2}{CLEAR_TO 90}")); + if (FlagGet(flag)) + StringCopyPadded(gStringVar2, sDebugText_True, CHAR_SPACE, 15); + else + StringCopyPadded(gStringVar2, sDebugText_False, CHAR_SPACE, 15); + StringCopy(gStringVar3, gText_DigitIndicator[digit]); + StringExpandPlaceholders(gStringVar4, sDebugText_FlagsVars_Flag); + AddTextPrinterParameterized(windowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); +} + static void DebugAction_FlagsVars_Flags(u8 taskId) { u8 windowId; @@ -2426,16 +2200,7 @@ static void DebugAction_FlagsVars_Flags(u8 taskId) CopyWindowToVram(windowId, COPYWIN_FULL); // Display initial flag - ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); - ConvertIntToHexStringN(gStringVar2, 1, STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar1, sDebugText_FlagsVars_FlagHex); - if (FlagGet(FLAG_TEMP_1)) - StringCopyPadded(gStringVar2, sDebugText_True, CHAR_SPACE, 15); - else - StringCopyPadded(gStringVar2, sDebugText_False, CHAR_SPACE, 15); - StringCopy(gStringVar3, gText_DigitIndicator[0]); - StringExpandPlaceholders(gStringVar4, sDebugText_FlagsVars_Flag); - AddTextPrinterParameterized(windowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); + Debug_Display_FlagInfo(FLAG_TEMP_1, 0, windowId); gTasks[taskId].func = DebugAction_FlagsVars_FlagsSelect; gTasks[taskId].tSubWindowId = windowId; @@ -2461,16 +2226,7 @@ static void DebugAction_FlagsVars_FlagsSelect(u8 taskId) if (JOY_NEW(DPAD_ANY) || JOY_NEW(A_BUTTON)) { - ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); - ConvertIntToHexStringN(gStringVar2, gTasks[taskId].tInput, STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar1, sDebugText_FlagsVars_FlagHex); - if (FlagGet(gTasks[taskId].tInput) == TRUE) - StringCopyPadded(gStringVar2, sDebugText_True, CHAR_SPACE, 15); - else - StringCopyPadded(gStringVar2, sDebugText_False, CHAR_SPACE, 15); - StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].tDigit]); - StringExpandPlaceholders(gStringVar4, sDebugText_FlagsVars_Flag); - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); + Debug_Display_FlagInfo(gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); } } @@ -2729,77 +2485,33 @@ static void DebugAction_FlagsVars_RunningShoes(u8 taskId) static void DebugAction_FlagsVars_ToggleFlyFlags(u8 taskId) { - if (FlagGet(FLAG_LANDMARK_BATTLE_FRONTIER)) + if (FlagGet(sLocationFlags[ARRAY_COUNT(sLocationFlags) - 1])) { PlaySE(SE_PC_OFF); - FlagClear(FLAG_VISITED_LITTLEROOT_TOWN); - FlagClear(FLAG_VISITED_OLDALE_TOWN); - FlagClear(FLAG_VISITED_DEWFORD_TOWN); - FlagClear(FLAG_VISITED_LAVARIDGE_TOWN); - FlagClear(FLAG_VISITED_FALLARBOR_TOWN); - FlagClear(FLAG_VISITED_VERDANTURF_TOWN); - FlagClear(FLAG_VISITED_PACIFIDLOG_TOWN); - FlagClear(FLAG_VISITED_PETALBURG_CITY); - FlagClear(FLAG_VISITED_SLATEPORT_CITY); - FlagClear(FLAG_VISITED_MAUVILLE_CITY); - FlagClear(FLAG_VISITED_RUSTBORO_CITY); - FlagClear(FLAG_VISITED_FORTREE_CITY); - FlagClear(FLAG_VISITED_LILYCOVE_CITY); - FlagClear(FLAG_VISITED_MOSSDEEP_CITY); - FlagClear(FLAG_VISITED_SOOTOPOLIS_CITY); - FlagClear(FLAG_VISITED_EVER_GRANDE_CITY); - FlagClear(FLAG_LANDMARK_POKEMON_LEAGUE); - FlagClear(FLAG_LANDMARK_BATTLE_FRONTIER); + for (u32 i = 0; i < ARRAY_COUNT(sLocationFlags); i++) + FlagClear(sLocationFlags[i]); } else { PlaySE(SE_PC_LOGIN); - FlagSet(FLAG_VISITED_LITTLEROOT_TOWN); - FlagSet(FLAG_VISITED_OLDALE_TOWN); - FlagSet(FLAG_VISITED_DEWFORD_TOWN); - FlagSet(FLAG_VISITED_LAVARIDGE_TOWN); - FlagSet(FLAG_VISITED_FALLARBOR_TOWN); - FlagSet(FLAG_VISITED_VERDANTURF_TOWN); - FlagSet(FLAG_VISITED_PACIFIDLOG_TOWN); - FlagSet(FLAG_VISITED_PETALBURG_CITY); - FlagSet(FLAG_VISITED_SLATEPORT_CITY); - FlagSet(FLAG_VISITED_MAUVILLE_CITY); - FlagSet(FLAG_VISITED_RUSTBORO_CITY); - FlagSet(FLAG_VISITED_FORTREE_CITY); - FlagSet(FLAG_VISITED_LILYCOVE_CITY); - FlagSet(FLAG_VISITED_MOSSDEEP_CITY); - FlagSet(FLAG_VISITED_SOOTOPOLIS_CITY); - FlagSet(FLAG_VISITED_EVER_GRANDE_CITY); - FlagSet(FLAG_LANDMARK_POKEMON_LEAGUE); - FlagSet(FLAG_LANDMARK_BATTLE_FRONTIER); + for (u32 i = 0; i < ARRAY_COUNT(sLocationFlags); i++) + FlagSet(sLocationFlags[i]); } } static void DebugAction_FlagsVars_ToggleBadgeFlags(u8 taskId) { - if (FlagGet(FLAG_BADGE08_GET)) + if (FlagGet(gBadgeFlags[ARRAY_COUNT(gBadgeFlags) - 1])) { PlaySE(SE_PC_OFF); - FlagClear(FLAG_BADGE01_GET); - FlagClear(FLAG_BADGE02_GET); - FlagClear(FLAG_BADGE03_GET); - FlagClear(FLAG_BADGE04_GET); - FlagClear(FLAG_BADGE05_GET); - FlagClear(FLAG_BADGE06_GET); - FlagClear(FLAG_BADGE07_GET); - FlagClear(FLAG_BADGE08_GET); + for (u32 i = 0; i < ARRAY_COUNT(gBadgeFlags); i++) + FlagClear(gBadgeFlags[i]); } else { PlaySE(SE_PC_LOGIN); - FlagSet(FLAG_BADGE01_GET); - FlagSet(FLAG_BADGE02_GET); - FlagSet(FLAG_BADGE03_GET); - FlagSet(FLAG_BADGE04_GET); - FlagSet(FLAG_BADGE05_GET); - FlagSet(FLAG_BADGE06_GET); - FlagSet(FLAG_BADGE07_GET); - FlagSet(FLAG_BADGE08_GET); + for (u32 i = 0; i < ARRAY_COUNT(gBadgeFlags); i++) + FlagSet(gBadgeFlags[i]); } } @@ -2894,6 +2606,17 @@ static void DebugAction_FlagsVars_CatchingOnOff(u8 taskId) #define tItemId data[5] #define tSpriteId data[6] +static void Debug_Display_ItemInfo(u32 itemId, u32 digit, u8 windowId) +{ + StringCopy(gStringVar2, gText_DigitIndicator[digit]); + u8* end = CopyItemName(itemId, gStringVar1); + WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(windowId)); + StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); + ConvertIntToDecimalStringN(gStringVar3, itemId, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); + StringExpandPlaceholders(gStringVar4, sDebugText_ItemID); + AddTextPrinterParameterized(windowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); +} + static void DebugAction_Give_Item(u8 taskId) { u8 windowId; @@ -2909,13 +2632,7 @@ static void DebugAction_Give_Item(u8 taskId) CopyWindowToVram(windowId, COPYWIN_FULL); // Display initial item - StringCopy(gStringVar2, gText_DigitIndicator[0]); - ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - u8* end = CopyItemName(1, gStringVar1); - WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(windowId)); - StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, sDebugText_ItemID); - AddTextPrinterParameterized(windowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); + Debug_Display_ItemInfo(1, 0, windowId); gTasks[taskId].func = DebugAction_Give_Item_SelectId; gTasks[taskId].tSubWindowId = windowId; @@ -2927,25 +2644,31 @@ static void DebugAction_Give_Item(u8 taskId) gSprites[gTasks[taskId].tSpriteId].oam.priority = 0; } +static void DestroyItemIcon(u8 taskId) +{ + FreeSpriteTilesByTag(ITEM_TAG); + FreeSpritePaletteByTag(ITEM_TAG); + FreeSpriteOamMatrix(&gSprites[gTasks[taskId].tSpriteId]); + DestroySprite(&gSprites[gTasks[taskId].tSpriteId]); +} + +static void Debug_Display_ItemQuantity(u32 quantity, u32 digit, u8 windowId) +{ + StringCopy(gStringVar2, gText_DigitIndicator[digit]); + ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEM_QUANTITY); + StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); + StringExpandPlaceholders(gStringVar4, sDebugText_ItemQuantity); + AddTextPrinterParameterized(windowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); +} + static void DebugAction_Give_Item_SelectId(u8 taskId) { if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); Debug_HandleInput_Numeric(taskId, 1, ITEMS_COUNT - 1, DEBUG_NUMBER_DIGITS_ITEMS); - - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - u8* end = CopyItemName(gTasks[taskId].tInput, gStringVar1); - WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(gTasks[taskId].tSubWindowId)); - StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringExpandPlaceholders(gStringVar4, sDebugText_ItemID); - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); - - FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon - FreeSpritePaletteByTag(ITEM_TAG); //Destroy item icon - FreeSpriteOamMatrix(&gSprites[gTasks[taskId].tSpriteId]); //Destroy item icon - DestroySprite(&gSprites[gTasks[taskId].tSpriteId]); //Destroy item icon + Debug_Display_ItemInfo(gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); + DestroyItemIcon(taskId); gTasks[taskId].tSpriteId = AddItemIconSprite(ITEM_TAG, ITEM_TAG, gTasks[taskId].tInput); gSprites[gTasks[taskId].tSpriteId].x2 = DEBUG_NUMBER_ICON_X+10; gSprites[gTasks[taskId].tSpriteId].y2 = DEBUG_NUMBER_ICON_Y+10; @@ -2957,21 +2680,12 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) gTasks[taskId].tItemId = gTasks[taskId].tInput; gTasks[taskId].tInput = 1; gTasks[taskId].tDigit = 0; - - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEM_QUANTITY); - StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, sDebugText_ItemQuantity); - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); - + Debug_Display_ItemQuantity(gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); gTasks[taskId].func = DebugAction_Give_Item_SelectQuantity; } else if (JOY_NEW(B_BUTTON)) { - FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon - FreeSpritePaletteByTag(ITEM_TAG); //Destroy item icon - FreeSpriteOamMatrix(&gSprites[gTasks[taskId].tSpriteId]); //Destroy item icon - DestroySprite(&gSprites[gTasks[taskId].tSpriteId]); //Destroy item icon + DestroyItemIcon(taskId); PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -2986,20 +2700,12 @@ static void DebugAction_Give_Item_SelectQuantity(u8 taskId) { PlaySE(SE_SELECT); Debug_HandleInput_Numeric(taskId, 1, MAX_BAG_ITEM_CAPACITY, MAX_ITEM_DIGITS); - - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEM_QUANTITY); - StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, sDebugText_ItemQuantity); - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); + Debug_Display_ItemQuantity(gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); } if (JOY_NEW(A_BUTTON)) { - FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon - FreeSpritePaletteByTag(ITEM_TAG); //Destroy item icon - FreeSpriteOamMatrix(&gSprites[gTasks[taskId].tSpriteId]); //Destroy item icon - DestroySprite(&gSprites[gTasks[taskId].tSpriteId]); //Destroy item icon + DestroyItemIcon(taskId); PlaySE(MUS_LEVEL_UP); AddBagItem(itemId, gTasks[taskId].tInput); @@ -3007,10 +2713,7 @@ static void DebugAction_Give_Item_SelectQuantity(u8 taskId) } else if (JOY_NEW(B_BUTTON)) { - FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon - FreeSpritePaletteByTag(ITEM_TAG); //Destroy item icon - FreeSpriteOamMatrix(&gSprites[gTasks[taskId].tSpriteId]); //Destroy item icon - DestroySprite(&gSprites[gTasks[taskId].tSpriteId]); //Destroy item icon + DestroyItemIcon(taskId); PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -3031,24 +2734,28 @@ static void ResetMonDataStruct(struct DebugMonData *sDebugMonData) sDebugMonData->teraType = TYPE_NONE; sDebugMonData->dynamaxLevel = 0; sDebugMonData->gmaxFactor = FALSE; - sDebugMonData->mon_iv_hp = 0; - sDebugMonData->mon_iv_atk = 0; - sDebugMonData->mon_iv_def = 0; - sDebugMonData->mon_iv_speed = 0; - sDebugMonData->mon_iv_satk = 0; - sDebugMonData->mon_iv_sdef = 0; - sDebugMonData->mon_ev_hp = 0; - sDebugMonData->mon_ev_atk = 0; - sDebugMonData->mon_ev_def = 0; - sDebugMonData->mon_ev_speed = 0; - sDebugMonData->mon_ev_satk = 0; - sDebugMonData->mon_ev_sdef = 0; + for (u32 i = 0; i < NUM_STATS; i++) + { + sDebugMonData->monIVs[i] = 0; + sDebugMonData->monEVs[i] = 0; + } } #define tIsComplex data[5] #define tSpriteId data[6] #define tIterator data[7] +static void Debug_Display_SpeciesInfo(u32 species, u32 digit, u8 windowId) +{ + StringCopy(gStringVar2, gText_DigitIndicator[digit]); + u8 *end = StringCopy(gStringVar1, GetSpeciesName(species)); + WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(windowId)); + StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); + ConvertIntToDecimalStringN(gStringVar3, species, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); + AddTextPrinterParameterized(windowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); +} + static void DebugAction_Give_PokemonSimple(u8 taskId) { u8 windowId; @@ -3069,13 +2776,7 @@ static void DebugAction_Give_PokemonSimple(u8 taskId) CopyWindowToVram(windowId, COPYWIN_FULL); // Display initial PokĆ©mon - StringCopy(gStringVar2, gText_DigitIndicator[0]); - ConvertIntToDecimalStringN(gStringVar3, sDebugMonData->species, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - u8 *end = StringCopy(gStringVar1, GetSpeciesName(sDebugMonData->species)); - WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(windowId)); - StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); - AddTextPrinterParameterized(windowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); + Debug_Display_SpeciesInfo(sDebugMonData->species, 0, windowId); //Set task data gTasks[taskId].func = DebugAction_Give_Pokemon_SelectId; @@ -3110,13 +2811,7 @@ static void DebugAction_Give_PokemonComplex(u8 taskId) CopyWindowToVram(windowId, COPYWIN_FULL); // Display initial PokĆ©mon - StringCopy(gStringVar2, gText_DigitIndicator[0]); - ConvertIntToDecimalStringN(gStringVar3, sDebugMonData->species, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - u8 *end = StringCopy(gStringVar1, GetSpeciesName(sDebugMonData->species)); - WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(windowId)); - StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); - AddTextPrinterParameterized(windowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); + Debug_Display_SpeciesInfo(sDebugMonData->species, 0, windowId); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectId; gTasks[taskId].tSubWindowId = windowId; @@ -3137,15 +2832,7 @@ static void DebugAction_Give_Pokemon_SelectId(u8 taskId) { PlaySE(SE_SELECT); Debug_HandleInput_Numeric(taskId, 1, NUM_SPECIES - 1, DEBUG_NUMBER_DIGITS_ITEMS); - - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - u8 *end = StringCopy(gStringVar1, GetSpeciesName(gTasks[taskId].tInput)); //CopyItemName(gTasks[taskId].tInput, gStringVar1); - WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(gTasks[taskId].tSubWindowId)); - StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); - + Debug_Display_SpeciesInfo(gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); FreeAndDestroyMonIconSprite(&gSprites[gTasks[taskId].tSpriteId]); FreeMonIconPalettes(); LoadMonIconPalette(gTasks[taskId].tInput); @@ -3468,6 +3155,16 @@ static void DebugAction_Give_Pokemon_SelectDynamaxLevel(u8 taskId) } } +static void Debug_Display_StatInfo(const u8* text, u32 stat, u32 value, u32 digit, u8 windowId) +{ + StringCopy(gStringVar1, gStatNamesTable[stat]); + StringCopy(gStringVar2, gText_DigitIndicator[digit]); + ConvertIntToDecimalStringN(gStringVar3, value, STR_CONV_MODE_LEADING_ZEROS, 2); + StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); + StringExpandPlaceholders(gStringVar4, text); + AddTextPrinterParameterized(windowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); +} + static void DebugAction_Give_Pokemon_SelectGigantamaxFactor(u8 taskId) { static const u8 *txtStr; @@ -3489,13 +3186,7 @@ static void DebugAction_Give_Pokemon_SelectGigantamaxFactor(u8 taskId) sDebugMonData->gmaxFactor = gTasks[taskId].tInput; gTasks[taskId].tInput = 0; gTasks[taskId].tDigit = 0; - - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 2); - StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, sDebugText_IV_HP); - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); - + Debug_Display_StatInfo(sDebugText_IVs, gTasks[taskId].tIterator, gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectIVs; } else if (JOY_NEW(B_BUTTON)) @@ -3512,58 +3203,14 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) { PlaySE(SE_SELECT); Debug_HandleInput_Numeric(taskId, 0, MAX_PER_STAT_IVS, 3); - - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 2); - StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - switch (gTasks[taskId].tIterator) - { - case STAT_HP: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_HP); - break; - case STAT_ATK: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_Attack); - break; - case STAT_DEF: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_Defense); - break; - case STAT_SPEED: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_Speed); - break; - case STAT_SPATK: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_SpAttack); - break; - case STAT_SPDEF: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_SpDefense); - break; - } - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); + Debug_Display_StatInfo(sDebugText_IVs, gTasks[taskId].tIterator, gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); } //If A or B button if (JOY_NEW(A_BUTTON)) { - switch (gTasks[taskId].tIterator) - { - case STAT_HP: - sDebugMonData->mon_iv_hp = gTasks[taskId].tInput; - break; - case STAT_ATK: - sDebugMonData->mon_iv_atk = gTasks[taskId].tInput; - break; - case STAT_DEF: - sDebugMonData->mon_iv_def = gTasks[taskId].tInput; - break; - case STAT_SPEED: - sDebugMonData->mon_iv_speed = gTasks[taskId].tInput; - break; - case STAT_SPATK: - sDebugMonData->mon_iv_satk = gTasks[taskId].tInput; - break; - case STAT_SPDEF: - sDebugMonData->mon_iv_sdef = gTasks[taskId].tInput; - break; - } + // Set IVs for stat + sDebugMonData->monIVs[gTasks[taskId].tIterator] = gTasks[taskId].tInput; //Check if all IVs set if (gTasks[taskId].tIterator != NUM_STATS - 1) @@ -3572,32 +3219,7 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) gTasks[taskId].tInput = 0; gTasks[taskId].tDigit = 0; - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 2); - StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - switch (gTasks[taskId].tIterator) - { - case STAT_HP: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_HP); - break; - case STAT_ATK: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_Attack); - break; - case STAT_DEF: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_Defense); - break; - case STAT_SPEED: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_Speed); - break; - case STAT_SPATK: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_SpAttack); - break; - case STAT_SPDEF: - StringExpandPlaceholders(gStringVar4, sDebugText_IV_SpDefense); - break; - } - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); - + Debug_Display_StatInfo(sDebugText_IVs, gTasks[taskId].tIterator, gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectIVs; } else @@ -3606,11 +3228,7 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) gTasks[taskId].tDigit = 0; gTasks[taskId].tIterator = 0; - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 3); - StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, sDebugText_EV_HP); - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); + Debug_Display_StatInfo(sDebugText_EVs, gTasks[taskId].tIterator, gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectEVs; } } @@ -3624,12 +3242,30 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) static u32 GetDebugPokemonTotalEV(void) { - return (sDebugMonData->mon_ev_hp - + sDebugMonData->mon_ev_atk - + sDebugMonData->mon_ev_def - + sDebugMonData->mon_ev_speed - + sDebugMonData->mon_ev_satk - + sDebugMonData->mon_ev_sdef); + u32 totalEVs = 0; + for (u32 i = 0; i < NUM_STATS; i++) + totalEVs += sDebugMonData->monEVs[i]; + return totalEVs; +} + +static void Debug_Display_MoveInfo(u32 moveId, u32 iteration, u32 digit, u8 windowId) +{ + // Doesn't expand placeholdes so a 4th dynamic value can be shown. + u8 *end = StringCopy(gStringVar1, GetMoveName(moveId)); + WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(windowId)); + StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); + StringCopy(gStringVar4, COMPOUND_STRING("Move ")); + ConvertIntToDecimalStringN(gStringVar3, iteration, STR_CONV_MODE_LEADING_ZEROS, 1); + StringAppend(gStringVar4, gStringVar3); + StringAppend(gStringVar4, COMPOUND_STRING(": ")); + ConvertIntToDecimalStringN(gStringVar3, moveId, STR_CONV_MODE_LEADING_ZEROS, 3); + StringAppend(gStringVar4, gStringVar3); + StringAppend(gStringVar4, COMPOUND_STRING("{CLEAR_TO 90}\n")); + StringAppend(gStringVar4, gStringVar1); + StringAppend(gStringVar4, COMPOUND_STRING("{CLEAR_TO 90}\n{CLEAR_TO 90}\n")); + StringAppend(gStringVar4, gText_DigitIndicator[digit]); + StringAppend(gStringVar4, COMPOUND_STRING("{CLEAR_TO 90}")); + AddTextPrinterParameterized(windowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); } static void DebugAction_Give_Pokemon_SelectEVs(u8 taskId) @@ -3640,58 +3276,14 @@ static void DebugAction_Give_Pokemon_SelectEVs(u8 taskId) { PlaySE(SE_SELECT); Debug_HandleInput_Numeric(taskId, 0, MAX_PER_STAT_EVS, 4); - - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 3); - StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - switch (gTasks[taskId].tIterator) - { - case STAT_HP: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_HP); - break; - case STAT_ATK: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_Attack); - break; - case STAT_DEF: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_Defense); - break; - case STAT_SPEED: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_Speed); - break; - case STAT_SPATK: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_SpAttack); - break; - case STAT_SPDEF: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_SpDefense); - break; - } - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); + Debug_Display_StatInfo(sDebugText_EVs, gTasks[taskId].tIterator, gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); } //If A or B button if (JOY_NEW(A_BUTTON)) { - switch (gTasks[taskId].tIterator) - { - case STAT_HP: - sDebugMonData->mon_ev_hp = gTasks[taskId].tInput; - break; - case STAT_ATK: - sDebugMonData->mon_ev_atk = gTasks[taskId].tInput; - break; - case STAT_DEF: - sDebugMonData->mon_ev_def = gTasks[taskId].tInput; - break; - case STAT_SPEED: - sDebugMonData->mon_ev_speed = gTasks[taskId].tInput; - break; - case STAT_SPATK: - sDebugMonData->mon_ev_satk = gTasks[taskId].tInput; - break; - case STAT_SPDEF: - sDebugMonData->mon_ev_sdef = gTasks[taskId].tInput; - break; - } + // Set EVs for stat + sDebugMonData->monEVs[gTasks[taskId].tIterator] = gTasks[taskId].tInput; //Check if all EVs set if (gTasks[taskId].tIterator != NUM_STATS - 1) @@ -3699,33 +3291,7 @@ static void DebugAction_Give_Pokemon_SelectEVs(u8 taskId) gTasks[taskId].tIterator++; gTasks[taskId].tInput = 0; gTasks[taskId].tDigit = 0; - - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 3); - StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - switch (gTasks[taskId].tIterator) - { - case STAT_HP: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_HP); - break; - case STAT_ATK: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_Attack); - break; - case STAT_DEF: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_Defense); - break; - case STAT_SPEED: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_Speed); - break; - case STAT_SPATK: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_SpAttack); - break; - case STAT_SPDEF: - StringExpandPlaceholders(gStringVar4, sDebugText_EV_SpDefense); - break; - } - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); - + Debug_Display_StatInfo(sDebugText_EVs, gTasks[taskId].tIterator, gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectEVs; } else @@ -3736,32 +3302,18 @@ static void DebugAction_Give_Pokemon_SelectEVs(u8 taskId) if (totalEV > MAX_TOTAL_EVS) { - sDebugMonData->mon_ev_hp = 0; - sDebugMonData->mon_ev_atk = 0; - sDebugMonData->mon_ev_def = 0; - sDebugMonData->mon_ev_speed = 0; - sDebugMonData->mon_ev_satk = 0; - sDebugMonData->mon_ev_sdef = 0; + for (u32 i = 0; i < NUM_STATS; i++) + { + sDebugMonData->monEVs[i] = 0; + } PlaySE(SE_FAILURE); - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 3); - StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, sDebugText_EV_HP); - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); - + Debug_Display_StatInfo(sDebugText_EVs, gTasks[taskId].tIterator, gTasks[taskId].tInput, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectEVs; } else { - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - u8 *end = StringCopy(gStringVar1, GetMoveName(gTasks[taskId].tInput)); - WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(gTasks[taskId].tSubWindowId)); - StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 3); - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_0); - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); - + Debug_Display_MoveInfo(gTasks[taskId].tInput, gTasks[taskId].tIterator, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); gTasks[taskId].func = DebugAction_Give_Pokemon_Move; } } @@ -3781,51 +3333,17 @@ static void DebugAction_Give_Pokemon_Move(u8 taskId) PlaySE(SE_SELECT); Debug_HandleInput_Numeric(taskId, 0, MOVES_COUNT - 1, 4); - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - u8 *end = StringCopy(gStringVar1, GetMoveName(gTasks[taskId].tInput)); - WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(gTasks[taskId].tSubWindowId)); - StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 3); - switch (gTasks[taskId].tIterator) - { - case 0: - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_0); - break; - case 1: - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_1); - break; - case 2: - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_2); - break; - case 3: - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_3); - break; - } - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); + Debug_Display_MoveInfo(gTasks[taskId].tInput, gTasks[taskId].tIterator, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); } if (JOY_NEW(A_BUTTON)) { + // Set current value + sDebugMonData->monMoves[gTasks[taskId].tIterator] = gTasks[taskId].tInput; + // If MOVE_NONE selected, stop asking for additional moves if (gTasks[taskId].tInput == MOVE_NONE) - gTasks[taskId].tIterator = 4; - - //Set current value - switch (gTasks[taskId].tIterator) - { - case 0: - sDebugMonData->mon_move_0 = gTasks[taskId].tInput; - break; - case 1: - sDebugMonData->mon_move_1 = gTasks[taskId].tInput; - break; - case 2: - sDebugMonData->mon_move_2 = gTasks[taskId].tInput; - break; - case 3: - sDebugMonData->mon_move_3 = gTasks[taskId].tInput; - break; - } + gTasks[taskId].tIterator = MAX_MON_MOVES; //If NOT last move or selected MOVE_NONE ask for next move, else make mon if (gTasks[taskId].tIterator < MAX_MON_MOVES - 1) @@ -3834,28 +3352,7 @@ static void DebugAction_Give_Pokemon_Move(u8 taskId) gTasks[taskId].tInput = 0; gTasks[taskId].tDigit = 0; - StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); - u8 *end = StringCopy(gStringVar1, GetMoveName(gTasks[taskId].tInput)); - WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(gTasks[taskId].tSubWindowId)); - StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 3); - switch (gTasks[taskId].tIterator) - { - case 0: - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_0); - break; - case 1: - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_1); - break; - case 2: - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_2); - break; - case 3: - StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_3); - break; - } - AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 0, 0, 0, NULL); - + Debug_Display_MoveInfo(gTasks[taskId].tInput, gTasks[taskId].tIterator, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId); gTasks[taskId].func = DebugAction_Give_Pokemon_Move; } else @@ -3881,10 +3378,10 @@ static void DebugAction_Give_Pokemon_ComplexCreateMon(u8 taskId) //https://githu int sentToPc; struct Pokemon mon; u8 i; - u16 moves[4]; - u8 IVs[6]; + u16 moves[MAX_MON_MOVES]; + u8 IVs[NUM_STATS]; u8 iv_val; - u8 EVs[6]; + u8 EVs[NUM_STATS]; u8 ev_val; u16 species = sDebugMonData->species; u8 level = sDebugMonData->level; @@ -3894,22 +3391,15 @@ static void DebugAction_Give_Pokemon_ComplexCreateMon(u8 taskId) //https://githu u32 teraType = sDebugMonData->teraType; u32 dmaxLevel = sDebugMonData->dynamaxLevel; u32 gmaxFactor = sDebugMonData->gmaxFactor; - moves[0] = sDebugMonData->mon_move_0; - moves[1] = sDebugMonData->mon_move_1; - moves[2] = sDebugMonData->mon_move_2; - moves[3] = sDebugMonData->mon_move_3; - IVs[0] = sDebugMonData->mon_iv_hp; - IVs[1] = sDebugMonData->mon_iv_atk; - IVs[2] = sDebugMonData->mon_iv_def; - IVs[3] = sDebugMonData->mon_iv_speed; - IVs[4] = sDebugMonData->mon_iv_satk; - IVs[5] = sDebugMonData->mon_iv_sdef; - EVs[0] = sDebugMonData->mon_ev_hp; - EVs[1] = sDebugMonData->mon_ev_atk; - EVs[2] = sDebugMonData->mon_ev_def; - EVs[3] = sDebugMonData->mon_ev_speed; - EVs[4] = sDebugMonData->mon_ev_satk; - EVs[5] = sDebugMonData->mon_ev_sdef; + for (u32 i = 0; i < MAX_MON_MOVES; i++) + { + moves[i] = sDebugMonData->monMoves[i]; + } + for (u32 i = 0; i < NUM_STATS; i++) + { + EVs[i] = sDebugMonData->monEVs[i]; + IVs[i] = sDebugMonData->monIVs[i]; + } //Nature if (nature == NUM_NATURES || nature == 0xFF) diff --git a/src/event_data.c b/src/event_data.c index 33cb02027b..ccd0519c51 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -29,6 +29,18 @@ EWRAM_DATA static u8 sSpecialFlags[SPECIAL_FLAGS_SIZE] = {0}; extern u16 *const gSpecialVars[]; +const u16 gBadgeFlags[NUM_BADGES] = +{ + FLAG_BADGE01_GET, + FLAG_BADGE02_GET, + FLAG_BADGE03_GET, + FLAG_BADGE04_GET, + FLAG_BADGE05_GET, + FLAG_BADGE06_GET, + FLAG_BADGE07_GET, + FLAG_BADGE08_GET, +}; + void InitEventData(void) { memset(gSaveBlock1Ptr->flags, 0, sizeof(gSaveBlock1Ptr->flags)); diff --git a/src/match_call.c b/src/match_call.c index 662dd209a4..ea2ab8ed46 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1839,25 +1839,13 @@ static void PopulateBattleFrontierStreak(int matchCallId, u8 *destStr) ConvertIntToDecimalStringN(destStr, sBattleFrontierStreakInfo.streak, STR_CONV_MODE_LEFT_ALIGN, i); } -static const u16 sBadgeFlags[NUM_BADGES] = -{ - FLAG_BADGE01_GET, - FLAG_BADGE02_GET, - FLAG_BADGE03_GET, - FLAG_BADGE04_GET, - FLAG_BADGE05_GET, - FLAG_BADGE06_GET, - FLAG_BADGE07_GET, - FLAG_BADGE08_GET, -}; - static int GetNumOwnedBadges(void) { u32 i; for (i = 0; i < NUM_BADGES; i++) { - if (!FlagGet(sBadgeFlags[i])) + if (!FlagGet(gBadgeFlags[i])) break; } From 2b9c5fe4e721ff27c57c12670b51728fb56758c4 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Wed, 22 Jan 2025 19:37:56 +0100 Subject: [PATCH 21/27] Revert map related enum conversion (#6078) Co-authored-by: Hedara --- include/constants/map_types.h | 14 +++++++++++++ include/overworld.h | 11 ++++++++++ src/dexnav.c | 6 ++++-- src/field_screen_effect.c | 6 ++++-- src/fldeff_flash.c | 4 ++++ src/item_use.c | 3 ++- src/overworld.c | 38 ++++++++++++++++++++++++++--------- 7 files changed, 67 insertions(+), 15 deletions(-) diff --git a/include/constants/map_types.h b/include/constants/map_types.h index 86571434e4..cb3001f265 100755 --- a/include/constants/map_types.h +++ b/include/constants/map_types.h @@ -1,6 +1,19 @@ #ifndef GUARD_CONSTANTS_MAP_TYPES_H #define GUARD_CONSTANTS_MAP_TYPES_H +#define MAP_TYPE_NONE 0 +#define MAP_TYPE_TOWN 1 +#define MAP_TYPE_CITY 2 +#define MAP_TYPE_ROUTE 3 +#define MAP_TYPE_UNDERGROUND 4 +#define MAP_TYPE_UNDERWATER 5 +#define MAP_TYPE_OCEAN_ROUTE 6 +#define MAP_TYPE_UNKNOWN 7 // Not used by any map. +#define MAP_TYPE_INDOOR 8 +#define MAP_TYPE_SECRET_BASE 9 + +// Commented out until the release of Porymap 6 +/* enum MapType { MAP_TYPE_NONE, @@ -14,6 +27,7 @@ enum MapType MAP_TYPE_INDOOR, MAP_TYPE_SECRET_BASE, }; +*/ enum MapBattleScene { diff --git a/include/overworld.h b/include/overworld.h index 2a4cdc326c..4dfb07ea25 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -118,13 +118,24 @@ void TryFadeOutOldMapMusic(void); bool8 BGMusicStopped(void); void Overworld_FadeOutMapMusic(void); void UpdateAmbientCry(s16 *state, u16 *delayCounter); +/* enum MapType GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); enum MapType GetMapTypeByWarpData(struct WarpData *warp); enum MapType GetCurrentMapType(void); enum MapType GetLastUsedWarpMapType(void); +*/ +u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); +u8 GetMapTypeByWarpData(struct WarpData *warp); +u8 GetCurrentMapType(void); +u8 GetLastUsedWarpMapType(void); +bool8 IsMapTypeOutdoors(u8 mapType); +bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType); +bool8 IsMapTypeIndoors(u8 mapType); +/* bool8 IsMapTypeOutdoors(enum MapType mapType); bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType); bool8 IsMapTypeIndoors(enum MapType mapType); +*/ u8 GetSavedWarpRegionMapSectionId(void); u8 GetCurrentRegionMapSectionId(void); enum MapBattleScene GetCurrentMapBattleScene(void); diff --git a/src/dexnav.c b/src/dexnav.c index 8abaf31e8b..c6af17f8ed 100644 --- a/src/dexnav.c +++ b/src/dexnav.c @@ -612,7 +612,8 @@ static bool8 DexNavPickTile(u8 environment, u8 areaX, u8 areaY, bool8 smallScan) bool8 nextIter; u8 scale = 0; u8 weight = 0; - enum MapType currMapType = GetCurrentMapType(); + //enum MapType currMapType = GetCurrentMapType(); + u8 currMapType = GetCurrentMapType(); u8 tileBehaviour; u8 tileBuffer = 2; u8 *xPos = AllocZeroed((botX - topX) * (botY - topY) * sizeof(u8)); @@ -724,7 +725,8 @@ static bool8 DexNavPickTile(u8 environment, u8 areaX, u8 areaY, bool8 smallScan) static bool8 TryStartHiddenMonFieldEffect(u8 environment, u8 xSize, u8 ySize, bool8 smallScan) { - enum MapType currMapType = GetCurrentMapType(); + //enum MapType currMapType = GetCurrentMapType(); + u8 currMapType = GetCurrentMapType(); u8 fldEffId = 0; if (DexNavPickTile(environment, xSize, ySize, smallScan)) diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 3fe73c1cc5..338886e7a8 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -86,7 +86,8 @@ static void FillPalBufferBlack(void) void WarpFadeInScreen(void) { - enum MapType previousMapType = GetLastUsedWarpMapType(); + //enum MapType previousMapType = GetLastUsedWarpMapType(); + u8 previousMapType = GetLastUsedWarpMapType(); switch (GetMapPairFadeFromType(previousMapType, GetCurrentMapType())) { case 0: @@ -113,7 +114,8 @@ void FadeInFromBlack(void) void WarpFadeOutScreen(void) { - enum MapType currentMapType = GetCurrentMapType(); + //enum MapType currentMapType = GetCurrentMapType(); + u8 currentMapType = GetCurrentMapType(); switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType)) { case 0: diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 5663c86c27..421bd9b7d7 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -153,8 +153,12 @@ void CB2_DoChangeMap(void) static bool8 TryDoMapTransition(void) { u8 i; + /* enum MapType fromType = GetLastUsedWarpMapType(); enum MapType toType = GetCurrentMapType(); + */ + u8 fromType = GetLastUsedWarpMapType(); + u8 toType = GetCurrentMapType(); for (i = 0; sTransitionTypes[i].fromType; i++) { diff --git a/src/item_use.c b/src/item_use.c index 09eceaf6e7..05e21cf60b 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -1471,7 +1471,8 @@ static bool32 IsValidLocationForVsSeeker(void) { u16 mapGroup = gSaveBlock1Ptr->location.mapGroup; u16 mapNum = gSaveBlock1Ptr->location.mapNum; - enum MapType mapType = gMapHeader.mapType; + //enum MapType mapType = gMapHeader.mapType; + u8 mapType = gMapHeader.mapType; typedef struct { u16 mapGroup; diff --git a/src/overworld.c b/src/overworld.c index 2a717b7586..6cd71d0f32 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -172,8 +172,12 @@ static void SetKeyInterceptCallback(u16 (*func)(u32)); static void SetFieldVBlankCallback(void); static void FieldClearVBlankHBlankCallbacks(void); static void TransitionMapMusic(void); +/* static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, enum MapType mapType); static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, enum MapType mapType); +*/ +static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, u8 mapType); +static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, u8 mapType); static u16 GetCenterScreenMetatileBehavior(void); static void *sUnusedOverworldCallback; @@ -718,8 +722,12 @@ void SetLastHealLocationWarp(u8 healLocationId) void UpdateEscapeWarp(s16 x, s16 y) { + /* enum MapType currMapType = GetCurrentMapType(); enum MapType destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); + */ + u8 currMapType = GetCurrentMapType(); + u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); if (IsMapTypeOutdoors(currMapType) && IsMapTypeOutdoors(destMapType) != TRUE) SetEscapeWarp(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE, x - MAP_OFFSET, y - MAP_OFFSET + 1); } @@ -964,7 +972,8 @@ void StoreInitialPlayerAvatarState(void) static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void) { struct InitialPlayerAvatarState playerStruct; - enum MapType mapType = GetCurrentMapType(); + u8 mapType = GetCurrentMapType(); + //enum MapType mapType = GetCurrentMapType(); u16 metatileBehavior = GetCenterScreenMetatileBehavior(); u8 transitionFlags = GetAdjustedInitialTransitionFlags(&sInitialPlayerAvatarState, metatileBehavior, mapType); playerStruct.transitionFlags = transitionFlags; @@ -973,7 +982,8 @@ static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void) return &sInitialPlayerAvatarState; } -static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, enum MapType mapType) +//static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, enum MapType mapType) +static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, u8 mapType) { if (mapType != MAP_TYPE_INDOOR && FlagGet(FLAG_SYS_CRUISE_MODE)) return PLAYER_AVATAR_FLAG_ON_FOOT; @@ -991,7 +1001,8 @@ static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *pla return PLAYER_AVATAR_FLAG_ACRO_BIKE; } -static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, enum MapType mapType) +//static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, enum MapType mapType) +static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, u8 mapType) { if (FlagGet(FLAG_SYS_CRUISE_MODE) && mapType == MAP_TYPE_OCEAN_ROUTE) return DIR_EAST; @@ -1400,27 +1411,32 @@ static void ChooseAmbientCrySpecies(void) } } -enum MapType GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum) +//enum MapType GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum) +u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum) { return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->mapType; } -enum MapType GetMapTypeByWarpData(struct WarpData *warp) +//enum MapType GetMapTypeByWarpData(struct WarpData *warp) +u8 GetMapTypeByWarpData(struct WarpData *warp) { return GetMapTypeByGroupAndId(warp->mapGroup, warp->mapNum); } -enum MapType GetCurrentMapType(void) +//enum MapType GetCurrentMapType(void) +u8 GetCurrentMapType(void) { return GetMapTypeByWarpData(&gSaveBlock1Ptr->location); } -enum MapType GetLastUsedWarpMapType(void) +//enum MapType GetLastUsedWarpMapType(void) +u8 GetLastUsedWarpMapType(void) { return GetMapTypeByWarpData(&gLastUsedWarp); } -bool8 IsMapTypeOutdoors(enum MapType mapType) +//bool8 IsMapTypeOutdoors(enum MapType mapType) +bool8 IsMapTypeOutdoors(u8 mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN @@ -1432,7 +1448,8 @@ bool8 IsMapTypeOutdoors(enum MapType mapType) return FALSE; } -bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType) +//bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType) +bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN @@ -1443,7 +1460,8 @@ bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType) return FALSE; } -bool8 IsMapTypeIndoors(enum MapType mapType) +//bool8 IsMapTypeIndoors(enum MapType mapType) +bool8 IsMapTypeIndoors(u8 mapType) { if (mapType == MAP_TYPE_INDOOR || mapType == MAP_TYPE_SECRET_BASE) From 2a8f4b03dcc63af895f125254f12f1f379259bcc Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Wed, 22 Jan 2025 21:25:24 +0100 Subject: [PATCH 22/27] Revert "Revert map related enum conversion" (#6079) --- include/constants/map_types.h | 14 ------------- include/overworld.h | 11 ---------- src/dexnav.c | 6 ++---- src/field_screen_effect.c | 6 ++---- src/fldeff_flash.c | 4 ---- src/item_use.c | 3 +-- src/overworld.c | 38 +++++++++-------------------------- 7 files changed, 15 insertions(+), 67 deletions(-) diff --git a/include/constants/map_types.h b/include/constants/map_types.h index cb3001f265..86571434e4 100755 --- a/include/constants/map_types.h +++ b/include/constants/map_types.h @@ -1,19 +1,6 @@ #ifndef GUARD_CONSTANTS_MAP_TYPES_H #define GUARD_CONSTANTS_MAP_TYPES_H -#define MAP_TYPE_NONE 0 -#define MAP_TYPE_TOWN 1 -#define MAP_TYPE_CITY 2 -#define MAP_TYPE_ROUTE 3 -#define MAP_TYPE_UNDERGROUND 4 -#define MAP_TYPE_UNDERWATER 5 -#define MAP_TYPE_OCEAN_ROUTE 6 -#define MAP_TYPE_UNKNOWN 7 // Not used by any map. -#define MAP_TYPE_INDOOR 8 -#define MAP_TYPE_SECRET_BASE 9 - -// Commented out until the release of Porymap 6 -/* enum MapType { MAP_TYPE_NONE, @@ -27,7 +14,6 @@ enum MapType MAP_TYPE_INDOOR, MAP_TYPE_SECRET_BASE, }; -*/ enum MapBattleScene { diff --git a/include/overworld.h b/include/overworld.h index 4dfb07ea25..2a4cdc326c 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -118,24 +118,13 @@ void TryFadeOutOldMapMusic(void); bool8 BGMusicStopped(void); void Overworld_FadeOutMapMusic(void); void UpdateAmbientCry(s16 *state, u16 *delayCounter); -/* enum MapType GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); enum MapType GetMapTypeByWarpData(struct WarpData *warp); enum MapType GetCurrentMapType(void); enum MapType GetLastUsedWarpMapType(void); -*/ -u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); -u8 GetMapTypeByWarpData(struct WarpData *warp); -u8 GetCurrentMapType(void); -u8 GetLastUsedWarpMapType(void); -bool8 IsMapTypeOutdoors(u8 mapType); -bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType); -bool8 IsMapTypeIndoors(u8 mapType); -/* bool8 IsMapTypeOutdoors(enum MapType mapType); bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType); bool8 IsMapTypeIndoors(enum MapType mapType); -*/ u8 GetSavedWarpRegionMapSectionId(void); u8 GetCurrentRegionMapSectionId(void); enum MapBattleScene GetCurrentMapBattleScene(void); diff --git a/src/dexnav.c b/src/dexnav.c index c6af17f8ed..8abaf31e8b 100644 --- a/src/dexnav.c +++ b/src/dexnav.c @@ -612,8 +612,7 @@ static bool8 DexNavPickTile(u8 environment, u8 areaX, u8 areaY, bool8 smallScan) bool8 nextIter; u8 scale = 0; u8 weight = 0; - //enum MapType currMapType = GetCurrentMapType(); - u8 currMapType = GetCurrentMapType(); + enum MapType currMapType = GetCurrentMapType(); u8 tileBehaviour; u8 tileBuffer = 2; u8 *xPos = AllocZeroed((botX - topX) * (botY - topY) * sizeof(u8)); @@ -725,8 +724,7 @@ static bool8 DexNavPickTile(u8 environment, u8 areaX, u8 areaY, bool8 smallScan) static bool8 TryStartHiddenMonFieldEffect(u8 environment, u8 xSize, u8 ySize, bool8 smallScan) { - //enum MapType currMapType = GetCurrentMapType(); - u8 currMapType = GetCurrentMapType(); + enum MapType currMapType = GetCurrentMapType(); u8 fldEffId = 0; if (DexNavPickTile(environment, xSize, ySize, smallScan)) diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 338886e7a8..3fe73c1cc5 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -86,8 +86,7 @@ static void FillPalBufferBlack(void) void WarpFadeInScreen(void) { - //enum MapType previousMapType = GetLastUsedWarpMapType(); - u8 previousMapType = GetLastUsedWarpMapType(); + enum MapType previousMapType = GetLastUsedWarpMapType(); switch (GetMapPairFadeFromType(previousMapType, GetCurrentMapType())) { case 0: @@ -114,8 +113,7 @@ void FadeInFromBlack(void) void WarpFadeOutScreen(void) { - //enum MapType currentMapType = GetCurrentMapType(); - u8 currentMapType = GetCurrentMapType(); + enum MapType currentMapType = GetCurrentMapType(); switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType)) { case 0: diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 421bd9b7d7..5663c86c27 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -153,12 +153,8 @@ void CB2_DoChangeMap(void) static bool8 TryDoMapTransition(void) { u8 i; - /* enum MapType fromType = GetLastUsedWarpMapType(); enum MapType toType = GetCurrentMapType(); - */ - u8 fromType = GetLastUsedWarpMapType(); - u8 toType = GetCurrentMapType(); for (i = 0; sTransitionTypes[i].fromType; i++) { diff --git a/src/item_use.c b/src/item_use.c index 05e21cf60b..09eceaf6e7 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -1471,8 +1471,7 @@ static bool32 IsValidLocationForVsSeeker(void) { u16 mapGroup = gSaveBlock1Ptr->location.mapGroup; u16 mapNum = gSaveBlock1Ptr->location.mapNum; - //enum MapType mapType = gMapHeader.mapType; - u8 mapType = gMapHeader.mapType; + enum MapType mapType = gMapHeader.mapType; typedef struct { u16 mapGroup; diff --git a/src/overworld.c b/src/overworld.c index 6cd71d0f32..2a717b7586 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -172,12 +172,8 @@ static void SetKeyInterceptCallback(u16 (*func)(u32)); static void SetFieldVBlankCallback(void); static void FieldClearVBlankHBlankCallbacks(void); static void TransitionMapMusic(void); -/* static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, enum MapType mapType); static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, enum MapType mapType); -*/ -static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, u8 mapType); -static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, u8 mapType); static u16 GetCenterScreenMetatileBehavior(void); static void *sUnusedOverworldCallback; @@ -722,12 +718,8 @@ void SetLastHealLocationWarp(u8 healLocationId) void UpdateEscapeWarp(s16 x, s16 y) { - /* enum MapType currMapType = GetCurrentMapType(); enum MapType destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); - */ - u8 currMapType = GetCurrentMapType(); - u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); if (IsMapTypeOutdoors(currMapType) && IsMapTypeOutdoors(destMapType) != TRUE) SetEscapeWarp(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE, x - MAP_OFFSET, y - MAP_OFFSET + 1); } @@ -972,8 +964,7 @@ void StoreInitialPlayerAvatarState(void) static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void) { struct InitialPlayerAvatarState playerStruct; - u8 mapType = GetCurrentMapType(); - //enum MapType mapType = GetCurrentMapType(); + enum MapType mapType = GetCurrentMapType(); u16 metatileBehavior = GetCenterScreenMetatileBehavior(); u8 transitionFlags = GetAdjustedInitialTransitionFlags(&sInitialPlayerAvatarState, metatileBehavior, mapType); playerStruct.transitionFlags = transitionFlags; @@ -982,8 +973,7 @@ static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void) return &sInitialPlayerAvatarState; } -//static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, enum MapType mapType) -static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, u8 mapType) +static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, enum MapType mapType) { if (mapType != MAP_TYPE_INDOOR && FlagGet(FLAG_SYS_CRUISE_MODE)) return PLAYER_AVATAR_FLAG_ON_FOOT; @@ -1001,8 +991,7 @@ static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *pla return PLAYER_AVATAR_FLAG_ACRO_BIKE; } -//static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, enum MapType mapType) -static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, u8 mapType) +static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, enum MapType mapType) { if (FlagGet(FLAG_SYS_CRUISE_MODE) && mapType == MAP_TYPE_OCEAN_ROUTE) return DIR_EAST; @@ -1411,32 +1400,27 @@ static void ChooseAmbientCrySpecies(void) } } -//enum MapType GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum) -u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum) +enum MapType GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum) { return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->mapType; } -//enum MapType GetMapTypeByWarpData(struct WarpData *warp) -u8 GetMapTypeByWarpData(struct WarpData *warp) +enum MapType GetMapTypeByWarpData(struct WarpData *warp) { return GetMapTypeByGroupAndId(warp->mapGroup, warp->mapNum); } -//enum MapType GetCurrentMapType(void) -u8 GetCurrentMapType(void) +enum MapType GetCurrentMapType(void) { return GetMapTypeByWarpData(&gSaveBlock1Ptr->location); } -//enum MapType GetLastUsedWarpMapType(void) -u8 GetLastUsedWarpMapType(void) +enum MapType GetLastUsedWarpMapType(void) { return GetMapTypeByWarpData(&gLastUsedWarp); } -//bool8 IsMapTypeOutdoors(enum MapType mapType) -bool8 IsMapTypeOutdoors(u8 mapType) +bool8 IsMapTypeOutdoors(enum MapType mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN @@ -1448,8 +1432,7 @@ bool8 IsMapTypeOutdoors(u8 mapType) return FALSE; } -//bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType) -bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType) +bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN @@ -1460,8 +1443,7 @@ bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType) return FALSE; } -//bool8 IsMapTypeIndoors(enum MapType mapType) -bool8 IsMapTypeIndoors(u8 mapType) +bool8 IsMapTypeIndoors(enum MapType mapType) { if (mapType == MAP_TYPE_INDOOR || mapType == MAP_TYPE_SECRET_BASE) From a1c47a931f869856821e235eff4ba16fd2f78bd5 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Wed, 22 Jan 2025 21:50:39 +0100 Subject: [PATCH 23/27] Revert "Converts a bunch of defines to enums" (#6082) --- include/battle_setup.h | 2 +- include/battle_tower.h | 4 +- include/constants/battle.h | 52 ++-- include/constants/map_types.h | 44 ++- include/constants/trade.h | 11 +- include/constants/trainers.h | 137 ++++---- include/data.h | 2 +- include/frontier_util.h | 2 +- include/overworld.h | 18 +- include/pokemon.h | 11 +- include/pokemon_animation.h | 378 +++++++++++------------ include/trainer_hill.h | 2 +- src/battle_bg.c | 11 +- src/battle_script_commands.c | 1 + src/battle_setup.c | 5 +- src/battle_tower.c | 6 +- src/bike.c | 1 + src/data/pokemon/trainer_class_lookups.h | 2 +- src/debug.c | 8 +- src/dexnav.c | 5 +- src/event_object_movement.c | 1 + src/field_control_avatar.c | 1 + src/field_effect.c | 1 + src/field_screen_effect.c | 4 +- src/field_specials.c | 1 + src/fldeff_flash.c | 5 +- src/fldeff_rocksmash.c | 1 + src/frontier_util.c | 2 +- src/item_use.c | 3 +- src/overworld.c | 31 +- src/pokemon.c | 8 +- src/pokemon_animation.c | 11 +- src/pokemon_sprite_visualizer.c | 2 +- src/pokenav_match_call_list.c | 2 +- src/region_map.c | 1 + src/scrcmd.c | 4 +- src/secret_base.c | 1 + src/trainer_hill.c | 2 +- 38 files changed, 387 insertions(+), 396 deletions(-) diff --git a/include/battle_setup.h b/include/battle_setup.h index 028f30a6ce..a2009eea41 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -29,7 +29,7 @@ void BattleSetup_StartLatiBattle(void); void BattleSetup_StartLegendaryBattle(void); void StartGroudonKyogreBattle(void); void StartRegiBattle(void); -enum BattleTerrain BattleSetup_GetTerrainId(void); +u8 BattleSetup_GetTerrainId(void); u8 GetWildBattleTransition(void); u8 GetTrainerBattleTransition(void); u8 GetSpecialBattleTransition(s32 id); diff --git a/include/battle_tower.h b/include/battle_tower.h index be725a2f81..45c9d683ff 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -49,7 +49,7 @@ void SetEReaderTrainerGfxId(void); u16 GetBattleFacilityTrainerGfxId(u16 trainerId); void PutNewBattleTowerRecord(struct EmeraldBattleTowerRecord *newRecordEm); u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); -enum TrainerClassID GetFrontierOpponentClass(u16 trainerId); +u8 GetFrontierOpponentClass(u16 trainerId); void GetFrontierTrainerName(u8 *dst, u16 trainerId); void FillFrontierTrainerParty(u8 monsCount); void FillFrontierTrainersParties(u8 monsCount); @@ -60,7 +60,7 @@ void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *record); void CalcRubyBattleTowerChecksum(struct RSBattleTowerRecord *record); u16 GetCurrentBattleTowerWinStreak(u8 lvlMode, u8 battleMode); u8 GetEreaderTrainerFrontSpriteId(void); -enum TrainerClassID GetEreaderTrainerClassId(void); +u8 GetEreaderTrainerClassId(void); void GetEreaderTrainerName(u8 *dst); void ValidateEReaderTrainer(void); void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer); diff --git a/include/constants/battle.h b/include/constants/battle.h index 853094d853..b361e90060 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -424,33 +424,31 @@ enum BattleWeather #define MOVE_EFFECT_CONTINUE 0x8000 // Battle terrain defines for gBattleTerrain. -enum BattleTerrain -{ - BATTLE_TERRAIN_GRASS, - BATTLE_TERRAIN_LONG_GRASS, - BATTLE_TERRAIN_SAND, - BATTLE_TERRAIN_UNDERWATER, - BATTLE_TERRAIN_WATER, - BATTLE_TERRAIN_POND, - BATTLE_TERRAIN_MOUNTAIN, - BATTLE_TERRAIN_CAVE, - BATTLE_TERRAIN_BUILDING, - BATTLE_TERRAIN_PLAIN, - // New battle terrains are used for Secret Power but not fully implemented. - BATTLE_TERRAIN_SOARING, - BATTLE_TERRAIN_SKY_PILLAR, - BATTLE_TERRAIN_BURIAL_GROUND, - BATTLE_TERRAIN_PUDDLE, - BATTLE_TERRAIN_MARSH, - BATTLE_TERRAIN_SWAMP, - BATTLE_TERRAIN_SNOW, - BATTLE_TERRAIN_ICE, - BATTLE_TERRAIN_VOLCANO, - BATTLE_TERRAIN_DISTORTION_WORLD, - BATTLE_TERRAIN_SPACE, - BATTLE_TERRAIN_ULTRA_SPACE, - BATTLE_TERRAIN_COUNT, -}; +#define BATTLE_TERRAIN_GRASS 0 +#define BATTLE_TERRAIN_LONG_GRASS 1 +#define BATTLE_TERRAIN_SAND 2 +#define BATTLE_TERRAIN_UNDERWATER 3 +#define BATTLE_TERRAIN_WATER 4 +#define BATTLE_TERRAIN_POND 5 +#define BATTLE_TERRAIN_MOUNTAIN 6 +#define BATTLE_TERRAIN_CAVE 7 +#define BATTLE_TERRAIN_BUILDING 8 +#define BATTLE_TERRAIN_PLAIN 9 +// New battle terrains are used for Secret Power but not fully implemented. +#define BATTLE_TERRAIN_SOARING 10 +#define BATTLE_TERRAIN_SKY_PILLAR 11 +#define BATTLE_TERRAIN_BURIAL_GROUND 12 +#define BATTLE_TERRAIN_PUDDLE 13 +#define BATTLE_TERRAIN_MARSH 14 +#define BATTLE_TERRAIN_SWAMP 15 +#define BATTLE_TERRAIN_SNOW 16 +#define BATTLE_TERRAIN_ICE 17 +#define BATTLE_TERRAIN_VOLCANO 18 +#define BATTLE_TERRAIN_DISTORTION_WORLD 19 +#define BATTLE_TERRAIN_SPACE 20 +#define BATTLE_TERRAIN_ULTRA_SPACE 21 + +#define BATTLE_TERRAIN_COUNT 22 #define B_WAIT_TIME_LONG (B_WAIT_TIME_MULTIPLIER * 4) #define B_WAIT_TIME_MED (B_WAIT_TIME_MULTIPLIER * 3) diff --git a/include/constants/map_types.h b/include/constants/map_types.h index 86571434e4..03a3f0a9a0 100755 --- a/include/constants/map_types.h +++ b/include/constants/map_types.h @@ -1,31 +1,25 @@ #ifndef GUARD_CONSTANTS_MAP_TYPES_H #define GUARD_CONSTANTS_MAP_TYPES_H -enum MapType -{ - MAP_TYPE_NONE, - MAP_TYPE_TOWN, - MAP_TYPE_CITY, - MAP_TYPE_ROUTE, - MAP_TYPE_UNDERGROUND, - MAP_TYPE_UNDERWATER, - MAP_TYPE_OCEAN_ROUTE, - MAP_TYPE_UNKNOWN, // Not used by any map. - MAP_TYPE_INDOOR, - MAP_TYPE_SECRET_BASE, -}; +#define MAP_TYPE_NONE 0 +#define MAP_TYPE_TOWN 1 +#define MAP_TYPE_CITY 2 +#define MAP_TYPE_ROUTE 3 +#define MAP_TYPE_UNDERGROUND 4 +#define MAP_TYPE_UNDERWATER 5 +#define MAP_TYPE_OCEAN_ROUTE 6 +#define MAP_TYPE_UNKNOWN 7 // Not used by any map. +#define MAP_TYPE_INDOOR 8 +#define MAP_TYPE_SECRET_BASE 9 -enum MapBattleScene -{ - MAP_BATTLE_SCENE_NORMAL, - MAP_BATTLE_SCENE_GYM, - MAP_BATTLE_SCENE_MAGMA, - MAP_BATTLE_SCENE_AQUA, - MAP_BATTLE_SCENE_SIDNEY, - MAP_BATTLE_SCENE_PHOEBE, - MAP_BATTLE_SCENE_GLACIA, - MAP_BATTLE_SCENE_DRAKE, - MAP_BATTLE_SCENE_FRONTIER, -}; +#define MAP_BATTLE_SCENE_NORMAL 0 +#define MAP_BATTLE_SCENE_GYM 1 +#define MAP_BATTLE_SCENE_MAGMA 2 +#define MAP_BATTLE_SCENE_AQUA 3 +#define MAP_BATTLE_SCENE_SIDNEY 4 +#define MAP_BATTLE_SCENE_PHOEBE 5 +#define MAP_BATTLE_SCENE_GLACIA 6 +#define MAP_BATTLE_SCENE_DRAKE 7 +#define MAP_BATTLE_SCENE_FRONTIER 8 #endif // GUARD_CONSTANTS_MAP_TYPES_H diff --git a/include/constants/trade.h b/include/constants/trade.h index 4049a0f19a..e387d13cd8 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -5,13 +5,10 @@ #define TRADE_PARTNER 1 // In-game Trade IDs -enum InGameTradeID -{ - INGAME_TRADE_SEEDOT, - INGAME_TRADE_PLUSLE, - INGAME_TRADE_HORSEA, - INGAME_TRADE_MEOWTH, -}; +#define INGAME_TRADE_SEEDOT 0 +#define INGAME_TRADE_PLUSLE 1 +#define INGAME_TRADE_HORSEA 2 +#define INGAME_TRADE_MEOWTH 3 // Return values for CanTradeSelectedMon and CanSpinTradeMon #define CAN_TRADE_MON 0 diff --git a/include/constants/trainers.h b/include/constants/trainers.h index 4f22008410..ebfc18eef0 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -285,76 +285,73 @@ #define RS_FACILITY_CLASSES_COUNT 0x4D -enum TrainerClassID -{ - TRAINER_CLASS_PKMN_TRAINER_1, // Unused - TRAINER_CLASS_PKMN_TRAINER_2, // Unused - TRAINER_CLASS_HIKER, - TRAINER_CLASS_TEAM_AQUA, - TRAINER_CLASS_PKMN_BREEDER, - TRAINER_CLASS_COOLTRAINER, - TRAINER_CLASS_BIRD_KEEPER, - TRAINER_CLASS_COLLECTOR, - TRAINER_CLASS_SWIMMER_M, - TRAINER_CLASS_TEAM_MAGMA, - TRAINER_CLASS_EXPERT, - TRAINER_CLASS_AQUA_ADMIN, - TRAINER_CLASS_BLACK_BELT, - TRAINER_CLASS_AQUA_LEADER, - TRAINER_CLASS_HEX_MANIAC, - TRAINER_CLASS_AROMA_LADY, - TRAINER_CLASS_RUIN_MANIAC, - TRAINER_CLASS_INTERVIEWER, - TRAINER_CLASS_TUBER_F, - TRAINER_CLASS_TUBER_M, - TRAINER_CLASS_LADY, - TRAINER_CLASS_BEAUTY, - TRAINER_CLASS_RICH_BOY, - TRAINER_CLASS_POKEMANIAC, - TRAINER_CLASS_GUITARIST, - TRAINER_CLASS_KINDLER, - TRAINER_CLASS_CAMPER, - TRAINER_CLASS_PICNICKER, - TRAINER_CLASS_BUG_MANIAC, - TRAINER_CLASS_PSYCHIC, - TRAINER_CLASS_GENTLEMAN, - TRAINER_CLASS_ELITE_FOUR, - TRAINER_CLASS_LEADER, - TRAINER_CLASS_SCHOOL_KID, - TRAINER_CLASS_SR_AND_JR, - TRAINER_CLASS_WINSTRATE, - TRAINER_CLASS_POKEFAN, - TRAINER_CLASS_YOUNGSTER, - TRAINER_CLASS_CHAMPION, - TRAINER_CLASS_FISHERMAN, - TRAINER_CLASS_TRIATHLETE, - TRAINER_CLASS_DRAGON_TAMER, - TRAINER_CLASS_NINJA_BOY, - TRAINER_CLASS_BATTLE_GIRL, - TRAINER_CLASS_PARASOL_LADY, - TRAINER_CLASS_SWIMMER_F, - TRAINER_CLASS_TWINS, - TRAINER_CLASS_SAILOR, - TRAINER_CLASS_COOLTRAINER_2, // Used for only one trainer. - TRAINER_CLASS_MAGMA_ADMIN, - TRAINER_CLASS_RIVAL, - TRAINER_CLASS_BUG_CATCHER, - TRAINER_CLASS_PKMN_RANGER, - TRAINER_CLASS_MAGMA_LEADER, - TRAINER_CLASS_LASS, - TRAINER_CLASS_YOUNG_COUPLE, - TRAINER_CLASS_OLD_COUPLE, - TRAINER_CLASS_SIS_AND_BRO, - TRAINER_CLASS_SALON_MAIDEN, - TRAINER_CLASS_DOME_ACE, - TRAINER_CLASS_PALACE_MAVEN, - TRAINER_CLASS_ARENA_TYCOON, - TRAINER_CLASS_FACTORY_HEAD, - TRAINER_CLASS_PIKE_QUEEN, - TRAINER_CLASS_PYRAMID_KING, - TRAINER_CLASS_RS_PROTAG, - TRAINER_CLASS_COUNT, -}; +#define TRAINER_CLASS_PKMN_TRAINER_1 0x0 // Unused +#define TRAINER_CLASS_PKMN_TRAINER_2 0x1 // Unused +#define TRAINER_CLASS_HIKER 0x2 +#define TRAINER_CLASS_TEAM_AQUA 0x3 +#define TRAINER_CLASS_PKMN_BREEDER 0x4 +#define TRAINER_CLASS_COOLTRAINER 0x5 +#define TRAINER_CLASS_BIRD_KEEPER 0x6 +#define TRAINER_CLASS_COLLECTOR 0x7 +#define TRAINER_CLASS_SWIMMER_M 0x8 +#define TRAINER_CLASS_TEAM_MAGMA 0x9 +#define TRAINER_CLASS_EXPERT 0xa +#define TRAINER_CLASS_AQUA_ADMIN 0xb +#define TRAINER_CLASS_BLACK_BELT 0xc +#define TRAINER_CLASS_AQUA_LEADER 0xd +#define TRAINER_CLASS_HEX_MANIAC 0xe +#define TRAINER_CLASS_AROMA_LADY 0xf +#define TRAINER_CLASS_RUIN_MANIAC 0x10 +#define TRAINER_CLASS_INTERVIEWER 0x11 +#define TRAINER_CLASS_TUBER_F 0x12 +#define TRAINER_CLASS_TUBER_M 0x13 +#define TRAINER_CLASS_LADY 0x14 +#define TRAINER_CLASS_BEAUTY 0x15 +#define TRAINER_CLASS_RICH_BOY 0x16 +#define TRAINER_CLASS_POKEMANIAC 0x17 +#define TRAINER_CLASS_GUITARIST 0x18 +#define TRAINER_CLASS_KINDLER 0x19 +#define TRAINER_CLASS_CAMPER 0x1a +#define TRAINER_CLASS_PICNICKER 0x1b +#define TRAINER_CLASS_BUG_MANIAC 0x1c +#define TRAINER_CLASS_PSYCHIC 0x1d +#define TRAINER_CLASS_GENTLEMAN 0x1e +#define TRAINER_CLASS_ELITE_FOUR 0x1f +#define TRAINER_CLASS_LEADER 0x20 +#define TRAINER_CLASS_SCHOOL_KID 0x21 +#define TRAINER_CLASS_SR_AND_JR 0x22 +#define TRAINER_CLASS_WINSTRATE 0x23 +#define TRAINER_CLASS_POKEFAN 0x24 +#define TRAINER_CLASS_YOUNGSTER 0x25 +#define TRAINER_CLASS_CHAMPION 0x26 +#define TRAINER_CLASS_FISHERMAN 0x27 +#define TRAINER_CLASS_TRIATHLETE 0x28 +#define TRAINER_CLASS_DRAGON_TAMER 0x29 +#define TRAINER_CLASS_NINJA_BOY 0x2a +#define TRAINER_CLASS_BATTLE_GIRL 0x2b +#define TRAINER_CLASS_PARASOL_LADY 0x2c +#define TRAINER_CLASS_SWIMMER_F 0x2d +#define TRAINER_CLASS_TWINS 0x2e +#define TRAINER_CLASS_SAILOR 0x2f +#define TRAINER_CLASS_COOLTRAINER_2 0x30 // Used for only one trainer. +#define TRAINER_CLASS_MAGMA_ADMIN 0x31 +#define TRAINER_CLASS_RIVAL 0x32 +#define TRAINER_CLASS_BUG_CATCHER 0x33 +#define TRAINER_CLASS_PKMN_RANGER 0x34 +#define TRAINER_CLASS_MAGMA_LEADER 0x35 +#define TRAINER_CLASS_LASS 0x36 +#define TRAINER_CLASS_YOUNG_COUPLE 0x37 +#define TRAINER_CLASS_OLD_COUPLE 0x38 +#define TRAINER_CLASS_SIS_AND_BRO 0x39 +#define TRAINER_CLASS_SALON_MAIDEN 0x3a +#define TRAINER_CLASS_DOME_ACE 0x3b +#define TRAINER_CLASS_PALACE_MAVEN 0x3c +#define TRAINER_CLASS_ARENA_TYCOON 0x3d +#define TRAINER_CLASS_FACTORY_HEAD 0x3e +#define TRAINER_CLASS_PIKE_QUEEN 0x3f +#define TRAINER_CLASS_PYRAMID_KING 0x40 +#define TRAINER_CLASS_RS_PROTAG 0x41 +#define TRAINER_CLASS_COUNT 0x42 #define TRAINER_ENCOUNTER_MUSIC_MALE 0 // standard male encounter music #define TRAINER_ENCOUNTER_MUSIC_FEMALE 1 // standard female encounter music diff --git a/include/data.h b/include/data.h index 6cf7f46ded..1d2a1291f9 100644 --- a/include/data.h +++ b/include/data.h @@ -200,7 +200,7 @@ static inline const struct Trainer *GetTrainerStructFromId(u16 trainerId) return &gTrainers[difficulty][sanitizedTrainerId]; } -static inline const enum TrainerClassID GetTrainerClassFromId(u16 trainerId) +static inline const u8 GetTrainerClassFromId(u16 trainerId) { u32 sanitizedTrainerId = SanitizeTrainerId(trainerId); enum DifficultyLevel difficulty = GetTrainerDifficultyLevel(sanitizedTrainerId); diff --git a/include/frontier_util.h b/include/frontier_util.h index 5494aa5f0b..0d617782a3 100644 --- a/include/frontier_util.h +++ b/include/frontier_util.h @@ -13,7 +13,7 @@ void ScrollRankingHallRecordsWindow(void); void ClearRankingHallRecords(void); void SaveGameFrontier(void); u8 GetFrontierBrainTrainerPicIndex(void); -enum TrainerClassID GetFrontierBrainTrainerClass(void); +u8 GetFrontierBrainTrainerClass(void); void CopyFrontierBrainTrainerName(u8 *dst); bool8 IsFrontierBrainFemale(void); void SetFrontierBrainObjEventGfx_2(void); diff --git a/include/overworld.h b/include/overworld.h index 2a4cdc326c..ea23c15b30 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -1,8 +1,6 @@ #ifndef GUARD_OVERWORLD_H #define GUARD_OVERWORLD_H -#include "constants/map_types.h" - #define LINK_KEY_CODE_NULL 0x00 #define LINK_KEY_CODE_EMPTY 0x11 #define LINK_KEY_CODE_DPAD_DOWN 0x12 @@ -118,16 +116,16 @@ void TryFadeOutOldMapMusic(void); bool8 BGMusicStopped(void); void Overworld_FadeOutMapMusic(void); void UpdateAmbientCry(s16 *state, u16 *delayCounter); -enum MapType GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); -enum MapType GetMapTypeByWarpData(struct WarpData *warp); -enum MapType GetCurrentMapType(void); -enum MapType GetLastUsedWarpMapType(void); -bool8 IsMapTypeOutdoors(enum MapType mapType); -bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType); -bool8 IsMapTypeIndoors(enum MapType mapType); +u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); +u8 GetMapTypeByWarpData(struct WarpData *warp); +u8 GetCurrentMapType(void); +u8 GetLastUsedWarpMapType(void); +bool8 IsMapTypeOutdoors(u8 mapType); +bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType); +bool8 IsMapTypeIndoors(u8 mapType); u8 GetSavedWarpRegionMapSectionId(void); u8 GetCurrentRegionMapSectionId(void); -enum MapBattleScene GetCurrentMapBattleScene(void); +u8 GetCurrentMapBattleScene(void); void CleanupOverworldWindowsAndTilemaps(void); bool32 IsOverworldLinkActive(void); void CB1_Overworld(void); diff --git a/include/pokemon.h b/include/pokemon.h index 2d19ba6ad2..bc92b73c75 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -1,12 +1,11 @@ #ifndef GUARD_POKEMON_H #define GUARD_POKEMON_H -#include "contest_effect.h" #include "sprite.h" #include "constants/items.h" -#include "constants/map_groups.h" #include "constants/region_map_sections.h" -#include "constants/trainers.h" +#include "constants/map_groups.h" +#include "contest_effect.h" #define GET_BASE_SPECIES_ID(speciesId) (GetFormSpeciesId(speciesId, 0)) #define FORM_SPECIES_END (0xffff) @@ -610,7 +609,7 @@ extern struct SpriteTemplate gMultiuseSpriteTemplate; extern u16 gFollowerSteps; extern const u8 gFacilityClassToPicIndex[]; -extern const enum TrainerClassID gFacilityClassToTrainerClass[]; +extern const u8 gFacilityClassToTrainerClass[]; extern const struct SpeciesInfo gSpeciesInfo[]; extern const u32 gExperienceTables[][MAX_LEVEL + 1]; extern const u8 gPPUpGetMask[]; @@ -642,7 +641,7 @@ void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, void ConvertPokemonToBattleTowerPokemon(struct Pokemon *mon, struct BattleTowerPokemon *dest); bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId); u16 GetUnionRoomTrainerPic(void); -enum TrainerClassID GetUnionRoomTrainerClass(void); +u16 GetUnionRoomTrainerClass(void); void CreateEnemyEventMon(void); void CalculateMonStats(struct Pokemon *mon); void BoxMonToMon(const struct BoxPokemon *src, struct Pokemon *dest); @@ -695,7 +694,7 @@ u16 GetAbilityBySpecies(u16 species, u8 abilityNum); u16 GetMonAbility(struct Pokemon *mon); void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord); u8 GetSecretBaseTrainerPicIndex(void); -enum TrainerClassID GetSecretBaseTrainerClass(void); +u8 GetSecretBaseTrainerClass(void); bool8 IsPlayerPartyAndPokemonStorageFull(void); bool8 IsPokemonStorageFull(void); const u8 *GetSpeciesName(u16 species); diff --git a/include/pokemon_animation.h b/include/pokemon_animation.h index 8d25d3025c..748eb4b36d 100644 --- a/include/pokemon_animation.h +++ b/include/pokemon_animation.h @@ -1,201 +1,195 @@ #ifndef GUARD_POKEMON_ANIMATION_H #define GUARD_POKEMON_ANIMATION_H +u8 GetSpeciesBackAnimSet(u16 species); +void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, u8 frontAnimId); +void StartMonSummaryAnimation(struct Sprite *sprite, u8 frontAnimId); +void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet); +void SetSpriteCB_MonAnimDummy(struct Sprite *sprite); + // PokĆ©mon back animation sets -enum BackAnim -{ - BACK_ANIM_NONE, - BACK_ANIM_H_VIBRATE, - BACK_ANIM_H_SLIDE, - BACK_ANIM_H_SPRING, - BACK_ANIM_H_SPRING_REPEATED, - BACK_ANIM_SHRINK_GROW, - BACK_ANIM_GROW, - BACK_ANIM_CIRCLE_COUNTERCLOCKWISE, - BACK_ANIM_H_SHAKE, - BACK_ANIM_V_SHAKE, - BACK_ANIM_V_SHAKE_H_SLIDE, - BACK_ANIM_V_STRETCH, - BACK_ANIM_H_STRETCH, - BACK_ANIM_GROW_STUTTER, - BACK_ANIM_V_SHAKE_LOW, - BACK_ANIM_TRIANGLE_DOWN, - BACK_ANIM_CONCAVE_ARC_LARGE, - BACK_ANIM_CONVEX_DOUBLE_ARC, - BACK_ANIM_CONCAVE_ARC_SMALL, - BACK_ANIM_DIP_RIGHT_SIDE, - BACK_ANIM_SHRINK_GROW_VIBRATE, - BACK_ANIM_JOLT_RIGHT, - BACK_ANIM_SHAKE_FLASH_YELLOW, - BACK_ANIM_SHAKE_GLOW_RED, - BACK_ANIM_SHAKE_GLOW_GREEN, - BACK_ANIM_SHAKE_GLOW_BLUE, -}; +#define BACK_ANIM_NONE 0 +#define BACK_ANIM_H_VIBRATE 1 +#define BACK_ANIM_H_SLIDE 2 +#define BACK_ANIM_H_SPRING 3 +#define BACK_ANIM_H_SPRING_REPEATED 4 +#define BACK_ANIM_SHRINK_GROW 5 +#define BACK_ANIM_GROW 6 +#define BACK_ANIM_CIRCLE_COUNTERCLOCKWISE 7 +#define BACK_ANIM_H_SHAKE 8 +#define BACK_ANIM_V_SHAKE 9 +#define BACK_ANIM_V_SHAKE_H_SLIDE 10 +#define BACK_ANIM_V_STRETCH 11 +#define BACK_ANIM_H_STRETCH 12 +#define BACK_ANIM_GROW_STUTTER 13 +#define BACK_ANIM_V_SHAKE_LOW 14 +#define BACK_ANIM_TRIANGLE_DOWN 15 +#define BACK_ANIM_CONCAVE_ARC_LARGE 16 +#define BACK_ANIM_CONVEX_DOUBLE_ARC 17 +#define BACK_ANIM_CONCAVE_ARC_SMALL 18 +#define BACK_ANIM_DIP_RIGHT_SIDE 19 +#define BACK_ANIM_SHRINK_GROW_VIBRATE 20 +#define BACK_ANIM_JOLT_RIGHT 21 +#define BACK_ANIM_SHAKE_FLASH_YELLOW 22 +#define BACK_ANIM_SHAKE_GLOW_RED 23 +#define BACK_ANIM_SHAKE_GLOW_GREEN 24 +#define BACK_ANIM_SHAKE_GLOW_BLUE 25 // PokĆ©mon animation function ids (for front and back) // Each front anim uses 1, and each back anim uses a set of 3 -enum AnimFunctionIDs -{ - ANIM_V_SQUISH_AND_BOUNCE, - ANIM_CIRCULAR_STRETCH_TWICE, - ANIM_H_VIBRATE, - ANIM_H_SLIDE, - ANIM_V_SLIDE, - ANIM_BOUNCE_ROTATE_TO_SIDES, - ANIM_V_JUMPS_H_JUMPS, - ANIM_ROTATE_TO_SIDES, - ANIM_ROTATE_TO_SIDES_TWICE, - ANIM_GROW_VIBRATE, - ANIM_ZIGZAG_FAST, - ANIM_SWING_CONCAVE, - ANIM_SWING_CONCAVE_FAST, - ANIM_SWING_CONVEX, - ANIM_SWING_CONVEX_FAST, - ANIM_H_SHAKE, - ANIM_V_SHAKE, - ANIM_CIRCULAR_VIBRATE, - ANIM_TWIST, - ANIM_SHRINK_GROW, - ANIM_CIRCLE_C_CLOCKWISE, - ANIM_GLOW_BLACK, - ANIM_H_STRETCH, - ANIM_V_STRETCH, - ANIM_RISING_WOBBLE, - ANIM_V_SHAKE_TWICE, - ANIM_TIP_MOVE_FORWARD, - ANIM_H_PIVOT, - ANIM_V_SLIDE_WOBBLE, - ANIM_H_SLIDE_WOBBLE, - ANIM_V_JUMPS_BIG, - ANIM_SPIN_LONG, - ANIM_GLOW_ORANGE, - ANIM_GLOW_RED, - ANIM_GLOW_BLUE, - ANIM_GLOW_YELLOW, - ANIM_GLOW_PURPLE, - ANIM_BACK_AND_LUNGE, - ANIM_BACK_FLIP, - ANIM_FLICKER, - ANIM_BACK_FLIP_BIG, - ANIM_FRONT_FLIP, - ANIM_TUMBLING_FRONT_FLIP, - ANIM_FIGURE_8, - ANIM_FLASH_YELLOW, - ANIM_SWING_CONCAVE_FAST_SHORT, - ANIM_SWING_CONVEX_FAST_SHORT, - ANIM_ROTATE_UP_SLAM_DOWN, - ANIM_DEEP_V_SQUISH_AND_BOUNCE, - ANIM_H_JUMPS, - ANIM_H_JUMPS_V_STRETCH, - ANIM_ROTATE_TO_SIDES_FAST, - ANIM_ROTATE_UP_TO_SIDES, - ANIM_FLICKER_INCREASING, - ANIM_TIP_HOP_FORWARD, - ANIM_PIVOT_SHAKE, - ANIM_TIP_AND_SHAKE, - ANIM_VIBRATE_TO_CORNERS, - ANIM_GROW_IN_STAGES, - ANIM_V_SPRING, - ANIM_V_REPEATED_SPRING, - ANIM_SPRING_RISING, - ANIM_H_SPRING, - ANIM_H_REPEATED_SPRING_SLOW, - ANIM_H_SLIDE_SHRINK, - ANIM_LUNGE_GROW, - ANIM_CIRCLE_INTO_BG, - ANIM_RAPID_H_HOPS, - ANIM_FOUR_PETAL, - ANIM_V_SQUISH_AND_BOUNCE_SLOW, - ANIM_H_SLIDE_SLOW, - ANIM_V_SLIDE_SLOW, - ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, - ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, - ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, - ANIM_ZIGZAG_SLOW, - ANIM_H_SHAKE_SLOW, - ANIM_V_SHAKE_SLOW, - ANIM_TWIST_TWICE, - ANIM_CIRCLE_C_CLOCKWISE_SLOW, - ANIM_V_SHAKE_TWICE_SLOW, - ANIM_V_SLIDE_WOBBLE_SMALL, - ANIM_V_JUMPS_SMALL, - ANIM_SPIN, - ANIM_TUMBLING_FRONT_FLIP_TWICE, - ANIM_DEEP_V_SQUISH_AND_BOUNCE_TWICE, - ANIM_H_JUMPS_V_STRETCH_TWICE, - ANIM_V_SHAKE_BACK, - ANIM_V_SHAKE_BACK_SLOW, - ANIM_V_SHAKE_H_SLIDE_SLOW, - ANIM_V_STRETCH_BOTH_ENDS_SLOW, - ANIM_H_STRETCH_FAR_SLOW, - ANIM_V_SHAKE_LOW_TWICE, - ANIM_H_SHAKE_FAST, - ANIM_H_SLIDE_FAST, - ANIM_H_VIBRATE_FAST, - ANIM_H_VIBRATE_FASTEST, - ANIM_V_SHAKE_BACK_FAST, - ANIM_V_SHAKE_LOW_TWICE_SLOW, - ANIM_V_SHAKE_LOW_TWICE_FAST, - ANIM_CIRCLE_C_CLOCKWISE_LONG, - ANIM_GROW_STUTTER_SLOW, - ANIM_V_SHAKE_H_SLIDE, - ANIM_V_SHAKE_H_SLIDE_FAST, - ANIM_TRIANGLE_DOWN_SLOW, - ANIM_TRIANGLE_DOWN, - ANIM_TRIANGLE_DOWN_TWICE, - ANIM_GROW, - ANIM_GROW_TWICE, - ANIM_H_SPRING_FAST, - ANIM_H_SPRING_SLOW, - ANIM_H_REPEATED_SPRING_FAST, - ANIM_H_REPEATED_SPRING, - ANIM_SHRINK_GROW_FAST, - ANIM_SHRINK_GROW_SLOW, - ANIM_V_STRETCH_BOTH_ENDS, - ANIM_V_STRETCH_BOTH_ENDS_TWICE, - ANIM_H_STRETCH_FAR_TWICE, - ANIM_H_STRETCH_FAR, - ANIM_GROW_STUTTER_TWICE, - ANIM_GROW_STUTTER, - ANIM_CONCAVE_ARC_LARGE_SLOW, - ANIM_CONCAVE_ARC_LARGE, - ANIM_CONCAVE_ARC_LARGE_TWICE, - ANIM_CONVEX_DOUBLE_ARC_SLOW, - ANIM_CONVEX_DOUBLE_ARC, - ANIM_CONVEX_DOUBLE_ARC_TWICE, - ANIM_CONCAVE_ARC_SMALL_SLOW, - ANIM_CONCAVE_ARC_SMALL, - ANIM_CONCAVE_ARC_SMALL_TWICE, - ANIM_H_DIP, - ANIM_H_DIP_FAST, - ANIM_H_DIP_TWICE, - ANIM_SHRINK_GROW_VIBRATE_FAST, - ANIM_SHRINK_GROW_VIBRATE, - ANIM_SHRINK_GROW_VIBRATE_SLOW, - ANIM_JOLT_RIGHT_FAST, - ANIM_JOLT_RIGHT, - ANIM_JOLT_RIGHT_SLOW, - ANIM_SHAKE_FLASH_YELLOW_FAST, - ANIM_SHAKE_FLASH_YELLOW, - ANIM_SHAKE_FLASH_YELLOW_SLOW, - ANIM_SHAKE_GLOW_RED_FAST, - ANIM_SHAKE_GLOW_RED, - ANIM_SHAKE_GLOW_RED_SLOW, - ANIM_SHAKE_GLOW_GREEN_FAST, - ANIM_SHAKE_GLOW_GREEN, - ANIM_SHAKE_GLOW_GREEN_SLOW, - ANIM_SHAKE_GLOW_BLUE_FAST, - ANIM_SHAKE_GLOW_BLUE, - ANIM_SHAKE_GLOW_BLUE_SLOW, - ANIM_SHAKE_GLOW_BLACK_SLOW, - ANIM_SHAKE_GLOW_WHITE_SLOW, - ANIM_SHAKE_GLOW_PURPLE_SLOW, -}; - -enum BackAnim GetSpeciesBackAnimSet(u16 species); -void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId); -void StartMonSummaryAnimation(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId); -void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, enum BackAnim backAnimSet); -void SetSpriteCB_MonAnimDummy(struct Sprite *sprite); +#define ANIM_V_SQUISH_AND_BOUNCE 0 +#define ANIM_CIRCULAR_STRETCH_TWICE 1 +#define ANIM_H_VIBRATE 2 +#define ANIM_H_SLIDE 3 +#define ANIM_V_SLIDE 4 +#define ANIM_BOUNCE_ROTATE_TO_SIDES 5 +#define ANIM_V_JUMPS_H_JUMPS 6 +#define ANIM_ROTATE_TO_SIDES 7 +#define ANIM_ROTATE_TO_SIDES_TWICE 8 +#define ANIM_GROW_VIBRATE 9 +#define ANIM_ZIGZAG_FAST 10 +#define ANIM_SWING_CONCAVE 11 +#define ANIM_SWING_CONCAVE_FAST 12 +#define ANIM_SWING_CONVEX 13 +#define ANIM_SWING_CONVEX_FAST 14 +#define ANIM_H_SHAKE 15 +#define ANIM_V_SHAKE 16 +#define ANIM_CIRCULAR_VIBRATE 17 +#define ANIM_TWIST 18 +#define ANIM_SHRINK_GROW 19 +#define ANIM_CIRCLE_C_CLOCKWISE 20 +#define ANIM_GLOW_BLACK 21 +#define ANIM_H_STRETCH 22 +#define ANIM_V_STRETCH 23 +#define ANIM_RISING_WOBBLE 24 +#define ANIM_V_SHAKE_TWICE 25 +#define ANIM_TIP_MOVE_FORWARD 26 +#define ANIM_H_PIVOT 27 +#define ANIM_V_SLIDE_WOBBLE 28 +#define ANIM_H_SLIDE_WOBBLE 29 +#define ANIM_V_JUMPS_BIG 30 +#define ANIM_SPIN_LONG 31 +#define ANIM_GLOW_ORANGE 32 +#define ANIM_GLOW_RED 33 +#define ANIM_GLOW_BLUE 34 +#define ANIM_GLOW_YELLOW 35 +#define ANIM_GLOW_PURPLE 36 +#define ANIM_BACK_AND_LUNGE 37 +#define ANIM_BACK_FLIP 38 +#define ANIM_FLICKER 39 +#define ANIM_BACK_FLIP_BIG 40 +#define ANIM_FRONT_FLIP 41 +#define ANIM_TUMBLING_FRONT_FLIP 42 +#define ANIM_FIGURE_8 43 +#define ANIM_FLASH_YELLOW 44 +#define ANIM_SWING_CONCAVE_FAST_SHORT 45 +#define ANIM_SWING_CONVEX_FAST_SHORT 46 +#define ANIM_ROTATE_UP_SLAM_DOWN 47 +#define ANIM_DEEP_V_SQUISH_AND_BOUNCE 48 +#define ANIM_H_JUMPS 49 +#define ANIM_H_JUMPS_V_STRETCH 50 +#define ANIM_ROTATE_TO_SIDES_FAST 51 +#define ANIM_ROTATE_UP_TO_SIDES 52 +#define ANIM_FLICKER_INCREASING 53 +#define ANIM_TIP_HOP_FORWARD 54 +#define ANIM_PIVOT_SHAKE 55 +#define ANIM_TIP_AND_SHAKE 56 +#define ANIM_VIBRATE_TO_CORNERS 57 +#define ANIM_GROW_IN_STAGES 58 +#define ANIM_V_SPRING 59 +#define ANIM_V_REPEATED_SPRING 60 +#define ANIM_SPRING_RISING 61 +#define ANIM_H_SPRING 62 +#define ANIM_H_REPEATED_SPRING_SLOW 63 +#define ANIM_H_SLIDE_SHRINK 64 +#define ANIM_LUNGE_GROW 65 +#define ANIM_CIRCLE_INTO_BG 66 +#define ANIM_RAPID_H_HOPS 67 +#define ANIM_FOUR_PETAL 68 +#define ANIM_V_SQUISH_AND_BOUNCE_SLOW 69 +#define ANIM_H_SLIDE_SLOW 70 +#define ANIM_V_SLIDE_SLOW 71 +#define ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL 72 +#define ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW 73 +#define ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW 74 +#define ANIM_ZIGZAG_SLOW 75 +#define ANIM_H_SHAKE_SLOW 76 +#define ANIM_V_SHAKE_SLOW 77 +#define ANIM_TWIST_TWICE 78 +#define ANIM_CIRCLE_C_CLOCKWISE_SLOW 79 +#define ANIM_V_SHAKE_TWICE_SLOW 80 +#define ANIM_V_SLIDE_WOBBLE_SMALL 81 +#define ANIM_V_JUMPS_SMALL 82 +#define ANIM_SPIN 83 +#define ANIM_TUMBLING_FRONT_FLIP_TWICE 84 +#define ANIM_DEEP_V_SQUISH_AND_BOUNCE_TWICE 85 +#define ANIM_H_JUMPS_V_STRETCH_TWICE 86 +#define ANIM_V_SHAKE_BACK 87 +#define ANIM_V_SHAKE_BACK_SLOW 88 +#define ANIM_V_SHAKE_H_SLIDE_SLOW 89 +#define ANIM_V_STRETCH_BOTH_ENDS_SLOW 90 +#define ANIM_H_STRETCH_FAR_SLOW 91 +#define ANIM_V_SHAKE_LOW_TWICE 92 +#define ANIM_H_SHAKE_FAST 93 +#define ANIM_H_SLIDE_FAST 94 +#define ANIM_H_VIBRATE_FAST 95 +#define ANIM_H_VIBRATE_FASTEST 96 +#define ANIM_V_SHAKE_BACK_FAST 97 +#define ANIM_V_SHAKE_LOW_TWICE_SLOW 98 +#define ANIM_V_SHAKE_LOW_TWICE_FAST 99 +#define ANIM_CIRCLE_C_CLOCKWISE_LONG 100 +#define ANIM_GROW_STUTTER_SLOW 101 +#define ANIM_V_SHAKE_H_SLIDE 102 +#define ANIM_V_SHAKE_H_SLIDE_FAST 103 +#define ANIM_TRIANGLE_DOWN_SLOW 104 +#define ANIM_TRIANGLE_DOWN 105 +#define ANIM_TRIANGLE_DOWN_TWICE 106 +#define ANIM_GROW 107 +#define ANIM_GROW_TWICE 108 +#define ANIM_H_SPRING_FAST 109 +#define ANIM_H_SPRING_SLOW 110 +#define ANIM_H_REPEATED_SPRING_FAST 111 +#define ANIM_H_REPEATED_SPRING 112 +#define ANIM_SHRINK_GROW_FAST 113 +#define ANIM_SHRINK_GROW_SLOW 114 +#define ANIM_V_STRETCH_BOTH_ENDS 115 +#define ANIM_V_STRETCH_BOTH_ENDS_TWICE 116 +#define ANIM_H_STRETCH_FAR_TWICE 117 +#define ANIM_H_STRETCH_FAR 118 +#define ANIM_GROW_STUTTER_TWICE 119 +#define ANIM_GROW_STUTTER 120 +#define ANIM_CONCAVE_ARC_LARGE_SLOW 121 +#define ANIM_CONCAVE_ARC_LARGE 122 +#define ANIM_CONCAVE_ARC_LARGE_TWICE 123 +#define ANIM_CONVEX_DOUBLE_ARC_SLOW 124 +#define ANIM_CONVEX_DOUBLE_ARC 125 +#define ANIM_CONVEX_DOUBLE_ARC_TWICE 126 +#define ANIM_CONCAVE_ARC_SMALL_SLOW 127 +#define ANIM_CONCAVE_ARC_SMALL 128 +#define ANIM_CONCAVE_ARC_SMALL_TWICE 129 +#define ANIM_H_DIP 130 +#define ANIM_H_DIP_FAST 131 +#define ANIM_H_DIP_TWICE 132 +#define ANIM_SHRINK_GROW_VIBRATE_FAST 133 +#define ANIM_SHRINK_GROW_VIBRATE 134 +#define ANIM_SHRINK_GROW_VIBRATE_SLOW 135 +#define ANIM_JOLT_RIGHT_FAST 136 +#define ANIM_JOLT_RIGHT 137 +#define ANIM_JOLT_RIGHT_SLOW 138 +#define ANIM_SHAKE_FLASH_YELLOW_FAST 139 +#define ANIM_SHAKE_FLASH_YELLOW 140 +#define ANIM_SHAKE_FLASH_YELLOW_SLOW 141 +#define ANIM_SHAKE_GLOW_RED_FAST 142 +#define ANIM_SHAKE_GLOW_RED 143 +#define ANIM_SHAKE_GLOW_RED_SLOW 144 +#define ANIM_SHAKE_GLOW_GREEN_FAST 145 +#define ANIM_SHAKE_GLOW_GREEN 146 +#define ANIM_SHAKE_GLOW_GREEN_SLOW 147 +#define ANIM_SHAKE_GLOW_BLUE_FAST 148 +#define ANIM_SHAKE_GLOW_BLUE 149 +#define ANIM_SHAKE_GLOW_BLUE_SLOW 150 +#define ANIM_SHAKE_GLOW_BLACK_SLOW 151 +#define ANIM_SHAKE_GLOW_WHITE_SLOW 152 +#define ANIM_SHAKE_GLOW_PURPLE_SLOW 153 #endif // GUARD_POKEMON_ANIMATION_H diff --git a/include/trainer_hill.h b/include/trainer_hill.h index 848e40e7d5..6e2ec0ba0a 100644 --- a/include/trainer_hill.h +++ b/include/trainer_hill.h @@ -45,7 +45,7 @@ extern u32 *gTrainerHillVBlankCounter; void CallTrainerHillFunction(void); void ResetTrainerHillResults(void); -enum TrainerClassID GetTrainerHillOpponentClass(u16 trainerId); +u8 GetTrainerHillOpponentClass(u16 trainerId); void GetTrainerHillTrainerName(u8 *dst, u16 trainerId); u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId); void InitTrainerHillBattleStruct(void); diff --git a/src/battle_bg.c b/src/battle_bg.c index 8779d8f349..328f990653 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -21,6 +21,7 @@ #include "text_window.h" #include "trig.h" #include "window.h" +#include "constants/map_types.h" #include "constants/rgb.h" #include "constants/songs.h" #include "constants/trainers.h" @@ -805,7 +806,7 @@ void DrawMainBattleBackground(void) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (trainerClass == TRAINER_CLASS_LEADER) { LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); @@ -1206,7 +1207,7 @@ void DrawBattleEntryBackground(void) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (trainerClass == TRAINER_CLASS_LEADER) { LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); @@ -1271,7 +1272,7 @@ bool8 LoadChosenBattleElement(u8 caseId) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (trainerClass == TRAINER_CLASS_LEADER) { LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); @@ -1333,7 +1334,7 @@ bool8 LoadChosenBattleElement(u8 caseId) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (trainerClass == TRAINER_CLASS_LEADER) { LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); @@ -1395,7 +1396,7 @@ bool8 LoadChosenBattleElement(u8 caseId) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (trainerClass == TRAINER_CLASS_LEADER) { LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 257959b0e9..cefebe3796 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -56,6 +56,7 @@ #include "constants/hold_effects.h" #include "constants/items.h" #include "constants/item_effects.h" +#include "constants/map_types.h" #include "constants/moves.h" #include "constants/party_menu.h" #include "constants/rgb.h" diff --git a/src/battle_setup.c b/src/battle_setup.c index 423bf4537c..62eb192b75 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -45,6 +45,7 @@ #include "constants/game_stat.h" #include "constants/items.h" #include "constants/songs.h" +#include "constants/map_types.h" #include "constants/trainers.h" #include "constants/trainer_hill.h" #include "constants/weather.h" @@ -738,7 +739,7 @@ static void CB2_EndScriptedWildBattle(void) } } -enum BattleTerrain BattleSetup_GetTerrainId(void) +u8 BattleSetup_GetTerrainId(void) { u16 tileBehavior; s16 x, y; @@ -890,7 +891,7 @@ u8 GetTrainerBattleTransition(void) u8 enemyLevel; u8 playerLevel; u32 trainerId = SanitizeTrainerId(gTrainerBattleOpponent_A); - enum TrainerClassID trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + u32 trainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (DoesTrainerHaveMugshot(trainerId)) return B_TRANSITION_MUGSHOT; diff --git a/src/battle_tower.c b/src/battle_tower.c index 47b85af65c..7fcdf1b8dd 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -1352,9 +1352,9 @@ u8 GetFrontierTrainerFrontSpriteId(u16 trainerId) } } -enum TrainerClassID GetFrontierOpponentClass(u16 trainerId) +u8 GetFrontierOpponentClass(u16 trainerId) { - enum TrainerClassID trainerClass = 0; + u8 trainerClass = 0; enum DifficultyLevel difficulty = GetBattlePartnerDifficultyLevel(trainerId); SetFacilityPtrsGetLevel(); @@ -2847,7 +2847,7 @@ u8 GetEreaderTrainerFrontSpriteId(void) #endif //FREE_BATTLE_TOWER_E_READER } -enum TrainerClassID GetEreaderTrainerClassId(void) +u8 GetEreaderTrainerClassId(void) { #if FREE_BATTLE_TOWER_E_READER == FALSE return gFacilityClassToTrainerClass[gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass]; diff --git a/src/bike.c b/src/bike.c index 50ed705da3..afc3099ab7 100644 --- a/src/bike.c +++ b/src/bike.c @@ -7,6 +7,7 @@ #include "metatile_behavior.h" #include "overworld.h" #include "sound.h" +#include "constants/map_types.h" #include "constants/songs.h" // this file's functions diff --git a/src/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h index a88f705f01..909d3d7dcb 100644 --- a/src/data/pokemon/trainer_class_lookups.h +++ b/src/data/pokemon/trainer_class_lookups.h @@ -84,7 +84,7 @@ const u8 gFacilityClassToPicIndex[] = [FACILITY_CLASS_RS_MAY] = TRAINER_PIC_RS_MAY, }; -const enum TrainerClassID gFacilityClassToTrainerClass[] = +const u8 gFacilityClassToTrainerClass[] = { [FACILITY_CLASS_HIKER] = TRAINER_CLASS_HIKER, [FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_CLASS_TEAM_AQUA, diff --git a/src/debug.c b/src/debug.c index ecb739de38..99f8975197 100644 --- a/src/debug.c +++ b/src/debug.c @@ -168,7 +168,7 @@ enum FlagsVarsDebugMenu DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_CATCHING, }; -enum DebugBattleType +enum BattleType { DEBUG_BATTLE_0_MENU_ITEM_WILD, DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE, @@ -177,7 +177,7 @@ enum DebugBattleType DEBUG_BATTLE_0_MENU_ITEM_MULTI, }; -enum DebugBattleAIFlags +enum BattleAIFlags { DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_00, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_01, @@ -200,7 +200,7 @@ enum DebugBattleAIFlags DEBUG_BATTLE_1_MENU_ITEM_CONTINUE, }; -enum DebugBattleTerrain +enum BattleTerrain { DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_0, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_1, @@ -297,7 +297,7 @@ struct DebugBattleData { u8 submenu; u8 battleType; - enum BattleTerrain battleTerrain; + u8 battleTerrain; bool8 aiFlags[AI_FLAG_COUNT]; }; diff --git a/src/dexnav.c b/src/dexnav.c index 8abaf31e8b..61b7b78ba0 100644 --- a/src/dexnav.c +++ b/src/dexnav.c @@ -49,6 +49,7 @@ #include "text_window.h" #include "wild_encounter.h" #include "window.h" +#include "constants/map_types.h" #include "constants/species.h" #include "constants/maps.h" #include "constants/field_effects.h" @@ -612,7 +613,7 @@ static bool8 DexNavPickTile(u8 environment, u8 areaX, u8 areaY, bool8 smallScan) bool8 nextIter; u8 scale = 0; u8 weight = 0; - enum MapType currMapType = GetCurrentMapType(); + u8 currMapType = GetCurrentMapType(); u8 tileBehaviour; u8 tileBuffer = 2; u8 *xPos = AllocZeroed((botX - topX) * (botY - topY) * sizeof(u8)); @@ -724,7 +725,7 @@ static bool8 DexNavPickTile(u8 environment, u8 areaX, u8 areaY, bool8 smallScan) static bool8 TryStartHiddenMonFieldEffect(u8 environment, u8 xSize, u8 ySize, bool8 smallScan) { - enum MapType currMapType = GetCurrentMapType(); + u8 currMapType = GetCurrentMapType(); u8 fldEffId = 0; if (DexNavPickTile(environment, xSize, ySize, smallScan)) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 7b652b4eec..80423aa316 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -44,6 +44,7 @@ #include "constants/event_objects.h" #include "constants/field_effects.h" #include "constants/items.h" +#include "constants/map_types.h" #include "constants/mauville_old_man.h" #include "constants/rgb.h" #include "constants/region_map_sections.h" diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 96f034675d..a9be5b55a0 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -35,6 +35,7 @@ #include "constants/event_bg.h" #include "constants/event_objects.h" #include "constants/field_poison.h" +#include "constants/map_types.h" #include "constants/metatile_behaviors.h" #include "constants/songs.h" #include "constants/trainer_hill.h" diff --git a/src/field_effect.c b/src/field_effect.c index 65ec704add..45631be6a3 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -36,6 +36,7 @@ #include "constants/metatile_behaviors.h" #include "constants/rgb.h" #include "constants/songs.h" +#include "constants/map_types.h" #define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 3fe73c1cc5..e07d067afc 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -86,7 +86,7 @@ static void FillPalBufferBlack(void) void WarpFadeInScreen(void) { - enum MapType previousMapType = GetLastUsedWarpMapType(); + u8 previousMapType = GetLastUsedWarpMapType(); switch (GetMapPairFadeFromType(previousMapType, GetCurrentMapType())) { case 0: @@ -113,7 +113,7 @@ void FadeInFromBlack(void) void WarpFadeOutScreen(void) { - enum MapType currentMapType = GetCurrentMapType(); + u8 currentMapType = GetCurrentMapType(); switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType)) { case 0: diff --git a/src/field_specials.c b/src/field_specials.c index 9573fabec8..e04a8011fe 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -59,6 +59,7 @@ #include "constants/field_specials.h" #include "constants/items.h" #include "constants/heal_locations.h" +#include "constants/map_types.h" #include "constants/mystery_gift.h" #include "constants/slot_machine.h" #include "constants/songs.h" diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 5663c86c27..1e2b9a95fc 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -14,6 +14,7 @@ #include "sprite.h" #include "task.h" #include "constants/songs.h" +#include "constants/map_types.h" struct FlashStruct { @@ -153,8 +154,8 @@ void CB2_DoChangeMap(void) static bool8 TryDoMapTransition(void) { u8 i; - enum MapType fromType = GetLastUsedWarpMapType(); - enum MapType toType = GetCurrentMapType(); + u8 fromType = GetLastUsedWarpMapType(); + u8 toType = GetCurrentMapType(); for (i = 0; sTransitionTypes[i].fromType; i++) { diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index 61ae0639e5..39f64adb87 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -16,6 +16,7 @@ #include "constants/event_object_movement.h" #include "constants/event_objects.h" #include "constants/field_effects.h" +#include "constants/map_types.h" #include "constants/songs.h" static void Task_DoFieldMove_Init(u8 taskId); diff --git a/src/frontier_util.c b/src/frontier_util.c index 7d2dab818c..30c22d4442 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -2459,7 +2459,7 @@ u8 GetFrontierBrainTrainerPicIndex(void) return GetTrainerPicFromId(gFrontierBrainInfo[facility].trainerId); } -enum TrainerClassID GetFrontierBrainTrainerClass(void) +u8 GetFrontierBrainTrainerClass(void) { s32 facility; diff --git a/src/item_use.c b/src/item_use.c index 09eceaf6e7..64db57a16d 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -44,6 +44,7 @@ #include "constants/item_effects.h" #include "constants/items.h" #include "constants/songs.h" +#include "constants/map_types.h" static void SetUpItemUseCallback(u8); static void FieldCB_UseItemOnField(void); @@ -1471,7 +1472,7 @@ static bool32 IsValidLocationForVsSeeker(void) { u16 mapGroup = gSaveBlock1Ptr->location.mapGroup; u16 mapNum = gSaveBlock1Ptr->location.mapNum; - enum MapType mapType = gMapHeader.mapType; + u16 mapType = gMapHeader.mapType; typedef struct { u16 mapGroup; diff --git a/src/overworld.c b/src/overworld.c index 2a717b7586..05c04d0fba 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -67,6 +67,7 @@ #include "frontier_util.h" #include "constants/abilities.h" #include "constants/layouts.h" +#include "constants/map_types.h" #include "constants/region_map_sections.h" #include "constants/songs.h" #include "constants/trainer_hill.h" @@ -172,8 +173,8 @@ static void SetKeyInterceptCallback(u16 (*func)(u32)); static void SetFieldVBlankCallback(void); static void FieldClearVBlankHBlankCallbacks(void); static void TransitionMapMusic(void); -static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, enum MapType mapType); -static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, enum MapType mapType); +static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *, u16, u8); +static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *, u8, u16, u8); static u16 GetCenterScreenMetatileBehavior(void); static void *sUnusedOverworldCallback; @@ -718,8 +719,8 @@ void SetLastHealLocationWarp(u8 healLocationId) void UpdateEscapeWarp(s16 x, s16 y) { - enum MapType currMapType = GetCurrentMapType(); - enum MapType destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); + u8 currMapType = GetCurrentMapType(); + u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); if (IsMapTypeOutdoors(currMapType) && IsMapTypeOutdoors(destMapType) != TRUE) SetEscapeWarp(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE, x - MAP_OFFSET, y - MAP_OFFSET + 1); } @@ -964,7 +965,7 @@ void StoreInitialPlayerAvatarState(void) static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void) { struct InitialPlayerAvatarState playerStruct; - enum MapType mapType = GetCurrentMapType(); + u8 mapType = GetCurrentMapType(); u16 metatileBehavior = GetCenterScreenMetatileBehavior(); u8 transitionFlags = GetAdjustedInitialTransitionFlags(&sInitialPlayerAvatarState, metatileBehavior, mapType); playerStruct.transitionFlags = transitionFlags; @@ -973,7 +974,7 @@ static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void) return &sInitialPlayerAvatarState; } -static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, enum MapType mapType) +static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, u8 mapType) { if (mapType != MAP_TYPE_INDOOR && FlagGet(FLAG_SYS_CRUISE_MODE)) return PLAYER_AVATAR_FLAG_ON_FOOT; @@ -991,7 +992,7 @@ static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *pla return PLAYER_AVATAR_FLAG_ACRO_BIKE; } -static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, enum MapType mapType) +static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, u8 mapType) { if (FlagGet(FLAG_SYS_CRUISE_MODE) && mapType == MAP_TYPE_OCEAN_ROUTE) return DIR_EAST; @@ -1400,27 +1401,27 @@ static void ChooseAmbientCrySpecies(void) } } -enum MapType GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum) +u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum) { return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->mapType; } -enum MapType GetMapTypeByWarpData(struct WarpData *warp) +u8 GetMapTypeByWarpData(struct WarpData *warp) { return GetMapTypeByGroupAndId(warp->mapGroup, warp->mapNum); } -enum MapType GetCurrentMapType(void) +u8 GetCurrentMapType(void) { return GetMapTypeByWarpData(&gSaveBlock1Ptr->location); } -enum MapType GetLastUsedWarpMapType(void) +u8 GetLastUsedWarpMapType(void) { return GetMapTypeByWarpData(&gLastUsedWarp); } -bool8 IsMapTypeOutdoors(enum MapType mapType) +bool8 IsMapTypeOutdoors(u8 mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN @@ -1432,7 +1433,7 @@ bool8 IsMapTypeOutdoors(enum MapType mapType) return FALSE; } -bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType) +bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN @@ -1443,7 +1444,7 @@ bool8 Overworld_MapTypeAllowsTeleportAndFly(enum MapType mapType) return FALSE; } -bool8 IsMapTypeIndoors(enum MapType mapType) +bool8 IsMapTypeIndoors(u8 mapType) { if (mapType == MAP_TYPE_INDOOR || mapType == MAP_TYPE_SECRET_BASE) @@ -1462,7 +1463,7 @@ u8 GetCurrentRegionMapSectionId(void) return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum)->regionMapSectionId; } -enum MapBattleScene GetCurrentMapBattleScene(void) +u8 GetCurrentMapBattleScene(void) { return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum)->battleType; } diff --git a/src/pokemon.c b/src/pokemon.c index e9acd576ec..748a21d3f8 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1688,7 +1688,7 @@ u16 GetUnionRoomTrainerPic(void) return FacilityClassToPicIndex(gUnionRoomFacilityClasses[arrId]); } -enum TrainerClassID GetUnionRoomTrainerClass(void) +u16 GetUnionRoomTrainerClass(void) { u8 linkId; u32 arrId; @@ -3519,7 +3519,7 @@ u8 GetSecretBaseTrainerPicIndex(void) return gFacilityClassToPicIndex[facilityClass]; } -enum TrainerClassID GetSecretBaseTrainerClass(void) +u8 GetSecretBaseTrainerClass(void) { u8 facilityClass = sSecretBaseFacilityClasses[gBattleResources->secretBase->gender][gBattleResources->secretBase->trainerId[0] % NUM_SECRET_BASE_CLASSES]; return gFacilityClassToTrainerClass[facilityClass]; @@ -5181,7 +5181,7 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) { u8 friendshipLevel = 0; s16 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, 0); - enum TrainerClassID opponentTrainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); + u32 opponentTrainerClass = GetTrainerClassFromId(gTrainerBattleOpponent_A); if (friendship > 99) friendshipLevel++; @@ -5745,7 +5745,7 @@ u16 GetBattleBGM(void) } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - enum TrainerClassID trainerClass; + u8 trainerClass; if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) trainerClass = GetFrontierOpponentClass(gTrainerBattleOpponent_A); diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index e660ad5f25..6bd32ee514 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -468,7 +468,7 @@ static void SetPosForRotation(struct Sprite *sprite, u16 index, s16 amplitudeX, sprite->y2 = yAdder + amplitudeY; } -enum BackAnim GetSpeciesBackAnimSet(u16 species) +u8 GetSpeciesBackAnimSet(u16 species) { if (gSpeciesInfo[species].backAnimId != BACK_ANIM_NONE) return gSpeciesInfo[species].backAnimId - 1; @@ -527,7 +527,7 @@ static void Task_HandleMonAnimation(u8 taskId) } } -void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId) +void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, u8 frontAnimId) { u8 taskId = CreateTask(Task_HandleMonAnimation, 128); gTasks[taskId].tPtrHi = (u32)(sprite) >> 16; @@ -535,17 +535,16 @@ void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, enum AnimFunctionI gTasks[taskId].tAnimId = frontAnimId; } -void StartMonSummaryAnimation(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId) +void StartMonSummaryAnimation(struct Sprite *sprite, u8 frontAnimId) { // sDontFlip is expected to still be FALSE here, not explicitly cleared sIsSummaryAnim = TRUE; sprite->callback = sMonAnimFunctions[frontAnimId]; } -void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, enum BackAnim backAnimSet) +void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet) { - u8 nature, taskId, battlerId; - enum AnimFunctionIDs animId; + u8 nature, taskId, animId, battlerId; taskId = CreateTask(Task_HandleMonAnimation, 128); gTasks[taskId].tPtrHi = (u32)(sprite) >> 16; diff --git a/src/pokemon_sprite_visualizer.c b/src/pokemon_sprite_visualizer.c index 4323e833a0..c6bb39faaf 100644 --- a/src/pokemon_sprite_visualizer.c +++ b/src/pokemon_sprite_visualizer.c @@ -922,7 +922,7 @@ static void LoadAndCreateEnemyShadowSpriteCustom(struct PokemonSpriteVisualizer } //Battle background functions -static void LoadBattleBg(u8 battleBgType, enum BattleTerrain battleTerrain) +static void LoadBattleBg(u8 battleBgType, u8 battleTerrain) { switch (battleBgType) { diff --git a/src/pokenav_match_call_list.c b/src/pokenav_match_call_list.c index a4f186f443..9a51c092e9 100755 --- a/src/pokenav_match_call_list.c +++ b/src/pokenav_match_call_list.c @@ -410,7 +410,7 @@ void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntry *matchCallEntry, u8 { int index = GetTrainerIdxByRematchIdx(matchCallEntry->headerId); const struct Trainer *trainer = GetTrainerStructFromId(index); - enum TrainerClassID class = trainer->trainerClass; + int class = trainer->trainerClass; className = gTrainerClasses[class].name; trainerName = trainer->trainerName; } diff --git a/src/region_map.c b/src/region_map.c index 351240c825..aba1162f5b 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -24,6 +24,7 @@ #include "heal_location.h" #include "constants/field_specials.h" #include "constants/heal_locations.h" +#include "constants/map_types.h" #include "constants/rgb.h" #include "constants/weather.h" diff --git a/src/scrcmd.c b/src/scrcmd.c index b2bb99cf99..cf65ad270d 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -2939,7 +2939,7 @@ static void CloseBrailleWindow(void) bool8 ScrCmd_buffertrainerclassname(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); - enum TrainerClassID trainerClassId = VarGet(ScriptReadHalfword(ctx)); + u16 trainerClassId = VarGet(ScriptReadHalfword(ctx)); Script_RequestEffects(SCREFF_V1); @@ -2950,7 +2950,7 @@ bool8 ScrCmd_buffertrainerclassname(struct ScriptContext *ctx) bool8 ScrCmd_buffertrainername(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); - enum TrainerClassID trainerClassId = VarGet(ScriptReadHalfword(ctx)); + u16 trainerClassId = VarGet(ScriptReadHalfword(ctx)); Script_RequestEffects(SCREFF_V1); diff --git a/src/secret_base.c b/src/secret_base.c index 3cb81af469..7e0c1ae107 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -39,6 +39,7 @@ #include "constants/event_objects.h" #include "constants/field_specials.h" #include "constants/items.h" +#include "constants/map_types.h" #include "constants/metatile_behaviors.h" #include "constants/metatile_labels.h" #include "constants/moves.h" diff --git a/src/trainer_hill.c b/src/trainer_hill.c index f443217bcd..dd8ae78aa7 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -309,7 +309,7 @@ static u8 GetFloorId(void) return gMapHeader.mapLayoutId - LAYOUT_TRAINER_HILL_1F; } -enum TrainerClassID GetTrainerHillOpponentClass(u16 trainerId) +u8 GetTrainerHillOpponentClass(u16 trainerId) { u8 id = trainerId - 1; From 2aa0ee3de8915294986faed7f4abbebadd19d032 Mon Sep 17 00:00:00 2001 From: RavePossum <145081120+ravepossum@users.noreply.github.com> Date: Wed, 22 Jan 2025 18:20:07 -0500 Subject: [PATCH 24/27] Add dependency on json files to learnset helper (#6083) --- Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a1b6068156..a71c7bc755 100644 --- a/Makefile +++ b/Makefile @@ -426,7 +426,9 @@ $(OBJ_DIR)/sym_common.ld: sym_common.txt $(C_OBJS) $(wildcard common_syms/*.txt) $(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt $(RAMSCRGEN) ewram_data $< ENGLISH > $@ -TEACHABLE_DEPS := $(shell find data/ -type f -name '*.inc') $(INCLUDE_DIRS)/constants/tms_hms.h $(C_SUBDIR)/pokemon.c +MOVES_JSON_DIR := $(TOOLS_DIR)/learnset_helpers/porymoves_files +TEACHABLE_DEPS := $(shell find data/ -type f -name '*.inc') $(INCLUDE_DIRS)/constants/tms_hms.h $(C_SUBDIR)/pokemon.c $(wildcard $(MOVES_JSON_DIR)/*.json) + $(DATA_SRC_SUBDIR)/pokemon/teachable_learnsets.h: $(TEACHABLE_DEPS) python3 $(TOOLS_DIR)/learnset_helpers/teachable.py From 4e0eab9e27000a163bb939ec46b9e01cd5c9ea35 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 23 Jan 2025 09:47:14 +0100 Subject: [PATCH 25/27] Remove gDecompressionBuffer (#6029) --- asm/macros/event.inc | 2 +- include/bg.h | 3 +- include/config/overworld.h | 3 + include/decompress.h | 12 ++-- include/hall_of_fame.h | 17 ++++++ include/item_menu_icons.h | 16 ++++- include/mystery_gift_client.h | 1 + include/sprite.h | 6 +- src/battle_anim.c | 13 ++-- src/battle_gfx_sfx_util.c | 13 ++-- src/battle_main.c | 67 --------------------- src/battle_transition.c | 4 +- src/berry_blender.c | 103 +++++++++++++++++++------------- src/berry_crush.c | 10 ++-- src/berry_tag_screen.c | 7 ++- src/bg.c | 12 +++- src/contest_link.c | 3 +- src/credits.c | 35 +++++------ src/decompress.c | 72 +++++++++++----------- src/ereader_screen.c | 25 ++------ src/event_object_movement.c | 14 +++-- src/field_effect.c | 17 +++++- src/fldeff_sweetscent.c | 35 +++++++++-- src/hall_of_fame.c | 69 ++++++++++----------- src/item_menu_icons.c | 90 +++++++++++++++++++--------- src/link.c | 11 +--- src/main_menu.c | 4 +- src/menu.c | 5 ++ src/mystery_event_menu.c | 4 ++ src/mystery_gift_client.c | 4 +- src/palette.c | 8 ++- src/pokemon_sprite_visualizer.c | 7 ++- src/pokenav_main_menu.c | 17 +++--- src/roulette.c | 38 +++--------- src/save.c | 25 +++++--- src/save_failed_screen.c | 20 +++++-- src/scrcmd.c | 18 ++++-- src/sprite.c | 10 ++-- src/trade.c | 10 +--- src/union_room.c | 13 ++-- 40 files changed, 452 insertions(+), 391 deletions(-) mode change 100755 => 100644 src/berry_crush.c diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 49d4fd3405..b3c7ce050a 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -1823,7 +1823,7 @@ .4byte \text .endm - @ Equivalent to fadescreen but copies gPlttBufferUnfaded to gDecompressionBuffer on the fade out + @ Equivalent to fadescreen but copies gPlttBufferUnfaded to an allocated buffer on the fade out @ and the reverse on the fade in, in effect saving gPlttBufferUnfaded to restore it. .macro fadescreenswapbuffers mode:req .byte SCR_OP_FADESCREENSWAPBUFFERS diff --git a/include/bg.h b/include/bg.h index f981ed4b8c..89ffc8d8eb 100644 --- a/include/bg.h +++ b/include/bg.h @@ -80,7 +80,8 @@ u8 Unused_AdjustBgMosaic(u8 val, u32 mode); void SetBgTilemapBuffer(u32 bg, void *tilemap); void UnsetBgTilemapBuffer(u32 bg); void *GetBgTilemapBuffer(u32 bg); -void CopyToBgTilemapBuffer(u32 bg, const void *src, u16 mode, u16 destOffset); +void CopyToBgTilemapBuffer(u32 bg, const void *src, u32 mode, u32 destOffset); +void DecompressAndCopyToBgTilemapBuffer(u32 bg, const u32 *src, u32 mode, u32 destOffset); void CopyBgTilemapBufferToVram(u32 bg); void CopyToBgTilemapBufferRect(u32 bg, const void *src, u8 destX, u8 destY, u8 width, u8 height); void CopyToBgTilemapBufferRect_ChangePalette(u32 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette); diff --git a/include/config/overworld.h b/include/config/overworld.h index 5b774ec558..87c6243508 100644 --- a/include/config/overworld.h +++ b/include/config/overworld.h @@ -113,4 +113,7 @@ #define OW_UNION_DISABLE_CHECK FALSE // When TRUE, the nurse does not inform the player if there is a trainer waiting in the Union Room. This speeds up the loading of the PokĆ©mon Center. #define OW_FLAG_MOVE_UNION_ROOM_CHECK 0 // If this flag is set, the game will only check if players are in the Union Room while healing PokĆ©mon, and not when players enter the PokĆ©mon Center. This speeds up the loading of the PokĆ©mon Center. This is ignored if OW_UNION_DISABLE_CHECK is TRUE. +// Berry Blender +#define BERRY_BLENDER_THROW_ALL_BERRIES_AT_ONCE TRUE // This is a small little addition, that basically speeds up the animation where all players' berries are thrown into the blender. Self-explanatory I hope! + #endif // GUARD_CONFIG_OVERWORLD_H diff --git a/include/decompress.h b/include/decompress.h index 178ab9a6eb..1c6ab7ee24 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -3,20 +3,20 @@ #include "sprite.h" -extern u8 ALIGNED(4) gDecompressionBuffer[0x4000]; +#define MAX_DECOMPRESSION_BUFFER_SIZE 0x4000 void LZDecompressWram(const u32 *src, void *dest); void LZDecompressVram(const u32 *src, void *dest); u32 IsLZ77Data(const void *ptr, u32 minSize, u32 maxSize); -u16 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src); -u16 LoadCompressedSpriteSheetByTemplate(const struct SpriteTemplate *template, s32 offset); -void LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer); +u32 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src); +u32 LoadCompressedSpriteSheetByTemplate(const struct SpriteTemplate *template, s32 offset); +u32 LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer); bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet *src); -void LoadCompressedSpritePalette(const struct CompressedSpritePalette *src); -void LoadCompressedSpritePaletteWithTag(const u32 *pal, u16 tag); +u32 LoadCompressedSpritePalette(const struct CompressedSpritePalette *src); +u32 LoadCompressedSpritePaletteWithTag(const u32 *pal, u16 tag); void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePalette *src, void *buffer); bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette *src); diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index f1f4567135..53c913b86a 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -1,6 +1,23 @@ #ifndef GUARD_HALL_OF_FAME_H #define GUARD_HALL_OF_FAME_H +struct HallofFameMon +{ + u32 tid; + u32 personality; + u16 isShiny:1; + u16 species:15; + u8 lvl; + u8 nickname[POKEMON_NAME_LENGTH]; +}; + +struct HallofFameTeam +{ + struct HallofFameMon mon[PARTY_SIZE]; +}; + +extern struct HallofFameTeam *gHoFSaveBuffer; + void CB2_DoHallOfFameScreen(void); void CB2_DoHallOfFameScreenDontSaveData(void); void CB2_DoHallOfFamePC(void); diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index d01dcccf5f..c0eb67a6aa 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -17,9 +17,19 @@ void RemoveBagItemIconSprite(u8 id); void CreateItemMenuSwapLine(void); void SetItemMenuSwapLineInvisibility(bool8 invisible); void UpdateItemMenuSwapLinePos(u8 y); -u8 CreateBerryTagSprite(u8 id, s16 x, s16 y); -void FreeBerryTagSpritePalette(void); -u8 CreateSpinningBerrySprite(u8 berryId, u8 x, u8 y, bool8 startAffine); + +// Note: Because of removing gDecompressionBuffer and allowing to create more than one berry sprite at a time, the memory for gfx is allocated dynamically. +// For CreateBerryTagSprite and CreateSpinningBerrySprite, the allocated ptr is stored in two last data fields(data[6], data[7]), so make sure to NOT put anything in there! +// The corresponding code has already been edited in berry_tag_screen.c and berry_blender.c +#define BERRY_ICON_GFX_PTR_DATA_ID 6 +u32 CreateBerryTagSprite(u32 id, s32 x, s32 y); +u32 CreateSpinningBerrySprite(u32 berryId, s32 x, s32 y, bool32 startAffine); +// Needs to always call either of these after creating a Berry Icon sprite, because it frees allocated memory! +void DestroyBerryIconSprite(u32 spriteId, u32 berryId, bool32 freePal); +void DestroyBerryIconSpritePtr(struct Sprite *sprite, u32 berryId, bool32 freePal); + +void FreeBerryIconSpritePalette(u32 berryId); // Unused atm, because it's also handled by DestroyBerryIconSprite. Leaving it as it is, because it may still be useful in some custom cases. + u8 CreateBerryFlavorCircleSprite(s16 x); #endif // GUARD_ITEM_MENU_ICONS_H diff --git a/include/mystery_gift_client.h b/include/mystery_gift_client.h index 8214d69eff..a17778f41a 100644 --- a/include/mystery_gift_client.h +++ b/include/mystery_gift_client.h @@ -81,6 +81,7 @@ struct MysteryGiftClient void * msg; struct MysteryGiftLink link; bool32 isWonderNews; + ALIGNED(4) u8 bufferScript[MG_LINK_BUFFER_SIZE]; }; void MysteryGiftClient_Create(bool32 isWonderNews); diff --git a/include/sprite.h b/include/sprite.h index 6a7b585bf3..138c2ea506 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -317,10 +317,10 @@ u16 GetSpriteTileTagByTileStart(u16 start); void RequestSpriteSheetCopy(const struct SpriteSheet *sheet); u16 LoadSpriteSheetDeferred(const struct SpriteSheet *sheet); void FreeAllSpritePalettes(void); -u8 LoadSpritePalette(const struct SpritePalette *palette); +u32 LoadSpritePalette(const struct SpritePalette *palette); void LoadSpritePalettes(const struct SpritePalette *palettes); -u8 AllocSpritePalette(u16 tag); -u8 IndexOfSpritePaletteTag(u16 tag); +u32 AllocSpritePalette(u16 tag); +u32 IndexOfSpritePaletteTag(u16 tag); u16 GetSpritePaletteTagByPaletteNum(u8 paletteNum); void FreeSpritePaletteByTag(u16 tag); void SetSubspriteTables(struct Sprite *sprite, const struct SubspriteTable *subspriteTables); diff --git a/src/battle_anim.c b/src/battle_anim.c index 640e0044ea..c12a88bec7 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -12,6 +12,7 @@ #include "gpu_regs.h" #include "graphics.h" #include "main.h" +#include "malloc.h" #include "m4a.h" #include "palette.h" #include "pokemon.h" @@ -1570,17 +1571,15 @@ void LoadMoveBg(u16 bgId) { if (IsContest()) { + void *decompressionBuffer = Alloc(0x800); const u32 *tilemap = gBattleAnimBackgroundTable[bgId].tilemap; - void *dmaSrc; - void *dmaDest; - LZDecompressWram(tilemap, gDecompressionBuffer); - RelocateBattleBgPal(GetBattleBgPaletteNum(), (void *)gDecompressionBuffer, 0x100, FALSE); - dmaSrc = gDecompressionBuffer; - dmaDest = (void *)BG_SCREEN_ADDR(26); - DmaCopy32(3, dmaSrc, dmaDest, 0x800); + LZDecompressWram(tilemap, decompressionBuffer); + RelocateBattleBgPal(GetBattleBgPaletteNum(), decompressionBuffer, 0x100, FALSE); + DmaCopy32(3, decompressionBuffer, (void *)BG_SCREEN_ADDR(26), 0x800); LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)BG_SCREEN_ADDR(4)); LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, BG_PLTT_ID(GetBattleBgPaletteNum()), PLTT_SIZE_4BPP); + Free(decompressionBuffer); } else { diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 7677c9f38c..945fa660ca 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -6,6 +6,7 @@ #include "constants/battle_anim.h" #include "battle_interface.h" #include "main.h" +#include "menu.h" #include "dma3.h" #include "malloc.h" #include "graphics.h" @@ -655,9 +656,10 @@ void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battler) else lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, isShiny, personalityValue); - LZDecompressWram(lzPaletteData, gDecompressionBuffer); - LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); - LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battler), PLTT_SIZE_4BPP); + void *buffer = malloc_and_decompress(lzPaletteData, NULL); + LoadPalette(buffer, paletteOffset, PLTT_SIZE_4BPP); + LoadPalette(buffer, BG_PLTT_ID(8) + BG_PLTT_ID(battler), PLTT_SIZE_4BPP); + Free(buffer); // transform's pink color if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) @@ -975,8 +977,9 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool32 megaEvo, bo DmaCopy32(3, src, dst, MON_PIC_SIZE); paletteOffset = OBJ_PLTT_ID(battlerAtk); lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(targetSpecies, isShiny, personalityValue); - LZDecompressWram(lzPaletteData, gDecompressionBuffer); - LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); + void *buffer = malloc_and_decompress(lzPaletteData, NULL); + LoadPalette(buffer, paletteOffset, PLTT_SIZE_4BPP); + Free(buffer); if (!megaEvo) { diff --git a/src/battle_main.c b/src/battle_main.c index 0f77801855..3cf2598b01 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -121,8 +121,6 @@ static void HandleEndTurn_BattleLost(void); static void HandleEndTurn_RanFromBattle(void); static void HandleEndTurn_MonFled(void); static void HandleEndTurn_FinishBattle(void); -static void SpriteCB_UnusedBattleInit(struct Sprite *sprite); -static void SpriteCB_UnusedBattleInit_Main(struct Sprite *sprite); static u32 Crc32B (const u8 *data, u32 size); static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i); static s32 Factorial(s32); @@ -255,17 +253,6 @@ static const struct ScanlineEffectParams sIntroScanlineParams32Bit = ®_BG3HOFS, SCANLINE_EFFECT_DMACNT_32BIT, 1 }; -const struct SpriteTemplate gUnusedBattleInitSprite = -{ - .tileTag = 0, - .paletteTag = 0, - .oam = &gDummyOamData, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCB_UnusedBattleInit, -}; - static const u8 sText_ShedinjaJpnName[] = _("ćƒŒć‚±ćƒ‹ćƒ³"); // Nukenin const struct OamData gOamData_BattleSpriteOpponentSide = @@ -1788,60 +1775,6 @@ void CB2_QuitRecordedBattle(void) } } -#define sState data[0] -#define sDelay data[4] - -static void SpriteCB_UnusedBattleInit(struct Sprite *sprite) -{ - sprite->sState = 0; - sprite->callback = SpriteCB_UnusedBattleInit_Main; -} - -static void SpriteCB_UnusedBattleInit_Main(struct Sprite *sprite) -{ - u16 *arr = (u16 *)gDecompressionBuffer; - - switch (sprite->sState) - { - case 0: - sprite->sState++; - sprite->data[1] = 0; - sprite->data[2] = 0x281; - sprite->data[3] = 0; - sprite->sDelay = 1; - // fall through - case 1: - sprite->sDelay--; - if (sprite->sDelay == 0) - { - s32 i; - s32 r2; - s32 r0; - - sprite->sDelay = 2; - r2 = sprite->data[1] + sprite->data[3] * 32; - r0 = sprite->data[2] - sprite->data[3] * 32; - for (i = 0; i < 29; i += 2) - { - arr[r2 + i] = 0x3D; - arr[r0 + i] = 0x3D; - } - sprite->data[3]++; - if (sprite->data[3] == 21) - { - sprite->sState++; - sprite->data[1] = 32; - } - } - break; - case 2: - sprite->data[1]--; - if (sprite->data[1] == 20) - SetMainCallback2(CB2_InitBattle); - break; - } -} - static u32 Crc32B (const u8 *data, u32 size) { s32 i, j; diff --git a/src/battle_transition.c b/src/battle_transition.c index fbaa5cc0de..1afbe7a026 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -2526,13 +2526,13 @@ static void Mugshots_CreateTrainerPics(struct Task *task) task->tOpponentSpriteId = CreateTrainerSprite(trainerPicId, gTrainerSprites[trainerPicId].mugshotCoords.x - 32, gTrainerSprites[trainerPicId].mugshotCoords.y + 42, - 0, gDecompressionBuffer); + 0, NULL); gReservedSpritePaletteCount = 12; task->tPlayerSpriteId = CreateTrainerSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), DISPLAY_WIDTH + 32, 106, - 0, gDecompressionBuffer); + 0, NULL); opponentSprite = &gSprites[task->tOpponentSpriteId]; playerSprite = &gSprites[task->tPlayerSpriteId]; diff --git a/src/berry_blender.c b/src/berry_blender.c index bf094b6fb9..0a6eaaa2bf 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -1126,68 +1126,84 @@ static void CB2_LoadBerryBlender(void) UpdatePaletteFade(); } -#define sTargetY data[0] -#define sX data[1] -#define sY data[2] -#define sBounceSpeed data[3] -#define sYUpSpeed data[4] -#define sBounces data[5] -#define sXSpeed data[6] -#define sYDownSpeed data[7] +// Because of changing how Berry sprites are generated, we have to leave data[6] and data[7] untouched as it has an allocated memory ptr for berry's gfx. +struct BerrySpriteData +{ + s16 sTargetY; // data0 + s16 sX; // data1 + s16 sY; // data2 + + s8 sBounceSpeed; // data3 + u8 berryId; // data3 + + s8 sYUpSpeed; // data4 + s8 sBounces; // data4 + + s8 sXSpeed; // data5 + s8 sYDownSpeed; // data5 +}; + +static inline struct BerrySpriteData *GetBerrySpriteDataAsStructPtr(struct Sprite *sprite) +{ + return (void *)(&sprite->data[0]); +} // For throwing berries into the machine static void SpriteCB_Berry(struct Sprite *sprite) { - sprite->sX += sprite->sXSpeed; - sprite->sY -= sprite->sYUpSpeed; - sprite->sY += sprite->sYDownSpeed; - sprite->sTargetY += sprite->sYDownSpeed; - sprite->sYUpSpeed--; + struct BerrySpriteData *spriteData = GetBerrySpriteDataAsStructPtr(sprite); - if (sprite->sTargetY < sprite->sY) + spriteData->sX += spriteData->sXSpeed; + spriteData->sY -= spriteData->sYUpSpeed; + spriteData->sY += spriteData->sYDownSpeed; + spriteData->sTargetY += spriteData->sYDownSpeed; + spriteData->sYUpSpeed--; + + if (spriteData->sTargetY < spriteData->sY) { - sprite->sBounceSpeed = sprite->sYUpSpeed = sprite->sBounceSpeed - 1; + spriteData->sBounceSpeed = spriteData->sYUpSpeed = spriteData->sBounceSpeed - 1; - if (++sprite->sBounces > 3) - DestroySprite(sprite); + if (++spriteData->sBounces > 3) + { + DestroyBerryIconSpritePtr(sprite, spriteData->berryId, TRUE); + return; + } else + { PlaySE(SE_BALL_TRAY_EXIT); + } } - sprite->x = sprite->sX; - sprite->y = sprite->sY; + sprite->x = spriteData->sX; + sprite->y = spriteData->sY; } -static void SetBerrySpriteData(struct Sprite *sprite, s16 x, s16 y, s16 bounceSpeed, s16 xSpeed, s16 ySpeed) +static void SetBerrySpriteData(struct Sprite *sprite, s32 x, s32 y, s32 bounceSpeed, s32 xSpeed, s32 ySpeed, u32 berryId) { - sprite->sTargetY = y; - sprite->sX = x; - sprite->sY = y; - sprite->sBounceSpeed = bounceSpeed; - sprite->sYUpSpeed = 10; - sprite->sBounces = 0; - sprite->sXSpeed = xSpeed; - sprite->sYDownSpeed = ySpeed; + struct BerrySpriteData *spriteData = GetBerrySpriteDataAsStructPtr(sprite); + + spriteData->sTargetY = y; + spriteData->sX = x; + spriteData->sY = y; + spriteData->sBounceSpeed = bounceSpeed; + spriteData->sYUpSpeed = 10; + spriteData->sBounces = 0; + spriteData->sXSpeed = xSpeed; + spriteData->sYDownSpeed = ySpeed; + spriteData->berryId = berryId; sprite->callback = SpriteCB_Berry; } -#undef sTargetY -#undef sX -#undef sY -#undef sBounceSpeed -#undef sYUpSpeed -#undef sBounces -#undef sXSpeed -#undef sYDownSpeed - -static void CreateBerrySprite(u16 itemId, u8 playerId) +static void CreateBerrySprite(u32 itemId, u32 playerId) { - u8 spriteId = CreateSpinningBerrySprite(ITEM_TO_BERRY(itemId) - 1, 0, 80, playerId & 1); + u32 berryId = ITEM_TO_BERRY(itemId) - 1; + u32 spriteId = CreateSpinningBerrySprite(berryId, 0, 80, playerId & 1); SetBerrySpriteData(&gSprites[spriteId], sBerrySpriteData[playerId][0], sBerrySpriteData[playerId][1], sBerrySpriteData[playerId][2], sBerrySpriteData[playerId][3], - sBerrySpriteData[playerId][4]); + sBerrySpriteData[playerId][4], + berryId); } static void ConvertItemToBlenderBerry(struct BlenderBerry* berry, u16 itemId) @@ -1676,13 +1692,14 @@ static void CB2_StartBlenderLocal(void) u32 playerId = sPlayerIdMap[sBerryBlender->numPlayers - 2][i]; if (sBerryBlender->playerToThrowBerry == playerId) { - CreateBerrySprite(sBerryBlender->chosenItemId[sBerryBlender->playerToThrowBerry], i); - break; + CreateBerrySprite(sBerryBlender->chosenItemId[sBerryBlender->playerToThrowBerry++], i); + // If we're throwing all at once, continue the loop. If not, break out of the loop(vanilla behavior). + if (!BERRY_BLENDER_THROW_ALL_BERRIES_AT_ONCE) + break; } } sBerryBlender->framesToWait = 0; sBerryBlender->mainState++; - sBerryBlender->playerToThrowBerry++; break; case 12: if (++sBerryBlender->framesToWait > 60) diff --git a/src/berry_crush.c b/src/berry_crush.c old mode 100755 new mode 100644 index 1f997708a7..8010639840 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -1941,12 +1941,10 @@ static void DrawPlayerNameWindows(struct BerryCrushGame *game) // Each player name window border uses a color that corresponds to a slot of the crusher lid static void CopyPlayerNameWindowGfxToBg(struct BerryCrushGame *game) { - u8 i = 0; - u8 *windowGfx; + s32 i; + u8 *windowGfx = malloc_and_decompress(gBerryCrush_TextWindows_Tilemap, NULL); - LZ77UnCompWram(gBerryCrush_TextWindows_Tilemap, gDecompressionBuffer); - - for (windowGfx = gDecompressionBuffer; i < game->playerCount; i++) + for (i = 0; i < game->playerCount; i++) { CopyToBgTilemapBufferRect( 3, @@ -1958,6 +1956,8 @@ static void CopyPlayerNameWindowGfxToBg(struct BerryCrushGame *game) ); } CopyBgTilemapBufferToVram(3); + + Free(windowGfx); } static void CreateGameSprites(struct BerryCrushGame *game) diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index fcd322ce33..1f9d403ea5 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -43,6 +43,7 @@ struct BerryTagScreenStruct { u16 tilemapBuffers[3][0x400]; u16 berryId; + u16 currentSpriteBerryId; u8 berrySpriteId; u8 flavorCircleIds[FLAVOR_COUNT]; u16 gfxState; @@ -466,13 +467,13 @@ static void PrintBerryDescription2(void) static void CreateBerrySprite(void) { - sBerryTag->berrySpriteId = CreateBerryTagSprite(sBerryTag->berryId - 1, 56, 64); + sBerryTag->currentSpriteBerryId = sBerryTag->berryId - 1; + sBerryTag->berrySpriteId = CreateBerryTagSprite(sBerryTag->currentSpriteBerryId, 56, 64); } static void DestroyBerrySprite(void) { - DestroySprite(&gSprites[sBerryTag->berrySpriteId]); - FreeBerryTagSpritePalette(); + DestroyBerryIconSprite(sBerryTag->berrySpriteId, sBerryTag->currentSpriteBerryId, TRUE); } static void CreateFlavorCircleSprites(void) diff --git a/src/bg.c b/src/bg.c index 27a5fb0501..73b5be14e8 100644 --- a/src/bg.c +++ b/src/bg.c @@ -3,6 +3,8 @@ #include "bg.h" #include "dma3.h" #include "gpu_regs.h" +#include "malloc.h" +#include "menu.h" #define DISPCNT_ALL_BG_AND_MODE_BITS (DISPCNT_BG_ALL_ON | 0x7) @@ -865,7 +867,7 @@ void *GetBgTilemapBuffer(u32 bg) return sGpuBgConfigs2[bg].tilemap; } -void CopyToBgTilemapBuffer(u32 bg, const void *src, u16 mode, u16 destOffset) +void CopyToBgTilemapBuffer(u32 bg, const void *src, u32 mode, u32 destOffset) { if (!IsInvalidBg(bg) && !IsTileMapOutsideWram(bg)) { @@ -876,6 +878,14 @@ void CopyToBgTilemapBuffer(u32 bg, const void *src, u16 mode, u16 destOffset) } } +void DecompressAndCopyToBgTilemapBuffer(u32 bg, const u32 *src, u32 mode, u32 destOffset) +{ + void *buffer = malloc_and_decompress(src, NULL); + + CopyToBgTilemapBuffer(bg, buffer, mode, destOffset); + Free(buffer); +} + void CopyBgTilemapBufferToVram(u32 bg) { u16 sizeToLoad; diff --git a/src/contest_link.c b/src/contest_link.c index 9a960e00ac..3ddbd82b1a 100644 --- a/src/contest_link.c +++ b/src/contest_link.c @@ -21,8 +21,7 @@ static void Task_LinkContest_InitFlags(u8); bool32 LinkContest_SendBlock(void *src, u16 size) { - memcpy(gDecompressionBuffer, src, size); - if (SendBlock(BitmaskAllOtherLinkPlayers(), gDecompressionBuffer, size)) + if (SendBlock(BitmaskAllOtherLinkPlayers(), src, size)) return TRUE; else return FALSE; diff --git a/src/credits.c b/src/credits.c index 9269460e92..c06a6fca9b 100644 --- a/src/credits.c +++ b/src/credits.c @@ -270,16 +270,6 @@ static const union AnimCmd *const sAnims_Rival[] = sAnim_Rival_Still, }; -#define MONBG_OFFSET (MON_PIC_SIZE * 3) -static const struct SpriteSheet sSpriteSheet_MonBg[] = { - { gDecompressionBuffer, MONBG_OFFSET, TAG_MON_BG }, - {}, -}; -static const struct SpritePalette sSpritePalette_MonBg[] = { - { (const u16 *)&gDecompressionBuffer[MONBG_OFFSET], TAG_MON_BG }, - {}, -}; - static const struct OamData sOamData_MonBg = { .y = DISPLAY_HEIGHT, @@ -529,6 +519,8 @@ static void Task_ReadyShowMons(u8 taskId) } } +#define MONBG_OFFSET (MON_PIC_SIZE * 3) + static void Task_LoadShowMons(u8 taskId) { switch (gMain.state) @@ -536,8 +528,11 @@ static void Task_LoadShowMons(u8 taskId) default: case 0: { - u16 i; + s32 i; u16 *temp; + u8 *buffer = Alloc(MONBG_OFFSET + PLTT_SIZEOF(16)); + struct SpriteSheet bgSheet = { buffer, MONBG_OFFSET, TAG_MON_BG }; + struct SpritePalette bgPalette = { (u16 *) &buffer[MONBG_OFFSET], TAG_MON_BG }; ResetSpriteData(); ResetAllPicSprites(); @@ -548,20 +543,22 @@ static void Task_LoadShowMons(u8 taskId) LoadPalette(gBirchBagGrass_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(2 * 16 - 1)); for (i = 0; i < MON_PIC_SIZE; i++) - gDecompressionBuffer[i] = 0x11; - for (i = 0; i < MON_PIC_SIZE; i++) - (gDecompressionBuffer + MON_PIC_SIZE)[i] = 0x22; - for (i = 0; i < MON_PIC_SIZE; i++) - (gDecompressionBuffer + MON_PIC_SIZE * 2)[i] = 0x33; + { + buffer[i] = 0x11; + (buffer + MON_PIC_SIZE)[i] = 0x22; + (buffer + MON_PIC_SIZE * 2)[i] = 0x33; + } - temp = (u16 *)(&gDecompressionBuffer[MONBG_OFFSET]); + temp = (u16 *)(&buffer[MONBG_OFFSET]); temp[0] = RGB_BLACK; temp[1] = RGB(31, 31, 20); // light yellow temp[2] = RGB(31, 20, 20); // light red temp[3] = RGB(20, 20, 31); // light blue - LoadSpriteSheet(sSpriteSheet_MonBg); - LoadSpritePalette(sSpritePalette_MonBg); + LoadSpriteSheet(&bgSheet); + LoadSpritePalette(&bgPalette); + + Free(buffer); gMain.state++; break; diff --git a/src/decompress.c b/src/decompress.c index 284bce48d3..8c2f335614 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -5,8 +5,7 @@ #include "pokemon.h" #include "pokemon_sprite_visualizer.h" #include "text.h" - -EWRAM_DATA ALIGNED(4) u8 gDecompressionBuffer[0x4000] = {0}; +#include "menu.h" void LZDecompressWram(const u32 *src, void *dest) { @@ -40,66 +39,69 @@ u32 IsLZ77Data(const void *ptr, u32 minSize, u32 maxSize) return 0; } -u16 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src) +static inline u32 DoLoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src, void *buffer) { struct SpriteSheet dest; - LZ77UnCompWram(src->data, gDecompressionBuffer); - dest.data = gDecompressionBuffer; + dest.data = buffer; dest.size = src->size; dest.tag = src->tag; return LoadSpriteSheet(&dest); } +u32 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src) +{ + void *buffer = malloc_and_decompress(src->data, NULL); + u32 ret = DoLoadCompressedSpriteSheet(src, buffer); + Free(buffer); + + return ret; +} + +u32 LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer) +{ + LZDecompressWram(src->data, buffer); + return DoLoadCompressedSpriteSheet(src, buffer); +} + // This can be used for either compressed or uncompressed sprite sheets -u16 LoadCompressedSpriteSheetByTemplate(const struct SpriteTemplate *template, s32 offset) +u32 LoadCompressedSpriteSheetByTemplate(const struct SpriteTemplate *template, s32 offset) { struct SpriteTemplate myTemplate; struct SpriteFrameImage myImage; u32 size; // Check for LZ77 header and read uncompressed size, or fallback if not compressed (zero size) - if ((size = IsLZ77Data(template->images->data, TILE_SIZE_4BPP, sizeof(gDecompressionBuffer))) == 0) + if ((size = IsLZ77Data(template->images->data, TILE_SIZE_4BPP, MAX_DECOMPRESSION_BUFFER_SIZE)) == 0) return LoadSpriteSheetByTemplate(template, 0, offset); - LZ77UnCompWram(template->images->data, gDecompressionBuffer); - myImage.data = gDecompressionBuffer; + void *buffer = malloc_and_decompress(template->images->data, NULL); + myImage.data = buffer; myImage.size = size + offset; myTemplate.images = &myImage; myTemplate.tileTag = template->tileTag; - return LoadSpriteSheetByTemplate(&myTemplate, 0, offset); + u32 ret = LoadSpriteSheetByTemplate(&myTemplate, 0, offset); + Free(buffer); + return ret; } -void LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer) +u32 LoadCompressedSpritePalette(const struct CompressedSpritePalette *src) { - struct SpriteSheet dest; + return LoadCompressedSpritePaletteWithTag(src->data, src->tag); +} + +u32 LoadCompressedSpritePaletteWithTag(const u32 *pal, u16 tag) +{ + u32 index; + struct SpritePalette dest; + void *buffer = malloc_and_decompress(pal, NULL); - LZ77UnCompWram(src->data, buffer); dest.data = buffer; - dest.size = src->size; - dest.tag = src->tag; - LoadSpriteSheet(&dest); -} - -void LoadCompressedSpritePalette(const struct CompressedSpritePalette *src) -{ - struct SpritePalette dest; - - LZ77UnCompWram(src->data, gDecompressionBuffer); - dest.data = (void *) gDecompressionBuffer; - dest.tag = src->tag; - LoadSpritePalette(&dest); -} - -void LoadCompressedSpritePaletteWithTag(const u32 *pal, u16 tag) -{ - struct SpritePalette dest; - - LZ77UnCompWram(pal, gDecompressionBuffer); - dest.data = (void *) gDecompressionBuffer; dest.tag = tag; - LoadSpritePalette(&dest); + index = LoadSpritePalette(&dest); + Free(buffer); + return index; } void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePalette *src, void *buffer) diff --git a/src/ereader_screen.c b/src/ereader_screen.c index ef1f45d49a..2e5bbe1176 100644 --- a/src/ereader_screen.c +++ b/src/ereader_screen.c @@ -18,17 +18,10 @@ struct EReaderTaskData { u16 timer; - u16 unused1; - u16 unused2; - u16 unused3; u8 state; u8 textState; - u8 unused4; - u8 unused5; - u8 unused6; - u8 unused7; u8 status; - u8 *unusedBuffer; + u8 *buffer; }; struct EReaderData @@ -98,7 +91,6 @@ static u8 EReader_Transfer(struct EReaderData *eReader) static void OpenEReaderLink(void) { - memset(gDecompressionBuffer, 0, 0x2000); gLinkType = LINKTYPE_EREADER_EM; OpenLink(); SetSuppressLinkErrorMessage(TRUE); @@ -251,16 +243,9 @@ void CreateEReaderTask(void) data = (struct EReaderTaskData *)gTasks[taskId].data; data->state = 0; data->textState = 0; - data->unused4 = 0; - data->unused5 = 0; - data->unused6 = 0; - data->unused7 = 0; data->timer = 0; - data->unused1 = 0; - data->unused2 = 0; - data->unused3 = 0; data->status = 0; - data->unusedBuffer = AllocZeroed(CLIENT_MAX_MSG_SIZE); + data->buffer = AllocZeroed(0x2000); } static void ResetTimer(u16 *timer) @@ -471,7 +456,7 @@ static void Task_EReader(u8 taskId) } break; case ER_STATE_VALIDATE_CARD: - data->status = ValidateTrainerHillData((struct EReaderTrainerHillSet *)gDecompressionBuffer); + data->status = ValidateTrainerHillData((struct EReaderTrainerHillSet *)data->buffer); SetCloseLinkCallbackAndType(data->status); data->state = ER_STATE_WAIT_DISCONNECT; break; @@ -485,7 +470,7 @@ static void Task_EReader(u8 taskId) } break; case ER_STATE_SAVE: - if (TryWriteTrainerHill((struct EReaderTrainerHillSet *)&gDecompressionBuffer)) + if (TryWriteTrainerHill((struct EReaderTrainerHillSet *)data->buffer)) { MG_AddMessageTextPrinter(gJPText_ConnectionComplete); ResetTimer(&data->timer); @@ -525,7 +510,7 @@ static void Task_EReader(u8 taskId) data->state = ER_STATE_START; break; case ER_STATE_END: - Free(data->unusedBuffer); + Free(data->buffer); DestroyTask(taskId); SetMainCallback2(MainCB_FreeAllBuffersAndReturnToInitTitleScreen); break; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 80423aa316..f171bcb243 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -2056,15 +2056,19 @@ static u8 LoadDynamicFollowerPalette(u16 species, u8 form, bool32 shiny) spritePalette.data = gSpeciesInfo[species].overworldPalette; } - // Check if pal data must be decompressed if (IsLZ77Data(spritePalette.data, PLTT_SIZE_4BPP, PLTT_SIZE_4BPP)) { - // IsLZ77Data guarantees word-alignment, so casting this is safe - LZ77UnCompWram((u32*)spritePalette.data, gDecompressionBuffer); - spritePalette.data = (void*)gDecompressionBuffer; + struct CompressedSpritePalette compSpritePalette; + + compSpritePalette.data = (const void *) spritePalette.data; + compSpritePalette.tag = spritePalette.tag; + paletteNum = LoadCompressedSpritePalette(&compSpritePalette); + } + else + { + paletteNum = LoadSpritePalette(&spritePalette); } - paletteNum = LoadSpritePalette(&spritePalette); } else #endif //OW_POKEMON_OBJECT_EVENTS == TRUE && OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE diff --git a/src/field_effect.c b/src/field_effect.c index 45631be6a3..3d6e6e67cb 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -14,6 +14,7 @@ #include "fldeff.h" #include "gpu_regs.h" #include "main.h" +#include "malloc.h" #include "mirage_tower.h" #include "menu.h" #include "metatile_behavior.h" @@ -897,8 +898,20 @@ bool8 FieldEffectActiveListContains(u8 id) u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer) { struct SpriteTemplate spriteTemplate; + bool32 alloced = FALSE; + + // Allocate memory for buffer + if (buffer == NULL) + { + buffer = Alloc(TRAINER_PIC_SIZE + PLTT_SIZEOF(16)); + alloced = TRUE; + } + LoadCompressedSpritePaletteOverrideBuffer(&gTrainerSprites[trainerSpriteID].palette, buffer); LoadCompressedSpriteSheetOverrideBuffer(&gTrainerSprites[trainerSpriteID].frontPic, buffer); + if (alloced) + Free(buffer); + spriteTemplate.tileTag = gTrainerSprites[trainerSpriteID].frontPic.tag; spriteTemplate.paletteTag = gTrainerSprites[trainerSpriteID].palette.tag; spriteTemplate.oam = &sOam_64x64; @@ -3940,7 +3953,7 @@ static void Task_MoveDeoxysRock(u8 taskId) u8 FldEff_CaveDust(void) { u8 spriteId; - + SetSpritePosToOffsetMapCoords((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_CAVE_DUST], gFieldEffectArguments[0], gFieldEffectArguments[1], 0xFF); if (spriteId != MAX_SPRITES) @@ -3948,7 +3961,7 @@ u8 FldEff_CaveDust(void) gSprites[spriteId].coordOffsetEnabled = TRUE; gSprites[spriteId].data[0] = 22; } - + return spriteId; } diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index a5b2740458..1be00baebc 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -7,6 +7,7 @@ #include "field_screen_effect.h" #include "field_weather.h" #include "fldeff.h" +#include "malloc.h" #include "mirage_tower.h" #include "palette.h" #include "party_menu.h" @@ -15,6 +16,7 @@ #include "sprite.h" #include "task.h" #include "wild_encounter.h" +#include "util.h" #include "constants/field_effects.h" #include "constants/rgb.h" #include "constants/songs.h" @@ -47,20 +49,40 @@ bool8 FldEff_SweetScent(void) return FALSE; } +#define tPalBuffer1 data[1] +#define tPalBuffer2 data[2] + void StartSweetScentFieldEffect(void) { - u8 taskId; + void *palBuffer; + u32 taskId; u32 palettes = ~(1 << (gSprites[GetPlayerAvatarSpriteId()].oam.paletteNum + 16) | (1 << 13) | (1 << 14) | (1 << 15)); PlaySE(SE_M_SWEET_SCENT); - CpuFastCopy(gPlttBufferUnfaded, gDecompressionBuffer, PLTT_SIZE); + palBuffer = Alloc(PLTT_SIZE); + CpuFastCopy(gPlttBufferUnfaded, palBuffer, PLTT_SIZE); CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE); BeginNormalPaletteFade(palettes, 4, 0, 8, RGB_RED); taskId = CreateTask(TrySweetScentEncounter, 0); gTasks[taskId].data[0] = 0; + StoreWordInTwoHalfwords((u16 *)&gTasks[taskId].tPalBuffer1, (u32) palBuffer); FieldEffectActiveListRemove(FLDEFF_SWEET_SCENT); } +static void *GetPalBufferPtr(u32 taskId) +{ + u32 palBuffer; + + LoadWordFromTwoHalfwords((u16 *)&gTasks[taskId].tPalBuffer1, &palBuffer); + return (void *) palBuffer; +} + +static void FreeDestroyTask(u32 taskId) +{ + Free(GetPalBufferPtr(taskId)); + DestroyTask(taskId); +} + static void TrySweetScentEncounter(u8 taskId) { if (!gPaletteFade.active) @@ -72,7 +94,7 @@ static void TrySweetScentEncounter(u8 taskId) gTasks[taskId].data[0] = 0; if (SweetScentWildEncounter() == TRUE) { - DestroyTask(taskId); + FreeDestroyTask(taskId); } else { @@ -92,9 +114,12 @@ static void FailSweetScentEncounter(u8 taskId) { if (!gPaletteFade.active) { - CpuFastCopy(gDecompressionBuffer, gPlttBufferUnfaded, PLTT_SIZE); + CpuFastCopy(GetPalBufferPtr(taskId), gPlttBufferUnfaded, PLTT_SIZE); SetWeatherPalStateIdle(); ScriptContext_SetupScript(EventScript_FailSweetScent); - DestroyTask(taskId); + FreeDestroyTask(taskId); } } + +#undef tPalBuffer1 +#undef tPalBuffer2 diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 1c3b00f2ef..1a8906d975 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -38,21 +38,6 @@ #define HALL_OF_FAME_MAX_TEAMS 30 #define TAG_CONFETTI 1001 -struct HallofFameMon -{ - u32 tid; - u32 personality; - u16 isShiny:1; - u16 species:15; - u8 lvl; - u8 nickname[POKEMON_NAME_LENGTH]; -}; - -struct HallofFameTeam -{ - struct HallofFameMon mon[PARTY_SIZE]; -}; - STATIC_ASSERT(sizeof(struct HallofFameTeam) * HALL_OF_FAME_MAX_TEAMS <= SECTOR_DATA_SIZE * NUM_HOF_SECTORS, HallOfFameFreeSpace); struct HofGfx @@ -66,6 +51,7 @@ struct HofGfx static EWRAM_DATA u32 sHofFadePalettes = 0; static EWRAM_DATA struct HallofFameTeam *sHofMonPtr = NULL; static EWRAM_DATA struct HofGfx *sHofGfxPtr = NULL; +EWRAM_DATA struct HallofFameTeam *gHoFSaveBuffer = NULL; static void ClearVramOamPltt_LoadHofPal(void); static void LoadHofGfx(void); @@ -416,13 +402,19 @@ static bool8 InitHallOfFameScreen(void) #define tPlayerSpriteID data[4] #define tMonSpriteId(i) data[i + 5] +static void AllocateHoFTeams(void) +{ + sHofMonPtr = AllocZeroed(sizeof(*sHofMonPtr)); + gHoFSaveBuffer = Alloc(SECTOR_SIZE * NUM_HOF_SECTORS); +} + void CB2_DoHallOfFameScreen(void) { if (!InitHallOfFameScreen()) { u8 taskId = CreateTask(Task_Hof_InitMonData, 0); gTasks[taskId].tDontSaveData = FALSE; - sHofMonPtr = AllocZeroed(sizeof(*sHofMonPtr)); + AllocateHoFTeams(); } } @@ -432,7 +424,7 @@ void CB2_DoHallOfFameScreenDontSaveData(void) { u8 taskId = CreateTask(Task_Hof_InitMonData, 0); gTasks[taskId].tDontSaveData = TRUE; - sHofMonPtr = AllocZeroed(sizeof(*sHofMonPtr)); + AllocateHoFTeams(); } } @@ -486,16 +478,16 @@ static void Task_Hof_InitMonData(u8 taskId) static void Task_Hof_InitTeamSaveData(u8 taskId) { u16 i; - struct HallofFameTeam *lastSavedTeam = (struct HallofFameTeam *)(gDecompressionBuffer); + struct HallofFameTeam *lastSavedTeam = gHoFSaveBuffer; if (!gHasHallOfFameRecords) { - memset(gDecompressionBuffer, 0, SECTOR_SIZE * NUM_HOF_SECTORS); + memset(gHoFSaveBuffer, 0, SECTOR_SIZE * NUM_HOF_SECTORS); } else { if (LoadGameSave(SAVE_HALL_OF_FAME) != SAVE_STATUS_OK) - memset(gDecompressionBuffer, 0, SECTOR_SIZE * NUM_HOF_SECTORS); + memset(gHoFSaveBuffer, 0, SECTOR_SIZE * NUM_HOF_SECTORS); } for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, lastSavedTeam++) @@ -505,8 +497,8 @@ static void Task_Hof_InitTeamSaveData(u8 taskId) } if (i >= HALL_OF_FAME_MAX_TEAMS) { - struct HallofFameTeam *afterTeam = (struct HallofFameTeam *)(gDecompressionBuffer); - struct HallofFameTeam *beforeTeam = (struct HallofFameTeam *)(gDecompressionBuffer); + struct HallofFameTeam *afterTeam = gHoFSaveBuffer; + struct HallofFameTeam *beforeTeam = gHoFSaveBuffer; afterTeam++; for (i = 0; i < HALL_OF_FAME_MAX_TEAMS - 1; i++, beforeTeam++, afterTeam++) { @@ -522,6 +514,13 @@ static void Task_Hof_InitTeamSaveData(u8 taskId) gTasks[taskId].func = Task_Hof_TrySaveData; } +static void FreeAllHoFMem(void) +{ + TRY_FREE_AND_SET_NULL(sHofGfxPtr); + TRY_FREE_AND_SET_NULL(sHofMonPtr); + TRY_FREE_AND_SET_NULL(gHoFSaveBuffer); +} + static void Task_Hof_TrySaveData(u8 taskId) { gGameContinueCallback = CB2_DoHallOfFameScreenDontSaveData; @@ -531,8 +530,7 @@ static void Task_Hof_TrySaveData(u8 taskId) UnsetBgTilemapBuffer(3); FreeAllWindowBuffers(); - TRY_FREE_AND_SET_NULL(sHofGfxPtr); - TRY_FREE_AND_SET_NULL(sHofMonPtr); + FreeAllHoFMem(); DestroyTask(taskId); } @@ -772,10 +770,7 @@ static void Task_Hof_HandleExit(u8 taskId) UnsetBgTilemapBuffer(3); ResetBgsAndClearDma3BusyFlags(0); DestroyTask(taskId); - - TRY_FREE_AND_SET_NULL(sHofGfxPtr); - TRY_FREE_AND_SET_NULL(sHofMonPtr); - + FreeAllHoFMem(); StartCredits(); } } @@ -807,6 +802,7 @@ void CB2_DoHallOfFamePC(void) SetVBlankCallback(NULL); ClearVramOamPltt_LoadHofPal(); sHofGfxPtr = AllocZeroed(sizeof(*sHofGfxPtr)); + AllocateHoFTeams(); gMain.state = 1; break; case 1: @@ -823,7 +819,7 @@ void CB2_DoHallOfFamePC(void) case 3: if (!LoadHofBgs()) { - struct HallofFameTeam *fameTeam = (struct HallofFameTeam *)(gDecompressionBuffer); + struct HallofFameTeam *fameTeam = gHoFSaveBuffer; fameTeam->mon[0] = sDummyFameMon; ComputerScreenOpenEffect(0, 0, 0); SetVBlankCallback(VBlankCB_HallOfFame); @@ -852,7 +848,6 @@ void CB2_DoHallOfFamePC(void) gTasks[taskId].tMonSpriteId(i) = SPRITE_NONE; } - sHofMonPtr = AllocZeroed(SECTOR_SIZE * NUM_HOF_SECTORS); SetMainCallback2(CB2_HallOfFame); } break; @@ -871,8 +866,7 @@ static void Task_HofPC_CopySaveData(u8 taskId) u16 i; struct HallofFameTeam *savedTeams; - CpuCopy16(gDecompressionBuffer, sHofMonPtr, SECTOR_SIZE * NUM_HOF_SECTORS); - savedTeams = sHofMonPtr; + savedTeams = gHoFSaveBuffer; for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, savedTeams++) { if (savedTeams->mon[0].species == SPECIES_NONE) @@ -892,7 +886,7 @@ static void Task_HofPC_CopySaveData(u8 taskId) static void Task_HofPC_DrawSpritesPrintText(u8 taskId) { - struct HallofFameTeam *savedTeams = sHofMonPtr; + struct HallofFameTeam *savedTeams = gHoFSaveBuffer; struct HallofFameMon* currMon; u16 i; @@ -958,7 +952,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId) static void Task_HofPC_PrintMonInfo(u8 taskId) { - struct HallofFameTeam *savedTeams = sHofMonPtr; + struct HallofFameTeam *savedTeams = gHoFSaveBuffer; struct HallofFameMon* currMon; u16 i; u16 currMonID; @@ -1047,7 +1041,7 @@ static void Task_HofPC_HandlePaletteOnExit(u8 taskId) struct HallofFameTeam *fameTeam; CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE); - fameTeam = (struct HallofFameTeam *)(gDecompressionBuffer); + fameTeam = gHoFSaveBuffer; fameTeam->mon[0] = sDummyFameMon; ComputerScreenCloseEffect(0, 0, 0); gTasks[taskId].func = Task_HofPC_HandleExit; @@ -1057,7 +1051,7 @@ static void Task_HofPC_HandleExit(u8 taskId) { if (!IsComputerScreenCloseEffectActive()) { - u8 i; + s32 i; for (i = 0; i < PARTY_SIZE; i++) { @@ -1079,8 +1073,7 @@ static void Task_HofPC_HandleExit(u8 taskId) ResetBgsAndClearDma3BusyFlags(0); DestroyTask(taskId); - TRY_FREE_AND_SET_NULL(sHofGfxPtr); - TRY_FREE_AND_SET_NULL(sHofMonPtr); + FreeAllHoFMem(); ReturnFromHallOfFamePC(); } diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c index 4e6339ba30..29cdb224bb 100644 --- a/src/item_menu_icons.c +++ b/src/item_menu_icons.c @@ -6,9 +6,12 @@ #include "item_menu.h" #include "item_icon.h" #include "item_menu_icons.h" +#include "malloc.h" #include "menu_helpers.h" +#include "menu.h" #include "sprite.h" #include "window.h" +#include "util.h" #include "constants/items.h" enum { @@ -269,18 +272,13 @@ static const union AnimCmd *const sBerryPicSpriteAnimTable[] = sAnim_BerryPic }; -static const struct SpriteFrameImage sBerryPicSpriteImageTable[] = -{ - {&gDecompressionBuffer[0], 0x800}, -}; - static const struct SpriteTemplate sBerryPicSpriteTemplate = { .tileTag = TAG_NONE, .paletteTag = TAG_BERRY_PIC_PAL, .oam = &sBerryPicOamData, .anims = sBerryPicSpriteAnimTable, - .images = sBerryPicSpriteImageTable, + .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }; @@ -319,7 +317,7 @@ static const struct SpriteTemplate sBerryPicRotatingSpriteTemplate = .paletteTag = TAG_BERRY_PIC_PAL, .oam = &sBerryPicRotatingOamData, .anims = sBerryPicSpriteAnimTable, - .images = sBerryPicSpriteImageTable, + .images = NULL, .affineAnims = sBerryPicRotatingAnimCmds, .callback = SpriteCallbackDummy, }; @@ -640,47 +638,83 @@ static void ArrangeBerryGfx(void *src, void *dest) } } -static void LoadBerryGfx(u8 berryId) +#define BERRY_SPRITE_SIZE ((64*64)/2) // 0x800 + +struct BerryDynamicGfx +{ + ALIGNED(4) u8 gfx[BERRY_SPRITE_SIZE]; + struct SpriteFrameImage images[1]; +}; + +static struct BerryDynamicGfx *LoadBerryGfx(u8 berryId) { struct CompressedSpritePalette pal; - if (berryId == ITEM_TO_BERRY(ITEM_ENIGMA_BERRY_E_READER) - 1 && IsEnigmaBerryValid()) - { - // unknown empty if statement - } - pal.data = sBerryPicTable[berryId].pal; - pal.tag = TAG_BERRY_PIC_PAL; + pal.tag = TAG_BERRY_PIC_PAL + berryId; LoadCompressedSpritePalette(&pal); - LZDecompressWram(sBerryPicTable[berryId].tiles, &gDecompressionBuffer[0x1000]); - ArrangeBerryGfx(&gDecompressionBuffer[0x1000], &gDecompressionBuffer[0]); + struct BerryDynamicGfx *gfxAlloced = Alloc(sizeof(struct BerryDynamicGfx)); + void *buffer = malloc_and_decompress(sBerryPicTable[berryId].tiles, NULL); + ArrangeBerryGfx(buffer, gfxAlloced->gfx); + Free(buffer); + + return gfxAlloced; } -u8 CreateBerryTagSprite(u8 id, s16 x, s16 y) +static u32 CreateBerrySprite(const struct SpriteTemplate *sprTemplate, u32 berryId, s32 x, s32 y) { - LoadBerryGfx(id); - return CreateSprite(&sBerryPicSpriteTemplate, x, y, 0); + u32 spriteId; + struct BerryDynamicGfx *dynamicGfx = LoadBerryGfx(berryId); + struct SpriteTemplate newSprTemplate = *sprTemplate; + + newSprTemplate.paletteTag += berryId; + newSprTemplate.images = dynamicGfx->images; + + dynamicGfx->images[0].data = dynamicGfx->gfx; + dynamicGfx->images[0].size = BERRY_SPRITE_SIZE; + dynamicGfx->images[0].relativeFrames = FALSE; + + spriteId = CreateSprite(&newSprTemplate, x, y, 0); + StoreWordInTwoHalfwords((u16 *) &gSprites[spriteId].data[BERRY_ICON_GFX_PTR_DATA_ID], (u32) dynamicGfx); + return spriteId; } -void FreeBerryTagSpritePalette(void) +u32 CreateBerryTagSprite(u32 id, s32 x, s32 y) { - FreeSpritePaletteByTag(TAG_BERRY_PIC_PAL); + return CreateBerrySprite(&sBerryPicSpriteTemplate, id, x, y); } // For throwing berries into the Berry Blender -u8 CreateSpinningBerrySprite(u8 berryId, u8 x, u8 y, bool8 startAffine) +u32 CreateSpinningBerrySprite(u32 berryId, s32 x, s32 y, bool32 startAffine) { - u8 spriteId; - - FreeSpritePaletteByTag(TAG_BERRY_PIC_PAL); - LoadBerryGfx(berryId); - spriteId = CreateSprite(&sBerryPicRotatingSpriteTemplate, x, y, 0); - if (startAffine == TRUE) + u32 spriteId = CreateBerrySprite(&sBerryPicRotatingSpriteTemplate, berryId, x, y); + if (startAffine) StartSpriteAffineAnim(&gSprites[spriteId], 1); return spriteId; } +void DestroyBerryIconSprite(u32 spriteId, u32 berryId, bool32 freePal) +{ + DestroyBerryIconSpritePtr(&gSprites[spriteId], berryId, freePal); +} + +void DestroyBerryIconSpritePtr(struct Sprite *sprite, u32 berryId, bool32 freePal) +{ + u32 gfxBuffer; + + LoadWordFromTwoHalfwords((u16 *) &sprite->data[BERRY_ICON_GFX_PTR_DATA_ID], &gfxBuffer); + Free((void *)gfxBuffer); + DestroySprite(sprite); + if (freePal) + FreeBerryIconSpritePalette(berryId); +} + +void FreeBerryIconSpritePalette(u32 berryId) +{ + FreeSpritePaletteByTag(TAG_BERRY_PIC_PAL + berryId); +} + u8 CreateBerryFlavorCircleSprite(s16 x) { return CreateSprite(&sBerryCheckCircleSpriteTemplate, x, 116, 0); diff --git a/src/link.c b/src/link.c index 501aacad2c..fe633c58d7 100644 --- a/src/link.c +++ b/src/link.c @@ -555,18 +555,11 @@ static void ProcessRecvCmds(u8 unused) { if (sBlockRecv[i].size > BLOCK_BUFFER_SIZE) { - u16 *buffer; - u16 j; - - buffer = (u16 *)gDecompressionBuffer; - for (j = 0; j < CMD_LENGTH - 1; j++) - { - buffer[(sBlockRecv[i].pos / 2) + j] = gRecvCmds[i][j + 1]; - } + // Too large block was sent. } else { - u16 j; + u32 j; for (j = 0; j < CMD_LENGTH - 1; j++) { diff --git a/src/main_menu.c b/src/main_menu.c index bae80e543a..c8132c6df8 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1915,12 +1915,12 @@ static void AddBirchSpeechObjects(u8 taskId) gSprites[lotadSpriteId].oam.priority = 0; gSprites[lotadSpriteId].invisible = TRUE; gTasks[taskId].tLotadSpriteId = lotadSpriteId; - brendanSpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_BRENDAN), 120, 60, 0, &gDecompressionBuffer[0]); + brendanSpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_BRENDAN), 120, 60, 0, NULL); gSprites[brendanSpriteId].callback = SpriteCB_Null; gSprites[brendanSpriteId].invisible = TRUE; gSprites[brendanSpriteId].oam.priority = 0; gTasks[taskId].tBrendanSpriteId = brendanSpriteId; - maySpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_MAY), 120, 60, 0, &gDecompressionBuffer[TRAINER_PIC_SIZE]); + maySpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_MAY), 120, 60, 0, NULL); gSprites[maySpriteId].callback = SpriteCB_Null; gSprites[maySpriteId].invisible = TRUE; gSprites[maySpriteId].oam.priority = 0; diff --git a/src/menu.c b/src/menu.c index d9b331a8b2..a6d6a38926 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1943,7 +1943,12 @@ void task_free_buf_after_copying_tile_data_to_vram(u8 taskId) void *malloc_and_decompress(const void *src, u32 *size) { + u32 sizeLocal; // If size is passed as NULL, because we don't care about knowing the size void *ptr; + + if (size == NULL) + size = &sizeLocal; + u8 *sizeAsBytes = (u8 *)size; u8 *srcAsBytes = (u8 *)src; diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 67ec7855ad..82a9cf1831 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -255,10 +255,14 @@ static void CB2_MysteryEventMenu(void) case 11: if (gReceivedRemoteLinkPlayers == 0) { + // No clue what is going on here, and from where gDecompressionBuffer gets actually populated with mystery event script. + /* u16 status = RunMysteryEventScript(gDecompressionBuffer); CpuFill32(0, gDecompressionBuffer, 0x7D4); + if (!GetEventLoadMessage(gStringVar4, status)) TrySavingData(SAVE_NORMAL); + */ gMain.state++; } break; diff --git a/src/mystery_gift_client.c b/src/mystery_gift_client.c index 62ab85b43d..3663df43d5 100644 --- a/src/mystery_gift_client.c +++ b/src/mystery_gift_client.c @@ -238,7 +238,7 @@ static u32 Client_Run(struct MysteryGiftClient * client) #endif //FREE_BATTLE_TOWER_E_READER break; case CLI_RUN_BUFFER_SCRIPT: - memcpy(gDecompressionBuffer, client->recvBuffer, MG_LINK_BUFFER_SIZE); + memcpy(client->bufferScript, client->recvBuffer, MG_LINK_BUFFER_SIZE); client->funcId = FUNC_RUN_BUFFER; client->funcState = 0; break; @@ -279,7 +279,7 @@ static u32 Client_RunMysteryEventScript(struct MysteryGiftClient * client) static u32 Client_RunBufferScript(struct MysteryGiftClient * client) { // exec arbitrary code - u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; + u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)client->bufferScript; if (func(&client->param, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1) { client->funcId = FUNC_RUN; diff --git a/src/palette.c b/src/palette.c index 2526479ca8..f9a074d41e 100644 --- a/src/palette.c +++ b/src/palette.c @@ -2,6 +2,8 @@ #include "palette.h" #include "util.h" #include "decompress.h" +#include "malloc.h" +#include "menu.h" #include "gpu_regs.h" #include "task.h" #include "constants/rgb.h" @@ -40,9 +42,9 @@ static const u8 sRoundedDownGrayscaleMap[] = { void LoadCompressedPalette(const u32 *src, u32 offset, u32 size) { - LZDecompressWram(src, gDecompressionBuffer); - CpuCopy16(gDecompressionBuffer, &gPlttBufferUnfaded[offset], size); - CpuCopy16(gDecompressionBuffer, &gPlttBufferFaded[offset], size); + void *buffer = malloc_and_decompress(src, NULL); + LoadPalette(buffer, offset, size); + Free(buffer); } void LoadPalette(const void *src, u32 offset, u32 size) diff --git a/src/pokemon_sprite_visualizer.c b/src/pokemon_sprite_visualizer.c index c6bb39faaf..3e245d3eb8 100644 --- a/src/pokemon_sprite_visualizer.c +++ b/src/pokemon_sprite_visualizer.c @@ -743,10 +743,11 @@ static void BattleLoadOpponentMonSpriteGfxCustom(u16 species, bool8 isFemale, bo { const u32 *lzPaletteData = GetMonSpritePalFromSpecies(species, isShiny, isFemale); u16 paletteOffset = OBJ_PLTT_ID(battlerId); + void *buffer = malloc_and_decompress(lzPaletteData, NULL); - LZDecompressWram(lzPaletteData, gDecompressionBuffer); - LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); - LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + LoadPalette(buffer, paletteOffset, PLTT_SIZE_4BPP); + LoadPalette(buffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + Free(buffer); } static void SetConstSpriteValues(struct PokemonSpriteVisualizer *data) diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c index 4c4777e5d5..d2765b6706 100644 --- a/src/pokenav_main_menu.c +++ b/src/pokenav_main_menu.c @@ -17,14 +17,15 @@ struct Pokenav_MainMenu { void (*loopTask)(u32); u32 (*isLoopTaskActiveFunc)(void); - u32 unused; u32 currentTaskId; u32 helpBarWindowId; u32 palettes; struct Sprite *spinningPokenav; struct Sprite *leftHeaderSprites[2]; struct Sprite *submenuLeftHeaderSprites[2]; - u8 tilemapBuffer[BG_SCREEN_SIZE]; + ALIGNED(4) u8 tilemapBuffer[BG_SCREEN_SIZE]; + ALIGNED(4) u8 leftHeaderMenuBuffer[0x1000]; + ALIGNED(4) u8 leftHeaderSubMenuBuffer[0x1000]; }; // This struct uses a 32bit tag, and doesn't have a size field. @@ -378,13 +379,11 @@ void SetActiveMenuLoopTasks(void *createLoopTask, void *isLoopTaskActive) // Fix struct Pokenav_MainMenu *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_MAIN_MENU); menu->loopTask = createLoopTask; menu->isLoopTaskActiveFunc = isLoopTaskActive; - menu->unused = 0; } void RunMainMenuLoopedTask(u32 state) { struct Pokenav_MainMenu *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_MAIN_MENU); - menu->unused = 0; menu->loopTask(state); } @@ -686,8 +685,8 @@ static void LoadLeftHeaderGfxForMenu(u32 menuGfxId) tag = sMenuLeftHeaderSpriteSheets[menuGfxId].tag; size = GetDecompressedDataSize(sMenuLeftHeaderSpriteSheets[menuGfxId].data); LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], OBJ_PLTT_ID(IndexOfSpritePaletteTag(1)), PLTT_SIZE_4BPP); - LZ77UnCompWram(sMenuLeftHeaderSpriteSheets[menuGfxId].data, gDecompressionBuffer); - RequestDma3Copy(gDecompressionBuffer, (void *)OBJ_VRAM0 + (GetSpriteTileStartByTag(2) * 32), size, 1); + LZDecompressWram(sMenuLeftHeaderSpriteSheets[menuGfxId].data, menu->leftHeaderMenuBuffer); + RequestDma3Copy(menu->leftHeaderMenuBuffer, (void *)OBJ_VRAM0 + (GetSpriteTileStartByTag(2) * 32), size, 1); menu->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + sMenuLeftHeaderSpriteSheets[menuGfxId].size; if (menuGfxId == POKENAV_GFX_MAP_MENU_ZOOMED_OUT || menuGfxId == POKENAV_GFX_MAP_MENU_ZOOMED_IN) @@ -698,16 +697,18 @@ static void LoadLeftHeaderGfxForMenu(u32 menuGfxId) static void LoadLeftHeaderGfxForSubMenu(u32 menuGfxId) { + struct Pokenav_MainMenu *menu; u32 size, tag; if (menuGfxId >= POKENAV_GFX_MENUS_END - POKENAV_GFX_SUBMENUS_START) return; + menu = GetSubstructPtr(POKENAV_SUBSTRUCT_MAIN_MENU); tag = sPokenavSubMenuLeftHeaderSpriteSheets[menuGfxId].tag; size = GetDecompressedDataSize(sPokenavSubMenuLeftHeaderSpriteSheets[menuGfxId].data); LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], OBJ_PLTT_ID(IndexOfSpritePaletteTag(2)), PLTT_SIZE_4BPP); - LZ77UnCompWram(sPokenavSubMenuLeftHeaderSpriteSheets[menuGfxId].data, &gDecompressionBuffer[0x1000]); - RequestDma3Copy(&gDecompressionBuffer[0x1000], (void *)OBJ_VRAM0 + 0x800 + (GetSpriteTileStartByTag(2) * 32), size, 1); + LZDecompressWram(sPokenavSubMenuLeftHeaderSpriteSheets[menuGfxId].data, menu->leftHeaderSubMenuBuffer); + RequestDma3Copy(menu->leftHeaderSubMenuBuffer, (void *)OBJ_VRAM0 + 0x800 + (GetSpriteTileStartByTag(2) * 32), size, 1); } void ShowLeftHeaderGfx(u32 menuGfxId, bool32 isMain, bool32 isOnRightSide) diff --git a/src/roulette.c b/src/roulette.c index f4e6012a8d..c72b1b7876 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -3521,17 +3521,10 @@ static void CreateGridSprites(void) { u8 i, j; u8 spriteId; - struct SpriteSheet s; - LZ77UnCompWram(sSpriteSheet_Headers.data, gDecompressionBuffer); - s.data = gDecompressionBuffer; - s.size = sSpriteSheet_Headers.size; - s.tag = sSpriteSheet_Headers.tag; - LoadSpriteSheet(&s); - LZ77UnCompWram(sSpriteSheet_GridIcons.data, gDecompressionBuffer); - s.data = gDecompressionBuffer; - s.size = sSpriteSheet_GridIcons.size; - s.tag = sSpriteSheet_GridIcons.tag; - LoadSpriteSheet(&s); + + LoadCompressedSpriteSheet(&sSpriteSheet_Headers); + LoadCompressedSpriteSheet(&sSpriteSheet_GridIcons); + for (i = 0; i < NUM_BOARD_COLORS; i++) { u8 y = i * 24; @@ -3656,13 +3649,8 @@ static void CreateWheelIconSprites(void) { u8 i, j; u16 angle; - struct SpriteSheet s; - LZ77UnCompWram(sSpriteSheet_WheelIcons.data, gDecompressionBuffer); - s.data = gDecompressionBuffer; - s.size = sSpriteSheet_WheelIcons.size; - s.tag = sSpriteSheet_WheelIcons.tag; - LoadSpriteSheet(&s); + LoadCompressedSpriteSheet(&sSpriteSheet_WheelIcons); angle = 15; for (i = 0; i < NUM_BOARD_COLORS; i++) @@ -3702,12 +3690,7 @@ static void CreateInterfaceSprites(void) u8 i; for (i = 0; i < ARRAY_COUNT(sSpriteSheets_Interface) - 1; i++) { - struct SpriteSheet s; - LZ77UnCompWram(sSpriteSheets_Interface[i].data, gDecompressionBuffer); - s.data = gDecompressionBuffer; - s.size = sSpriteSheets_Interface[i].size; - s.tag = sSpriteSheets_Interface[i].tag; - LoadSpriteSheet(&s); + LoadCompressedSpriteSheet(&sSpriteSheets_Interface[i]); } sRoulette->spriteIds[SPR_CREDIT] = CreateSprite(&sSpriteTemplate_Credit, 208, 16, 4); gSprites[sRoulette->spriteIds[SPR_CREDIT]].animPaused = TRUE; @@ -3850,12 +3833,9 @@ static void SpriteCB_GridSquare(struct Sprite *sprite) static void CreateWheelCenterSprite(void) { u8 spriteId; - struct SpriteSheet s; - LZ77UnCompWram(sSpriteSheet_WheelCenter.data, gDecompressionBuffer); - s.data = gDecompressionBuffer; - s.size = sSpriteSheet_WheelCenter.size; - s.tag = sSpriteSheet_WheelCenter.tag; - LoadSpriteSheet(&s); + + LoadCompressedSpriteSheet(&sSpriteSheet_WheelCenter); + // This sprite id isn't saved because it doesn't need to be referenced again // but by virtue of creation order it's SPR_WHEEL_CENTER spriteId = CreateSprite(&sSpriteTemplate_WheelCenter, 116, 80, 81); diff --git a/src/save.c b/src/save.c index 7d7d1e4292..65e496b0d0 100644 --- a/src/save.c +++ b/src/save.c @@ -7,6 +7,7 @@ #include "decompress.h" #include "load_save.h" #include "overworld.h" +#include "hall_of_fame.h" #include "pokemon_storage_system.h" #include "main.h" #include "trainer_hill.h" @@ -716,7 +717,6 @@ u8 HandleSavingData(u8 saveType) { u8 i; u32 *backupVar = gTrainerHillVBlankCounter; - u8 *tempAddr; gTrainerHillVBlankCounter = NULL; UpdateSaveAddresses(); @@ -737,9 +737,12 @@ u8 HandleSavingData(u8 saveType) WriteSaveSectorOrSlot(FULL_SAVE_SLOT, gRamSaveSectorLocations); // Save the Hall of Fame - tempAddr = gDecompressionBuffer; - HandleWriteSectorNBytes(SECTOR_ID_HOF_1, tempAddr, SECTOR_DATA_SIZE); - HandleWriteSectorNBytes(SECTOR_ID_HOF_2, tempAddr + SECTOR_DATA_SIZE, SECTOR_DATA_SIZE); + if (gHoFSaveBuffer != NULL) + { + u8 *tempAddr = (void *) gHoFSaveBuffer; + HandleWriteSectorNBytes(SECTOR_ID_HOF_1, tempAddr, SECTOR_DATA_SIZE); + HandleWriteSectorNBytes(SECTOR_ID_HOF_2, tempAddr + SECTOR_DATA_SIZE, SECTOR_DATA_SIZE); + } break; case SAVE_NORMAL: default: @@ -897,9 +900,17 @@ u8 LoadGameSave(u8 saveType) gGameContinueCallback = 0; break; case SAVE_HALL_OF_FAME: - status = TryLoadSaveSector(SECTOR_ID_HOF_1, gDecompressionBuffer, SECTOR_DATA_SIZE); - if (status == SAVE_STATUS_OK) - status = TryLoadSaveSector(SECTOR_ID_HOF_2, &gDecompressionBuffer[SECTOR_DATA_SIZE], SECTOR_DATA_SIZE); + if (gHoFSaveBuffer != NULL) + { + u8 *hofData = (u8 *) gHoFSaveBuffer; + status = TryLoadSaveSector(SECTOR_ID_HOF_1, hofData, SECTOR_DATA_SIZE); + if (status == SAVE_STATUS_OK) + status = TryLoadSaveSector(SECTOR_ID_HOF_2, &hofData[SECTOR_DATA_SIZE], SECTOR_DATA_SIZE); + } + else + { + status = SAVE_STATUS_ERROR; + } break; } diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index 9bd981facc..08cc1aaeb9 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -1,6 +1,7 @@ #include "global.h" #include "text.h" #include "main.h" +#include "malloc.h" #include "palette.h" #include "graphics.h" #include "gpu_regs.h" @@ -171,6 +172,15 @@ static void VBlankCB(void) TransferPlttBuffer(); } +struct SaveFailedBuffers +{ + ALIGNED(4) u8 tilemapBuffer[BG_SCREEN_SIZE]; + ALIGNED(4) u8 window1TileData[0x200]; + ALIGNED(4) u8 window2TileData[0x200]; +}; + +static EWRAM_DATA struct SaveFailedBuffers *sSaveFailedBuffers = NULL; + static void CB2_SaveFailedScreen(void) { switch (gMain.state) @@ -178,6 +188,7 @@ static void CB2_SaveFailedScreen(void) case 0: default: SetVBlankCallback(NULL); + sSaveFailedBuffers = Alloc(sizeof(*sSaveFailedBuffers)); SetGpuReg(REG_OFFSET_DISPCNT, 0); SetGpuReg(REG_OFFSET_BG3CNT, 0); SetGpuReg(REG_OFFSET_BG2CNT, 0); @@ -200,14 +211,14 @@ static void CB2_SaveFailedScreen(void) LZ77UnCompVram(sSaveFailedClockGfx, (void *)(OBJ_VRAM0 + 0x20)); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates)); - SetBgTilemapBuffer(0, (void *)&gDecompressionBuffer[0x2000]); - CpuFill32(0, &gDecompressionBuffer[0x2000], 0x800); + SetBgTilemapBuffer(0, sSaveFailedBuffers->tilemapBuffer); + CpuFill32(0, sSaveFailedBuffers->tilemapBuffer, BG_SCREEN_SIZE); LoadBgTiles(0, gTextWindowFrame1_Gfx, 0x120, 0x214); InitWindows(sDummyWindowTemplate); sWindowIds[TEXT_WIN_ID] = AddWindowWithoutTileMap(sWindowTemplate_Text); - SetWindowAttribute(sWindowIds[TEXT_WIN_ID], 7, (u32)&gDecompressionBuffer[0x2800]); + SetWindowAttribute(sWindowIds[TEXT_WIN_ID], 7, (u32)&sSaveFailedBuffers->window1TileData); sWindowIds[CLOCK_WIN_ID] = AddWindowWithoutTileMap(sWindowTemplate_Clock); - SetWindowAttribute(sWindowIds[CLOCK_WIN_ID], 7, (u32)&gDecompressionBuffer[0x3D00]); + SetWindowAttribute(sWindowIds[CLOCK_WIN_ID], 7, (u32)&sSaveFailedBuffers->window2TileData); DeactivateAllTextPrinters(); ResetSpriteData(); ResetTasks(); @@ -318,6 +329,7 @@ static void CB2_ReturnToTitleScreen(void) { if (!UpdatePaletteFade()) { + TRY_FREE_AND_SET_NULL(sSaveFailedBuffers); if (gGameContinueCallback == NULL) // no callback exists, so do a soft reset. { DoSoftReset(); diff --git a/src/scrcmd.c b/src/scrcmd.c index cf65ad270d..f82ac3c38d 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -818,6 +818,8 @@ bool8 ScrCmd_fadescreenspeed(struct ScriptContext *ctx) return TRUE; } +static EWRAM_DATA u32 *sPalBuffer = NULL; + bool8 ScrCmd_fadescreenswapbuffers(struct ScriptContext *ctx) { u8 mode = ScriptReadByte(ctx); @@ -829,13 +831,21 @@ bool8 ScrCmd_fadescreenswapbuffers(struct ScriptContext *ctx) case FADE_TO_BLACK: case FADE_TO_WHITE: default: - CpuCopy32(gPlttBufferUnfaded, gDecompressionBuffer, PLTT_SIZE); - FadeScreen(mode, 0); + if (sPalBuffer == NULL) + { + sPalBuffer = Alloc(PLTT_SIZE); + CpuCopy32(gPlttBufferUnfaded, sPalBuffer, PLTT_SIZE); + FadeScreen(mode, 0); + } break; case FADE_FROM_BLACK: case FADE_FROM_WHITE: - CpuCopy32(gDecompressionBuffer, gPlttBufferUnfaded, PLTT_SIZE); - FadeScreen(mode, 0); + if (sPalBuffer != NULL) + { + CpuCopy32(sPalBuffer, gPlttBufferUnfaded, PLTT_SIZE); + FadeScreen(mode, 0); + FREE_AND_SET_NULL(sPalBuffer); + } break; } diff --git a/src/sprite.c b/src/sprite.c index 2e021f5cbf..eb458cb616 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -1567,9 +1567,9 @@ void FreeAllSpritePalettes(void) sSpritePaletteTags[i] = TAG_NONE; } -u8 LoadSpritePalette(const struct SpritePalette *palette) +u32 LoadSpritePalette(const struct SpritePalette *palette) { - u8 index = IndexOfSpritePaletteTag(palette->tag); + u32 index = IndexOfSpritePaletteTag(palette->tag); if (index != 0xFF) return index; @@ -1601,9 +1601,9 @@ void DoLoadSpritePalette(const u16 *src, u16 paletteOffset) LoadPalette(src, OBJ_PLTT_OFFSET + paletteOffset, PLTT_SIZE_4BPP); } -u8 AllocSpritePalette(u16 tag) +u32 AllocSpritePalette(u16 tag) { - u8 index = IndexOfSpritePaletteTag(TAG_NONE); + u32 index = IndexOfSpritePaletteTag(TAG_NONE); if (index == 0xFF) { return 0xFF; @@ -1615,7 +1615,7 @@ u8 AllocSpritePalette(u16 tag) } } -u8 IndexOfSpritePaletteTag(u16 tag) +u32 IndexOfSpritePaletteTag(u16 tag) { u32 i; for (i = gReservedSpritePaletteCount; i < 16; i++) diff --git a/src/trade.c b/src/trade.c index 04b1977c17..8ba22eac97 100644 --- a/src/trade.c +++ b/src/trade.c @@ -2959,17 +2959,11 @@ static void TradeAnimInit_LoadGfx(void) SetBgTilemapBuffer(1, Alloc(BG_SCREEN_SIZE)); SetBgTilemapBuffer(3, Alloc(BG_SCREEN_SIZE)); DeactivateAllTextPrinters(); - // Doing the graphics load... + // Doing the graphics load. DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); - LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); - CopyToBgTilemapBuffer(0, gDecompressionBuffer, BG_SCREEN_SIZE, 0); + DecompressAndCopyToBgTilemapBuffer(0, gBattleTextboxTilemap, BG_SCREEN_SIZE, 0); LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0), PLTT_SIZE_4BPP); InitWindows(sTradeSequenceWindowTemplates); - // ... and doing the same load again - DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); - LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); - CopyToBgTilemapBuffer(0, gDecompressionBuffer, BG_SCREEN_SIZE, 0); - LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0), PLTT_SIZE_4BPP); } static void CB2_InitInGameTrade(void) diff --git a/src/union_room.c b/src/union_room.c index ac4c61035a..3337cdec93 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -2464,18 +2464,19 @@ static void ScheduleFieldMessageAndExit(const u8 *src) StringExpandPlaceholders(gStringVar4, src); } +#define PLAYER_LIST_BUFFER_SIZE (MAX_UNION_ROOM_LEADERS * sizeof(struct RfuPlayer)) + +// Note: This probably could be alloced instead, but I'm not familiar enough with the union room system. +static EWRAM_DATA ALIGNED(4) u8 sPlayerListBuffer[PLAYER_LIST_BUFFER_SIZE]; + static void CopyPlayerListToBuffer(struct WirelessLink_URoom *uroom) { - memcpy(&gDecompressionBuffer[sizeof(gDecompressionBuffer) - (MAX_UNION_ROOM_LEADERS * sizeof(struct RfuPlayer))], - uroom->playerList, - MAX_UNION_ROOM_LEADERS * sizeof(struct RfuPlayer)); + memcpy(sPlayerListBuffer, uroom->playerList, PLAYER_LIST_BUFFER_SIZE); } static void CopyPlayerListFromBuffer(struct WirelessLink_URoom *uroom) { - memcpy(uroom->playerList, - &gDecompressionBuffer[sizeof(gDecompressionBuffer) - (MAX_UNION_ROOM_LEADERS * sizeof(struct RfuPlayer))], - MAX_UNION_ROOM_LEADERS * sizeof(struct RfuPlayer)); + memcpy(uroom->playerList, sPlayerListBuffer, PLAYER_LIST_BUFFER_SIZE); } static void Task_RunUnionRoom(u8 taskId) From b109aa0c929907a81d5791dd6e3ed6ae40b2ac9c Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Thu, 23 Jan 2025 07:28:33 -0800 Subject: [PATCH 26/27] Cleaned up Trainer Slides, added automated Trainer Slide tests, add new Enemy Critical Hit Slide (#6018) --- docs/SUMMARY.md | 1 + docs/tutorials/how_to_new_trainer_slide.md | 205 +++++++++++ include/battle.h | 12 +- include/battle_controllers.h | 1 + include/battle_message.h | 17 - include/constants/trainer_slide.h | 42 +++ include/trainer_slide.h | 25 ++ src/battle_controller_opponent.c | 3 +- src/battle_controller_recorded_opponent.c | 2 +- src/battle_main.c | 11 +- src/battle_message.c | 250 +------------ src/battle_script_commands.c | 15 +- src/battle_util.c | 13 +- src/trainer_slide.c | 401 +++++++++++++++++++++ test/battle/trainer_slides.c | 214 +++++++++++ test/battle/trainer_slides.h | 56 +++ 16 files changed, 968 insertions(+), 300 deletions(-) create mode 100644 docs/tutorials/how_to_new_trainer_slide.md create mode 100644 include/constants/trainer_slide.h create mode 100644 include/trainer_slide.h create mode 100644 src/trainer_slide.c create mode 100644 test/battle/trainer_slides.c create mode 100644 test/battle/trainer_slides.h diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index fb10d5b265..e08c9af20f 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -18,6 +18,7 @@ - [v1.7.x](tutorials/how_to_new_pokemon_1_7_0.md) - [v1.6.x](tutorials/how_to_new_pokemon_1_6_0.md) - [How to use the Testing System](tutorials/how_to_testing_system.md) + - [How to add new Trainer Slides](tutorials/how_to_new_trainer_slide.md) - [Changelog](./CHANGELOG.md) - [1.10.x]() - [Version 1.10.1](changelogs/1.10.x/1.10.1.md) diff --git a/docs/tutorials/how_to_new_trainer_slide.md b/docs/tutorials/how_to_new_trainer_slide.md new file mode 100644 index 0000000000..f8fa345ba6 --- /dev/null +++ b/docs/tutorials/how_to_new_trainer_slide.md @@ -0,0 +1,205 @@ +# Adding New Trainer Slides +## Define Slides Per Trainer + +We are going to add a Trainer Slide to Wally's first Victory Road battle, before he Mega Evolves his Gallade. This battle takes place outside a Battle Facility, so `sTrainerSlides` must be edited. + +### `src/trainer_slide.c` +```diff ++ const u8 gText_ThatsTheWay[] = _("That's the way, Gallade! Go!{PAUSE_UNTIL_PRESS}"); + +static const u8* const sTrainerSlides[DIFFICULTY_COUNT][TRAINERS_COUNT][TRAINER_SLIDE_COUNT] = +{ + [DIFFICULTY_NORMAL] = + { ++ [TRAINER_WALLY_VR_1] = // use the Trainer's Id from include/constants/opponents.h ++ { ++ [TRAINER_SLIDE_MEGA_EVOLUTION] = COMPOUND_STRING("That's the way, Gallade! Go!{PAUSE_UNTIL_PRESS}"), // find the id for the slide to be used. ++ //[TRAINER_SLIDE_MEGA_EVOLUTION] = gText_ThatsTheWay, // You can use globals or COMPOUND_STRING to define text here. ++ } + }, +}; +``` + +If we were to edit a Trainer that appears in a Battle Facility, `sFrontierTrainerSlides` would be edited instead. Here, we'll give Anabel a line before she uses a Z-Move. + +### `src/trainer_slide.c` +```diff +static const u8* const sFrontierTrainerSlides[DIFFICULTY_COUNT][FRONTIER_TRAINERS_COUNT][TRAINER_SLIDE_COUNT] = +{ + [DIFFICULTY_NORMAL] = + { ++ [TRAINER_ANABEL] = ++ { ++ [TRAINER_SLIDE_Z_MOVE] = COMPOUND_STRING("Victory...is ours!"), //{PAUSE_UNTIL_PRESS} is omitted, so the battle will continue as soon as the next is finished printing. ++ } + }, +}; +``` + +## Add New Slides +* [Example Commit]() +* [Patch]() +* [Diff]() + +### `include/constants/trainer_slide.h` +```diff +enum TrainerSlideType +{ + TRAINER_SLIDE_BEFORE_FIRST_TURN, + TRAINER_SLIDE_PLAYER_LANDS_FIRST_CRITICAL_HIT, ++ TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT, // Each Trainer Slide has a unqiue id. + TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT, + TRAINER_SLIDE_PLAYER_LANDS_FIRST_STAB_MOVE, + TRAINER_SLIDE_PLAYER_LANDS_FIRST_DOWN, + TRAINER_SLIDE_ENEMY_MON_UNAFFECTED, + TRAINER_SLIDE_LAST_SWITCHIN, + TRAINER_SLIDE_LAST_HALF_HP, + TRAINER_SLIDE_LAST_LOW_HP, + TRAINER_SLIDE_MEGA_EVOLUTION, + TRAINER_SLIDE_Z_MOVE, + TRAINER_SLIDE_DYNAMAX, + TRAINER_SLIDE_COUNT, +}; +``` + +Each Trainer Slide has a unique id and needs to be added to this list. + +### `include/trainer_slide.h` + +If your new Trainer Slide needs to check for beforen initalized, a function is declared here to be used externally. Critical hits are used to initalize this Trainer Slide but the slide doesn't play instantly, so we will create an function to initialize it. + +```diff +void SetTrainerSlideMessage(enum DifficultyLevel, u32, u32); +void TryInitalizeFirstSTABMoveTrainerSlide(u32, u32, u32); +void TryInitalizeTrainerSlidePlayerLandsFirstCriticalHit(u32); ++ void TryInitalizeTrainerSlideEnemyLandsFirstCriticalHit(u32); +void TryInitalizeTrainerSlidePlayerLandsFirstSuperEffectiveHit(u32); +void TryInitalizeTrainerSlideEnemyMonUnaffected(u32); +bool32 IsTrainerSlideInitialized(enum TrainerSlideType); +``` +### `src/trainer_slide.c` + +```diff + return IsTrainerSlideInitialized(slideId); + } + ++static bool32 ShouldRunTrainerSlideEnemyLandsFirstCriticalHit(enum TrainerSlideType slideId) ++{ ++ return IsTrainerSlideInitialized(slideId); ++} ++ + static bool32 ShouldRunTrainerSlidePlayerLandsFirstSuperEffectiveHit(u32 battler, enum TrainerSlideType slideId) + { + if (!IsTrainerSlideInitialized(slideId)) +``` + +```diff + case TRAINER_SLIDE_PLAYER_LANDS_FIRST_CRITICAL_HIT: + shouldRun = ShouldRunTrainerSlidePlayerLandsFirstCriticalHit(slideId); + break; ++ case TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT: ++ shouldRun = ShouldRunTrainerSlideEnemyLandsFirstCriticalHit(slideId); ++ break; + case TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT: + shouldRun = ShouldRunTrainerSlidePlayerLandsFirstSuperEffectiveHit(battler, slideId); + break; +``` + +The function that determines if a Slide should play has different function for most Slides. We need to check if this Slide was initialized by a critical hit previously, so a function is created here. This function and the Id and then added to the switch statement in `ShouldDoTrainerSlide`. + +```diff + InitalizeTrainerSlide(slideId); + } + ++void TryInitalizeTrainerSlideEnemyLandsFirstCriticalHit(u32 target) ++{ ++ enum TrainerSlideType slideId = TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT; ++ ++ if (IsSlideInitalizedOrPlayed(slideId)) ++ return; ++ ++ if (GetBattlerSide(target) == B_SIDE_OPPONENT) ++ return; ++ ++ InitalizeTrainerSlide(slideId); ++} ++ +``` + +The function to check if this slide SHOULD be initalized is added to the bottom of this file. + +### `src/battle_main.c` + +```diff + BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); + else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_PLAYER_LANDS_FIRST_CRITICAL_HIT))) + BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); ++ else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT))) ++ BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); + else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT))) + BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); + else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_PLAYER_LANDS_FIRST_STAB_MOVE))) +diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c +``` + +In `BattleTurnPassed`, most Trainer Slides are checked to see if they should run, so our new call is added here. + +### `src/battle_script_commands.c` + +```diff + { + PrepareStringBattle(STRINGID_CRITICALHIT, gBattlerAttacker); + ++ TryInitalizeTrainerSlideEnemyLandsFirstCriticalHit(gBattlerTarget); + TryInitalizeTrainerSlidePlayerLandsFirstCriticalHit(gBattlerTarget); + + gBattleCommunication[MSG_DISPLAY] = 1; +``` + +The actual usage of `TryInitalizeTrainerSlideEnemyLandsFirstCriticalHit` is added and is checked whenever a critical hit is scored. + +### `test/battle/trainer_slides.c` +```diff + } + } + ++SINGLE_BATTLE_TEST("Trainer Slide: Enemy Lands First Critical Hit") ++{ ++ gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT; ++ ++ GIVEN { ++ ASSUME(GetMoveEffect(MOVE_LASER_FOCUS) == EFFECT_LASER_FOCUS); ++ PLAYER(SPECIES_WOBBUFFET); ++ OPPONENT(SPECIES_WOBBUFFET); ++ } WHEN { ++ TURN { MOVE(opponent, MOVE_LASER_FOCUS); } ++ TURN { MOVE(opponent, MOVE_TACKLE); } ++ } SCENE { ++ ANIMATION(ANIM_TYPE_MOVE, MOVE_LASER_FOCUS, opponent); ++ ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); ++ MESSAGE("A critical hit!"); ++ MESSAGE("This message plays after the enemy lands their first critical hit.{PAUSE_UNTIL_PRESS}"); ++ } ++} ++ + SINGLE_BATTLE_TEST("Trainer Slide: Player Lands First STAB Hit") + { + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_PLAYER_LANDS_FIRST_STAB_MOVE; +diff --git a/test/battle/trainer_slides.h b/test/battle/trainer_slides.h +``` + +### `test/battle/trainer_slides.h` +```diff + + [TRAINER_SLIDE_PLAYER_LANDS_FIRST_CRITICAL_HIT] = COMPOUND_STRING("This message plays after the player lands their first critical hit.{PAUSE_UNTIL_PRESS}"), + }, ++ [TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT] = ++ { ++ [TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT] = COMPOUND_STRING("This message plays after the enemy lands their first critical hit.{PAUSE_UNTIL_PRESS}"), ++ }, + [TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT] = + { + [TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT] = COMPOUND_STRING("This message plays after the player lands their first super effective hit.{PAUSE_UNTIL_PRESS}"), +``` + +Tests are added to make sure the new Trainer Slide works. A test is added to the c file, and the trainer to run the entry in the test is added to `sTestTrainerSlides`. diff --git a/include/battle.h b/include/battle.h index e1fdf297e5..c75109e434 100644 --- a/include/battle.h +++ b/include/battle.h @@ -19,6 +19,7 @@ #include "battle_gimmick.h" #include "move.h" #include "random.h" // for rng_value_t +#include "trainer_slide.h" // Helper for accessing command arguments and advancing gBattlescriptCurrInstr. // @@ -794,16 +795,6 @@ struct BattleStruct u8 bonusCritStages[MAX_BATTLERS_COUNT]; // G-Max Chi Strike boosts crit stages of allies. u8 itemPartyIndex[MAX_BATTLERS_COUNT]; u8 itemMoveIndex[MAX_BATTLERS_COUNT]; - u8 trainerSlideFirstCriticalHitMsgState:2; - u8 trainerSlideFirstSuperEffectiveHitMsgState:2; - u8 trainerSlideFirstSTABMoveMsgState:2; - u8 trainerSlidePlayerMonUnaffectedMsgState:2; - u8 trainerSlideHalfHpMsgDone:1; - u8 trainerSlideMegaEvolutionMsgDone:1; - u8 trainerSlideZMoveMsgDone:1; - u8 trainerSlideBeforeFirstTurnMsgDone:1; - u8 trainerSlideDynamaxMsgDone:1; - u8 trainerSlideLowHpMsgDone:1; u8 pledgeMove:1; u8 isSkyBattle:1; u32 aiDelayTimer; // Counts number of frames AI takes to choose an action. @@ -842,6 +833,7 @@ struct BattleStruct u8 printedStrongWindsWeakenedAttack:1; u8 numSpreadTargets:2; u8 padding3:2; + struct MessageStatus slideMessageStatus; }; // The palaceFlags member of struct BattleStruct contains 1 flag per move to indicate which moves the AI should consider, diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 0e5f11e82e..0b7ea171c9 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -319,6 +319,7 @@ void SetControllerToRecordedPlayer(u32 battler); // opponent controller void SetControllerToOpponent(u32 battler); +void OpponentHandleTrainerSlide(u32 battler); // player partner controller void Controller_PlayerPartnerShowIntroHealthbox(u32 battler); // Also used by the link partner. diff --git a/include/battle_message.h b/include/battle_message.h index d73dbf386e..adc399dd3c 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -245,29 +245,12 @@ struct BattleMsgData u8 textBuffs[3][TEXT_BUFF_ARRAY_COUNT]; }; -enum -{ - TRAINER_SLIDE_LAST_SWITCHIN, - TRAINER_SLIDE_LAST_LOW_HP, - TRAINER_SLIDE_FIRST_DOWN, - TRAINER_SLIDE_LAST_HALF_HP, - TRAINER_SLIDE_FIRST_CRITICAL_HIT, - TRAINER_SLIDE_FIRST_SUPER_EFFECTIVE_HIT, - TRAINER_SLIDE_FIRST_STAB_MOVE, - TRAINER_SLIDE_PLAYER_MON_UNAFFECTED, - TRAINER_SLIDE_MEGA_EVOLUTION, - TRAINER_SLIDE_Z_MOVE, - TRAINER_SLIDE_BEFORE_FIRST_TURN, - TRAINER_SLIDE_DYNAMAX, -}; - void BufferStringBattle(u16 stringID, u32 battler); u32 BattleStringExpandPlaceholdersToDisplayedString(const u8 *src); u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst, u32 dstSize); void BattlePutTextOnWindow(const u8 *text, u8 windowId); void SetPpNumbersPaletteInMoveSelection(u32 battler); u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp); -u32 ShouldDoTrainerSlide(u32 battler, u32 which); // return 1 for TrainerA, 2 forTrainerB void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst); extern struct BattleMsgData *gBattleMsgDataPtr; diff --git a/include/constants/trainer_slide.h b/include/constants/trainer_slide.h new file mode 100644 index 0000000000..5ddab7be00 --- /dev/null +++ b/include/constants/trainer_slide.h @@ -0,0 +1,42 @@ +#ifndef GUARD_CONSTANTS_TRAINER_SLIDE_H +#define GUARD_CONSTANTS_TRAINER_SLIDE_H + +enum ComparisonOperators +{ + LESS_THAN, + EQUAL, + GREATER_THAN, + LESS_THAN_OR_EQUAL, + GREATER_THAN_OR_EQUAL, + NOT_EQUAL, +}; + +enum TrainerSlideType +{ + TRAINER_SLIDE_BEFORE_FIRST_TURN, + TRAINER_SLIDE_PLAYER_LANDS_FIRST_CRITICAL_HIT, + TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT, + TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT, + TRAINER_SLIDE_PLAYER_LANDS_FIRST_STAB_MOVE, + TRAINER_SLIDE_PLAYER_LANDS_FIRST_DOWN, + TRAINER_SLIDE_ENEMY_MON_UNAFFECTED, + TRAINER_SLIDE_LAST_SWITCHIN, + TRAINER_SLIDE_LAST_HALF_HP, + TRAINER_SLIDE_LAST_LOW_HP, + TRAINER_SLIDE_MEGA_EVOLUTION, + TRAINER_SLIDE_Z_MOVE, + TRAINER_SLIDE_DYNAMAX, + TRAINER_SLIDE_COUNT, +}; + +#define TRAINER_SLIDES_PER_ARRAY 8 +#define TRAINER_SLIDE_ARRAY_SIZE ((TRAINER_SLIDE_COUNT + TRAINER_SLIDES_PER_ARRAY - 1) / TRAINER_SLIDES_PER_ARRAY) + +enum TrainerSlideTargets +{ + TRAINER_SLIDE_TARGET_NONE, + TRAINER_SLIDE_TARGET_TRAINER_A, + TRAINER_SLIDE_TARGET_TRAINER_B, +}; + +#endif // GUARD_CONSTANTS_TRAINER_SLIDE_H diff --git a/include/trainer_slide.h b/include/trainer_slide.h new file mode 100644 index 0000000000..c6f7b745e8 --- /dev/null +++ b/include/trainer_slide.h @@ -0,0 +1,25 @@ +#ifndef GUARD_TRAINER_SLIDE_H +#define GUARD_TRAINER_SLIDE_H + +#include "constants/trainer_slide.h" + + +struct MessageStatus +{ + u8 messageInitalized[TRAINER_SLIDE_ARRAY_SIZE]; + u8 messagePlayed[TRAINER_SLIDE_ARRAY_SIZE]; +}; + +void SetTrainerSlideMessage(enum DifficultyLevel difficulty, u32 trainerId, u32 slideId); +enum TrainerSlideTargets ShouldDoTrainerSlide(u32 battler, enum TrainerSlideType slideId); +void TryInitalizeFirstSTABMoveTrainerSlide(u32 battlerDef, u32 battlerAtk, u32 moveType); +void TryInitalizeTrainerSlidePlayerLandsFirstCriticalHit(u32 target); +void TryInitalizeTrainerSlideEnemyLandsFirstCriticalHit(u32 target); +void TryInitalizeTrainerSlidePlayerLandsFirstSuperEffectiveHit(u32 target); +void TryInitalizeTrainerSlideEnemyMonUnaffected(u32 target); +bool32 IsTrainerSlideInitialized(enum TrainerSlideType slideId); +bool32 IsTrainerSlidePlayed(enum TrainerSlideType slideId); +void InitalizeTrainerSlide(enum TrainerSlideType slideId); +void MarkTrainerSlideAsPlayed(enum TrainerSlideType slideId); + +#endif // GUARD_TRAINER_SLIDE_H diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 822b04e04f..e87ee1a28d 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -43,7 +43,6 @@ static void OpponentHandleLoadMonSprite(u32 battler); static void OpponentHandleSwitchInAnim(u32 battler); static void OpponentHandleDrawTrainerPic(u32 battler); -static void OpponentHandleTrainerSlide(u32 battler); static void OpponentHandleTrainerSlideBack(u32 battler); static void OpponentHandleMoveAnimation(u32 battler); static void OpponentHandlePrintString(u32 battler); @@ -504,7 +503,7 @@ static void OpponentHandleDrawTrainerPic(u32 battler) BtlController_HandleDrawTrainerPic(battler, trainerPicId, TRUE, xPos, 40, -1); } -static void OpponentHandleTrainerSlide(u32 battler) +void OpponentHandleTrainerSlide(u32 battler) { u32 trainerPicId = OpponentGetTrainerPicId(battler); BtlController_HandleTrainerSlide(battler, trainerPicId); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index da6dc9f133..af77dc11fc 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -64,7 +64,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(u32 [CONTROLLER_SWITCHINANIM] = RecordedOpponentHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = BtlController_HandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = RecordedOpponentHandleDrawTrainerPic, - [CONTROLLER_TRAINERSLIDE] = BtlController_Empty, + [CONTROLLER_TRAINERSLIDE] = OpponentHandleTrainerSlide, [CONTROLLER_TRAINERSLIDEBACK] = RecordedOpponentHandleTrainerSlideBack, [CONTROLLER_FAINTANIMATION] = BtlController_HandleFaintAnimation, [CONTROLLER_PALETTEFADE] = BtlController_Empty, diff --git a/src/battle_main.c b/src/battle_main.c index 3cf2598b01..467e57229d 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -70,6 +70,7 @@ #include "constants/party_menu.h" #include "constants/rgb.h" #include "constants/songs.h" +#include "constants/trainer_slide.h" #include "constants/trainers.h" #include "constants/weather.h" #include "cable_club.h" @@ -4009,13 +4010,15 @@ void BattleTurnPassed(void) BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_LAST_HALF_HP))) BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); - else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_FIRST_CRITICAL_HIT))) + else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_PLAYER_LANDS_FIRST_CRITICAL_HIT))) BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); - else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_FIRST_SUPER_EFFECTIVE_HIT))) + else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT))) BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); - else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_FIRST_STAB_MOVE))) + else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT))) BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); - else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_PLAYER_MON_UNAFFECTED))) + else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_PLAYER_LANDS_FIRST_STAB_MOVE))) + BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); + else if ((i = ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), TRAINER_SLIDE_ENEMY_MON_UNAFFECTED))) BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); } diff --git a/src/battle_message.c b/src/battle_message.c index ccb3559233..e06aac8d7f 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -21,6 +21,7 @@ #include "test_runner.h" #include "text.h" #include "trainer_hill.h" +#include "trainer_slide.h" #include "window.h" #include "line_break.h" #include "constants/abilities.h" @@ -3546,252 +3547,3 @@ u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp) return 0; } - -struct TrainerSlide -{ - u16 trainerId; - bool8 isFrontierTrainer; - const u8 *msgLastSwitchIn; - const u8 *msgLastLowHp; - const u8 *msgFirstDown; - const u8 *msgLastHalfHp; - const u8 *msgFirstCriticalHit; - const u8 *msgFirstSuperEffectiveHit; - const u8 *msgFirstSTABMove; - const u8 *msgPlayerMonUnaffected; - const u8 *msgMegaEvolution; - const u8 *msgZMove; - const u8 *msgBeforeFirstTurn; - const u8 *msgDynamax; -}; - -static const struct TrainerSlide sTrainerSlides[DIFFICULTY_COUNT][TRAINERS_COUNT] = -{ - [DIFFICULTY_NORMAL] = - { - /* Put any trainer slide-in messages inside this array. - Example: - { - .trainerId = TRAINER_WALLY_VR_2, - .isFrontierTrainer = FALSE, - .msgLastSwitchIn = sText_AarghAlmostHadIt, - .msgLastLowHp = sText_BoxIsFull, - .msgFirstDown = sText_123Poof, - .msgLastHalfHp = sText_ShootSoClose, - .msgFirstCriticalHit = sText_CriticalHit, - .msgFirstSuperEffectiveHit = sText_SuperEffective, - .msgFirstSTABMove = sText_ABoosted, - .msgPlayerMonUnaffected = sText_ButNoEffect, - .msgMegaEvolution = sText_PowderExplodes, - .msgZMove = sText_Electromagnetism, - .msgBeforeFirstTurn = sText_GravityIntensified, - .msgDynamax = sText_TargetWokeUp, - }, - }, - [DIFFICULTY_EASY] = - { - }, - [DIFFICULTY_HARD] = - { - */ - }, -}; - -static u32 GetEnemyMonCount(u32 firstId, u32 lastId, bool32 onlyAlive) -{ - u32 i, count = 0; - - for (i = firstId; i < lastId; i++) - { - u32 species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES_OR_EGG, NULL); - if (species != SPECIES_NONE - && species != SPECIES_EGG - && (!onlyAlive || GetMonData(&gEnemyParty[i], MON_DATA_HP, NULL))) - count++; - } - - return count; -} - -enum -{ - LESS_THAN, - EQUAL, - GREATER_THAN, - LESS_THAN_OR_EQUAL, - GREATER_THAN_OR_EQUAL, - NOT_EQUAL, -}; - -u32 BattlerHPPercentage(u32 battler, u32 operation, u32 threshold) -{ - switch (operation) - { - case LESS_THAN: - return gBattleMons[battler].hp < (gBattleMons[battler].maxHP / threshold); - case EQUAL: - return gBattleMons[battler].hp == (gBattleMons[battler].maxHP / threshold); - case GREATER_THAN: - return gBattleMons[battler].hp > (gBattleMons[battler].maxHP / threshold); - case LESS_THAN_OR_EQUAL: - return gBattleMons[battler].hp <= (gBattleMons[battler].maxHP / threshold); - case GREATER_THAN_OR_EQUAL: - return gBattleMons[battler].hp >= (gBattleMons[battler].maxHP / threshold); - case NOT_EQUAL: - default: - return gBattleMons[battler].hp != (gBattleMons[battler].maxHP / threshold); - } -} - -u32 ShouldDoTrainerSlide(u32 battler, u32 which) -{ - u32 i, firstId, lastId, trainerId, retValue = 1; - - if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER) || GetBattlerSide(battler) != B_SIDE_OPPONENT) - return 0; - - // Two opponents support. - if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) - { - if (gBattlerPartyIndexes[battler] >= 3) - { - firstId = 3, lastId = PARTY_SIZE; - trainerId = gTrainerBattleOpponent_B; - retValue = 2; - } - else - { - firstId = 0, lastId = 3; - trainerId = gTrainerBattleOpponent_A; - } - } - else - { - firstId = 0, lastId = PARTY_SIZE; - trainerId = gTrainerBattleOpponent_A; - } - - enum DifficultyLevel difficulty = GetTrainerDifficultyLevel(trainerId); - - for (i = 0; i < ARRAY_COUNT(sTrainerSlides); i++) - { - if (trainerId == sTrainerSlides[difficulty]->trainerId - && (((gBattleTypeFlags & BATTLE_TYPE_FRONTIER) && sTrainerSlides[difficulty]->isFrontierTrainer) - || (!(gBattleTypeFlags & BATTLE_TYPE_FRONTIER) && !sTrainerSlides[difficulty]->isFrontierTrainer))) - { - gBattleScripting.battler = battler; - switch (which) - { - case TRAINER_SLIDE_LAST_SWITCHIN: - if (sTrainerSlides[difficulty]->msgLastSwitchIn != NULL && !CanBattlerSwitch(battler)) - { - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgLastSwitchIn; - return retValue; - } - break; - case TRAINER_SLIDE_LAST_LOW_HP: - if (sTrainerSlides[difficulty]->msgLastLowHp != NULL - && GetEnemyMonCount(firstId, lastId, TRUE) == 1 - && BattlerHPPercentage(battler, LESS_THAN_OR_EQUAL, 4) - && !gBattleStruct->trainerSlideLowHpMsgDone) - { - gBattleStruct->trainerSlideLowHpMsgDone = TRUE; - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgLastLowHp; - return retValue; - } - break; - case TRAINER_SLIDE_FIRST_DOWN: - if (sTrainerSlides[difficulty]->msgFirstDown != NULL && GetEnemyMonCount(firstId, lastId, TRUE) == GetEnemyMonCount(firstId, lastId, FALSE) - 1) - { - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgFirstDown; - return retValue; - } - break; - case TRAINER_SLIDE_LAST_HALF_HP: - if (sTrainerSlides[difficulty]->msgLastHalfHp != NULL - && GetEnemyMonCount(firstId, lastId, TRUE) == GetEnemyMonCount(firstId, lastId, FALSE) - 1 - && BattlerHPPercentage(battler, LESS_THAN_OR_EQUAL, 2) && BattlerHPPercentage(battler, GREATER_THAN, 4) - && !gBattleStruct->trainerSlideHalfHpMsgDone) - { - gBattleStruct->trainerSlideHalfHpMsgDone = TRUE; - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgLastHalfHp; - return TRUE; - } - break; - case TRAINER_SLIDE_FIRST_CRITICAL_HIT: - if (sTrainerSlides[difficulty]->msgFirstCriticalHit != NULL && gBattleStruct->trainerSlideFirstCriticalHitMsgState == 1) - { - gBattleStruct->trainerSlideFirstCriticalHitMsgState = 2; - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgFirstCriticalHit; - return TRUE; - } - break; - case TRAINER_SLIDE_FIRST_SUPER_EFFECTIVE_HIT: - if (sTrainerSlides[difficulty]->msgFirstSuperEffectiveHit != NULL - && gBattleStruct->trainerSlideFirstSuperEffectiveHitMsgState == 1 - && gBattleMons[battler].hp) - { - gBattleStruct->trainerSlideFirstSuperEffectiveHitMsgState = 2; - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgFirstSuperEffectiveHit; - return TRUE; - } - break; - case TRAINER_SLIDE_FIRST_STAB_MOVE: - if (sTrainerSlides[difficulty]->msgFirstSTABMove != NULL - && gBattleStruct->trainerSlideFirstSTABMoveMsgState == 1 - && GetEnemyMonCount(firstId, lastId, TRUE) == GetEnemyMonCount(firstId, lastId, FALSE)) - { - gBattleStruct->trainerSlideFirstSTABMoveMsgState = 2; - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgFirstSTABMove; - return TRUE; - } - break; - case TRAINER_SLIDE_PLAYER_MON_UNAFFECTED: - if (sTrainerSlides[difficulty]->msgPlayerMonUnaffected != NULL - && gBattleStruct->trainerSlidePlayerMonUnaffectedMsgState == 1 - && GetEnemyMonCount(firstId, lastId, TRUE) == GetEnemyMonCount(firstId, lastId, FALSE)) - { - gBattleStruct->trainerSlidePlayerMonUnaffectedMsgState = 2; - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgPlayerMonUnaffected; - return TRUE; - } - break; - case TRAINER_SLIDE_MEGA_EVOLUTION: - if (sTrainerSlides[difficulty]->msgMegaEvolution != NULL && !gBattleStruct->trainerSlideMegaEvolutionMsgDone) - { - gBattleStruct->trainerSlideMegaEvolutionMsgDone = TRUE; - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgMegaEvolution; - return TRUE; - } - break; - case TRAINER_SLIDE_Z_MOVE: - if (sTrainerSlides[difficulty]->msgZMove != NULL && !gBattleStruct->trainerSlideZMoveMsgDone) - { - gBattleStruct->trainerSlideZMoveMsgDone = TRUE; - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgZMove; - return TRUE; - } - break; - case TRAINER_SLIDE_BEFORE_FIRST_TURN: - if (sTrainerSlides[difficulty]->msgBeforeFirstTurn != NULL && !gBattleStruct->trainerSlideBeforeFirstTurnMsgDone) - { - gBattleStruct->trainerSlideBeforeFirstTurnMsgDone = TRUE; - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgBeforeFirstTurn; - return TRUE; - } - break; - case TRAINER_SLIDE_DYNAMAX: - if (sTrainerSlides[difficulty]->msgDynamax != NULL && !gBattleStruct->trainerSlideDynamaxMsgDone) - { - gBattleStruct->trainerSlideDynamaxMsgDone = TRUE; - gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty]->msgDynamax; - return TRUE; - } - break; - } - break; - } - } - - return 0; -} diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index cefebe3796..f41a1f24db 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -61,6 +61,7 @@ #include "constants/party_menu.h" #include "constants/rgb.h" #include "constants/songs.h" +#include "constants/trainer_slide.h" #include "constants/trainers.h" #include "battle_util.h" #include "constants/pokemon.h" @@ -2697,9 +2698,8 @@ static void Cmd_critmessage(void) { PrepareStringBattle(STRINGID_CRITICALHIT, gBattlerAttacker); - // Signal for the trainer slide-in system. - if (GetBattlerSide(gBattlerTarget) != B_SIDE_PLAYER && gBattleStruct->trainerSlideFirstCriticalHitMsgState != 2) - gBattleStruct->trainerSlideFirstCriticalHitMsgState = 1; + TryInitalizeTrainerSlideEnemyLandsFirstCriticalHit(gBattlerTarget); + TryInitalizeTrainerSlidePlayerLandsFirstCriticalHit(gBattlerTarget); gBattleCommunication[MSG_DISPLAY] = 1; } @@ -2845,11 +2845,8 @@ static void Cmd_resultmessage(void) { stringId = STRINGID_SUPEREFFECTIVE; } - if (stringId) // Signal for the trainer slide-in system - { - if (GetBattlerSide(gBattlerTarget) != B_SIDE_PLAYER && gBattleStruct->trainerSlideFirstSuperEffectiveHitMsgState != 2) - gBattleStruct->trainerSlideFirstSuperEffectiveHitMsgState = 1; - } + if (stringId == STRINGID_SUPEREFFECTIVE || stringId == STRINGID_SUPEREFFECTIVETWOFOES) + TryInitalizeTrainerSlidePlayerLandsFirstSuperEffectiveHit(gBattlerTarget); break; case MOVE_RESULT_NOT_VERY_EFFECTIVE: if (IsDoubleSpreadMove()) @@ -10698,7 +10695,7 @@ static void Cmd_various(void) case VARIOUS_TRY_TRAINER_SLIDE_MSG_FIRST_OFF: { VARIOUS_ARGS(); - if ((i = ShouldDoTrainerSlide(battler, TRAINER_SLIDE_FIRST_DOWN))) + if ((i = ShouldDoTrainerSlide(battler, TRAINER_SLIDE_PLAYER_LANDS_FIRST_DOWN))) { gBattleScripting.battler = battler; BattleScriptPush(cmd->nextInstr); diff --git a/src/battle_util.c b/src/battle_util.c index dcab50a696..759e3c7f7f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -24,6 +24,7 @@ #include "task.h" #include "test_runner.h" #include "trig.h" +#include "trainer_slide.h" #include "window.h" #include "battle_message.h" #include "battle_ai_main.h" @@ -1132,11 +1133,8 @@ void PrepareStringBattle(u16 stringId, u32 battler) SET_STATCHANGER(STAT_SPEED, 1, FALSE); } - // Signal for the trainer slide-in system. - if ((stringId == STRINGID_ITDOESNTAFFECT || stringId == STRINGID_PKMNWASNTAFFECTED || stringId == STRINGID_PKMNUNAFFECTED) - && GetBattlerSide(gBattlerTarget) == B_SIDE_OPPONENT - && gBattleStruct->trainerSlidePlayerMonUnaffectedMsgState != 2) - gBattleStruct->trainerSlidePlayerMonUnaffectedMsgState = 1; + if ((stringId == STRINGID_ITDOESNTAFFECT || stringId == STRINGID_PKMNWASNTAFFECTED || stringId == STRINGID_PKMNUNAFFECTED)) + TryInitalizeTrainerSlideEnemyMonUnaffected(gBattlerTarget); BtlController_EmitPrintString(battler, BUFFER_A, stringId); MarkBattlerForControllerExec(battler); @@ -10758,9 +10756,8 @@ static inline uq4_12_t CalcTypeEffectivenessMultiplierInternal(u32 move, u32 mov } } - // Signal for the trainer slide-in system. - if (GetBattlerSide(battlerDef) != B_SIDE_PLAYER && modifier && gBattleStruct->trainerSlideFirstSTABMoveMsgState != 2) - gBattleStruct->trainerSlideFirstSTABMoveMsgState = 1; + if (recordAbilities) + TryInitalizeFirstSTABMoveTrainerSlide(battlerDef, battlerAtk, moveType); return modifier; } diff --git a/src/trainer_slide.c b/src/trainer_slide.c new file mode 100644 index 0000000000..1606ae5155 --- /dev/null +++ b/src/trainer_slide.c @@ -0,0 +1,401 @@ +#include "global.h" +#include "battle.h" +#include "battle_anim.h" +#include "battle_controllers.h" +#include "battle_message.h" +#include "battle_setup.h" +#include "battle_tower.h" +#include "battle_z_move.h" +#include "data.h" +#include "event_data.h" +#include "frontier_util.h" +#include "graphics.h" +#include "international_string_util.h" +#include "item.h" +#include "link.h" +#include "menu.h" +#include "palette.h" +#include "recorded_battle.h" +#include "string_util.h" +#include "strings.h" +#include "test_runner.h" +#include "text.h" +#include "trainer_hill.h" +#include "window.h" +#include "line_break.h" +#include "constants/abilities.h" +#include "constants/battle_dome.h" +#include "constants/battle_string_ids.h" +#include "constants/frontier_util.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/opponents.h" +#include "constants/species.h" +#include "constants/trainers.h" +#include "constants/trainer_hill.h" +#include "constants/weather.h" +#include "trainer_slide.h" +#include "battle_message.h" + +static u32 BattlerHPPercentage(u32 battler, u32 operation, u32 threshold); +static u32 GetEnemyMonCount(u32 firstId, u32 lastId, bool32 onlyAlive); +static bool32 DoesTrainerHaveSlideMessage(enum DifficultyLevel difficulty, u32 trainerId, u32 slideId); +static bool32 ShouldRunTrainerSlidePlayerLandsFirstCriticalHit(enum TrainerSlideType slideId); +static bool32 ShouldRunTrainerSlideEnemyLandsFirstCriticalHit(enum TrainerSlideType slideId); +static bool32 ShouldRunTrainerSlidePlayerLandsFirstSuperEffectiveHit(u32 battler, enum TrainerSlideType slideId); +static bool32 ShouldRunTrainerSlidePlayerLandsFirstSTABMove(u32 firstId, u32 lastId, enum TrainerSlideType slideId); +static bool32 ShouldRunTrainerSlidePlayerLandsFirstDown(u32 firstId, u32 lastId); +static bool32 ShouldRunTrainerSlideEnemyMonUnaffected(u32 firstId, u32 lastId, enum TrainerSlideType slideId); +static bool32 ShouldRunTrainerSlideLastSwitchIn(u32 battler); +static bool32 ShouldRunTrainerSlideLastHalfHP(u32 firstId, u32 lastId, u32 battler); +static bool32 ShouldRunTrainerSlideLastLowHp(u32 firstId, u32 lastId, u32 battler); +static void SetTrainerSlideParamters(u32 battler, u32* firstId, u32* lastId, u32* trainerId, u32* retValue); +static bool32 IsSlideInitalizedOrPlayed(enum TrainerSlideType slideId); + +static const u8* const sTrainerSlides[DIFFICULTY_COUNT][TRAINERS_COUNT][TRAINER_SLIDE_COUNT] = +{ + [DIFFICULTY_NORMAL] = + { + }, +}; + +static const u8* const sFrontierTrainerSlides[DIFFICULTY_COUNT][TRAINERS_COUNT][TRAINER_SLIDE_COUNT] = +{ + [DIFFICULTY_NORMAL] = + { + }, +}; + +static const u8* const sTestTrainerSlides[DIFFICULTY_COUNT][FRONTIER_TRAINERS_COUNT][TRAINER_SLIDE_COUNT] = +{ +#include "../test/battle/trainer_slides.h" +}; + +static u32 BattlerHPPercentage(u32 battler, u32 operation, u32 threshold) +{ + switch (operation) + { + case LESS_THAN: + return gBattleMons[battler].hp < (gBattleMons[battler].maxHP / threshold); + case EQUAL: + return gBattleMons[battler].hp == (gBattleMons[battler].maxHP / threshold); + case GREATER_THAN: + return gBattleMons[battler].hp > (gBattleMons[battler].maxHP / threshold); + case LESS_THAN_OR_EQUAL: + return gBattleMons[battler].hp <= (gBattleMons[battler].maxHP / threshold); + case GREATER_THAN_OR_EQUAL: + return gBattleMons[battler].hp >= (gBattleMons[battler].maxHP / threshold); + case NOT_EQUAL: + default: + return gBattleMons[battler].hp != (gBattleMons[battler].maxHP / threshold); + } +} + +static u32 GetEnemyMonCount(u32 firstId, u32 lastId, bool32 onlyAlive) +{ + u32 i, count = 0; + + for (i = firstId; i < lastId; i++) + { + u32 species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES_OR_EGG, NULL); + if (species != SPECIES_NONE + && species != SPECIES_EGG + && (!onlyAlive || GetMonData(&gEnemyParty[i], MON_DATA_HP, NULL))) + count++; + } + + return count; +} + +static bool32 DoesTrainerHaveSlideMessage(enum DifficultyLevel difficulty, u32 trainerId, u32 slideId) +{ + if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) + return (sFrontierTrainerSlides[difficulty][trainerId][slideId] != NULL); + else if (TESTING) + return (sTestTrainerSlides[difficulty][trainerId][slideId] != NULL); + else + return (sTrainerSlides[difficulty][trainerId][slideId] != NULL); +} + +void SetTrainerSlideMessage(enum DifficultyLevel difficulty, u32 trainerId, u32 slideId) +{ + if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) + gBattleStruct->trainerSlideMsg = sFrontierTrainerSlides[difficulty][trainerId][slideId]; + else if (TESTING) + gBattleStruct->trainerSlideMsg = sTestTrainerSlides[difficulty][trainerId][slideId]; + else + gBattleStruct->trainerSlideMsg = sTrainerSlides[difficulty][trainerId][slideId]; +} + +static bool32 ShouldRunTrainerSlidePlayerLandsFirstCriticalHit(enum TrainerSlideType slideId) +{ + return IsTrainerSlideInitialized(slideId); +} + +static bool32 ShouldRunTrainerSlideEnemyLandsFirstCriticalHit(enum TrainerSlideType slideId) +{ + return IsTrainerSlideInitialized(slideId); +} + +static bool32 ShouldRunTrainerSlidePlayerLandsFirstSuperEffectiveHit(u32 battler, enum TrainerSlideType slideId) +{ + if (!IsTrainerSlideInitialized(slideId)) + return FALSE; + + if (!IsBattlerAlive(battler)) + return FALSE; + + return TRUE; +} + +static bool32 ShouldRunTrainerSlidePlayerLandsFirstSTABMove(u32 firstId, u32 lastId, enum TrainerSlideType slideId) +{ + if (!IsTrainerSlideInitialized(slideId)) + return FALSE; + + if (GetEnemyMonCount(firstId, lastId, TRUE) != GetEnemyMonCount(firstId, lastId, FALSE)) + return FALSE; + + return TRUE; +} + +static bool32 ShouldRunTrainerSlidePlayerLandsFirstDown(u32 firstId, u32 lastId) +{ + return ((GetEnemyMonCount(firstId, lastId, TRUE) == (GetEnemyMonCount(firstId, lastId, FALSE) - 1))); +} + +static bool32 ShouldRunTrainerSlideEnemyMonUnaffected(u32 firstId, u32 lastId, enum TrainerSlideType slideId) +{ + if (!IsTrainerSlideInitialized(slideId)) + return FALSE; + + return (GetEnemyMonCount(firstId, lastId, TRUE) == GetEnemyMonCount(firstId, lastId, FALSE)); +} + +static bool32 ShouldRunTrainerSlideLastSwitchIn(u32 battler) +{ + return !CanBattlerSwitch(battler); +} + +static bool32 ShouldRunTrainerSlideLastHalfHP(u32 firstId, u32 lastId, u32 battler) +{ + if (GetEnemyMonCount(firstId, lastId, TRUE) != 1) + return FALSE; + + if (BattlerHPPercentage(battler, GREATER_THAN, 2)) + return FALSE; + + return (BattlerHPPercentage(battler, GREATER_THAN, 4)); +} + +static bool32 ShouldRunTrainerSlideLastLowHp(u32 firstId, u32 lastId, u32 battler) +{ + if (GetEnemyMonCount(firstId, lastId, TRUE) != 1) + return FALSE; + + return (BattlerHPPercentage(battler, LESS_THAN_OR_EQUAL, 4)); +} + +static void SetTrainerSlideParamters(u32 battler, u32* firstId, u32* lastId, u32* trainerId, u32* retValue) +{ + if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) + { + if (gBattlerPartyIndexes[battler] >= MULTI_PARTY_SIZE) + { + *firstId = MULTI_PARTY_SIZE; + *lastId = PARTY_SIZE; + *trainerId = SanitizeTrainerId(gTrainerBattleOpponent_B); + *retValue = TRAINER_SLIDE_TARGET_TRAINER_B; + } + else + { + *firstId = 0; + *lastId = MULTI_PARTY_SIZE; + *trainerId = SanitizeTrainerId(gTrainerBattleOpponent_A); + } + } + else + { + *firstId = 0; + *lastId = PARTY_SIZE; + *trainerId = SanitizeTrainerId(gTrainerBattleOpponent_A); + } +} + +enum TrainerSlideTargets ShouldDoTrainerSlide(u32 battler, enum TrainerSlideType slideId) +{ + u32 firstId, lastId, trainerId; + u32 retValue = TRAINER_SLIDE_TARGET_TRAINER_A; + bool32 shouldRun = FALSE; + + if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER) || GetBattlerSide(battler) != B_SIDE_OPPONENT) + return TRAINER_SLIDE_TARGET_NONE; + + SetTrainerSlideParamters(battler, &firstId, &lastId, &trainerId, &retValue); + enum DifficultyLevel difficulty = GetTrainerDifficultyLevel(trainerId); + + gBattleScripting.battler = battler; + + if (IsTrainerSlidePlayed(slideId)) + return TRAINER_SLIDE_TARGET_NONE; + + if (!DoesTrainerHaveSlideMessage(difficulty,trainerId,slideId)) + return TRAINER_SLIDE_TARGET_NONE; + + switch (slideId) + { + case TRAINER_SLIDE_PLAYER_LANDS_FIRST_CRITICAL_HIT: + shouldRun = ShouldRunTrainerSlidePlayerLandsFirstCriticalHit(slideId); + break; + case TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT: + shouldRun = ShouldRunTrainerSlideEnemyLandsFirstCriticalHit(slideId); + break; + case TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT: + shouldRun = ShouldRunTrainerSlidePlayerLandsFirstSuperEffectiveHit(battler, slideId); + break; + case TRAINER_SLIDE_PLAYER_LANDS_FIRST_STAB_MOVE: + shouldRun = ShouldRunTrainerSlidePlayerLandsFirstSTABMove(firstId, lastId, slideId); + break; + case TRAINER_SLIDE_PLAYER_LANDS_FIRST_DOWN: + shouldRun = ShouldRunTrainerSlidePlayerLandsFirstDown(firstId, lastId); + break; + case TRAINER_SLIDE_ENEMY_MON_UNAFFECTED: + shouldRun = ShouldRunTrainerSlideEnemyMonUnaffected(firstId, lastId, slideId); + break; + case TRAINER_SLIDE_LAST_SWITCHIN: + shouldRun = ShouldRunTrainerSlideLastSwitchIn(battler); + break; + case TRAINER_SLIDE_LAST_HALF_HP: + shouldRun = ShouldRunTrainerSlideLastHalfHP(firstId, lastId, battler); + break; + case TRAINER_SLIDE_LAST_LOW_HP: + shouldRun = ShouldRunTrainerSlideLastLowHp(firstId, lastId, battler); + break; + case TRAINER_SLIDE_BEFORE_FIRST_TURN: + case TRAINER_SLIDE_MEGA_EVOLUTION: + case TRAINER_SLIDE_Z_MOVE: + case TRAINER_SLIDE_DYNAMAX: + shouldRun = TRUE; + break; + default: + return TRAINER_SLIDE_TARGET_NONE; + } + + if (shouldRun == FALSE) + return TRAINER_SLIDE_TARGET_NONE; + + MarkTrainerSlideAsPlayed(slideId); + SetTrainerSlideMessage(difficulty,trainerId,slideId); + return retValue; +} + +static bool32 IsSlideInitalizedOrPlayed(enum TrainerSlideType slideId) +{ + if (IsTrainerSlideInitialized(slideId)) + return TRUE; + + if (IsTrainerSlidePlayed(slideId)) + return TRUE; + + return FALSE; +} + +void TryInitalizeFirstSTABMoveTrainerSlide(u32 battlerDef, u32 battlerAtk, u32 moveType) +{ + enum TrainerSlideType slideId = TRAINER_SLIDE_PLAYER_LANDS_FIRST_STAB_MOVE; + + if (IsSlideInitalizedOrPlayed(slideId)) + return; + + if ((GetBattlerSide(battlerDef) == B_SIDE_PLAYER)) + return; + + if (IS_BATTLER_OF_TYPE(battlerAtk, moveType) == FALSE) + return; + + InitalizeTrainerSlide(slideId); +} + +void TryInitalizeTrainerSlidePlayerLandsFirstCriticalHit(u32 target) +{ + enum TrainerSlideType slideId = TRAINER_SLIDE_PLAYER_LANDS_FIRST_CRITICAL_HIT; + + if (IsSlideInitalizedOrPlayed(slideId)) + return; + + if (GetBattlerSide(target) == B_SIDE_PLAYER) + return; + + InitalizeTrainerSlide(slideId); +} + +void TryInitalizeTrainerSlideEnemyLandsFirstCriticalHit(u32 target) +{ + enum TrainerSlideType slideId = TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT; + + if (IsSlideInitalizedOrPlayed(slideId)) + return; + + if (GetBattlerSide(target) == B_SIDE_OPPONENT) + return; + + InitalizeTrainerSlide(slideId); +} + +void TryInitalizeTrainerSlidePlayerLandsFirstSuperEffectiveHit(u32 target) +{ + enum TrainerSlideType slideId = TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT; + + if (IsSlideInitalizedOrPlayed(slideId)) + return; + + if (GetBattlerSide(target) == B_SIDE_PLAYER) + return; + + InitalizeTrainerSlide(slideId); +} + +void TryInitalizeTrainerSlideEnemyMonUnaffected(u32 target) +{ + enum TrainerSlideType slideId = TRAINER_SLIDE_ENEMY_MON_UNAFFECTED; + + if (IsSlideInitalizedOrPlayed(slideId)) + return; + + if (GetBattlerSide(target) != B_SIDE_OPPONENT) + return; + + InitalizeTrainerSlide(slideId); +} + +bool32 IsTrainerSlideInitialized(enum TrainerSlideType slideId) +{ + u32 arrayIndex = slideId / TRAINER_SLIDES_PER_ARRAY; + u32 bitPosition = slideId % TRAINER_SLIDES_PER_ARRAY; + + return (gBattleStruct->slideMessageStatus.messageInitalized[arrayIndex] & (1 << bitPosition)) != 0; +} + +bool32 IsTrainerSlidePlayed(enum TrainerSlideType slideId) +{ + u32 arrayIndex = slideId / TRAINER_SLIDES_PER_ARRAY; + u32 bitPosition = slideId % TRAINER_SLIDES_PER_ARRAY; + + return (gBattleStruct->slideMessageStatus.messagePlayed[arrayIndex] & (1 << bitPosition)) != 0; +} + +void InitalizeTrainerSlide(enum TrainerSlideType slideId) +{ + u32 arrayIndex = slideId / TRAINER_SLIDES_PER_ARRAY; + u32 bitPosition = slideId % TRAINER_SLIDES_PER_ARRAY; + + gBattleStruct->slideMessageStatus.messageInitalized[arrayIndex] |= (1 << bitPosition); +} + +void MarkTrainerSlideAsPlayed(enum TrainerSlideType slideId) +{ + u32 arrayIndex = slideId / TRAINER_SLIDES_PER_ARRAY; + u32 bitPosition = slideId % TRAINER_SLIDES_PER_ARRAY; + + gBattleStruct->slideMessageStatus.messagePlayed[arrayIndex] |= (1 << bitPosition); +} diff --git a/test/battle/trainer_slides.c b/test/battle/trainer_slides.c new file mode 100644 index 0000000000..b5bb127a0c --- /dev/null +++ b/test/battle/trainer_slides.c @@ -0,0 +1,214 @@ +#include "global.h" +#include "test/battle.h" +#include "battle_setup.h" + +SINGLE_BATTLE_TEST("Trainer Slide: Before First Turn") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_BEFORE_FIRST_TURN; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { } + } SCENE { + MESSAGE("This message plays before the first turn.{PAUSE_UNTIL_PRESS}"); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Player Lands First Critical Hit") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_PLAYER_LANDS_FIRST_CRITICAL_HIT; + + GIVEN { + ASSUME(GetMoveEffect(MOVE_LASER_FOCUS) == EFFECT_LASER_FOCUS); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_LASER_FOCUS); } + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_LASER_FOCUS, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + MESSAGE("A critical hit!"); + MESSAGE("This message plays after the player lands their first critical hit.{PAUSE_UNTIL_PRESS}"); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Enemy Lands First Critical Hit") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT; + + GIVEN { + ASSUME(GetMoveEffect(MOVE_LASER_FOCUS) == EFFECT_LASER_FOCUS); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_LASER_FOCUS); } + TURN { MOVE(opponent, MOVE_TACKLE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_LASER_FOCUS, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); + MESSAGE("A critical hit!"); + MESSAGE("This message plays after the enemy lands their first critical hit.{PAUSE_UNTIL_PRESS}"); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Player Lands First STAB Hit") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_PLAYER_LANDS_FIRST_STAB_MOVE; + + GIVEN { + ASSUME((GetMoveType(MOVE_VINE_WHIP)) == gSpeciesInfo[SPECIES_BULBASAUR].types[0]); + PLAYER(SPECIES_BULBASAUR); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_VINE_WHIP); } + } SCENE { + MESSAGE("Bulbasaur used Vine Whip!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_VINE_WHIP, player); + MESSAGE("Player lands their first STAB move.{PAUSE_UNTIL_PRESS}"); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Player Lands First Super Effective Hit") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT; + + GIVEN { + ASSUME(GetMoveType(MOVE_BITE) == TYPE_DARK); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[0] == TYPE_PSYCHIC); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[0] == TYPE_PSYCHIC); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_BITE); } + } SCENE { + MESSAGE("It's super effective!"); + MESSAGE("This message plays after the player lands their first super effective hit.{PAUSE_UNTIL_PRESS}"); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Player Lands First Down") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_PLAYER_LANDS_FIRST_DOWN; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponent, MOVE_HEALING_WISH); SEND_OUT(opponent,1); } + } SCENE { + MESSAGE("The opposing Wobbuffet fainted!"); + MESSAGE("This message plays after the player KOs one enemy mon.{PAUSE_UNTIL_PRESS}"); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Enemy Mon Unaffected") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_ENEMY_MON_UNAFFECTED; + GIVEN { + ASSUME(B_SHEER_COLD_IMMUNITY >= GEN_7); + ASSUME(gSpeciesInfo[SPECIES_GLALIE].types[0] == TYPE_ICE); + PLAYER(SPECIES_WYNAUT); + OPPONENT(SPECIES_GLALIE); + } WHEN { + TURN { MOVE(player, MOVE_SHEER_COLD); } + } SCENE { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SHEER_COLD, player); + MESSAGE("It doesn't affect the opposing Glalie…"); + MESSAGE("Player attacked enemy with ineffective move.{PAUSE_UNTIL_PRESS}"); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Last Switchin") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_LAST_SWITCHIN; + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponent, MOVE_HEALING_WISH); SEND_OUT(opponent,1); } + } SCENE { + MESSAGE("The opposing Wobbuffet fainted!"); + MESSAGE("This message plays after the enemy switches in their last Pokemon.{PAUSE_UNTIL_PRESS}"); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Last Half Hp") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_LAST_HALF_HP; + GIVEN { + ASSUME(gMovesInfo[MOVE_SUPER_FANG].effect == EFFECT_SUPER_FANG); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].baseHP == 190); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_SUPER_FANG); } + } SCENE { + MESSAGE("Enemy last Mon has < 51% HP.{PAUSE_UNTIL_PRESS}"); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Last Low Hp") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_LAST_LOW_HP; + GIVEN { + ASSUME(GetMoveEffect(MOVE_FALSE_SWIPE) == EFFECT_FALSE_SWIPE); + PLAYER(SPECIES_WOBBUFFET) { Attack(999);} + OPPONENT(SPECIES_WOBBUFFET) { Defense(1);} + } WHEN { + TURN { MOVE(player, MOVE_FALSE_SWIPE); } + } SCENE { + MESSAGE("Enemy last Mon has < 26% HP.{PAUSE_UNTIL_PRESS}"); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Mega Evolution") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_MEGA_EVOLUTION; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_LOPUNNY) {Item(ITEM_LOPUNNITE); }; + } WHEN { + TURN { MOVE(opponent, MOVE_CELEBRATE, gimmick: GIMMICK_MEGA); } + } SCENE { + MESSAGE("This message plays before the enemy activates the Mega Evolution gimmick.{PAUSE_UNTIL_PRESS}"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, opponent); + MESSAGE("The opposing Lopunny has Mega Evolved into Mega Lopunny!"); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Z Move") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_Z_MOVE; + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_NORMALIUM_Z); } + } WHEN { + TURN { MOVE(opponent, MOVE_QUICK_ATTACK, gimmick: GIMMICK_Z_MOVE); } + } SCENE { + MESSAGE("This message plays before the enemy activates the Z-Move gimmick.{PAUSE_UNTIL_PRESS}"); + MESSAGE("The opposing Wobbuffet surrounded itself with its Z-Power!"); + MESSAGE("The opposing Wobbuffet unleashes its full-force Z-Move!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BREAKNECK_BLITZ, opponent); + } +} + +SINGLE_BATTLE_TEST("Trainer Slide: Dynamax") +{ + gBattleTestRunnerState->data.recordedBattle.opponentA = TRAINER_SLIDE_DYNAMAX; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_CELEBRATE, gimmick: GIMMICK_DYNAMAX); } + } SCENE { + MESSAGE("This message plays before the enemy activates the Dynamax gimmick.{PAUSE_UNTIL_PRESS}"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_DYNAMAX_GROWTH, opponent); + } +} diff --git a/test/battle/trainer_slides.h b/test/battle/trainer_slides.h new file mode 100644 index 0000000000..cb62a00800 --- /dev/null +++ b/test/battle/trainer_slides.h @@ -0,0 +1,56 @@ +[DIFFICULTY_NORMAL] = +{ + [TRAINER_SLIDE_BEFORE_FIRST_TURN] = + { + [TRAINER_SLIDE_BEFORE_FIRST_TURN] = COMPOUND_STRING("This message plays before the first turn.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_PLAYER_LANDS_FIRST_CRITICAL_HIT] = + { + [TRAINER_SLIDE_PLAYER_LANDS_FIRST_CRITICAL_HIT] = COMPOUND_STRING("This message plays after the player lands their first critical hit.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT] = + { + [TRAINER_SLIDE_ENEMY_LANDS_FIRST_CRITICAL_HIT] = COMPOUND_STRING("This message plays after the enemy lands their first critical hit.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT] = + { + [TRAINER_SLIDE_PLAYER_LANDS_FIRST_SUPER_EFFECTIVE_HIT] = COMPOUND_STRING("This message plays after the player lands their first super effective hit.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_PLAYER_LANDS_FIRST_DOWN] = + { + [TRAINER_SLIDE_PLAYER_LANDS_FIRST_DOWN] = COMPOUND_STRING("This message plays after the player KOs one enemy mon.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_ENEMY_MON_UNAFFECTED] = + { + [TRAINER_SLIDE_ENEMY_MON_UNAFFECTED] = COMPOUND_STRING("Player attacked enemy with ineffective move.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_PLAYER_LANDS_FIRST_STAB_MOVE] = + { + [TRAINER_SLIDE_PLAYER_LANDS_FIRST_STAB_MOVE] = COMPOUND_STRING("Player lands their first STAB move.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_LAST_SWITCHIN] = + { + [TRAINER_SLIDE_LAST_SWITCHIN] = COMPOUND_STRING("This message plays after the enemy switches in their last Pokemon.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_LAST_HALF_HP] = + { + [TRAINER_SLIDE_LAST_HALF_HP] = COMPOUND_STRING("Enemy last Mon has < 51% HP.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_LAST_LOW_HP] = + { + [TRAINER_SLIDE_LAST_LOW_HP] = COMPOUND_STRING("Enemy last Mon has < 26% HP.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_MEGA_EVOLUTION] = + { + [TRAINER_SLIDE_MEGA_EVOLUTION] = COMPOUND_STRING("This message plays before the enemy activates the Mega Evolution gimmick.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_Z_MOVE] = + { + [TRAINER_SLIDE_Z_MOVE] = COMPOUND_STRING("This message plays before the enemy activates the Z-Move gimmick.{PAUSE_UNTIL_PRESS}"), + }, + [TRAINER_SLIDE_DYNAMAX] = + { + [TRAINER_SLIDE_DYNAMAX] = COMPOUND_STRING("This message plays before the enemy activates the Dynamax gimmick.{PAUSE_UNTIL_PRESS}"), + }, +}, + From 774e61e74a17b295ff62d8a0c088aec4566b8f2d Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Fri, 24 Jan 2025 14:42:16 -0500 Subject: [PATCH 27/27] Add Script Cmd for Forcing Save Game (#6090) Co-authored-by: ghoulslash --- asm/macros/event.inc | 5 +++++ src/start_menu.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/asm/macros/event.inc b/asm/macros/event.inc index b3c7ce050a..efc30cabae 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -2471,6 +2471,11 @@ callnative Script_SetDifficulty, requests_effects=1 .byte \difficulty .endm + + .macro forcesave + callnative Script_ForceSaveGame + waitstate + .endm @ Makes the trainer unable to see the player if executed. @ This is a no-op if the player interacts with the trainer. diff --git a/src/start_menu.c b/src/start_menu.c index fcd8f7b42b..a49b7c6d8a 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -1497,3 +1497,11 @@ static bool8 StartMenuDexNavCallback(void) CreateTask(Task_OpenDexNavFromStartMenu, 0); return TRUE; } + +void Script_ForceSaveGame(struct ScriptContext *ctx) +{ + SaveGame(); + ShowSaveInfoWindow(); + gMenuCallback = SaveCallback; + sSaveDialogCallback = SaveSavingMessageCallback; +}